diff --git a/www/z4d/index.html b/www/z4d/index.html index be630de27..7bd33da24 100644 --- a/www/z4d/index.html +++ b/www/z4d/index.html @@ -24,5 +24,5 @@

This page requires JavaScript to work properly. Please enable JavaScript in your browser.

- + diff --git a/www/z4d/main.a0b02037f41ed597.js b/www/z4d/main.a0b02037f41ed597.js deleted file mode 100644 index e82465ac5..000000000 --- a/www/z4d/main.a0b02037f41ed597.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[792],{38117:(ri,Bt,We)=>{"use strict";We.d(Bt,{Ui:()=>v,W4:()=>a,Vy:()=>pe,o6:()=>f,s0:()=>l});var M=We(60177),e=We(21626),V=We(99062),Le=We(19664),q=We(20546),ne=We(54438);let re=(()=>{class d{intercept(k,p){if(!/^(http|https):/i.test(k.url)){let T=null;T=q.c.api_url+k.url,k=k.clone({url:T})}return p.handle(k)}static \u0275fac=function(p){return new(p||d)};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})();var ve=We(71985),le=function(d){return d[d.Off=0]="Off",d[d.Error=1]="Error",d[d.Warning=2]="Warning",d[d.Info=3]="Info",d[d.Debug=4]="Debug",d}(le||{});class pe{source;static level=le.Debug;static outputs=[];static enableProductionMode(){pe.level=le.Warning}constructor(C){this.source=C}debug(...C){this.log(console.log,le.Debug,C)}info(...C){this.log(console.info,le.Info,C)}warn(...C){this.log(console.warn,le.Warning,C)}error(...C){this.log(console.error,le.Error,C)}log(C,k,p){if(k<=pe.level){const T=this.source?["["+this.source+"]"].concat(p):p;C.apply(console,T),pe.outputs.forEach(B=>B.apply(B,[this.source,k,...p]))}}}const ue=new pe("HttpCacheService"),J="httpCache";let te=(()=>{class d{cachedData={};storage=null;constructor(){this.loadCacheData()}setCacheData(k,p,T){this.cachedData[k]={lastUpdated:T||new Date,data:p},ue.debug(`Cache set for key: "${k}"`),this.saveCacheData()}getCacheData(k){const p=this.cachedData[k];return p?(ue.debug(`Cache hit for key: "${k}"`),p.data):null}getHttpCacheEntry(k){return this.cachedData[k]||null}clearCache(k){delete this.cachedData[k],ue.debug(`Cache cleared for key: "${k}"`),this.saveCacheData()}cleanCache(k){k?Object.entries(this.cachedData).forEach(([p,T])=>{k>=T.lastUpdated&&delete this.cachedData[p]}):this.cachedData={},this.saveCacheData()}setPersistence(k){this.cleanCache(),this.storage="local"===k||"session"===k?window[k+"Storage"]:null,this.loadCacheData()}saveCacheData(){this.storage&&this.storage.setItem(J,JSON.stringify(this.cachedData))}loadCacheData(){const k=this.storage?this.storage.getItem(J):null;this.cachedData=k?JSON.parse(k):{}}static \u0275fac=function(p){return new(p||d)};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})(),X=(()=>{class d{httpCacheService;forceUpdate=!1;constructor(k){this.httpCacheService=k}configure(k){const p=new d(this.httpCacheService);return k&&k.update&&(p.forceUpdate=!0),p}intercept(k,p){return"GET"!==k.method?p.handle(k):new ve.c(T=>{const B=this.forceUpdate?null:this.httpCacheService.getCacheData(k.urlWithParams);null!==B?(T.next(new e.cS(B)),T.complete()):p.handle(k).subscribe(z=>{z instanceof e.cS&&this.httpCacheService.setCacheData(k.urlWithParams,z),T.next(z)},z=>T.error(z),()=>T.complete())})}static \u0275fac=function(p){return new(p||d)(ne.KVO(te))};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})();var E=We(99437);const j=new pe("ErrorHandlerInterceptor");let F=(()=>{class d{intercept(k,p){return p.handle(k).pipe((0,E.W)(T=>this.errorHandler(T)))}errorHandler(k){throw q.c.production||j.error("Request error",k),k}static \u0275fac=function(p){return new(p||d)};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})();class P{next;interceptor;constructor(C,k){this.next=C,this.interceptor=k}handle(C){return this.interceptor.intercept(C,this.next)}}const D=new ne.nKC("HTTP_DYNAMIC_INTERCEPTORS");let A=(()=>{class d extends e.Qq{httpHandler;injector;interceptors;constructor(k,p,T=[]){super(k),this.httpHandler=k,this.injector=p,this.interceptors=T,this.interceptors||(this.interceptors=[this.injector.get(re),this.injector.get(F)])}cache(k){const p=this.injector.get(X).configure({update:k});return this.addInterceptor(p)}skipErrorHandler(){return this.removeInterceptor(F)}disableApiPrefix(){return this.removeInterceptor(re)}request(k,p,T){const B=this.interceptors.reduceRight((z,K)=>new P(z,K),this.httpHandler);return new e.Qq(B).request(k,p,T)}removeInterceptor(k){return new d(this.httpHandler,this.injector,this.interceptors.filter(p=>!(p instanceof k)))}addInterceptor(k){return new d(this.httpHandler,this.injector,this.interceptors.concat([k]))}static \u0275fac=function(p){return new(p||d)(ne.KVO(e.hR),ne.KVO(ne.zZn),ne.KVO(D,8))};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})();const I=JSON.parse('{"APP_NAME":"ZigBeeforDomoticZ plugin Admin Interface","About":"About","Version":"Version","NODATA":"No data to display","TOTAL":"Total {totalRecords}","SELECTED":"selected","dashboard":"Dashboard","dashboard.button.refresh":"Refresh","dashboard.trafic.title":"Plugin Status","dashboard.health.title":"Plugin devices","dashboard.devices.state.label":"Known devices of the plugin","dashboard.devices.live":"live","dashboard.devices.disabled":"disabled","dashboard.devices.notseen":"no news","dashboard.devices.notReachable":"lost","dashboard.devices.others":"unknow","dashboard.health.comment":"Live = devices alive
Lost = devices away from the network
No news = devices which haven\'t reported on the last 6 hours
Unknown = devices with status unknown","dashboard.traffic.title":"Send & Receive","dashboard.trafic.label":"Send / Receive messages","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = number of incoming messages since the start of the plugin
Rx = number of outgoing messages since the start of the plugin","dashboard.trend.title":"Statistics","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Load","dashboard.trend.comment":"Tx/s = number of sent messages per second
Rx/s = number of received messages per second
Load = number of messages in queue","dashboard.trafic.maxload.label":"Load","dashboard.trafic.maxload":"peak","dashboard.trafic.currentload":"current","dashboard.trend.chart.yaxis":"message/s","dashboard.devices.title":"Status of non-disabled objects","dashboard.device.title":"Type of devices","dashboard.devices.label":"Devices","dashboard.devices.routers":"routers","dashboard.devices.enddevice":"end devices","dashboard.devices.comment":"Routers = main powered device which participates in the mesh network.
End device = device which is not capable of routing messages, and which is not listening while idle (most of the time, it is a battery based device)","dashboard.battery.title":"Battery","dashboard.devices.battery.label":"Battery","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"For devices equipped with a battery, the battery status is reported here.","dashboard.optimized.title":"Optimized devices","dashboard.optimized.comment":"Optimized = devices for which a configuration has been provided to the plugin in order to work as expected.
Non optimized = devices which could not be fully working and/or could generate unexpected load or traffic.
More information in the wiki","dashboard.devices.optimized":"optimized ","dashboard.devices.not.optimized":"non-optimized","dashboard.devices.optimized.label":"Devices","dashboard.popup.device.header":"Object list","dashboard.popup.device.subtitle":"This list is filtered by the item clicked in the dashboard.","dashboard.popup.device.button.close":"Close","dashboard.health.starttime":"Started at ","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"MaxLoad","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"There is an update available for the plugin .
Plugin upgrade","dashboard.plugin.update.available.title":"Plugin update","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"A new firmware is available for the ZiGate More infos .","dashboard.firmware.update.available.title":"Firmware update","dashboard.device.button":"DomoticZ Devices(json)","dashboard.plugin.header":"Plugin info","dashboard.plugin.subtitle":"Provides plugin information","dashboard.stats.header":"Plugin statistics","dashboard.stats.subtitle":"Provides coordinator statistics in terms of message transmission and reception","dashboard.zdevice.button":"Plugin Devices (json)","dashboard.zgroup.button":"Plugin Groups (json)","dashboard.coordinator.header":"Coordinator Information","dashboard.coordinator.subtitle":"Provides Coordinator information","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Group: ","dashboard.devices.indb":"In Db","consent.banner.header":"Consent","consent.banner.description":"To improve our development and focus on where it is needed. We use cookies for technical purposes and, with your consent, we will collect mainly Plugin version, Coordinator, Firmware version and Size of the network (number of router and number of end devices).
You can consent by using the \'Accept\' button, and not concent by using the \'Reject\' button. If you want to change your mind later, you can update this setting in the Settings menu.
More info on the wiki.","consent.banner.accept":"Accept","consent.banner.decline":"Reject","management":"Management","device":"Device Management","device.byname.subtitle":"List all Hardware devices paired with the plugin, and allows you to enter a friendly name for each device
It shows the friendly device name in the network section instead of a four digit code.
The objects marked in orange are not optimized with the plugin. Please follow the procedure on the wiki.","device.byname.capabilities.column":"Capabilities","device.byname.devicename.column":"Friendly Name","device.byname.header":"Device management","device.byname.trash.column":"Del.","device.byname.optimized.column":"Optimized","device.byname.health.column":"Health","device.byname.battery.column":"Battery","device.byname.ieee.column":"IEEE","device.byname.model.column":"Model","device.byname.devicename.param":"Parameters","device.byname.devicename.enabled":"Device enabled","device.byname.placeholder":"type filter here ....","device.byname.shortid.column":"Short id","device.byname.status.column":"Status","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Validate","device.byname.widget.column":"Domoticz Widget","device.byname.alert.title":"Delete device?","device.byname.alert.subject":"Are you sure?","device.byname.alert.delete":"Delete","device.byname.alert.cancel":"Cancel","device.byname.error.notify":"Please use the Enabled switch","device.byname.parameter.alert.save":"Validate","device.byname.parameter.alert.cancel":"Cancel","device.byname.parameter.alert.title":"Parameters","device.byname.parameter.alert.subject":"Set specific parameters ","device.byname.parameter.popover.title":"Device Parameters","device.byname.parameter.popover.text":"Specify local device configuration parameters. Green means in sync with the device, when Orange the parameters are not yet pushed to the device","device.byname.delete.colum":"Delete","device.byname.optimized.popover.title.ok":"The object is optimized with the plugin","device.byname.optimized.popover.text.ok":"Click on the icon to copy the object info","device.byname.optimized.popover.title.ko":"The object is not optimized with the plugin","device.byname.optimized.popover.text.ko":"Click on the icon to copy the object info","group":"Group Management","group.create.devices.column":"Devices selected in the group","group.create.groupname.column":"Group name","group.create.header":"Group management","group.create.placeholder":"type filter here ....","group.create.shortid.column":"Group id","group.create.subtitle":"Allow edit, create and remove groups
Before modifications, make a full group analisys on the page Admin > Groups.
Before validation, make sure that all routers are connected to the ZigBee network.
After validation, make a special analisys on the router(s) in order to check that the changes have been taken.
Do not do all changes at once, but prefer to do it step by step with small changes.","group.create.validate.button":"Validate","group.create.add.button":"Add a new Group","group.create.delete.button":"Delete","group.create.coordinator.column":"Coordinator (in the group)","group.reloadplugin.alert.title":"Plugin Reload","group.reloadplugin.alert.subject":"Groups have been updated, plugin need to be restarted","group.reloadplugin.alert.cancel":"Close","header.popover.title":"Restart needed","header.popover.text":"Some changes are pending a plugin restart is needed","network":"Network","network.topo":"Topology","network.topo.header":"Topology reports","network.topo.subtitle":"List of the saved reports ","network.topo.visu.header":"Topology diagram","network.topo.visu.subtitle":"The Topology diagram shows all links between 2 nodes. If you leave the cursor on a link you\'ll see the link direction as well as the link quality (from 0 to 255 = best).","network.topo.visu.network.header":"Network graph","network.topo.visu.network.subtitle":"Will draw a network graph of your ZigBee environment.
Click on an object to have its child objects displayed in a table below.","network.topo.visu.network.filter":"Name of node to filter","network.topo.device.visu.network.chart.title":"Network graph","network.topo.visu.delete.button":"Delete","network.topo.device.batterylevel.column":"Battery","network.topo.device.deviceid.column":"Device id","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nValue","network.topo.device.signalelevel.column":"Signal","network.topo.device.svalue.column":"sValue","network.topo.device.switchtype.column":"Switch","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Type","network.topo.device.name.column":"Name","network.topo.device.visu.header":"Devices List","network.topo.device.visu.subtitle":"Provides the list of devices managed by coordinator. You\'ll get also a reference to the Widget names and some other information from Domoticz","network.topo.device.visu.chart.title":"Mesh Diagram","network.topology.req.header":"Topology scan","network.topology.req.subtitle":"This will trigger a Topology scan (run in background)","network.topology.req.button":"Scan","network.topo.visu.network.relation.header":"List of linked objects of {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"The array displays the LQI value between the selected object and all of its child objects.","network.topo.visu.network.relation.to":"Children","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"The selected object doesn\'t have any children.","network.topo.visu.network.relation.model":"Model","network.topo.visu.network.relation.status":"Status","network.topo.visu.network.relation.health":"Health","network.topo.visu.network.relation.battery":"Battery","network.energy":"Interference level","network.stats.header":"Interference level reports","network.stats.subtitle":"List of saved reports ","network.stats.visu.delete.button":"Delete","network.inter.req.header":"Short Interference scan","network.inter.req.subtitle":"An Interference scan report will be provided. It will report Interference level between routers and coordinator. The higher the value, the worst it is.","network.inter.req.button":"scan","network.full.req.header":"Full Interference scan","network.full.req.subtitle":"As for the short Interference scan, the report will provide Interference level between all routers and the coordinator, handling all cross-communications.
This report might take a while when the number of routers is high, n((n-1)/2), for 5 routers it is 10 combinations, for 10 routers 45","network.full.req.button":"scan full","network.stats.detail.visu.header":"Interference level","network.stats.detail.visu.subtitle":"The higher the number, the more interference there is (0 to 255)","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Fail : ","network.stats.detail.visu.chart.title":"Interference level","network.stats.detail.visu.chart.y-axis":"Interference level","network.stats.detail.visu.chart.x-axis":"Channel","admin":"Admin","admin.pairing":"Provisionning","admin.permittojoin.label":"Accept new hardware","admin.permittojoin.on.notify":"Accept new hardware On","admin.permittojoin.off.notify":"Accept new hardware Off","admin.assistprovisionning.title":"Pairing a new device with the assitant","admin.assistprovisionning.subtitle":"Click on Pairing and follow the instructions ","admin.assistprovisionning.go.button":"Pairing","admin.assistprovisionning.alert.title":"Pairing assistant - Waiting for new device","admin.assistprovisionning.alert.subject":"Make a Reset on your device to launch the pairing process. Refer to the device documentation if needed.","admin.assistprovisionning.alert.state":"Status: ","admin.assistprovisionning.alert.description":"Description: ","admin.assistprovisionning.alert.nwkid":"Short NwkId: ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Widget List: ","admin.assistprovisionning.alert.cancel":"Exit","admin.assistprovisionning.alert.ep":"EndPoint: ","admin.assistprovisionning.alert.cluster":"ClusterId : ","admin.assistprovisionning.alert.profile":"Profile : ","admin.assistprovisionning.alert.device":"Device : ","admin.assistprovisionning.alert.model":"Model : ","admin.assistprovisionning.alert.plugincertified":"Plugin Certification: ","admin.assistprovisionning.alert.Failed":"Failed (Something went wrong, check the log for more details)","admin.assistprovisionning.alert.inDB":"Successful (check if widgets have been created)","admin.assistprovisionning.alert.Unexpected":"Unexpected (Contact support)","admin.permittojoin.title":"Pairing a new device for a period of time","admin.permittojoin.subtitle":"Click on the button to choose the period of time ","admin.permittojoin.validate.button":"Validate","admin.permittojoin.permanent.button":"Permanent","admin.permittojoin.permanent.notify":"Permanent Pairing mode","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Pairing mode Off","admin.permittojoin.4min.button":"4 minutes","admin.permittojoin.4min.notify":"Pairing mode On for 4 minutes","admin.permittojoin.notify":"Pairing mode changed","admin.permittojoinrouter.title":"Pairing a new device on a router","admin.permittojoinrouter.subtitle":"Permit to pair a device on a specific router ","admin.permittojoinrouter.devices.placeholder":"List of routers","admin.fullreset.title":"Preparing device for full reset","admin.fullreset.subtitle":"If you want to do a hard reset of an existing provisioned device in Domoticz, it is advised to indicate the plugin of such event happening. Then the plugin will make sure to redo a full device discovery and set whatever as been set during the first pairing","admin.fullreset.device.placeholder":"Select a device","admin.fullreset.button":"Reset mode","admin.fullreset.notify":"Reset mode activated","admin.recreate.title":"Recreate widget(s) of existing device","admin.recreate.subtitle":"Will crete or recreate all widgets of a given device. It will use the latest configuration if applicable. You might get duplication widgets in Domoticz, so make sure to remove those.","admin.recreate.device.placeholder":"Select a device","admin.recreate.button":"Recreate widget","admin.recreate.notify":"Recreate widget started","admin.group":"Group","admin.rescan.group.title":"Complete analysis of the groups","admin.rescan.group.subtitle":"Ask each router to know if it belongs to one or more groups
The result wil be in the Group management.

Make sure ALL the routers are connected to the ZigBee network before launching the analysis.","admin.rescan.group.button":"Full scan","admin.scan.group.device.title":"Selective analysis of the groups","admin.scan.group.device.subtitle":"Ask one or more router(s) to know if it (they) belong(s) to one or more groups
The result wil be in the Group management.

Make sure ALL the routers are connected to the ZigBee network before launching the analysis.","admin.scan.group.device.button":"Scan","admin.scan.group.device.placeholder":"Select router(s) to scan","admin.coordinator":"Coordinator","admin.coordinator.swreset.title":"Coordinator Soft reset","admin.coordinator.swreset.subtitle":"Will restart the coordinator (no loss of paired devices) ","admin.coordinator.swreset.button":"Soft reset","admin.coordinator.swreset.notify":"Coordinator restart started","admin.coordinator.switchchannel.title":"Coordinator change channel","admin.coordinator.switchchannel.subtitle":"Will change the coordinator channel to the selected one, and will broadcast the change.
ATTENTION, while routers usally switch to the new channel, none Zigbee 3.0 End Device won\'t and you will have to reset them to get them rejoining the new channel.","admin.coordinator.switchchannel.placeholder":"Coordinator channel (0 default)","admin.coordinator.switchchannel.button":"Change channel","admin.coordinator.switchchannel.notify":"Channel changing started","admin.erasepdm.title":"Erase ZiGate","admin.erasepdm.subtitle":"Will erase the permanent data memory of ZiGate (You will lose all paired devices)
You must enable the eraseZigatePDM parameter in Advanced Setting before","admin.erasepdm.button":"erase","admin.erasepdm.notify":"ErasePdm ZiGate started","admin.erasepdm.alert.title":"Erase ZiGate, Are you sure?","admin.erasepdm.alert.subject":"ATTENTION, last chance !!!!!","admin.erasepdm.alert.cancel":"Cancel","admin.erasepdm.alert.erase":"Erase","admin.plugin":"Plugin","admin.plugin.reload.title":"Restart plugin","admin.plugin.reload.subtitle":"Will restart the plugin ","admin.plugin.reload.button":"Restart","admin.plugin.reload.notify":"Plugin restarting","admin.plugin.reload.port":"Port","admin.plugin.reload.username":"Username","admin.plugin.reload.password":"Password","admin.plugin.reload.host":"Hostname","admin.plugin.reload.protocol":"Protocol","admin.plugin.reload.alert.title":"Restart plugin, Are you sure?","admin.plugin.reload.alert.subject":"ATTENTION, last chance !!!!!","admin.plugin.reload.alert.cancel":"Cancel","admin.plugin.reload.alert.erase":"Restart","admin.plugin.update.title":"Plugin Upgrade","admin.plugin.update.subtitle":"Upgrade the plugin to the most up to date version in the branch you are.
If the upgrade goes well, you will be asked to restart the plugin, otherwise you\'ll have to do the upgrade manually.","admin.plugin.update.button":"Start upgrade (can take several minutes)","admin.plugin.update.success":"You can restart the plugin now","admin.plugin.update.error":"Please check the log file, and eventually correct manually","admin.firmware":"Firmware","admin.firmware.title":"Devices firmware","admin.firmware.subtitle":"Update device firmware ","admin.firmware.button.update":"Update","admin.firmware.notify":"Updating firmware","admin.firmware.list":"list of available firmware","admin.firmware.manufacturer.list":"list of manufacturer","admin.firmware.devices.list":"list of devices","admin.firmware.force":"force update","admin.firmware.alert.title":"title alert","admin.firmware.alert.subject":"subject alert","admin.firmware.alert.ok":"update","admin.firmware.alert.cancel":"cancel","admin.firmware.alert.list.devices":"list of devices","admin.firmware.alert.filename":"file name","admin.firmware.alert.device":"Device ","admin.firmware.alert.brand":"Brand ","settings":"Settings","setting.header":"Settings","setting.subtitle":"Allows you to visualize and edit the various plugin settings
Some require a restart of the plugin.","setting.validate.button":"Validate","setting.reinit.button":"Settings (default)","setting.advanced.button":"Advanced settings","setting.normal.button":"Normal settings","setting.help.link":"More information on the settings can be found on the Wiki","setting.help.legend":"These are all the plugin settings that can be updated.","setting.header.Services":"Available services","setting.subtitle.Services":"Enable the services you want to be active","useDomoticzLog":"Use Domoticz Log","enablegroupmanagement":"Enable Groups","zigatePartOfGroup0000":"Create Group 0000","allowRemoveZigateDevice":"Removal on Coordinator","resetPermit2Join":"Reset permit to join at startup","forcePollingAfterAction":"Get device status after action","enableReadAttributes":"Enable Polling","blueLedOnOff":"Enable Coordinator Blue Led","setting.reloadplugin.alert.title":"Plugin Reload","setting.reloadplugin.alert.subject":"Settings have been updated, plugin need to be restarted","setting.reloadplugin.alert.cancel":"Close","setting.resetplugin.alert.title":"Coordinator Reset","setting.resetplugin.alert.subject":"Settings have been updated, Coordinator needs to be reset (most likely, all devices will require re-pairing).","setting.resetplugin.alert.cancel":"Close","setting.eraseplugin.alert.title":"Erase PDM","setting.eraseplugin.alert.subject":"Settings have been updated, PDM needs to be erased (all devices will require re-pairing)","setting.eraseplugin.alert.cancel":"Close","Ping":"Enable Ping","setting.header.DomoticzEnvironment":"Domoticz URL","setting.subtitle.DomoticzEnvironment":"Settings on how to access Domoticz API","setting.header.WebInterface":"Web Interface settings","setting.subtitle.WebInterface":"Allows to enable/disable Web UI","enableWebServer":"Enable web User Interface","setting.header.DeviceManagement":"Device Management settings","setting.subtitle.DeviceManagement":"Here are all settings related to Devices and how the coordinator interact with them","setting.header.CoordinatorConfiguration":"Coordinator settings","setting.subtitle.CoordinatorConfiguration":"Here are all settings related to the coordinator hardware.","setting.header.OverTheAirUpgrade":"Over The Air Upgrade settings","setting.subtitle.OverTheAirUpgrade":"These are all settings related to the Over The Air upgrade functionnality.","allowOTA":"Enable OTA","setting.header.Legrand":"Legrand Netatmo settings","setting.subtitle.Legrand":"Allow to set a number of Legrand specifics options","setting.header.Schneider_Wiser":"Schneider Wiser settings","setting.subtitle.Schneider_Wiser":"Allow to enable some specific mecanishm, and some other options","internetAccess":"Allow Internet access","batteryOTA":"allow battery powered devices OTA","waitingOTA":"delay when starting the OTA process","setting.header.GroupManagement":"Group management settings","setting.subtitle.GroupManagement":"Here are all setting to enable and configure the Group management feature.","OnIfOneOn":"Group is On if one device is On (otherwise needs all devices On)","setting.header.PluginConfiguration":"Plugin environment settings","setting.subtitle.PluginConfiguration":"Here are all Plugin environements settings","numDeviceListVersion":"Number of DeviceList history","setting.header.Others":"Miscaleneous settings","setting.header.Provisioning":"Pairing settings","setting.subtitle.Provisioning":"Special settings for special devices or special conditions","setting.header.DevicePolling":"Devices polling","setting.subtitle.DevicePolling":"Allows you to specify the polling frequency per type of information. Be aware that a high frequency will overload the coordinator and might cause some performance issues","setting.subtitle.Others":"","logLQI":"Delay before starting a Topology scan (sec)","networkScan":"Interferences report frequency (sec)","setting.header.CommandTransition":"Command transitions for Lights in Groups","setting.subtitle.CommandTransition":"For Groups only. You can specify the transition time in 10th of seconds with which the transition from current to target stage. For example how many 10th of second it will take to move from the current Color to the Color I requested via Domoticz. Color temp is used for White Color","moveToHueSatu":"Transition for Hue","moveToColourTemp":"Transition for Color Temp","moveToColourRGB":"Transition for RGB color","moveToLevel":"Transition for Move to Level","setting.header.Experimental":"Experimental parameters","setting.subtitle.Experimental":"Use it only if you have been asked to","api.global.error.notify":"Backend error","api.global.succes.scanlaunched.notify":"Analysis started","api.global.succes.commandsent.notify":"Command sent","api.global.succes.saved.notify":"Saved","setting.header.OTA":"Device firmware update Over-The-Air","setting.subtitle.OTA":"Parameters which allow to configure how the plugin Over-The-Air upgrade would behave.","IkeaTradfri_Repository":"IKEA-TRADFRI Official repository","ZigbeeOTA_Repository":"Zigbee OTA firmware (build by Internet community)","autoServeOTA":"Allow automatic update when firmware found","checkFirmwareAgainstZigbeeOTARepository":"Check if there is a firmware available in one of the repository","DomoticzCustomMenu":"Enable Plugin WebUI from Domoticz Custom menu","NightShift":"Push background activity from 11PM to 6AM","ConfigureReportingChunk":"Max number of attributes when Configure Reporting","ReadAttributeChunk":"Max number of attributes when Read Attributes","resetConfigureReporting":"Reset all existing Configure Reporting","resetReadAttributes":"Reset all read attributes","TopologyV2":"Network Topology based on routing and neighbourghs tables","autoBackup":"Automatic backup of coordinator","BackupFullDevices":"backup device information","BellowsNoMoreEndDeviceChildren":"Disable direct pairing on Coordinator","BellowsSourceRouting":"Enable Zigbee Source routing mecanishm","pingDevices":"Ping main-powered devices regularly to v\xe9rify their health","GroupOnBattery":"Enable group creation to a battery devices","deviceOffWhenTimeOut":"Switch device to Off when network Timeout","checkConfigurationReporting":"Check the device Report configuration regularly","TXpower_set":"Coordinator transmission power level","pingDevicesFeq":"Frequency of regular ping main-powered devices","GrpfadingOff":"Fadding mode","GrpmoveToColourRGB":"Transition time for RGB move color","GrpmoveToColourTemp":"Transition time for TEMP move color","GrpmoveToLevel":"Transition time for one dim position to an other one","enableSchneiderWiser":"Enable if you have Legacy Wiser devices","LegrandCompatibilityMode":"Enable to simulate a Legrand Netamo Hub","AqaraOppleBulbMode":"Enable to have Aqara Opple remote commanding directly devices","forceClosingAllNodes":"Enable to close Pairing mode in each router","extendedPANID":"Zigbee Extended PAN Identifier","allowReBindingClusters":"Enable re-binding clusters during configure reporting operations","doUnbindBind":"Unbind and then bind, when doing a binding operation","PluginAnalytics":"Enable the plugin uses cookies to collect information about the Coordinator and the device models used.","autoRestore":"Automaticaly apply the most recent coordinator backup when a clean coordinator is found","forceSwitchSelectorPushButton":"Workaround Domoticz issue #4143","resetSwitchSelectorPushButton":"Number of sec after the Selector is reset to Off","setting.header.ManufSpecifiqDevicePolling":"Specifc Polling","setting.subtitle.ManufSpecifiqDevicePolling":"0 stands for disable otherwise it indicates the polling frequency in seconds, For Manufacturer Specific it will allow to retreive device states whcih are not provided automatically by the device","setting.header.Zigpy":"Zigpy CIE specific configuration","setting.subtitle.Zigpy":"Specific to some CIE as ConBeeII and RasBeeII it might required to enable some CIE specific item for some brand","resetMotiondelay":"Delay in sec to reset motion detection","Certification":"Certification ( FCC or CE )","channel":"Coordinator chanel (default 0)","alarmDuration":"Duration in sec for Alarm device","vibrationAqarasensitivity":"Aqara Vibration sensitivity","TradfriKelvinStep":"Kelvin step for Tradfri remote","numTopologyReports":"Number of Topology reports saved","numEnergyReports":"Number of Interference reports saved","PowerOn_OnOff":"Return state after device power outage","logDeviceUpdate":"Enable UpdateDevice message in Log","capturePairingInfos":"Capture Pairing information and save in Reports folder","error_required":"Required","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Tools","tools.tools":"Tools","tools.tools.export":"Export","tools.tools.zdevice-raw.button":"Plugin Raw Devices","tools.tools.non-optimized.button":"Non-optimized devices","tools.tools.zgroup.button":"Plugin Groups","tools.tools.zdevice.button":"Plugin Devices","tools.tools.device.button":"Domoticz Widgets","tools.tools.log.button":"Plugin Logs","tools.tools.infos.plugin.button":"Plugin info","tools.tools.coordinator.infos.button":"Coordinator info","tools.tools.plugin-health.button":"Plugin health","tools.tools.zdevice-name.button":"zDevice-name","tools.tools.domoticz-env.button":"domoticz-env","tools.tools.battery-state.button":"Battery State","tools.tools.zgroup-list-available-device.button":"zGroup-lst-devices","tools.tools.settings.button":"Settings","tools.tools.plugin-stat.button":"Traffic","tools.command":"Command","tools.debugcommand.title":"Direct commands","tools.debugcommand.subtitle":"Allow to interact directly with a device, with a set of commands based on the device capabilities
(1) Select the device,
(2) Select the action you want to perform,
(3) Select a potential device type which can influence the way to interact with the device,
(4) Optionaly you might have to enter a Value or select a Color.","tools.debugcommand.device":"Select device","tools.debugcommand.button.cancel":"Cancel","tools.debugcommand.action":"Select action","tools.debugcommand.type":"Select type","tools.debugcommand.value":"Value","tools.debugcommand.level.error":"between 0 and 100","tools.debugcommand.effect.error":"between 0x00 to 0xff","tools.debugcommand.button.send":"Send","tools.rawcommand-zigate.title":"ZiGate command (raw)","tools.rawcommand-zigate.subtitle":"Allow to send a ZiGate command directly tothe coordinator in raw mode.
You must follow the ZiGate protocol .","tools.rawcommand-zigate.command":"Message RAW type","tools.rawcommand-zigate.error":"Input required","tools.rawcommand-zigate.payload":"Data","tools.rawcommand-zigate.button.send":"Submit","tools.rawcommand-zigpy.title":"ZigBee command","tools.rawcommand-zigpy.subtitle":"Allow to send a ZiGate command directly tothe coordinator in raw mode.","tools.rawcommand-zigpy.placeholder":"Select a device","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Data","tools.rawcommand-zigpy.button.send":"Submit","tools.reporting.configure":"Reporting","tools.reporting.configure.title":"Configure the reporting mechanism","tools.reporting.configure.subtitle":"Configure a device to automatically report the values of one or more of its attributes, or to receive such reports.
The minimum reporting interval field is 16 bits in length and SHALL contain the minimum interval, in seconds, between issuing reports of the specified attribute.
The maximum reporting interval field is 16 bits in length and SHALL contain the maximum interval, in seconds, between issuing reports of the specified attribute.
The reportable change field SHALL contain the minimum change to the attribute that will result in a report being issued. This field is of variable length.
For attributes with \'analog\' data type (see 2.6.2), the field has the same data type as the attribute. The sign (if any) of the reportable change field is ignored.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Validate","tools.reporting.configure.device":"Select a device","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribute id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"min interval (secondes)","tools.reporting.configure.maxInterval.column":"max interval (secondes)","tools.reporting.configure.change.column":"Change","tools.reporting.configure.hexa.error":"not an hexadecimal value","tools.reporting.configure.length.error":"not an expected value","tools.binding":"Binding","tools.binding.title":"Device Binds","tools.binding.subtitle":"Allow to bind a cluster between source and target devices
e.g. If you want to bind a Temperature sensor with an Actuator, the SourceIEEE/Ep will be the Temperature sensor, the DestIEEE/Ep will be the actuator and the Cluster will be 0402 (Temperature Measurement)","tools.binding.sourceIeee":"source IEEE","tools.binding.error":"Input required","tools.binding.sourceEp":"Select source device","tools.binding.destIeee":"Target IEEE","tools.binding.destEp":"Select target device","tools.binding.cluster":"Cluster","tools.binding.button.put":"Binding","tools.unbinding.button.put":"Unbinding","tools.debug":"Debug","setting.header.VerboseLogging":"Verbose and Logging","setting.subtitle.VerboseLogging":"Will allow you to enable/disable some Logging features ","tools.debugsetting.help.legend":"These are all plugin settings which can be updated.","tools.debugsetting.advanced.button":"Advanced settings","tools.debugsetting.normal.button":"Standards settings","tools.debugsetting.validate.button":"Validate","tools.debugsetting.reinit.button":"Settings (default)","tools.debugsetting.reloadplugin.alert.title":"Plugin Reload","tools.debugsetting.reloadplugin.alert.subject":"Settings have been updated, plugin need to be restarted","tools.debugsetting.reloadplugin.alert.cancel":"Close","tools.error":"Error(s)","tools.error.log-history.button":"Log Error History (json)","tools.error.log-history.clear":"Clear Error History","error.popover.title":"Error(s) detected","error.popover.text":"Clic to see the log","manufacturer":"Manufacturer","manufacturer.casaia":"CASA.ia","manufacturer.casaia.header":"CASA.ia manufacturer specific configuration","manufacturer.casaia.subtitle":"Configuration of the IR Code of the ZigBee infrared temperature control thermostat IR split AC controller ","manufacturer.casaia.placeholder":"type filter here ....","manufacturer.casaia.nwkid":"Short id","manufacturer.casaia.name":"Friendly Name","manufacturer.casaia.ieee":"IEEE","manufacturer.casaia.model":"Model","manufacturer.casaia.ircode":"Infrared Code","manufacturer.casaia.validate.button":"Validate","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"Select Zlinky device","manufacturer.zlinky.key":"Designation","manufacturer.zlinky.value":"Value","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Serial Number","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"P\xe9riode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP (30min)","manufacturer.zlinky.ADPS":"Avertissement du d\xe9passement de la puissance souscrite","manufacturer.zlinky.ADIR1":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 1","manufacturer.zlinky.ADIR2":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 2","manufacturer.zlinky.ADIR3":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index 10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 2","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance apparente de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance apparente de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance apparente Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance apparente max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance apparente max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moyenne phase 1","manufacturer.zlinky.UMOY2":"Tension moyenne phase 2","manufacturer.zlinky.UMOY3":"Tension moyenne phase 3","manufacturer.zlinky.SINSTS":"Puissance apparente Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance apparente Instantan\xe9e soutir\xe9e phase 1","manufacturer.zlinky.SINSTS2":"Puissance apparente Instantan\xe9e soutir\xe9e phase 2","manufacturer.zlinky.SINSTS3":"Puissance apparente Instantan\xe9e soutir\xe9e phase 3","manufacturer.zlinky.SMAXN":"Puissance apparente max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance apparente max. soutir\xe9e n phase 1","manufacturer.zlinky.SMAXN2":"Puissance apparente max. soutir\xe9e n phase 2","manufacturer.zlinky.SMAXN3":"Puissance apparente max. soutir\xe9e n phase 3","manufacturer.zlinky.SMAXN-1":"Puissance apparente max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance apparente max. soutir\xe9e n-1 phase 1","manufacturer.zlinky.SMAXN2-1":"Puissance apparente max. soutir\xe9e n-1 phase 2","manufacturer.zlinky.SMAXN3-1":"Puissance apparente max. soutir\xe9e n-1 phase 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"Relais","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Enable the use of zigpy Topology Scanner","ZigpyTopologyReportAutoBackup":"Automaticaly backup auto-triggered Topology scan"}'),_=JSON.parse('{"APP_NAME":"Interface d\'administration du plugin ZigBeeforDomoticZ","About":"A Propos","Version":"Version","NODATA":"Pas de donn\xe9es \xe0 afficher","TOTAL":"Total {totalRecords}","SELECTED":"s\xe9lectionn\xe9","dashboard":"Tableau de bord","dashboard.button.refresh":"Rafra\xeechir","dashboard.trafic.title":"\xc9tat du Plugin","dashboard.health.title":"Objets du plugin","dashboard.devices.state.label":"Objets connus du plugin","dashboard.devices.live":"vivant","dashboard.devices.disabled":"d\xe9sactiv\xe9","dashboard.devices.notseen":"pas vu","dashboard.devices.notReachable":"perdu","dashboard.devices.others":"ind\xe9fini","dashboard.health.comment":"Vivant = objets pour lesquels un message a \xe9t\xe9 re\xe7u r\xe9cemment
D\xe9sactiv\xe9 = objets qui sont d\xe9sactiv\xe9s
Perdu = objets qui ne sont plus sur le r\xe9seau
Pas vu = objets qui n\'ont pas donn\xe9 d\'information sur les derni\xe8res 6 heures
Ind\xe9fini = objets qui sont dans un \xe9tat ind\xe9termin\xe9","dashboard.traffic.title":"Envoi & r\xe9ception","dashboard.trafic.label":"Messages envoy\xe9s et re\xe7us","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = nombre de messages envoy\xe9s depuis le lancement du plugin
Rx = nombre de messages re\xe7us depuis le lancement du plugin","dashboard.trend.title":"Statistiques","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Charge","dashboard.trend.comment":"Tx/s = nombre de messages envoy\xe9s par seconde
Rx/s = nombre de messages re\xe7us par seconde
Charge = nombre de messages actuellement en attente","dashboard.trafic.maxload.label":"Charge","dashboard.trafic.maxload":"max","dashboard.trafic.currentload":"courant","dashboard.trend.chart.yaxis":"message/s","dashboard.devices.title":"\xc9tat des objets non d\xe9sactiv\xe9s","dashboard.device.title":"Type d\'objets","dashboard.devices.label":"Objets","dashboard.devices.routers":"routeurs","dashboard.devices.enddevice":"objets terminaux","dashboard.devices.comment":"Routeurs = objets aliment\xe9s sur secteur qui participent au maillage du r\xe9seau.
Objets terminaux = objets n\'\xe9tant pas capable de participer au maillage (tr\xe8s souvent sur batterie, mais dans quelques cas ils peuvent \xeatre aliment\xe9 par une source \xe9lectrique de faible puissance).","dashboard.battery.title":"Batterie","dashboard.devices.battery.label":"Objets sur batterie","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"\xc9tat de charge de la batterie des objets ayant une batterie.","dashboard.optimized.title":"Objets optimis\xe9s","dashboard.optimized.comment":"Optimis\xe9s = objets pour lesquels une configuration a \xe9t\xe9 faite dans le plugin.
Non-optimis\xe9s = objets qui peuvent ne pas fonctionner compl\xe8tement et/ou g\xe9n\xe9rer de la charge ou du traffic anormal.
Plus d\'infos sur le wiki","dashboard.devices.optimized":"optimis\xe9s","dashboard.devices.not.optimized":"non-optimis\xe9s","dashboard.devices.optimized.label":"Objets","dashboard.popup.device.header":"Liste des objets","dashboard.popup.device.subtitle":"Cette liste est filtr\xe9e selon l\'\xe9l\xe9ment cliqu\xe9 dans le tableau de bord.","dashboard.popup.device.button.close":"Fermer","dashboard.health.starttime":"Lanc\xe9 \xe0 ","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"MaxLoad","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"Une nouvelle version du plugin est disponible .
Mettre \xe0 jour","dashboard.plugin.update.available.title":"Mise \xe0 jour du plugin","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"Une nouvelle version du firmware pour la ZiGate est disponible Plus d\'infos .","dashboard.firmware.update.available.title":"Mise \xe0 jour firmware","dashboard.device.button":"Dispositifs DomoticZ (json)","dashboard.plugin.header":"Plugin infos","dashboard.plugin.subtitle":"Les informations du plugin :","dashboard.stats.header":"Statistiques du Plugin","dashboard.stats.subtitle":"Statistiques de transmission/r\xe9ception donn\xe9es","dashboard.zdevice.button":"Plugin Devices (json)","dashboard.zgroup.button":"Groupes du Plugin (json)","dashboard.coordinator.header":"Infos du coordinateur","dashboard.coordinator.subtitle":"Les informations du coordinateur","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Groupe: ","dashboard.devices.indb":"En Base","consent.banner.header":"Consentement","consent.banner.description":"Dans l\'optique de mieux vous conna\xeetre, nous utilisons une technique de cookies et, avec votre consentement, nous collecterons principalement la version du plugin, le mod\xe8le de coordinateur, la version du firmware et la taille du r\xe9seau (nombre de routers et d\u2019objets terminaux).
Donnez votre accord en s\xe9lectionnant \'Autoriser\' ou sinon \'Interdire\'. Si vous souhaitez changer votre choix, vous pouvez le faire via le menu R\xe9glages.
Plus d\'infos dans le wiki.","consent.banner.accept":"Autoriser","consent.banner.decline":"Interdire","management":"Gestion","device":"Gestion des objets","device.byname.subtitle":"Liste tous les objets appair\xe9s avec le plugin
Vous pourrez attribuer des surnoms et g\xe9rer les param\xe8tres sp\xe9cifiques aux objets.
Les objets marqu\xe9s en orange ne sont pas optimis\xe9s avec le plugin. Merci de suivre la proc\xe9dure sur le wiki.","device.byname.capabilities.column":"Fonctions","device.byname.devicename.column":"Surnom","device.byname.header":"Gestion des objets","device.byname.trash.column":"Suppr.","device.byname.optimized.column":"Optimis\xe9","device.byname.health.column":"Sant\xe9","device.byname.battery.column":"Batterie","device.byname.ieee.column":"IEEE","device.byname.model.column":"Mod\xe8le","device.byname.devicename.param":"Param\xe8tres","device.byname.devicename.enabled":"Objet actif","device.byname.placeholder":"Rechercher ...","device.byname.shortid.column":"Short ID","device.byname.status.column":"Statut","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Valider","device.byname.widget.column":"Dispositifs DomoticZ","device.byname.alert.title":"Supprimer l\'appareil ?","device.byname.alert.subject":"Es-tu s\xfbr ?","device.byname.alert.delete":"Supprimer","device.byname.alert.cancel":"Annuler","device.byname.error.notify":"Utiliser le bouton Activer svp !!","device.byname.parameter.alert.save":"Valider","device.byname.parameter.alert.cancel":"Annuler","device.byname.parameter.alert.title":"Param\xe8tres","device.byname.parameter.alert.subject":"Assigner des param\xe8tres sp\xe9cifiques \xe0 l\'objet au format Json ","device.byname.parameter.popover.title":"Param\xe8tres de l\'objet","device.byname.parameter.popover.text":"Assigner des param\xe8tres sp\xe9cifiques \xe0 l\'objet. Vert indique que les param\xe8tres ont \xe9t\xe9 pris envoy\xe9 \xe0 l\'objet, Orange indique que les param\xe8tres n\'ont pas encore \xe9t\xe9 envoy\xe9","device.byname.delete.colum":"Supprimer","device.byname.optimized.popover.title.ok":"L\u2019objet est optimis\xe9 pour le plugin","device.byname.optimized.popover.text.ok":"Cliquer sur l\'ic\xf4ne pour copier les infos de l\'objet","device.byname.optimized.popover.title.ko":"L\u2019objet n\u2019est pas optimis\xe9 pour le plugin","device.byname.optimized.popover.text.ko":"Cliquer sur l\'ic\xf4ne pour copier les infos de l\'objet","group":"Gestion des groupes","group.create.devices.column":"Objets appartenant au groupe","group.create.groupname.column":"Nom du Groupe","group.create.header":"Gestion des groupes","group.create.placeholder":"Rechercher","group.create.shortid.column":"ID du Groupe","group.create.subtitle":"Permet l\'\xe9dition, la cr\xe9ation et la suppression des groupes
Avant toute modification, faire une analyse compl\xe8te des groupes sur la page Admin > Groupes.
Avant validation, s\'assurer que tous les routeurs soient connect\xe9s au r\xe9seau ZigBee.
Apr\xe8s validation, faire une analyse sp\xe9cifique sur le(s) routeur(s) pour v\xe9rifier la prise en compte des modifications.
Ne pas faire pas trop de modifications d\'un seul coup, les faire pas \xe0 pas.","group.create.validate.button":"Valider","group.create.add.button":"Ajouter un Groupe","group.create.delete.button":"Effacer","group.create.coordinator.column":"Coordinateur (dans le groupe)","group.reloadplugin.alert.title":"Plugin recharg\xe9","group.reloadplugin.alert.subject":"Groupes mis \xe0 jour, le plugin \xe0 besoin de red\xe9marrer","group.reloadplugin.alert.cancel":"Fermer","header.popover.title":"Red\xe9marrage n\xe9cessaire","header.popover.text":"Les changements ont besoin d\'un red\xe9marrage du plugin","network":"R\xe9seau","network.topo":"Topologie","network.topo.header":"Les rapports d\'analyse du maillage","network.topo.subtitle":"Liste des rapports enregistr\xe9s ","network.topo.visu.header":"Illustration du maillage","network.topo.visu.subtitle":"L\'illustration de votre maillage montre tous les liens entre 2 objets.
Si vous d\xe9placez le curseur sur un lien, vous verrez la liaison avec la valeur LQI indiquant la qualit\xe9 de la liaison (de 0 \xe0 255 = la meilleure possible).","network.topo.visu.network.header":"Illustration du r\xe9seau","network.topo.visu.network.subtitle":"L\'illustration du r\xe9seau ZigBee montre les communications possibles entre les objets.
Par d\xe9faut, les liens entre les objets fr\xe8res ne sont pas affich\xe9s. Activer si besoin l\'option displaySibling
Cliquer sur un objet pour faire afficher ses objets enfants dans un tableau en dessous.","network.topo.visu.network.filter":"Filtrer par routeur","network.topo.device.visu.network.chart.title":"Illustration du r\xe9seau","network.topo.visu.delete.button":"Effacer","network.topo.device.batterylevel.column":"Batterie","network.topo.device.deviceid.column":"Module id","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nValue","network.topo.device.signalelevel.column":"Signal","network.topo.device.svalue.column":"sValue","network.topo.device.switchtype.column":"Interrupteur","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Type","network.topo.device.name.column":"Nom","network.topo.device.visu.header":"Liste des objets","network.topo.device.visu.subtitle":"Donne la liste des objets appair\xe9s avec le coordinateur avec le nom de l\'objet et autres informations li\xe9es \xe0 DomoticZ.","network.topo.device.visu.chart.title":"Illustration du maillage","network.topology.req.header":"Lancer une analyse du maillage","network.topology.req.subtitle":"Cr\xe9er une illustration de votre r\xe9seau ZigBee (travail en arri\xe8re plan)","network.topology.req.button":"Analyser","network.topo.visu.network.relation.header":"Liste des liens de {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"Le tableau affiche les entre l\'objet s\xe9lectionn\xe9 et tous ses objets li\xe9s.","network.topo.visu.network.relation.to":"Enfants","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"L\'objet s\xe9lectionn\xe9 n\'a pas d\'enfants.","network.topo.visu.network.relation.model":"Mod\xe8le","network.topo.visu.network.relation.status":"Statut","network.topo.visu.network.relation.health":"Sant\xe9","network.topo.visu.network.relation.battery":"Batterie","network.energy":"Niveau d\'interf\xe9rences","network.stats.header":"Les rapports de niveau d\'interf\xe9rence","network.stats.subtitle":"Liste des rapports enregistr\xe9s ","network.stats.visu.delete.button":"Effacer","network.inter.req.header":"Lancer une analyse du niveau d\'interf\xe9rences entre les objets et le coordinateur","network.inter.req.subtitle":"Cr\xe9er une analyse du taux d\'\xe9nergie re\xe7ue par le coordinateur en provenance de chaque objet de type routeur.","network.inter.req.button":"Analyser","network.full.req.header":"Lancer une analyse compl\xe8te du niveau d\'interf\xe9rences entre tous les objets","network.full.req.subtitle":"Cr\xe9er une analyse du taux d\'\xe9nergie re\xe7ue entre tous les objets de type routeur.
Attention cela peut prendre un certain temps dans la mesure ou le nombre de combinaison est \xe9gal \xe0 n((n-1)/2) soit 10 pour 5 routeurs, 45 pour 10 routeurs...","network.full.req.button":"Analyser","network.stats.detail.visu.header":"Illustration des niveaux d\u2019interf\xe9rences.","network.stats.detail.visu.subtitle":"Plus le chiffre est \xe9lev\xe9, plus il y a d\'interf\xe9rence (de 0 \xe0 255).","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Failed : ","network.stats.detail.visu.chart.title":"Illustration des niveaux d\'interf\xe9rences","network.stats.detail.visu.chart.y-axis":"Niveau d\'interf\xe9rences","network.stats.detail.visu.chart.x-axis":"Canaux","admin":"Admin","admin.pairing":"Appairage","admin.permittojoin.label":"Mode appairage","admin.permittojoin.on.notify":"Mode appairage activ\xe9","admin.permittojoin.off.notify":"Mode appairage d\xe9sactiv\xe9","admin.assistprovisionning.title":"Appairer un nouvel objet avec l\'assistant","admin.assistprovisionning.subtitle":"Cliquer sur Appairer et suivre les indications ","admin.assistprovisionning.go.button":"Appairer","admin.assistprovisionning.alert.title":"Assistant d\'appairage - Attente d\'un nouvel objet","admin.assistprovisionning.alert.subject":"Faire un Reset sur votre objet pour lancer une proc\xe9dure d\'appairage. Se r\xe9f\xe9rer \xe0 la documentation de l\'objet si n\xe9cessaire.","admin.assistprovisionning.alert.state":"Etat : ","admin.assistprovisionning.alert.description":"Description : ","admin.assistprovisionning.alert.nwkid":"NwkId : ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Liste des dispositifs : ","admin.assistprovisionning.alert.cancel":"Terminer","admin.assistprovisionning.alert.ep":"Endpoint : ","admin.assistprovisionning.alert.cluster":"ClusterId : ","admin.assistprovisionning.alert.profile":"Profile : ","admin.assistprovisionning.alert.device":"Objet : ","admin.assistprovisionning.alert.model":"Mod\xe8le : ","admin.assistprovisionning.alert.plugincertified":"Certification avec le plugin : ","admin.assistprovisionning.alert.Failed":"Appairage \xe9chou\xe9 (regarder les logs pour plus de d\xe9tails)","admin.assistprovisionning.alert.inDB":"Appairage effectu\xe9 (v\xe9rifier si les dispositifs sont bien cr\xe9\xe9es dans DomoticZ)","admin.assistprovisionning.alert.Unexpected":"Erreur inattendue (recommencer et si le probl\xe8me persiste, contacter le support)","admin.permittojoin.title":"Appairer de nouveaux objets sur une dur\xe9e","admin.permittojoin.subtitle":"Cliquer sur un bouton pour choisir la dur\xe9e du mode appairage ","admin.permittojoin.validate.button":"Valider","admin.permittojoin.permanent.button":"Permanent","admin.permittojoin.permanent.notify":"Appairage permanent activ\xe9","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Appairage d\xe9sactiv\xe9","admin.permittojoin.4min.button":"4 minutes","admin.permittojoin.4min.notify":"Appairage activ\xe9 pendant 4 minutes","admin.permittojoin.notify":"Mode appairage modifi\xe9","admin.permittojoinrouter.title":"Appairer de nouveaux objets sur un routeur sp\xe9cifique","admin.permittojoinrouter.subtitle":"Permet de r\xe9aliser un appairage sur un routeur sp\xe9cifique ","admin.permittojoinrouter.devices.placeholder":"Liste des routeurs","admin.fullreset.title":"Reset d\'un objet","admin.fullreset.subtitle":"Permet d\'activer le mode Reset sur un objet
Au prochain appairage, l\'objet sera r\xe9initialis\xe9 \xe0 l\'exception des dispositifs qui seront conserv\xe9s.
Activer le mode Reset et r\xe9-appairer l\'objet.","admin.fullreset.device.placeholder":"S\xe9lectionner l\'objet","admin.fullreset.button":"Activer le mode Reset","admin.fullreset.notify":"Mode Reset activ\xe9","admin.recreate.title":"Re-cr\xe9ation des dispositifs d\'un objet","admin.recreate.subtitle":"Permet de (re)cr\xe9er tous les dispositifs d\'un objet dans DomoticZ
Cette fonction va g\xe9n\xe9rer des dispositifs en doublon. C\'est \xe0 vous de supprimer ces doublons dans DomoticZ et conserver uniquement le(s) dispositif(s) que vous souhaitez.
Ne pas oublier la limitation \xe0 255 dispositifs par plugin.","admin.recreate.device.placeholder":"S\xe9lectionner un objet","admin.recreate.button":"Recr\xe9ation des dispositifs","admin.recreate.notify":"Recr\xe9ation des dispositifs lanc\xe9e","admin.group":"Groupes","admin.rescan.group.title":"Analyse compl\xe8te des groupes","admin.rescan.group.subtitle":"Interroge chaque routeur pour conna\xeetre son appartenance \xe0 un ou plusieurs groupes
Le r\xe9sultat sera disponible dans la Gestion des groupes.

S\'assurer que TOUS les routeurs sont bien pr\xe9sent sur le r\xe9seau ZigBee avant de lancer l\'analyse.","admin.rescan.group.button":"Analyser","admin.scan.group.device.title":"Analyse s\xe9lective des groupes","admin.scan.group.device.subtitle":"Interroge un ou plusieurs routeurs pour conna\xeetre leur(s) appartenance(s) \xe0 un ou plusieurs groupes
Le r\xe9sultat sera disponible dans la Gestion des groupes.

S\'assurer que les routeurs sont bien pr\xe9sent sur le r\xe9seau ZigBee avant de lancer l\'analyse.","admin.scan.group.device.button":"Analyser","admin.scan.group.device.placeholder":"S\xe9lectionner le(s) routeur(s) \xe0 analyser","admin.coordinator":"Coordinateur","admin.coordinator.swreset.title":"R\xe9initialisation logicielle du coordinateur","admin.coordinator.swreset.subtitle":"Lancer le red\xe9marrage du coordinateur sans perte d\'objets appair\xe9s ","admin.coordinator.swreset.button":"Red\xe9marrer le coordinateur","admin.coordinator.swreset.notify":"Red\xe9marrage du coordinateur lanc\xe9","admin.coordinator.switchchannel.title":"Changement du canal de communication du coordinateur","admin.coordinator.switchchannel.subtitle":"Permet de basculer le coordinateur et son r\xe9seau sur un canal de communication particulier.
La demande va \xeatre envoy\xe9e \xe0 tous les objets\xa0: les routeurs basculent normalement sans probl\xe8me, par contre, les objets sur piles qui ne sont pas ZigBee 3.0 n\xe9cessiteront probablement un reset pour rejoindre le nouveau canal.","admin.coordinator.switchchannel.placeholder":"Canal du coordinateur","admin.coordinator.switchchannel.button":"Changer le canal","admin.coordinator.switchchannel.notify":"Changement de canal lanc\xe9","admin.erasepdm.title":"Efface la ZiGate","admin.erasepdm.subtitle":"Effacer la m\xe9moire de la ZiGate (perte de tous les objets appair\xe9s pr\xe9c\xe9demment)
Assurez vous d\'avoir activer le param\xe8tre eraseZigatePDM avant dans les Param\xe8tres avanc\xe9s","admin.erasepdm.button":"Effacer la ZiGate","admin.erasepdm.notify":"ErasePdm ZiGate lanc\xe9","admin.erasepdm.alert.title":"R\xe9initialisation de la ZiGate","admin.erasepdm.alert.subject":"Cette action va effacer compl\xe8tement le ZiGate avec la perte de tous les objets associ\xe9s. \xcates-vous vraiment s\xfbr ???","admin.erasepdm.alert.cancel":"Annuler","admin.erasepdm.alert.erase":"Effacer","admin.plugin":"Plugin","admin.plugin.reload.title":"R\xe9initialisation du plugin","admin.plugin.reload.subtitle":"Lancer le red\xe9marrage du plugin ","admin.plugin.reload.button":"Red\xe9marrer","admin.plugin.reload.notify":"Red\xe9marrage du plugin lanc\xe9","admin.plugin.reload.port":"Port","admin.plugin.reload.username":"Utilisateur","admin.plugin.reload.password":"Mot de Passe","admin.plugin.reload.host":"Nom d\'h\xf4te","admin.plugin.reload.protocol":"Protocole","admin.plugin.reload.alert.title":"Red\xe9marrage du plugin","admin.plugin.reload.alert.subject":"Cette action va red\xe9marrer le plugin. Ceci n\u2019entra\xeenera pas de perte de donn\xe9es.","admin.plugin.reload.alert.cancel":"Annuler","admin.plugin.reload.alert.erase":"Red\xe9marrer","admin.plugin.update.title":"Mise \xe0 jour du plugin","admin.plugin.update.subtitle":"Lance la mise \xe0 jour du plugin.
Si cette mise \xe0 jour se passe sans probl\xe8me, un red\xe9marrage du plugin sera n\xe9cessaire pour la prise en compte, sinon il faudra faire la mise \xe0 jour de fa\xe7on manuelle.","admin.plugin.update.button":"Mettre \xe0 jour (plusieurs minutes)","admin.plugin.update.success":"Red\xe9marrer le plugin pour prendre en compte la mise \xe0 jour","admin.plugin.update.error":"Il y a eu des erreurs durant la mise \xe0 jour, v\xe9rifier les logs et prendre les actions correctives","admin.firmware":"Firmware","admin.firmware.title":"Les firmware des objets","admin.firmware.subtitle":"Mettre \xe0 jour le firmware des routeurs ","admin.firmware.button.update":"Mettre \xe0 jour","admin.firmware.notify":"Mise \xe0 jour lanc\xe9e","admin.firmware.list":"S\xe9lectionner le firmware","admin.firmware.manufacturer.list":"S\xe9lectionner un fabricant","admin.firmware.devices.list":"S\xe9lectionner le(s) routeur(s)","admin.firmware.force":"Forcer la mise \xe0 jour","admin.firmware.alert.title":"Firmware","admin.firmware.alert.subject":"Information","admin.firmware.alert.ok":"Mettre \xe0 jour","admin.firmware.alert.cancel":"Annuler","admin.firmware.alert.list.devices":"Liste des objets","admin.firmware.alert.filename":"Nom du fichier","admin.firmware.alert.device":"Objet ","admin.firmware.alert.brand":"Fabricant ","settings":"R\xe9glages","setting.header":"R\xe9glages","setting.subtitle":"Vous permet de visualiser et de modifier les diff\xe9rents r\xe9glages du plugin
Certains r\xe9glages peuvent n\xe9cessiter un red\xe9marrage du plugin pour \xeatre pris en compte.","setting.validate.button":"Valider","setting.reinit.button":"Param\xe8tres (d\xe9faut)","setting.advanced.button":"Param\xe8tres avanc\xe9s","setting.normal.button":"param\xe8tres standards","setting.help.link":"Plus d\'informations sur les r\xe9glages dans le Wiki","setting.help.legend":"Les r\xe9glages du Plugin ZigBeeForDomoticZ","setting.header.Services":"Liste des services","setting.subtitle.Services":"Activer les services d\xe9sir\xe9s","useDomoticzLog":"Usage des Logs DomoticZ","enablegroupmanagement":"Activer les Groupes","zigatePartOfGroup0000":"Cr\xe9ation du Group 0000","allowRemoveZigateDevice":"Suppression dans le coordinateur","resetPermit2Join":"Reset du mode appairage au d\xe9marrage du plugin","forcePollingAfterAction":"Interrogation du statut de l\'objet apr\xe8s un ordre","enableReadAttributes":"Activer l\'interrogation des objets (pooling)","blueLedOnOff":"Active ou d\xe9sactive la Led Bleu","setting.reloadplugin.alert.title":"Red\xe9marrage du plugin","setting.reloadplugin.alert.subject":"Les r\xe9glages on \xe9t\xe9 mis \xe0 jour, le plugin doit \xeatre red\xe9marr\xe9.","setting.reloadplugin.alert.cancel":"Fermer","setting.resetplugin.alert.title":"Reset du coordinateur","setting.resetplugin.alert.subject":"Un param\xe8tre a \xe9t\xe9 modifi\xe9 et n\xe9cessite un red\xe9marrage du coordinateur. Attention cela peut entra\xeener un r\xe9-appairage de tous les objets.","setting.resetplugin.alert.cancel":"Close","setting.eraseplugin.alert.title":"Erase PDM","setting.eraseplugin.alert.subject":"Un param\xe8tre a \xe9t\xe9 modifi\xe9 et n\xe9cessite un Erase PDM (n\xe9cessite un r\xe9-appairage de tous les objets)","setting.eraseplugin.alert.cancel":"Close","Ping":"Activer le Ping","setting.header.DomoticzEnvironment":"Communication avec DomoticZ","setting.subtitle.DomoticzEnvironment":"Les r\xe9glages pour l\'acc\xe8s \xe0 l\'API de DomoticZ","setting.header.WebInterface":"R\xe9glages de l\'interface Web","setting.subtitle.WebInterface":"Les r\xe9glages pour l\'interface d\'administration du plugin :","enableWebServer":"Active l\'interface Web","setting.header.DeviceManagement":"R\xe9glages de la gestion des objets","setting.subtitle.DeviceManagement":"Les r\xe9glages pour la gestion des objets et leur interaction avec le coordinateur :","setting.header.CoordinatorConfiguration":"R\xe9glages du coordinateur","setting.subtitle.CoordinatorConfiguration":"Les r\xe9glages pour le coordinateur :","setting.header.OverTheAirUpgrade":"R\xe9glages mise \xe0 jour sans fils (OTA)","setting.subtitle.OverTheAirUpgrade":"Les r\xe9glages pour les mises \xe0 jours sans fils (OTA).","allowOTA":"Activer OTA","setting.header.Legrand":"R\xe9glages Legrand Netatmo","setting.subtitle.Legrand":"Les r\xe9glages sp\xe9cifiques aux objets Legrand Netatmo","setting.header.Schneider_Wiser":"R\xe9glages Schneider Wiser","setting.subtitle.Schneider_Wiser":"Les r\xe9glages sp\xe9cifiques aux objets Schneider Wiser","internetAccess":"Autoriser acc\xe8s Internet pour v\xe9rification des versions","batteryOTA":"Autorise les OTA pour les objets sur batterie","waitingOTA":"D\xe9lai avant le d\xe9marrage des OTA","setting.header.GroupManagement":"R\xe9glages des Groupes","setting.subtitle.GroupManagement":"Les r\xe9glages pour la gestion des groupes.","OnIfOneOn":"Groupe est allum\xe9 d\xe8s que le premier objet est allum\xe9 (sinon, groupe est allum\xe9 lorsque tous les objets sont allum\xe9s)","setting.header.PluginConfiguration":"R\xe9glage de l\'environnement du Plugin","setting.subtitle.PluginConfiguration":"Les r\xe9glages pour l\'environnement du Plugin","numDeviceListVersion":"Nombre d\'historique du fichier DeviceList","setting.header.Others":"Autres r\xe9glages","setting.header.Provisioning":"R\xe9glages d\'appairage","setting.subtitle.Provisioning":"R\xe9glages sp\xe9cifiques pour certains mat\xe9riels ou certaines conditions","setting.header.DevicePolling":"Interrogation des objets","setting.subtitle.DevicePolling":"Interrogation directe et r\xe9guli\xe8re des objets. R\xe9glage des fr\xe9quences d\'interrogation. Attention plus la fr\xe9quence est \xe9lev\xe9e, plus la charge sera importante.","setting.subtitle.Others":"","logLQI":"D\xe9lai (sec) avant de lancer un rapport de Maillage","networkScan":"Fr\xe9quence de rapport d\'Interf\xe9rences (sec)","setting.header.CommandTransition":"Transitions des groupes de lumi\xe8res","setting.subtitle.CommandTransition":"Applicable pour les groupes uniquement. Indiquer le temps de transition en dixi\xe8me de seconde entre l\'\xe9tat actuel et celui d\xe9sir\xe9.","moveToHueSatu":"Transition pour Hue","moveToColourTemp":"Transition pour Temp\xe9rature","moveToColourRGB":"Transition pour Couleur RVB","moveToLevel":"Transition pour variateur","setting.header.Experimental":"Param\xe8tres exp\xe9rimentaux","setting.subtitle.Experimental":"Utilisez seulement si on vous a indiqu\xe9 de le faire","api.global.error.notify":"Erreur de l\'interface","api.global.succes.scanlaunched.notify":"Analyse lanc\xe9e","api.global.succes.commandsent.notify":"Commande envoy\xe9e","api.global.succes.saved.notify":"Enregistr\xe9","setting.header.OTA":"Mise \xe0 jour du firmware de l\u2019objet via l\u2019OTA","setting.subtitle.OTA":"Comportement du plugin avec les mises \xe0 jour OTA","IkeaTradfri_Repository":"D\xe9p\xf4t firmwares officiel IKEA-TRADFRI ","ZigbeeOTA_Repository":"D\xe9p\xf4t firmwares ZigBee OTA (maintenue par la communaut\xe9)","autoServeOTA":"Mise \xe0 jour automatique quand un firmware est trouv\xe9","checkFirmwareAgainstZigbeeOTARepository":"V\xe9rifier si un firmware est disponible dans l\u2019un des d\xe9p\xf4ts","DomoticzCustomMenu":"Ajouter un lien vers le WebUI dans le Custom Menu de DomoticZ","NightShift":"D\xe9place les actions d\u2019arri\xe8re plan de 23h \xe0 06h","ConfigureReportingChunk":"Nombre maxi d\u2019attributs lors d\u2019un Configure Reporting","ReadAttributeChunk":"Nombre maxi d\u2019attributs lors d\u2019un Read attributes","resetConfigureReporting":"Reset de tous les Configure Reporting","resetReadAttributes":"Reset de tous les Read attributes","TopologyV2":"Analyse du maillage bas\xe9 sur les tables de routage et de voisinage","autoBackup":"Sauvegarde automatique du coordinateur","BackupFullDevices":"Sauvegarde des informations de l\u2019objet","BellowsNoMoreEndDeviceChildren":"D\xe9sactiver l\u2019appairage direct sur le coordinateur","BellowsSourceRouting":"Activer le m\xe9canisme de routage source","pingDevices":"Faire un ping des objets aliment\xe9s sur secteur pour v\xe9rifier leur \xe9tat","GroupOnBattery":"Activer la cr\xe9ation de groupe pour les objets sur batterie","deviceOffWhenTimeOut":"Basculer un objet sur Off apr\xe8s un timeout du r\xe9seau","checkConfigurationReporting":"V\xe9rifier le Report configuration d\u2019un objet r\xe9guli\xe8rement","TXpower_set":"Niveau de puissance de la transmission du coordinateur","pingDevicesFeq":"Fr\xe9quence de ping des objets aliment\xe9s sur secteur","GrpfadingOff":"Mode de Fadding","GrpmoveToColourRGB":"Temps de transition pour changer la valeur d\u2019une couleur","GrpmoveToColourTemp":"Temps de transition pour changer la temp\xe9rature d\u2019une couleur","GrpmoveToLevel":"Temps de transition pour passer d\u2019un niveau de puissance \xe0 un autre","enableSchneiderWiser":"Activer si vous avez des objets Legacy Wiser","LegrandCompatibilityMode":"Activer pour simuler un hub Legrand Netamo","AqaraOppleBulbMode":"Activer pour que la t\xe9l\xe9commande Aqara Opple commande les objets directement","forceClosingAllNodes":"Activer pour fermer le mode appairage dans chaque routeur","extendedPANID":"Identifiant Zigbee Extended PAN","allowReBindingClusters":"Activer le re-binding des clusters pendant les op\xe9rations de configure reporting","doUnbindBind":"Unbind and then bind, when doing a binding operation","PluginAnalytics":"Autoriser le plugin \xe0 placer un cookie afin de collecter des informations sur le coordinateur et les mod\xe8les d\u2019objets utilis\xe9s.","autoRestore":"Appliquer automatiquement le backup le plus r\xe9cent du coordinateur quand un coordinateur vierge est trouv\xe9","forceSwitchSelectorPushButton":"Workaround DomoticZ issue #4143","resetSwitchSelectorPushButton":"Nombre de sec avant de basculer le S\xe9lecteur Off","setting.header.ManufSpecifiqDevicePolling":"Interrogation des objets sp\xe9ciaux","setting.subtitle.ManufSpecifiqDevicePolling":"0 pour d\xe9sactiv\xe9, correspond \xe0 la p\xe9riode en secondes avec laquelle on va interroger les objets pour r\xe9cup\xe9rer des informations qui ne sont pas envoy\xe9es automatiquement par celui-ci.","setting.header.Zigpy":"Configuration sp\xe9cifique aux CIE ZigPy","setting.subtitle.Zigpy":"Pour certains CIE (comme les clefs ConBeeII et RasbeeII), il est n\xe9cessaire d\'activer des \xe9l\xe9ments sp\xe9cifiques pour certaines marques","resetMotiondelay":"D\xe9lai en seconde entre deux d\xe9tections","Certification":"Certification ( FCC ou CE )","channel":"Canal du coordinateur (0 par d\xe9faut)","alarmDuration":"Dur\xe9e en secondes pour les objets alarme","vibrationAqarasensitivity":"Sensibilit\xe9 vibration Aqara","TradfriKelvinStep":"Kelvin step for Tradfri remote","numTopologyReports":"Nombre de rapport de topologie r\xe9seau conserv\xe9s","numEnergyReports":"nombre de rapports d\'interf\xe9rence enregistr\xe9s","PowerOn_OnOff":"\xc9tat de retour apr\xe8s une coupure \xe9lectrique","logDeviceUpdate":"Activer UpdateDevice message dans les logs","capturePairingInfos":"Capture des infos d\u2019appairage et enregistrement dans le dossier Reports","error_required":"Obligatoire","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Outils","tools.tools":"Outils","tools.tools.export":"Exporter","tools.tools.zdevice-raw.button":"Liste des objets raw","tools.tools.non-optimized.button":"Liste des objets non-optimis\xe9s","tools.tools.zgroup.button":"Liste des groupes","tools.tools.zdevice.button":"Liste des objets (old)","tools.tools.device.button":"Liste des dispositifs dans DomoticZ","tools.tools.log.button":"Logs du plugin","tools.tools.infos.plugin.button":"Infos du plugin","tools.tools.coordinator.infos.button":"Infos du coordinateur","tools.tools.plugin-health.button":"Sant\xe9 du plugin","tools.tools.zdevice-name.button":"Zdevice-name","tools.tools.domoticz-env.button":"Param\xe8tres DomoticZ","tools.tools.battery-state.button":"\xc9tats des batterie","tools.tools.zgroup-list-available-device.button":"Zgroup-lst-devices","tools.tools.settings.button":"Param\xe8tres","tools.tools.plugin-stat.button":"Trafic","tools.command":"Commande","tools.debugcommand.title":"Commandes directes","tools.debugcommand.subtitle":"Permet de transmettre directement des commandes/ordres \xe0 un routeur via le coordinateur. Les objets terminaux ne peuvent pas recevoir de commande
(1) Choisir le routeur,
(2) Choisir l\'action \xe0 effectuer,
(3) Choisir une fonction,
(4) \xc9ventuellement une valeur suppl\xe9mentaire.","tools.debugcommand.device":"Routeur ...","tools.debugcommand.button.cancel":"Annuler","tools.debugcommand.action":"Action ...","tools.debugcommand.type":"Fonction ...","tools.debugcommand.value":"Valeur ...","tools.debugcommand.level.error":"entre 0 et 100","tools.debugcommand.effect.error":"entre 0x00 \xe0 0xff","tools.debugcommand.button.send":"Envoyer","tools.rawcommand-zigate.title":"Commande brut","tools.rawcommand-zigate.subtitle":"Permet d\'envoyer une commande directe au coordinateur en mode Raw.
Suivre absolument le protocole ZiGate ","tools.rawcommand-zigate.command":"Message RAW","tools.rawcommand-zigate.error":"Entr\xe9e requise","tools.rawcommand-zigate.payload":"Payload","tools.rawcommand-zigate.button.send":"Envoyer","tools.rawcommand-zigpy.title":"Commande ZigBee","tools.rawcommand-zigpy.subtitle":"Permet d\'envoyer une commande directe au coordinateur en mode Raw.","tools.rawcommand-zigpy.placeholder":"S\xe9lectionner l\'objet","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Payload","tools.rawcommand-zigpy.button.send":"Envoyer","tools.reporting.configure":"Remont\xe9e d\'infos","tools.reporting.configure.title":"Configuration de la remont\xe9e d\'infos des objets","tools.reporting.configure.subtitle":"Configurer un objet pour qu\'il envoi automatiquement les valeurs d\'un (ou plusieurs) de ses attributs ou qu\'il re\xe7oive les infos.
Les champs Intervalle mini et Intervalle maxi indique la plage de temps en secondes pendant laquelle l\'objet enverra la valeur de l\'attribut correspondant. Les intervalles doivent \xeatre inf\xe9rieur \xe0 65534s (codage 16bits).
Le champ Delta indique la variation de valeur qui entra\xeenera l\'envoi de la donn\xe9e. Pas de limitation sur la longueur du champ. Le signe sera ignor\xe9.
Pour les attributs avec un data type analog (voir 2.6.2), le champ a le m\xeame data type que l\'attribut.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Valider","tools.reporting.configure.device":"S\xe9lectionner l\'objet","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribute id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"Intervalle mini (en secondes)","tools.reporting.configure.maxInterval.column":"Intervalle maxi (en secondes)","tools.reporting.configure.change.column":"Delta","tools.reporting.configure.hexa.error":"Valeur hexad\xe9cimal attendue","tools.reporting.configure.length.error":"Valeur trop longue","tools.binding":"Couplage (Bindings)","tools.binding.title":"Couplage d\'objets","tools.binding.subtitle":"Permet le couplage d\'une fonction entre objet source et un objet cible ","tools.binding.sourceIeee":"IEEE de l\'objet source","tools.binding.error":"Entr\xe9e requise","tools.binding.sourceEp":"S\xe9lectionner l\'objet source","tools.binding.destIeee":"IEEE de l\'objet cible","tools.binding.destEp":"S\xe9lectionner l\'objet cible","tools.binding.cluster":"Fonction","tools.binding.button.put":"Couplage","tools.unbinding.button.put":"D\xe9-couplage","tools.debug":"D\xe9bogage","setting.header.VerboseLogging":"R\xe9glages des Logs","setting.subtitle.VerboseLogging":"Les r\xe9glages pour les Logs. Utilisez l\'option avanc\xe9e pour avoir acc\xe8s aux param\xe8tres sp\xe9cifiques ","tools.debugsetting.help.legend":"Param\xe8tres de d\xe9bogage et journalisation","tools.debugsetting.advanced.button":"Param\xe8tres avanc\xe9s","tools.debugsetting.normal.button":"param\xe8tres standards","tools.debugsetting.validate.button":"Valider","tools.debugsetting.reinit.button":"Param\xe8tres (d\xe9faut)","tools.debugsetting.reloadplugin.alert.title":"Red\xe9marrage du plugin","tools.debugsetting.reloadplugin.alert.subject":"Les r\xe9glages ont \xe9t\xe9 mis \xe0 jour, le plugin doit \xeatre red\xe9marr\xe9.","tools.debugsetting.reloadplugin.alert.cancel":"Fermer","tools.error":"Erreur(s)","tools.error.log-history.button":"Historique des erreurs (json)","tools.error.log-history.clear":"Effacer les erreurs","error.popover.title":"Erreur(s) d\xe9tect\xe9e(s)","error.popover.text":"Cliquer pour voir l\'historique","manufacturer":"Manufacturer","manufacturer.casaia":"Casa.ia","manufacturer.casaia.header":"CASA.ia - Configurations sp\xe9cifiques","manufacturer.casaia.subtitle":"Configuration des codes Infrarouges pour le pilotage des controlleurs de climatisation CAC221 ...","manufacturer.casaia.placeholder":"Rechercher ...","manufacturer.casaia.nwkid":"Short ID","manufacturer.casaia.name":"Surnom","manufacturer.casaia.ieee":"IEEE","manufacturer.casaia.model":"Mod\xe8le","manufacturer.casaia.ircode":"Code Infrarouge","manufacturer.casaia.validate.button":"Valider","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"S\xe9lectionner un Zlinky","manufacturer.zlinky.key":"D\xe9signation","manufacturer.zlinky.value":"Valeur ","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Num\xe9ro de s\xe9rie","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"P\xe9riode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP (30min)","manufacturer.zlinky.ADPS":"Avertissement du d\xe9passement de la puissance souscrite","manufacturer.zlinky.ADIR1":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 1","manufacturer.zlinky.ADIR2":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 2","manufacturer.zlinky.ADIR3":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index 10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 2","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance apparente de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance apparente de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance apparente Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance apparente max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance apparente max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moyenne phase 1","manufacturer.zlinky.UMOY2":"Tension moyenne phase 2","manufacturer.zlinky.UMOY3":"Tension moyenne phase 3","manufacturer.zlinky.SINSTS":"Puissance apparente Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance apparente Instantan\xe9e soutir\xe9e phase 1","manufacturer.zlinky.SINSTS2":"Puissance apparente Instantan\xe9e soutir\xe9e phase 2","manufacturer.zlinky.SINSTS3":"Puissance apparente Instantan\xe9e soutir\xe9e phase 3","manufacturer.zlinky.SMAXN":"Puissance apparente max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance apparente max. soutir\xe9e n phase 1","manufacturer.zlinky.SMAXN2":"Puissance apparente max. soutir\xe9e n phase 2","manufacturer.zlinky.SMAXN3":"Puissance apparente max. soutir\xe9e n phase 3","manufacturer.zlinky.SMAXN-1":"Puissance apparente max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance apparente max. soutir\xe9e n-1 phase 1","manufacturer.zlinky.SMAXN2-1":"Puissance apparente max. soutir\xe9e n-1 phase 2","manufacturer.zlinky.SMAXN3-1":"Puissance apparente max. soutir\xe9e n-1 phase 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"Relais","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Active l\'utilisation du scan de topologie zigpy","ZigpyTopologyReportAutoBackup":"Sauvegarde les scan topologie interne zigpy"}'),m=JSON.parse('{"APP_NAME":"ZigBeeforDomoticZ plug-in Admin Interface","About":"Over","Version":"Versie","NODATA":"Geen data weer te geven","TOTAL":"Totaal {totalRecords}","SELECTED":"Geselecteerd","dashboard":"Dashboard","dashboard.button.refresh":"Ververs","dashboard.trafic.title":"Plugin status ( Verzenden en Ontvangen, Types en Belasting)","dashboard.health.title":"Plugin apparaten","dashboard.devices.state.label":"Aantal bekende apparaten van de plugin","dashboard.devices.live":"live","dashboard.devices.disabled":"invalide","dashboard.devices.notseen":"geen nieuws","dashboard.devices.notReachable":"offline","dashboard.devices.others":"onbekend","dashboard.health.comment":"Live = apparaten online
Offline = apparaten zijn niet bereikbaar
Geen nieuws = apparaten waren meer dan 6 uur niet bereikbaar
Onbekend = status apparaten onbekend","dashboard.traffic.title":"Verzonden & Ontvangen","dashboard.trafic.label":"Verzonden/Ontvangen berichten","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = aantal inkomende berichten sinds het begin van de plug-in
Rx = aantal uitgaande berichten sinds het begin van de plug-in","dashboard.trend.title":"Statistieken","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Belasting","dashboard.trend.comment":"Tx/s = aantal verzonden berichten per seconde
Rx/s = aantal ontvangen berichten per seconde
Load = aantal berichten in de wachtrij","dashboard.trafic.maxload.label":"Belasting","dashboard.trafic.maxload":"Piek","dashboard.trafic.currentload":"huidige wachtrij","dashboard.trend.chart.yaxis":"Berichten/s","dashboard.devices.title":"Apparaat status van niet uitgeschakelde apparaten (Type, Gezondheid en Batterij niveau)","dashboard.device.title":"Soort van apparaten","dashboard.devices.label":"Apparaten","dashboard.devices.routers":"routers","dashboard.devices.enddevice":"eindapparaat","dashboard.devices.comment":"Router is een hoofdapparaat dat deelneemt aan het mesh-netwerk.
Eindapparaat is een apparaat op batterijen dat geen berichten kan sturen, en geen niet bereikbaar is wanneer inactief.","dashboard.battery.title":"Batterij","dashboard.devices.battery.label":"Batterij","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"Voor apparaten met een batterij wordt de batterijstatus gerapporteerd.","dashboard.optimized.title":"Geoptimaliseerde apparaten","dashboard.optimized.comment":"Geoptimaiseerde apparaten zijn apparaten waarvoor een configuratie is uitgevoerd om de plug-in te laten werken zoals verwacht.
Niet-geoptimaliseerde apparaten kunnen niet volledig werken en/of kunnen onverwachte belasting of verkeer genereren.
Meer info in de wiki ","dashboard.devices.optimized":"Geoptimaliseerde apparaten","dashboard.devices.not.optimized":"Niet geoptimaliseerde apparaten","dashboard.devices.optimized.label":"Geoptimaliseerde apparaten","dashboard.popup.device.header":"Object lijst","dashboard.popup.device.subtitle":"Deze lijst is gefilterd, door het geselecteerde in het dashbaord","dashboard.popup.device.button.close":"Sluiten","dashboard.health.starttime":"Opgestart op:","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"Max Belasting","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"Er is een update voor de plug-in beschikbaar Meer informatie.
Plugin upgrade","dashboard.plugin.update.available.title":"Plugin update","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"Er is nieuwe firmware beschikbaar voor de ZiGate Meer info","dashboard.firmware.update.available.title":"Firmware update","dashboard.device.button":"Domoticz apparaten (json)","dashboard.plugin.header":"Plugin informatie","dashboard.plugin.subtitle":"Geeft plugin informatie","dashboard.stats.header":"Plugin statistieken","dashboard.stats.subtitle":"Geeft co\xf6rdinator statistieken over het verzenden en ontvangen van informatie","dashboard.zdevice.button":"Plugin apparten (json)","dashboard.zgroup.button":"Plugin Groepen (json)","dashboard.coordinator.header":"Co\xf6rdinator informatie","dashboard.coordinator.subtitle":"Geeft co\xf6rdinator informatie","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Group: ","dashboard.devices.indb":"In db","consent.banner.header":"Toestemming","consent.banner.description":"Voor het ontwikkelen, gebruiken we cookies voor technisch gebruik, en met je toestemming, we verzamelen alleen de plug-in versie.
Mehr Infos im Wiki.","consent.banner.accept":"Accepteer","consent.banner.decline":"Afwijzen","management":"Beheer","device":"Apparaat Management","device.byname.subtitle":"Een lijst van alle gekoppelde apparaten. Hier kun je een vriendelijke naam voor ieder apparaat invoeren.
Dit geeft een vriendelijk naam, in plaats van een code.
De oranje gemarkeerde objecten zijn niet geoptimaliseerd met de plug-in. Volg de procedure op de wiki. ","device.byname.capabilities.column":"Functies","device.byname.devicename.column":"Eenvoudige naam","device.byname.header":"Apparaten management","device.byname.trash.column":"Verwijder","device.byname.optimized.column":"Verwijderen","device.byname.health.column":"Gezondheid","device.byname.battery.column":"Batterij","device.byname.ieee.column":"IEEE","device.byname.model.column":"Model","device.byname.devicename.param":"Extra parameters","device.byname.devicename.enabled":"Apparaat ingeschakeld","device.byname.placeholder":"typ filter hier ....","device.byname.shortid.column":"Korte id","device.byname.status.column":"Status","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Valideer","device.byname.widget.column":"Domoticz Widget","device.byname.alert.title":"Verwijder apparaat ?","device.byname.alert.subject":"Weet je het zeker ?","device.byname.alert.delete":"Verwijder","device.byname.alert.cancel":"Annuleer","device.byname.error.notify":"Gebruik de ingeschakelde schakelaar","device.byname.parameter.alert.save":"Valideer","device.byname.parameter.alert.cancel":"Annuleer","device.byname.parameter.alert.title":"Parameters","device.byname.parameter.alert.subject":"Stel specifieke parameters in ","device.byname.parameter.popover.title":"Device Parameters","device.byname.parameter.popover.text":"Specify local device configuration parameters. Green means in sync with the device, when Orange the parameters are not yet pushed to the device","device.byname.delete.colum":"Verwijder","device.byname.optimized.popover.title.ok":"Het object is geoptimaliseerd met de plugin","device.byname.optimized.popover.text.ok":"Klik op het icoon om de informatie van het object","device.byname.optimized.popover.title.ko":"Dit object is niet geoptimaliseerd met de plugin","device.byname.optimized.popover.text.ko":"Klik op het icoon om de informatie van het object","group":"Groep Management","group.create.devices.column":"Apparaten in de Groep","group.create.groupname.column":"Groepsnaam","group.create.header":"Groep Management","group.create.placeholder":"typ filter hier ....","group.create.shortid.column":"Groep id","group.create.subtitle":"Maak, bewerk en verwijder groepen
","group.create.validate.button":"Valideer","group.create.add.button":"Maak een nieuwe groep","group.create.delete.button":"Verwijder","group.create.coordinator.column":"Co\xf6rdinator (toegevoegd aan groep)","group.reloadplugin.alert.title":"Plugin herstart","group.reloadplugin.alert.subject":"Groepen zijn ge-update, de plugin moet opnieuw worden gestart via Admin tab","group.reloadplugin.alert.cancel":"Sluiten","header.popover.title":"Herstart noodzakelijk","header.popover.text":"Sommige wijzigingen zijn in afwachting van een herstart van de plug-in","network":"Netwerk","network.topo":"Topologie","network.topo.header":"Netwerk Topologie","network.topo.subtitle":"Lijst van de Netwerk Topology. Selecteer de datum om het meshdiagram te genereren ","network.topo.visu.header":"Topologie diagram","network.topo.visu.subtitle":"Het Topologiediagram toont alle koppelingen tussen 2 knooppunten. Als u de cursor op een link plaatst, ziet u de richting van de link en de kwaliteit van de link","network.topo.visu.network.header":"Netwerk diagram","network.topo.visu.network.subtitle":"Maakt een netwerkdiagram van u Zigbee omgeving.","network.topo.visu.network.filter":"apparaat","network.topo.device.visu.network.chart.title":"Netwerk diagram","network.topo.visu.delete.button":"Verwijder","network.topo.device.batterylevel.column":"Batterij","network.topo.device.deviceid.column":"Apparaat id","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nWaarde","network.topo.device.signalelevel.column":"Signaal","network.topo.device.svalue.column":"sWaarde","network.topo.device.switchtype.column":"Schakelaar","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Type","network.topo.device.name.column":"Naam","network.topo.device.visu.header":"Lijst van apparaten","network.topo.device.visu.subtitle":"Genereert de lijst met apparaten die worden beheerd door co\xf6rdinator. Je krijgt ook een verwijzing naar de Widget-namen en aanvullende informatie van Domoticz","network.topo.device.visu.chart.title":"Mesh Diagram","network.topology.req.header":"Topologie scan","network.topology.req.subtitle":"Dit zal een Topologiescan op de achtergrond starten","network.topology.req.button":"Scan","network.topo.visu.network.relation.header":"Lijst met gekoppelde onderdelen van {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"Deze lijst geeft de LQI-waarde weer, tussen het geselecteerde object en al zijn koppelingen.","network.topo.visu.network.relation.to":"koppelingen","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"Het geselecteerde object heeft geen koppelingen.","network.topo.visu.network.relation.model":"Model","network.topo.visu.network.relation.status":"Status","network.topo.visu.network.relation.health":"Gezondheid","network.topo.visu.network.relation.battery":"Batterij","network.energy":"Energieniveau","network.stats.header":"Netwerk","network.stats.subtitle":"Energieniveau rapport ","network.stats.visu.delete.button":"Verwijder","network.inter.req.header":"Korte Energie scan","network.inter.req.subtitle":"De korte energiescan, het rapport geeft het energieniveau tussen alle routers en co\xf6rdinator, en verwerkt alle cross-communicatie. Dit rapport kan even duren als het aantal routers hoog is, n ((n-1) / 2), voor 5 routers zijn het 10 combinaties, voor 10 routers 45","network.inter.req.button":"Scan","network.full.req.header":"Volledige Energie scan","network.full.req.subtitle":"Er wordt een energierapport verstrekt. Dit rapport geeft het energieniveau tussen routers en ZiGate weer. Met andere woorden, hoeveel stroom ontvangt de co\xf6rdinator. Hoe hoger het getal, des te beter het ontvangst","network.full.req.button":"Volledige scan","network.stats.detail.visu.header":"Energieniveau","network.stats.detail.visu.subtitle":"Hoe hoger het nummer is, des te meer storing (0 tot 255)","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Mislukt : ","network.stats.detail.visu.chart.title":"Energieniveau","network.stats.detail.visu.chart.y-axis":"Energieniveau","network.stats.detail.visu.chart.x-axis":"Kanaal","admin":"Admin","admin.pairing":"Koppelen","admin.permittojoin.label":"Accepteer nieuwe hardware","admin.permittojoin.on.notify":"Accepteer nieuwe hardware Aan","admin.permittojoin.off.notify":"Accepteer nieuwe hardware Uit","admin.assistprovisionning.title":"Apparaat koppelen","admin.assistprovisionning.subtitle":"Start het koppelproces voor nieuwe apparaten ","admin.assistprovisionning.go.button":"Start","admin.assistprovisionning.alert.title":"Apparaat koppelen.","admin.assistprovisionning.alert.subject":"Wacht tot een nieuw apparaat zich aanmeld.","admin.assistprovisionning.alert.state":"Status : ","admin.assistprovisionning.alert.description":"Beschrijving : ","admin.assistprovisionning.alert.nwkid":"korte NwkId : ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Widget Lijst : ","admin.assistprovisionning.alert.cancel":"Annuleer","admin.assistprovisionning.alert.ep":"Eindpunt:","admin.assistprovisionning.alert.cluster":"ClusterId","admin.assistprovisionning.alert.profile":"Profiel :","admin.assistprovisionning.alert.device":"Apparaat :","admin.assistprovisionning.alert.model":"Model :","admin.assistprovisionning.alert.plugincertified":"Plugin Certificaat","admin.assistprovisionning.alert.Failed":"Mislukt (Er ging wat mis, controleer het logoboek)","admin.assistprovisionning.alert.inDB":"Gelukt (controleer of de apparaten zijn gemaakt)","admin.assistprovisionning.alert.Unexpected":"Onverwacht probleem (Neem contact op met de support)","admin.permittojoin.title":"Accepteer nieuwe Hardware voor een bepaalde tijd","admin.permittojoin.subtitle":"In/uitschakelen van het co\xf6rdinator koppelproces voor gewenste een periode ","admin.permittojoin.validate.button":"Valideer","admin.permittojoin.permanent.button":"Permanent","admin.permittojoin.permanent.notify":"Permanente Pairing mode","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Pairing modem Uit","admin.permittojoin.4min.button":"4 minuten","admin.permittojoin.4min.notify":"Pairing mode aan voor 4 minuten","admin.permittojoin.notify":"Pairing mode gewijzigd","admin.permittojoinrouter.title":"Koppel nieuwe apparaten op een router","admin.permittojoinrouter.subtitle":"Start/stop het koppelproces met co\xf6rdinator voor een bepaalde periode ","admin.permittojoinrouter.devices.placeholder":"Lijst van routers","admin.fullreset.title":"Bereid een apparaat voor op een hard reset","admin.fullreset.subtitle":"Als je een reset geeft op een object dat de plug-in kent, de plug-in gebruikt zijn vorige informatie. Met een volledige reset, als je een reset op een object doet, de plug-in cre\xebert alle informatie opnieuw.","admin.fullreset.device.placeholder":"Selecteer een apparaat","admin.fullreset.button":"Reset methode","admin.fullreset.notify":"Reset methode geactiveerd","admin.recreate.title":"Cre\xeber een widget(s) opnieuw","admin.recreate.subtitle":"Cre\xeber de widget opnieuw","admin.recreate.device.placeholder":"Selecteer een apparaat","admin.recreate.button":"Cre\xeber widget(s) opnieuw","admin.recreate.notify":"Opnieuw cre\xebren van widget(s) gestart","admin.group":"Groep","admin.rescan.group.title":"Scan alle apparaten op groepslidmaatschappen","admin.rescan.group.subtitle":"Start een scan van alle apparaten op groepslidmaatschappen
Het resultaat wordt zichtbaar in het group management menu.","admin.rescan.group.button":"Volledige scan","admin.scan.group.device.title":"Scan een selectie van apparaten voor groepslidmaatschappen","admin.scan.group.device.subtitle":"Start een scan van groepslidmaatschappen voor de geselecteerde apparaten
Je kan \xe9\xe9n of meerdere apparaten selecteren en het resultaat wordt zichtbaar in het groep management menu.","admin.scan.group.device.button":"Scan","admin.scan.group.device.placeholder":"Selecteer te scannen apparaten","admin.coordinator":"Co\xf6rdinator","admin.coordinator.swreset.title":"Co\xf6rdinator reset","admin.coordinator.swreset.subtitle":"Co\xf6rdinator wordt ge herstart (Er gaan geen gekoppelde apparaten verloren) ","admin.coordinator.swreset.button":"Zachte reset","admin.coordinator.swreset.notify":"Co\xf6rdinator herstart begonnen","admin.coordinator.switchchannel.title":"Co\xf6rdinator wijzig kanaal","admin.coordinator.switchchannel.subtitle":"Zal het kanaal wijzigen in de geselecteerde, en zal het kanaal verzenden naar het apparaat. Attentie, normaal veranderen routers naar het nieuwe kanaal, none Zigbee 3.0 apparaten doen dat niet en hebben een reset nodig.","admin.coordinator.switchchannel.placeholder":"Co\xf6rdinator kanaal (0 default)","admin.coordinator.switchchannel.button":"Wijzig kanaal","admin.coordinator.switchchannel.notify":"Kanaal wijziging gestart","admin.erasepdm.title":"Wis ZiGate","admin.erasepdm.subtitle":"Zal alle permanente data verwijderen uit het geheugen van ZiGate (Alle gekoppelde apparaten worden gewist). Zorg ervoor dat je wis ZiGatePDM hebt ingeschakeld in geavanceerde instellingen voor dat je deze bewerking uitvoert.","admin.erasepdm.button":"Verwijderen","admin.erasepdm.notify":"ErasePdm ZiGate gestart","admin.erasepdm.alert.title":"Wis ZiGate, weet je het zeker?","admin.erasepdm.alert.subject":"ATTENTIE, laatste kans !!!!!","admin.erasepdm.alert.cancel":"Annuleer","admin.erasepdm.alert.erase":"Verwijderen","admin.plugin":"Plug-in","admin.plugin.reload.title":"Herstart plug-in","admin.plugin.reload.subtitle":"Zal de plug-in herstarten ","admin.plugin.reload.button":"Herstart","admin.plugin.reload.notify":"Plug-in herstarten","admin.plugin.reload.port":"Poort","admin.plugin.reload.username":"Gebruikersnaam","admin.plugin.reload.password":"Wachtwoord","admin.plugin.reload.host":"Hostnaam","admin.plugin.reload.protocol":"Protocol","admin.plugin.reload.alert.title":"Plug-in herstarten, Weet je het zeker ?","admin.plugin.reload.alert.subject":"ATTENTIE, laatste kans !!!!!","admin.plugin.reload.alert.cancel":"Annuleer","admin.plugin.reload.alert.erase":"Herstart","admin.plugin.update.title":"Plugin update","admin.plugin.update.subtitle":"Update de plugin naar de meeste recente versie. Als de update gelukt is, word er gevraagd de plugin te herstarten, anders moet je handmatig updaten.","admin.plugin.update.button":"upgrade plugin (dit kan enkele minuten duren)","admin.plugin.update.success":"Je kunt de plugin nu herstarten","admin.plugin.update.error":"Controleer de log file, en pas eventueel handmatig aan","admin.firmware":"Firmware","admin.firmware.title":"Apparaten firmware","admin.firmware.subtitle":"Update apparaat firmware ","admin.firmware.button.update":"Update","admin.firmware.notify":"Updating firmware","admin.firmware.list":"lijst beschikbare firmware","admin.firmware.manufacturer.list":"lijst van leveranciers","admin.firmware.devices.list":"Lijst van apparaten","admin.firmware.force":"Forceer update","admin.firmware.alert.title":"Titel waarschuwing","admin.firmware.alert.subject":"Onderwerp waarschuwing","admin.firmware.alert.ok":"update","admin.firmware.alert.cancel":"Annuleer","admin.firmware.alert.list.devices":"Lijst van apparaten","admin.firmware.alert.filename":"bestandsnaam","admin.firmware.alert.device":"Apparaat","admin.firmware.alert.brand":"Merk","settings":"Instellingen","setting.header":"Instellingen","setting.subtitle":"Hier kunt u verschillende plug-in instellingen wijzigen
Sommige wijzigingen vereisen mogelijk een herstart van de plug-in.","setting.validate.button":"Valideer","setting.reinit.button":"Instellingen (standaard)","setting.advanced.button":"Geavanceerde instellingen","setting.normal.button":"Normale instellingen","setting.help.link":" Informatie over de instellingen vind je in de WIKI","setting.help.legend":"Dit zijn alle instellingen van de plugin die je kan wijzigen.","setting.header.Services":"Beschikbare services","setting.subtitle.Services":"Activeer hier de beschikbare services","useDomoticzLog":"Gebruik Domoticz Log","enablegroupmanagement":"Aanzetten Groepen","zigatePartOfGroup0000":"Cre\xeber Groep 0000","allowRemoveZigateDevice":"Verwijderen van co\xf6rdinator","resetPermit2Join":"Reset na een herstart toestaan","forcePollingAfterAction":"Krijg apparaten status na actie","enableReadAttributes":"Polling Aanzetten","blueLedOnOff":"Schakel co\xf6rdinator Blue Led aan","setting.reloadplugin.alert.title":"Plug-in herstart","setting.reloadplugin.alert.subject":"De instellingen zijn bijgewerkt, de plug-in moet opnieuw worden opgestart","setting.reloadplugin.alert.cancel":"Sluiten","setting.resetplugin.alert.title":"Coordinator Reset","setting.resetplugin.alert.subject":"Instellingen zijn geupdate, coordinator heeft een reset nodig. (meestal hebben alle apparaten een rapair nodig)","setting.resetplugin.alert.cancel":"Sluiten","setting.eraseplugin.alert.title":"Wis PDM","setting.eraseplugin.alert.subject":"Instellingen zijn geupadate, PDM heeft een reset nodig. (alle apparaten moeten opnieuwe gepaird worden)","setting.eraseplugin.alert.cancel":"Afsluiten","Ping":"Activeer Ping","setting.header.DomoticzEnvironment":"Domoticz URL","setting.subtitle.DomoticzEnvironment":"Instelling voor toegang tot Domoticz API","setting.header.WebInterface":"Web Interface instellingen","setting.subtitle.WebInterface":"Maakt het mogelijk om de Web UI aan / uit te schakelen","enableWebServer":"Schakel web User Interface in","setting.header.DeviceManagement":"Instellingen voor apparaat beheer","setting.subtitle.DeviceManagement":"Hier zijn alle instellingen met betrekking tot Apparaten en hoe co\xf6rdinator ermee omgaat","setting.header.CoordinatorConfiguration":"Coordinator Instellingen","setting.subtitle.CoordinatorConfiguration":"Instellingen met betrekking tot de Coordinator-hardware.","setting.header.OverTheAirUpgrade":"Over The Air Upgrade-instellingen","setting.subtitle.OverTheAirUpgrade":"Alle instellingen met betrekking tot de Over The Air upgrade-functionaliteit.","allowOTA":"Aanzetten OTA","setting.header.Legrand":"Legrand Netatmo instellingen","setting.subtitle.Legrand":"Allow to set a number of Legrand specifics options","setting.header.Schneider_Wiser":"Schneider Wiser instellingen","setting.subtitle.Schneider_Wiser":"Allow to enable some specific mecanishm, and some other options","internetAccess":"Internettoegang toestaan","batteryOTA":"OTA toestaan voor apparaten op batterijen","waitingOTA":"Vertraag het starten van het OTA-proces","setting.header.GroupManagement":"Groepsmanagement instellingen","setting.subtitle.GroupManagement":"Instellingen om de Groepsbeheerfunctie in te schakelen en te configureren.","OnIfOneOn":"Groep is aan wanneer \xe9\xe9n apparaat aan is (Anders moeten alle apparaten aan zijn)","setting.header.PluginConfiguration":"Plugin omgevingsinstellingen","setting.subtitle.PluginConfiguration":"Alle instellingen voor Plugin-omgeving","numDeviceListVersion":"Hoeveel regels Apparaatlijst-geschiedenis behouden","setting.header.Others":"Overige instellingen","setting.header.Provisioning":"Paring instellingen","setting.subtitle.Provisioning":"Speciale instellingen voor specialing apparaten en condities","setting.header.DevicePolling":"Backend error","setting.subtitle.DevicePolling":"Hiermee kunt u de polling-frequentie opgeven per type informatie. Houd er rekening dat wanneer de co\xf6rdinator een hoge overvraagt wordt er mogelijk knelpunten ontstaan","setting.subtitle.Others":"","logLQI":"Vertraging voordat een Topologiescan wordt gestart (sec)","networkScan":"Frequentie van storingsrapport (sec)","setting.header.CommandTransition":"Experimentele parameters","setting.subtitle.CommandTransition":"Group Overgangstijden voor apparaat commando\'s","moveToHueSatu":"Transition for Hue","moveToColourTemp":"Transition for Color Temp","moveToColourRGB":"Transition for RGB color","moveToLevel":"Transition for Move to Level","setting.header.Experimental":"Experimentele parameters","setting.subtitle.Experimental":"Alleen gebruiken wanneer hier naar wordt gevraagd","api.global.error.notify":"foutmelding","api.global.succes.scanlaunched.notify":"analyseren gestart","api.global.succes.commandsent.notify":"Commando verzonden","api.global.succes.saved.notify":"Opgeslagen","setting.header.OTA":"Apparaat firmware update Over-The-Air","setting.subtitle.OTA":"Parameters hoe je de Over-The-Air update configuratie wilt laten verlopen.","IkeaTradfri_Repository":"IKEA-TRADFRI Oficiele repository","ZigbeeOTA_Repository":"Zigbee OTA firmware (opgebouwd door de internet communitie)","autoServeOTA":"Sta automatische update toe, wanneer er nieuwe firmeware is gevonden.","checkFirmwareAgainstZigbeeOTARepository":"Controleer of er firmware beschikbaar is in de repository","DomoticzCustomMenu":"Aanzetten Plugin WebUI vanuit het Domoticz Custom menu","NightShift":"Push achtergrond activiteit van 23:00 tot 6:00 uur","ConfigureReportingChunk":"Maximale nummers van attributen, wanneer configuratie rapport","ReadAttributeChunk":"Maximale nummers van attributen wanneer attributen gelezen ","resetConfigureReporting":"Reset alle bestaande configuraties van het rapport","resetReadAttributes":"Reset alle attributen die gelezen zijn","TopologyV2":"Network Topology gebasserd op routing en neighbourghs tables","autoBackup":"Automatische backup van de coordinator","BackupFullDevices":"backup apparaten informatie","BellowsNoMoreEndDeviceChildren":"Schakel direct pairen uit van Coordinator","BellowsSourceRouting":"Zet aan Zigbee Source routing mechanisme","pingDevices":"Ping main-powered apparaten regelmatig om te verifi\xebren of ze gezond zijn.","GroupOnBattery":"Zet aan groep creeren voor batterij apparaten","deviceOffWhenTimeOut":"Schakel schakelaar uit wanneer buiten netwerk","checkConfigurationReporting":"Controleer het apparaat report configuratie regelmatig","TXpower_set":"Coordinator transmissie power level","pingDevicesFeq":"Frequentie van regelmatig ping main-powered apparaten","GrpfadingOff":"Dimmer-modus","GrpmoveToColourRGB":"Overangstijd voor RGB kleur","GrpmoveToColourTemp":"Overangstijd voor TEMP kleur","GrpmoveToLevel":"Overangstijd voor dim positie naar een andere","enableSchneiderWiser":"Inschakelen wanneer je veroudere Wiser apparaten hebt.","LegrandCompatibilityMode":"Inschakelen om een Legrand Netamo Hub te simuleren","AqaraOppleBulbMode":"Inschakelen om een Aqara Opple remote, commandos direct naar het apparaat te sturen.","forceClosingAllNodes":"Inschakelen om pairing mode af te sluiten in elke router","extendedPANID":"Zigbee Extended PAN Identifier","allowReBindingClusters":"Enable re-binding clusters during configure reporting operations","doUnbindBind":"Unbind and then bind, when doing a binding operation","PluginAnalytics":"Schakel de plugin in, en om cookies te gebruiken, om informatie te verzamelen, over de coordinator, en de apparten die gebruikt worden.","autoRestore":"Automatisch gebruik de meest recente coordinator backup, als een lege is gevonden.","forceSwitchSelectorPushButton":"Zet de selector switch eerst op \'off\' wanneer dezelfde status wordt geselecteerd. (Workaround voor Domoticz issue #4143)","resetSwitchSelectorPushButton":"Aantal seconden totdat de schakalaar uit gaat","setting.header.ManufSpecifiqDevicePolling":"Specifieke Polling","setting.subtitle.ManufSpecifiqDevicePolling":"0 stands for disable otherwise it indicates the polling frequency in seconds, For Manufacturer Specific it will allow to retreive device states whcih are not provided automatically by the device","setting.header.Zigpy":"Zigpy CIE specifieke configuratie","setting.subtitle.Zigpy":"Specific to some CIE as ConBeeII and RasBeeII it might required to enable some CIE specific item for some brand","resetMotiondelay":"Vertaging in seconden om motion te detecteren","Certification":"Certification ( FCC or CE )","channel":"Co\xf6rdinator kanaal (standaard 0)","alarmDuration":"tijd in seconden voor duur van alarm","vibrationAqarasensitivity":"Aqara Vibratie gevoeligheid","TradfriKelvinStep":"stappen voor kelvin Tradfri afstandsbediening","numTopologyReports":"Aantal topologie rapporten opgeslagen","numEnergyReports":"Aantal opgeslagen storingsrapporten","PowerOn_OnOff":"Na stroomuitval herstel status apparaat","logDeviceUpdate":"Schakel updaten apparaat bericht in log","capturePairingInfos":"Sla pairing informatie op in reports folder","error_required":"Benodigd","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Gereedschappen","tools.tools":"Gereedschappen","tools.tools.export":"Exporteer","tools.tools.zdevice-raw.button":"Plugin onbewerkte apparaten","tools.tools.non-optimized.button":"Niet geoptimaliseerde apparaten","tools.tools.zgroup.button":"Plugin Groepen","tools.tools.zdevice.button":"Plugin apparaten","tools.tools.device.button":"Domoticz Widgets","tools.tools.log.button":"Plug-in informatie","tools.tools.infos.plugin.button":"Plug-in informatie","tools.tools.coordinator.infos.button":"Co\xf6rdinator informatie","tools.tools.plugin-health.button":"Plugin gezondheid","tools.tools.zdevice-name.button":"zApparaat-naam","tools.tools.domoticz-env.button":"domoticz-env","tools.tools.battery-state.button":"Battery State","tools.tools.zgroup-list-available-device.button":"zGroep-lst-apparaten","tools.tools.settings.button":"Instellingen","tools.tools.plugin-stat.button":"Verkeer","tools.command":"Commando","tools.debugcommand.title":"Verstuur commando","tools.debugcommand.subtitle":"Verstuur een commando naar een apparaat
(1) Selecteer het apparaat,
(2) Selecteer het commando,
(3) Selecteer het apparaat type. Dit beinvloed de manier hoe er met het apparaat wordt gecommuniceerd,
(4) Geef een waarde in of selecteer een kleur (optioneel)","tools.debugcommand.device":"Kies apparaat","tools.debugcommand.button.cancel":"Annuleer","tools.debugcommand.action":"Kies Actie","tools.debugcommand.type":"Kies type","tools.debugcommand.value":"Waarde","tools.debugcommand.level.error":"tussen 0 en 100","tools.debugcommand.effect.error":"tussen 0x00 tot 0xff","tools.debugcommand.button.send":"Verzenden","tools.rawcommand-zigate.title":"ZiGate commando (raw)","tools.rawcommand-zigate.subtitle":"Sta Zigate toe om een commando direct naar the co\xf6rdinator te sturen.
Je moeten deze link volgen the ZiGate protocol .","tools.rawcommand-zigate.command":"Berichten RAW type","tools.rawcommand-zigate.error":"Invoer verplicht","tools.rawcommand-zigate.payload":"Data","tools.rawcommand-zigate.button.send":"Bevestig","tools.rawcommand-zigpy.title":"ZigBee commando","tools.rawcommand-zigpy.subtitle":"Sta Zigate toe om een commando direct naar the co\xf6rdinator te sturen.","tools.rawcommand-zigpy.placeholder":"Selecteer een apparaat","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Data","tools.rawcommand-zigpy.button.send":"Bevestig","tools.reporting.configure":"Configureer overzicht","tools.reporting.configure.title":"Configureer overzicht instellingen","tools.reporting.configure.subtitle":"Configure a device to automatically report the values of one or more of its attributes, or to receive such reports.
The minimum reporting interval field is 16 bits in length and SHALL contain the minimum interval, in seconds, between issuing reports of the specified attribute.
The maximum reporting interval field is 16 bits in length and SHALL contain the maximum interval, in seconds, between issuing reports of the specified attribute.
The reportable change field SHALL contain the minimum change to the attribute that will result in a report being issued. This field is of variable length.
For attributes with \'analog\' data type (see 2.6.2), the field has the same data type as the attribute. The sign (if any) of the reportable change field is ignored.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Valideer","tools.reporting.configure.device":"Selecteer een apparaat","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribuut id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"min interval (secondes)","tools.reporting.configure.maxInterval.column":"max interval (secondes)","tools.reporting.configure.change.column":"wijzig","tools.reporting.configure.hexa.error":"niet een hexadecimaal getal","tools.reporting.configure.length.error":"niet een verwacht getal","tools.binding":"Verbinding","tools.binding.title":"Verbindingstitel","tools.binding.subtitle":"Sta toe om een \u200b\u200bgroep te binden tussen bron- en doelapparaat
e.g. If you want to bind a Temperature sensor with an Actuator, the SourceIEEE/Ep will be the Temperature sensor, the DestIEEE/Ep will be the actuator and the Cluster will be 0402 (Temperature Measurement)","tools.binding.sourceIeee":"bron IEEE","tools.binding.error":"Invoer verplicht","tools.binding.sourceEp":"Selecteer bron apparaat","tools.binding.destIeee":"Dest IEEE","tools.binding.destEp":"Selecteer doel apparaat","tools.binding.cluster":"Cluster","tools.binding.button.put":"Binding verzenden","tools.unbinding.button.put":"Unbinding","tools.debug":"Debug","setting.header.VerboseLogging":"Verbose en Loggen","setting.subtitle.VerboseLogging":"Hiermee kunt u sommige Logging-functies in- of uitschakelen ","tools.debugsetting.help.legend":"Logging and debuging, use advanced to get access to the Debug parameters","tools.debugsetting.advanced.button":"Geavanceerde instellingen","tools.debugsetting.normal.button":"Normale instellingen","tools.debugsetting.validate.button":"Plug-in herstart","tools.debugsetting.reinit.button":"Instellingen (standaard)","tools.debugsetting.reloadplugin.alert.title":"Plugin herladen","tools.debugsetting.reloadplugin.alert.subject":"De instellingen zijn bijgewerkt, de plugin moet opnieuw worden opgestart","tools.debugsetting.reloadplugin.alert.cancel":"Sluiten","tools.error":"foutmelding(en)","tools.error.log-history.button":"Log foutengeschiedenis (json)","tools.error.log-history.clear":"Log verwijderen","error.popover.title":"foutmeldingen gedetecteerd","error.popover.text":"Klik om het log te zien","manufacturer":"Fabrikant","manufacturer.casaia":"Casa.ia","manufacturer.casaia.header":"titel","manufacturer.casaia.subtitle":"ondertitel","manufacturer.casaia.placeholder":"tijdelijke aanduiding","manufacturer.casaia.nwkid":"nwkid","manufacturer.casaia.name":"naam","manufacturer.casaia.ieee":"ieee","manufacturer.casaia.model":"model","manufacturer.casaia.ircode":"ircode","manufacturer.casaia.validate.button":"valideer","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"Select Zlinky device","manufacturer.zlinky.key":"Designation","manufacturer.zlinky.value":"Value","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Serial Number","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"P\xe9riode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP (30min)","manufacturer.zlinky.ADPS":"Avertissement du d\xe9passement de la puissance souscrite","manufacturer.zlinky.ADIR1":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 1","manufacturer.zlinky.ADIR2":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 2","manufacturer.zlinky.ADIR3":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index 10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 2","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance apparente de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance apparente de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance apparente Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance apparente max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance apparente max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moyenne phase 1","manufacturer.zlinky.UMOY2":"Tension moyenne phase 2","manufacturer.zlinky.UMOY3":"Tension moyenne phase 3","manufacturer.zlinky.SINSTS":"Puissance apparente Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance apparente Instantan\xe9e soutir\xe9e phase 1","manufacturer.zlinky.SINSTS2":"Puissance apparente Instantan\xe9e soutir\xe9e phase 2","manufacturer.zlinky.SINSTS3":"Puissance apparente Instantan\xe9e soutir\xe9e phase 3","manufacturer.zlinky.SMAXN":"Puissance apparente max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance apparente max. soutir\xe9e n phase 1","manufacturer.zlinky.SMAXN2":"Puissance apparente max. soutir\xe9e n phase 2","manufacturer.zlinky.SMAXN3":"Puissance apparente max. soutir\xe9e n phase 3","manufacturer.zlinky.SMAXN-1":"Puissance apparente max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance apparente max. soutir\xe9e n-1 phase 1","manufacturer.zlinky.SMAXN2-1":"Puissance apparente max. soutir\xe9e n-1 phase 2","manufacturer.zlinky.SMAXN3-1":"Puissance apparente max. soutir\xe9e n-1 phase 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"Relais","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Enable the use of zigpy Topology Scanner","ZigpyTopologyReportAutoBackup":"Automaticaly backup auto-triggered Topology scan"}'),w=JSON.parse('{"APP_NAME":"Interfaz de Gesti\xf3n de ZigBeeforDomoticZ","About":"Sobre","Version":"Versi\xf3n","NODATA":"no hay informaci\xf3n para mostrar","TOTAL":"Total {totalRecords}","SELECTED":"seleccionado","dashboard":"Tablero","dashboard.button.refresh":"Actualizar","dashboard.trafic.title":"Estado del plugin","dashboard.health.title":"Dispositivos del plugin","dashboard.devices.state.label":"Dispositivos conocidos por el plugin","dashboard.devices.live":"Vivo","dashboard.devices.disabled":"deshabilitado","dashboard.devices.notseen":"Sin noticias","dashboard.devices.notReachable":"Perdido","dashboard.devices.others":"Desconocido","dashboard.health.comment":"Vivo = cantidad de dispositivos activos
Perdido = cantidad de dispositivos fuera de la red
Sin noticias: cantidad de dispositivos que no han informado en las \xfaltimas 6 horas
Desconocido = cantidad de dispositivos con estado desconocido","dashboard.traffic.title":"Enviar y Recibir","dashboard.trafic.label":"Enviar / Recibir mensajes","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = n\xfamero de mensajes entrantes desde el inicio del plugin
Rx = n\xfamero de mensajes salientes desde el inicio del plugin","dashboard.trend.title":"Estad\xedsticas","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Load","dashboard.trend.comment":"Tx/s = cantidad de mensajes enviados por segundo
Rx/s = cantidad de mensajes recibidos por segundo
Load = cantidad de mensajes en la cola","dashboard.trafic.maxload.label":"Carga","dashboard.trafic.maxload":"Pico","dashboard.trafic.currentload":"Actual","dashboard.trend.chart.yaxis":"mensaje(s)","dashboard.devices.title":"Estado de los dispositivosno desactivados","dashboard.device.title":"tipo de dispositivos","dashboard.devices.label":"Dispositivos","dashboard.devices.routers":"Enrutadores","dashboard.devices.enddevice":"Dispositivos finales","dashboard.devices.comment":"Enrutadores = Dispositivos alimentados por la red que participan en el mallado de la red.
Objetos terminales = Dispositivos que no pueden participar en el mallado (frecuentemente los con bater\xeda, pero en algunos casos pueden ser alimentados por una fuente de baja potencia o sin neutral).","dashboard.battery.title":"Bater\xeda","dashboard.devices.battery.label":"Bater\xeda","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"Para dispositivos equipados con bater\xeda, a continuaci\xf3n se informa el estado de la bater\xeda.","dashboard.optimized.title":"Dispositivos optimizados","dashboard.optimized.comment":"Optimizado = Dispositivos para los que se ha realizado una configuraci\xf3n en el complemento.
No optimizado = Dispositivos que pueden no funcionar completamente y/o generar una carga o tr\xe1fico anormales.
M\xe1s informaci\xf3n en el wiki","dashboard.devices.optimized":"Dispositivos optimizados","dashboard.devices.not.optimized":"Dispositivos no optimizados","dashboard.devices.optimized.label":"Dispositivos","dashboard.popup.device.header":"lista de dispositivos","dashboard.popup.device.subtitle":"Esta lista esta filtrada por elemento en el que se hizo clic en el tablero.","dashboard.popup.device.button.close":"Cerrar","dashboard.health.starttime":"Empieza en ","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"MaxLoad","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"Hay una actualizaci\xf3n disponible para el plugin M\xe1s informaci\xf3n.
Plugin upgrade","dashboard.plugin.update.available.title":"Actualizaci\xf3n del plugin","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"Hay una actualizaci\xf3n disponible para el firware M\xe1s informaci\xf3n","dashboard.firmware.update.available.title":"Actualizaci\xf3n del firware","dashboard.device.button":"DomoticZ Devices(json)","dashboard.plugin.header":"Informaci\xf3n sobre plugin","dashboard.plugin.subtitle":"Proporciona informaci\xf3n sobre el plugin","dashboard.stats.header":"Estad\xedsticas del plugins","dashboard.stats.subtitle":"Proporciona estad\xedsticas de coordinador en t\xe9rminos de transmisi\xf3n y recepci\xf3n de mensajes","dashboard.zdevice.button":"Dispositivos del plugin (json)","dashboard.zgroup.button":"Groupos del Plugin (json)","dashboard.coordinator.header":"Informaci\xf3n de Coordinador","dashboard.coordinator.subtitle":"Proporciona informaci\xf3n de Coordinador","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Groupo: ","dashboard.devices.indb":"En Db","consent.banner.header":"Consentimiento","consent.banner.description":"Para mejorar nuestro desarrollo y centrarnos en los puntos que se necesita, utilizamos una t\xe9cnica de cookies y, con su consentimiento, recopilaremos principalmente la versi\xf3n del plugin, el modelo y marca del coordinador, la versi\xf3n del firmware y los datos de la red (como cantidad de enrutadores y dispositivos terminales).
D\xe9 su consentimiento seleccionando \'Permitir\' o \'No permitir\'. Si desea cambiar su elecci\xf3n, puede hacerlo a trav\xe9s del men\xfa Configuraci\xf3n.
M\xe1s informaci\xf3n en la wiki.","consent.banner.accept":"Aceptar","consent.banner.decline":"Rechazar","management":"Gesti\xf3n","device":"Gesti\xf3n de dispositivos","device.byname.subtitle":"Enumere todos los dispositivos HW emparejados con el plugin, y le permite ingresar un nombre descriptivo para cada dispositivo.
Muestra el nombre amigable del dispositivo en la secci\xf3n de red en lugar de un c\xf3digo de cuatro d\xedgitos.
Los objetos marcados en naranja no son optimizado con el plugin. Por favor sigue el procedimiento en el wiki,","device.byname.capabilities.column":"Capacidades","device.byname.devicename.column":"Nombre amigable","device.byname.header":"Administraci\xf3n de objetos","device.byname.trash.column":"Eliminar","device.byname.optimized.column":"Optimizado","device.byname.health.column":"Salud","device.byname.battery.column":"Bater\xeda","device.byname.ieee.column":"IEEE","device.byname.model.column":"Modelo","device.byname.devicename.param":"Par\xe1metros","device.byname.devicename.enabled":"Dispositivo activo","device.byname.placeholder":"Escriba filtro aqu\xed ....","device.byname.shortid.column":"Id corta","device.byname.status.column":"Estado","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Validar","device.byname.widget.column":"Domoticz Widget","device.byname.alert.title":"Eliminar dispositivo ?","device.byname.alert.subject":"Estas seguro ?","device.byname.alert.delete":"Eliminar","device.byname.alert.cancel":"Anular","device.byname.error.notify":"Por favor, utilice el interruptor \'Activar\'","device.byname.parameter.alert.save":"Validar","device.byname.parameter.alert.cancel":"Anular","device.byname.parameter.alert.title":"Par\xe1metros","device.byname.parameter.alert.subject":"Configurar par\xe1metros espec\xedficos ","device.byname.parameter.popover.title":"Device Parameters","device.byname.parameter.popover.text":"Specify local device configuration parameters. Green means in sync with the device, when Orange the parameters are not yet pushed to the device","device.byname.delete.colum":"Eliminar","device.byname.optimized.popover.title.ok":"El dispositivo est\xe1 optimizado con el plugin","device.byname.optimized.popover.text.ok":"Haga clic en el icono para copiar la informaci\xf3n del dispositivo","device.byname.optimized.popover.title.ko":"El dispositivo no est\xe1 optimizado con el plugin","device.byname.optimized.popover.text.ko":"Haga clic en el icono para copiar la informaci\xf3n del dispositivo","group":"Gesti\xf3n de grupos","group.create.devices.column":"Dispositivos seleccionados en el grupo","group.create.groupname.column":"Nombre del grupo","group.create.header":"Gesti\xf3n de grupos","group.create.placeholder":"Escriba filtro aqu\xed ....","group.create.shortid.column":"Id del grupo","group.create.subtitle":"Permitir editar, crear y eliminar grupos
Aplique los cambios y luego actualice la p\xe1gina para confirmar que los cambios se han realizado. No hagas todos los cambios a la vez, prefieres hacerlo paso a paso con peque\xf1os cambios","group.create.validate.button":"Validar","group.create.add.button":"Agregar un grupo nuevo","group.create.delete.button":"Eliminar","group.create.coordinator.column":"Coordinador (en el grupo)","group.reloadplugin.alert.title":"Recarga del plugin","group.reloadplugin.alert.subject":"Los grupos se han actualizado, el plugin debe ser reiniciado","group.reloadplugin.alert.cancel":"Cerrar","header.popover.title":"Reinicio necesario","header.popover.text":"Algunos cambios est\xe1n pendientes, es necesario reiniciar el plugin","network":"Red","network.topo":"Topolog\xeda","network.topo.header":"Topolog\xeda de la red","network.topo.subtitle":"Lista de topolog\xeda de red. Seleccione uno para obtener el diagrama de malla ","network.topo.visu.header":"Diagrama de topolog\xeda","network.topo.visu.subtitle":"El diagrama de topolog\xeda muestra todos los enlaces entre 2 nodos. Si deja el cursor en un enlace, ver\xe1 la direcci\xf3n del enlace, as\xed como la calidad del enlace.","network.topo.visu.network.header":"Gr\xe1fico de red","network.topo.visu.network.subtitle":"Dibujar\xe1 un gr\xe1fico de red de su entorno Zigbee.","network.topo.visu.network.filter":"Nombre del nodo para filtrar","network.topo.device.visu.network.chart.title":"Gr\xe1fico de red","network.topo.visu.delete.button":"Eliminar","network.topo.device.batterylevel.column":"Bater\xeda","network.topo.device.deviceid.column":"Id del dispositivo","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nValue","network.topo.device.signalelevel.column":"Signal","network.topo.device.svalue.column":"sValue","network.topo.device.switchtype.column":"Switch","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Tipo","network.topo.device.name.column":"Nombre","network.topo.device.visu.header":"Lista de dispositivos","network.topo.device.visu.subtitle":"Proporciona la lista de dispositivos gestionados por coordinador. Tambi\xe9n obtendr\xe1 una referencia a los nombres de los widgets y otra informaci\xf3n de Domoticz","network.topo.device.visu.chart.title":"Diagrama de malla","network.topology.req.header":"Escaneo de topolog\xeda","network.topology.req.subtitle":"Esto activar\xe1 un escaneo de topolog\xeda, que se ejecutar\xe1 en segundo plano.","network.topology.req.button":"Escanear","network.topo.visu.network.relation.header":"Lista de objetos vinculados de {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"La matriz muestra el valor LQI entre el objeto seleccionado y todos sus objetos vinculados.","network.topo.visu.network.relation.to":"Hijos","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"El objeto seleccionado no tiene hijos.","network.topo.visu.network.relation.model":"Modelo","network.topo.visu.network.relation.status":"Estado","network.topo.visu.network.relation.health":"Salud","network.topo.visu.network.relation.battery":"Bater\xeda","network.energy":"Nivel de interferencia","network.stats.header":"Red","network.stats.subtitle":"Informes de nivel de interferencia ","network.stats.visu.delete.button":"Eliminar","network.inter.req.header":"Escaneo de interferencia corto","network.inter.req.subtitle":"Se proporcionar\xe1 un informe de escaneo de interferencias. Informar\xe1 el nivel de interferencia entre los routers y coordinador. Cuanto mayor sea el valor, peor ser\xe1.","network.inter.req.button":"Escanear","network.full.req.header":"Escaneo completo de interferencias","network.full.req.subtitle":"Como por el escaneo de interferencia corto, el informe proporcionar\xe1 el nivel de interferencia entre todos los routers y coordinador, manejando todas las comunicaciones cruzadas. Este informe puede tardar un poco cuando la cantidad de routers es alta, n ((n-1) / 2), para 5 routers son 10 combinaciones, para 10 routers 45","network.full.req.button":"Escanear completo","network.stats.detail.visu.header":"Nivel de interferencia","network.stats.detail.visu.subtitle":"Cuanto mayor sea el n\xfamero, m\xe1s interferencia hay (de 0 a 255).","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Fall. : ","network.stats.detail.visu.chart.title":"Nivel de interferencia","network.stats.detail.visu.chart.y-axis":"Nivel de interferencia","network.stats.detail.visu.chart.x-axis":"Canal","admin":"Admin","admin.pairing":"Aprovisionamiento","admin.permittojoin.label":"Aceptar dispositivo nuevo","admin.permittojoin.on.notify":"Aceptar dispositivo nuevo On","admin.permittojoin.off.notify":"Aceptar dispositivo nuevo Off","admin.assistprovisionning.title":"Emparejar un nuevo dispositivo con el asistente","admin.assistprovisionning.subtitle":"Pondr\xe1 coordinador en modo de emparejamiento si es necesario, y luego se comunicar\xe1n los resultados de aprovisionamiento. Presiona GO y comienza a poner tu dispositivo en modo de emparejamiento ","admin.assistprovisionning.go.button":"Par","admin.assistprovisionning.alert.title":"Asistente - Esperando la inclusi\xf3n de dispositivo","admin.assistprovisionning.alert.subject":"Realice un restablecimiento en su dispositivo para iniciar un procedimiento de emparejamiento. Consulte la documentaci\xf3n del dispositivo si es necesario.","admin.assistprovisionning.alert.state":"Estado: ","admin.assistprovisionning.alert.description":"Descripci\xf3n: ","admin.assistprovisionning.alert.nwkid":"Corto NwkId: ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Lista de widgets: ","admin.assistprovisionning.alert.cancel":"Salida","admin.assistprovisionning.alert.ep":"EndPoint: ","admin.assistprovisionning.alert.cluster":"ClusterId : ","admin.assistprovisionning.alert.profile":"Profile : ","admin.assistprovisionning.alert.device":"Dispositivo : ","admin.assistprovisionning.alert.model":"Modelo : ","admin.assistprovisionning.alert.plugincertified":"Certificaci\xf3n de plugin: ","admin.assistprovisionning.alert.Failed":"Fall\xf3 (algo sali\xf3 mal, consulte el LOG para obtener m\xe1s detalles)","admin.assistprovisionning.alert.inDB":"Exito (verifique si se han creado los widgets en Domoticz)","admin.assistprovisionning.alert.Unexpected":"Inesperado (p\xf3ngase en contacto con el SAT)","admin.permittojoin.title":"Aceptar dispositivo nuevo","admin.permittojoin.subtitle":"Habilitar/deshabilitar el proceso de emparejamiento con el coordinador por un per\xedodo de tiempo ","admin.permittojoin.validate.button":"Validar","admin.permittojoin.permanent.button":"Permanente","admin.permittojoin.permanent.notify":"Emparejamiento permanente activado","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Emparejamiento desactivado","admin.permittojoin.4min.button":"4 minutos","admin.permittojoin.4min.notify":"Emparejamiento activado para 4 minutos","admin.permittojoin.notify":"Modo de emparejamiento modificado","admin.permittojoinrouter.title":"Aceptar el nuevo dispositivo en el router","admin.permittojoinrouter.subtitle":"Activar/desactivar el proceso de emparejamiento con el coordinador por un per\xedodo de tiempo ","admin.permittojoinrouter.devices.placeholder":"Lista de los enrutadores","admin.fullreset.title":"Preparando el dispositivo para un reinicio completo","admin.fullreset.subtitle":"Si desea realizar un restablecimiento completo de un dispositivo aprovisionado existente en Domoticz, se recomienda indicar el complemento de dicho evento. Luego, el plugin se asegurar\xe1 de rehacer un descubrimiento completo del dispositivo y configurar\xe1 lo que se haya configurado durante el primer emparejamiento.","admin.fullreset.device.placeholder":"Seleccione un dispositivo","admin.fullreset.button":"Modo de reinicio","admin.fullreset.notify":"Modo de reinicio activado","admin.recreate.title":"Recrear widget","admin.recreate.subtitle":"Recrear widget","admin.recreate.device.placeholder":"Seleccione un dispositivo","admin.recreate.button":"Recrear widget","admin.recreate.notify":"Recrear widget iniciado","admin.group":"Groupo","admin.rescan.group.title":"Escanee todos los dispositivos para membros de grupos","admin.rescan.group.subtitle":"Escanee todos los dispositivos para membros de grupos
y el resultado estar\xe1 disponible en la gesti\xf3n del grupo","admin.rescan.group.button":"Escaneo completo","admin.scan.group.device.title":"Inicie un escaneo para cada dispositivo seleccionado para sus membros de grupos","admin.scan.group.device.subtitle":"Inicie un escaneo para cada dispositivo seleccionado para sus membros de grupos
Puede seleccionar de uno a varios y el resultado estar\xe1 disponible en la gesti\xf3n de grupos.","admin.scan.group.device.button":"Escanear","admin.scan.group.device.placeholder":"Seleccione el o los dispositivos a escanear","admin.coordinator":"Coordinador","admin.coordinator.swreset.title":"Reinicio del software de coordinador","admin.coordinator.swreset.subtitle":"Reiniciar\xe1 el coordinador (sin p\xe9rdida de dispositivos emparejados) ","admin.coordinator.swreset.button":"Reinicio del software","admin.coordinator.swreset.notify":"Reinicio del coordinador iniciado","admin.coordinator.switchchannel.title":"Cambiar el canal de comunicaci\xf3n del coordinador","admin.coordinator.switchchannel.subtitle":"Este permite cambiar el coordinador y su red a un canal de comunicaci\xf3n particular.
La solicitud se enviar\xe1 a todos los dispositivos: los enrutadores cambian normalmente sin problemas, pero los dispositivos con bater\xeda o que no son Zigbee 3.0 probablemente requerir\xe1n un reinicio para unirse al nuevo canal.","admin.coordinator.switchchannel.placeholder":"Canal del coordinador (0 predeterminado)","admin.coordinator.switchchannel.button":"Cambia el canal","admin.coordinator.switchchannel.notify":"Comenz\xf3 el cambio de canal","admin.erasepdm.title":"Borrar la ZiGate","admin.erasepdm.subtitle":"Borrar\xe1 la memoria de datos permanente de la ZiGate (Perder\xe1s todos los dispositivos emparejados) Debe habilitar el par\xe1metro eraseZigatePDM en Configuraci\xf3n avanzada antes","admin.erasepdm.button":"Borrar","admin.erasepdm.notify":"ErasePdm ZiGate started","admin.erasepdm.alert.title":"Borrar la ZiGate, estas seguro ?","admin.erasepdm.alert.subject":"ATENCI\xd3N, \xfaltima oportunidad !!!!!","admin.erasepdm.alert.cancel":"Anular","admin.erasepdm.alert.erase":"Borrar","admin.plugin":"Plugin","admin.plugin.reload.title":"Reiniciar el plugin","admin.plugin.reload.subtitle":"Reiniciar\xe1 el plugin ","admin.plugin.reload.button":"Reiniciar","admin.plugin.reload.notify":"Plugin reiniciando ","admin.plugin.reload.port":"Puerto","admin.plugin.reload.username":"Nombre de usuario","admin.plugin.reload.password":"Contrase\xf1a","admin.plugin.reload.host":"Nombre del host","admin.plugin.reload.protocol":"Protocolo","admin.plugin.reload.alert.title":"Reiniciar el plugin, est\xe1s seguro ?","admin.plugin.reload.alert.subject":"ATENCI\xd3N, \xfaltima oportunidad !!!!!","admin.plugin.reload.alert.cancel":"Anular","admin.plugin.reload.alert.erase":"Reiniciar","admin.plugin.update.title":"Actualizaci\xf3n del Plugin","admin.plugin.update.subtitle":"Iniciar la actualizaci\xf3n del Plugin.
Si la actualizaci\xf3n se realiza sin problemas, ser\xe1 necesario reiniciar el Plugin para que se tenga en cuenta; de lo contrario, la actualizaci\xf3n deber\xe1 realizarse manualmente.","admin.plugin.update.button":"Actualizar el Plugin (varios minutos)","admin.plugin.update.success":"Reiniciar el Plugin para tener en cuenta la actualizaci\xf3n.","admin.plugin.update.error":"Hubo errores durante la actualizaci\xf3n, mire a los registros y tome acciones correctivas","admin.firmware":"Firmware","admin.firmware.title":"Firmware de dispositivo","admin.firmware.subtitle":"subt\xedtulo del firmware ","admin.firmware.button.update":"bot\xf3n de actualizaci\xf3n","admin.firmware.notify":"Lanzamiento de la actualizaci\xf3n","admin.firmware.list":"lista de firmware","admin.firmware.manufacturer.list":"lista de fabricantes","admin.firmware.devices.list":"lista de dispositivos","admin.firmware.force":"forzar actualizaci\xf3n","admin.firmware.alert.title":"alerta de t\xedtulo","admin.firmware.alert.subject":"alerta de sujeto","admin.firmware.alert.ok":"actualizar","admin.firmware.alert.cancel":"cancelar","admin.firmware.alert.list.devices":"lista de dispositivos","admin.firmware.alert.filename":"nombre del archivo","admin.firmware.alert.device":"Dispositivo ","admin.firmware.alert.brand":"Marca","settings":"Configuraciones","setting.header":"Configuraciones","setting.subtitle":"Le permite visualizar y editar las distintas configuraciones del plugin
Algunos requieren reiniciar el plugin.","setting.validate.button":"Validar","setting.reinit.button":"Configuraci\xf3n (predeterminada)","setting.advanced.button":"Ajustes avanzados","setting.normal.button":"Ajustes normales","setting.help.link":" Puede encontrar m\xe1s informaci\xf3n sobre la configuraci\xf3n en el Wiki","setting.help.legend":"Todas estas son configuraciones del plugin que se pueden actualizar.","setting.header.Services":"Servicios disponibles","setting.subtitle.Services":"Activa los servicios que quieres estar activo","useDomoticzLog":"Usar registro (LOG) de Domoticz","enablegroupmanagement":"Activar Groupos","zigatePartOfGroup0000":"Crear grupo 0000","allowRemoveZigateDevice":"Eliminaci\xf3n en la coordinador","resetPermit2Join":"Restablecer el permiso para unirse al inicio","forcePollingAfterAction":"Obtener el estado del dispositivo despu\xe9s de la acci\xf3n","enableReadAttributes":"Activar el sondeo","blueLedOnOff":"Activar la Led azul de la coordinador","setting.reloadplugin.alert.title":"Recarga del plugin","setting.reloadplugin.alert.subject":"La configuraci\xf3n se ha actualizado, el plugin debe ser reiniciado","setting.reloadplugin.alert.cancel":"Cerrar","setting.resetplugin.alert.title":"Restablecimiento del coordinador","setting.resetplugin.alert.subject":"La configuraci\xf3n se ha actualizado, el coordinador debe restablecerse (lo m\xe1s probable es que todos los dispositivos deban volver a emparejarse).","setting.resetplugin.alert.cancel":"Cerrar","setting.eraseplugin.alert.title":"Erase PDM","setting.eraseplugin.alert.subject":"Se han actualizado los ajustes, es necesario borrar el PDM (se deber\xe1 volver a emparejar todos los dispositivos)","setting.eraseplugin.alert.cancel":"Cerrar","Ping":"Habilitar ping","setting.header.DomoticzEnvironment":"URL de Domoticz","setting.subtitle.DomoticzEnvironment":"Configuraci\xf3n de c\xf3mo acceder a la API de Domoticz","setting.header.WebInterface":"Configuraci\xf3n de la interfaz web","setting.subtitle.WebInterface":"Permite activar/desactivar la interfaz de usuario web","enableWebServer":"Activar la interfaz de usuario web","setting.header.DeviceManagement":"Configuraci\xf3n de gesti\xf3n de dispositivos","setting.subtitle.DeviceManagement":"Aqu\xed est\xe1n todas las configuraciones relacionadas con los dispositivos y c\xf3mo el coordinador interact\xfaa con ellos","setting.header.CoordinatorConfiguration":"Configuraci\xf3n de la coordinador","setting.subtitle.CoordinatorConfiguration":"Aqu\xed est\xe1n todas las configuraciones relacionadas con el hardware coordinador.","setting.header.OverTheAirUpgrade":"Configuraci\xf3n de actualizaci\xf3n por aire (OTA)","setting.subtitle.OverTheAirUpgrade":"Estas son todas las configuraciones relacionadas con la funcionalidad de actualizaci\xf3n por aire (OTA/Over The Air).","allowOTA":"Permitir OTA","setting.header.Legrand":"Configuraci\xf3n de Legrand Netatmo","setting.subtitle.Legrand":"Permitir establecer una serie de opciones espec\xedficas de Legrand","setting.header.Schneider_Wiser":"Configuraci\xf3n de Schneider Wiser","setting.subtitle.Schneider_Wiser":"Permitir activar algunos mecanismos espec\xedficos y algunas otras opciones","internetAccess":"Permitir el acceso a Internet","batteryOTA":"Permitir OTA para dispositivos alimentados por bater\xeda","waitingOTA":"retraso al iniciar el proceso OTA","setting.header.GroupManagement":"Configuraci\xf3n de gesti\xf3n de grupos","setting.subtitle.GroupManagement":"Aqu\xed est\xe1n todos los ajustes para activar y configurar la funci\xf3n de gesti\xf3n de Grupo.","OnIfOneOn":"El grupo est\xe1 encendido si un dispositivo est\xe1 encendido (de lo contrario, necesita todos los dispositivos encendidos)","setting.header.PluginConfiguration":"Configuraci\xf3n del entorno del plugin","setting.subtitle.PluginConfiguration":"Aqu\xed est\xe1n todas las configuraciones de entornos del plugin","numDeviceListVersion":"Cantidad de historial de la lista de dispositivos","setting.header.Others":"Otras configuraciones","setting.header.Provisioning":"Ajustes de emparejamiento","setting.subtitle.Provisioning":"Configuraciones especiales para dispositivos especiales o condiciones especiales","setting.header.DevicePolling":"Sondeo de dispositivos","setting.subtitle.DevicePolling":"Le permite especificar la frecuencia de sondeo por tipo de informaci\xf3n. Tenga en cuenta que una alta frecuencia sobrecargar\xe1 el coordinador y podr\xeda causar algunos problemas de rendimiento.","setting.subtitle.Others":"","logLQI":"Retraso antes de iniciar un escaneo de topolog\xeda (seg)","networkScan":"Frecuencia del informe de interferencias (seg)","setting.header.CommandTransition":"Transiciones de comando para group luces","setting.subtitle.CommandTransition":"Puede especificar el tiempo de transici\xf3n en d\xe9cimas de segundos con el que la transici\xf3n de la etapa actual a la objetivo. Por ejemplo, cu\xe1ntas d\xe9cimas de segundo se necesitar\xe1n para pasar del color actual al color que solicit\xe9 a trav\xe9s de Domoticz. La temperatura de color se utiliza para el color blanco","moveToHueSatu":"Transici\xf3n para Hue","moveToColourTemp":"Transici\xf3n para temperatura de color","moveToColourRGB":"Transici\xf3n para color RGB","moveToLevel":"Transici\xf3n para pasar de nivel","setting.header.Experimental":"Par\xe1metros experimentales","setting.subtitle.Experimental":"\xdaselo solo si se le ha pedido","api.global.error.notify":"Backend error","api.global.succes.scanlaunched.notify":"An\xe1lisis iniciado","api.global.succes.commandsent.notify":"Actualizaci\xf3n exitosa","api.global.succes.saved.notify":"Salvado","setting.header.OTA":"Actualizaci\xf3n del firmware del dispositivo v\xeda OTA","setting.subtitle.OTA":"Comportamiento del plugin con actualizaciones OTA","IkeaTradfri_Repository":"Repositorio de firmware oficial de IKEA-TRADFRI","ZigbeeOTA_Repository":"Repositorio de firmware ZigBee OTA (mantenido por la comunidad)","autoServeOTA":"Actualizaci\xf3n autom\xe1tica cuando se encuentra un nuevo firmware","checkFirmwareAgainstZigbeeOTARepository":"Compruebe si hay un firmware disponible en uno de los repositorios","DomoticzCustomMenu":"Habilitar el WebUI del plugin desde el men\xfa personalizado de Domoticz","NightShift":"Mueva las acciones en segundo plano de las 11 a las 6.","ConfigureReportingChunk":"Cantidad maxima de atributos durante Configure Reporting","ReadAttributeChunk":"Cantidad maxima de atributos durante Read Attributes","resetConfigureReporting":"Reinicio de todo los Configure Reporting","resetReadAttributes":"Reinicio de todo los read attributes","TopologyV2":"An\xe1lisis de malla basado en tablas de enrutamiento y vecindad","autoBackup":"Guardado autom\xe1tico del coordinador","BackupFullDevices":"Guardar informaci\xf3n del objeto","BellowsNoMoreEndDeviceChildren":"Desactivar emparejamiento directo en el coordinador","BellowsSourceRouting":"Habilitar el mecanismo de enrutamiento de origen","pingDevices":"Haga un ping a dispositivos alimentados por la red para comprobar su estado","GroupOnBattery":"Habilitar la creaci\xf3n de grupos para disositivos con bater\xeda","deviceOffWhenTimeOut":"Cambiar un dispositivo a Apagado despu\xe9s de un timeout de la red","checkConfigurationReporting":"Verifique la configuraci\xf3n del informe de un dispositivo regularmente","TXpower_set":"Nivel de potencia de transmisi\xf3n del coordinador","pingDevicesFeq":"Periodo de ping a objetos alimentados por la red","GrpfadingOff":"Modo de Fadding","GrpmoveToColourRGB":"Tiempo de transici\xf3n para cambiar el valor de un color","GrpmoveToColourTemp":"Tiempo de transici\xf3n para cambiar la temperatura de un color","GrpmoveToLevel":"Tiempo de transici\xf3n para pasar de un nivel de potencia a otro","enableSchneiderWiser":"Habilitar si tiene elementos Legacy Wiser","LegrandCompatibilityMode":"Habilitar para simular un concentrador Legrand Netamo","AqaraOppleBulbMode":"Habilite el control remoto Aqara Opple para controlar objetos directamente","forceClosingAllNodes":"Habilite para cerrar el modo de emparejamiento en cada enrutador","extendedPANID":"Zigbee Extended PAN Identifier","allowReBindingClusters":"Habilitar el reenlace del cl\xfaster durante las operaciones de creaci\xf3n de configure reporting","doUnbindBind":"Desvincular y luego vincular, cuando se realiza una operaci\xf3n de vinculaci\xf3n","PluginAnalytics":"Autorizar el plugin para colocar una cookie a fin de recopilar informaci\xf3n sobre la coordinaci\xf3n y los modelos de objetos utilizados.","autoRestore":"Aplique autom\xe1ticamente la copia de seguridad del coordinador m\xe1s reciente cuando se encuentre un nuevo coordinador en blanco","forceSwitchSelectorPushButton":"Workaround Domoticz issue #4143","resetSwitchSelectorPushButton":"Cantidad de segundos despu\xe9s de que el selector se restablece a apagado","setting.header.ManufSpecifiqDevicePolling":"Sondeo espec\xedfico","setting.subtitle.ManufSpecifiqDevicePolling":"0 significa deshabilitar; de lo contrario, indica la frecuencia de sondeo en segundos. Para el fabricante espec\xedfico, permitir\xe1 recuperar estados del dispositivo que no proporciona autom\xe1ticamente el dispositivo.","setting.header.Zigpy":"Configuraci\xf3n espec\xedfica para CIE zigpy","setting.subtitle.Zigpy":"Para algunos CIE (como las ConBeeII y RasbeeII), es necesario activar elementos espec\xedficos para algunas marcas","resetMotiondelay":"Retraso en segundos para restablecer la detecci\xf3n de movimiento","Certification":"Certificaci\xf3n ( FCC or CE )","channel":"Canal del coordinador (predeterminado 0)","alarmDuration":"Duraci\xf3n en segundos para dispositivo de alarma","vibrationAqarasensitivity":"Sensibilidad a la vibraci\xf3n de Aqara","TradfriKelvinStep":"Paso Kelvin para control remoto Tradfri","numTopologyReports":"Cantidad de informes de topolog\xeda guardados","numEnergyReports":"Cantidad de informes de interferencias guardados","PowerOn_OnOff":"Estado de retorno despu\xe9s de un corte de energ\xeda del dispositivo","logDeviceUpdate":"Habilitar el mensaje UpdateDevice en el LOG","capturePairingInfos":"Capture informaci\xf3n de emparejamiento y gu\xe1rdela en la carpeta de informes","error_required":"Necesario","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Utiles","tools.tools":"Utiles","tools.tools.export":"Exportar","tools.tools.zdevice-raw.button":"Dispositivos primas del plugin","tools.tools.non-optimized.button":"Dispositivos no optimizados","tools.tools.zgroup.button":"Grupos del plugin(json)","tools.tools.zdevice.button":"Dispositivos del plugin","tools.tools.device.button":"Widgets de Domoticz","tools.tools.log.button":"Infos del plugin","tools.tools.infos.plugin.button":"Infos del plugin","tools.tools.coordinator.infos.button":"Infos de coordinador","tools.tools.plugin-health.button":"Salud del plugin","tools.tools.zdevice-name.button":"zDevice-name","tools.tools.domoticz-env.button":"domoticz-env","tools.tools.battery-state.button":"Estado de las bater\xedas","tools.tools.zgroup-list-available-device.button":"zGroup-lst-devices","tools.tools.settings.button":"Configuraciones","tools.tools.plugin-stat.button":"Tr\xe1fico","tools.command":"Comando","tools.debugcommand.title":"Comandos directos","tools.debugcommand.subtitle":"Permitir interactuar directamente con un dispositivo, con un conjunto de comandos basados en las capacidades del dispositivo
(1) Seleccione el dispositivo,
(2) Seleccione la acci\xf3n que desea realizar,
(3) Seleccione un tipo de dispositivo potencial que pueda influir en la forma de interactuar con el dispositivo,
(4) Opcionalmente, es posible que deba entrar un valor o seleccionar un color.","tools.debugcommand.device":"Seleccione el dispositivo","tools.debugcommand.button.cancel":"Anular","tools.debugcommand.action":"Seleccione la acci\xf3n","tools.debugcommand.type":"Seleccione tipo","tools.debugcommand.value":"Valor","tools.debugcommand.level.error":"entre 0 y 100","tools.debugcommand.effect.error":"entre 0x00 y 0xff","tools.debugcommand.button.send":"Enviar","tools.rawcommand-zigate.title":"Comandos de ZiGate(en bruto)","tools.rawcommand-zigate.subtitle":"Permitir enviar un comando el coordinador directamente a la zigate en modo bruto.
Debe seguir el protocolo ZiGate .","tools.rawcommand-zigate.command":"Tipo de mensaje","tools.rawcommand-zigate.error":"Entrada requerida","tools.rawcommand-zigate.payload":"Datos","tools.rawcommand-zigate.button.send":"Enviar","tools.rawcommand-zigpy.title":"ZigBee comando","tools.rawcommand-zigpy.subtitle":"Permitir enviar un comando el coordinador directamente a la zigate en modo bruto.","tools.rawcommand-zigpy.placeholder":"Seleccione un dispositivo","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Datos","tools.rawcommand-zigpy.button.send":"Enviar","tools.reporting.configure":"Informes","tools.reporting.configure.title":"Configuraci\xf3n de informes","tools.reporting.configure.subtitle":"Configura un objeto para que env\xede autom\xe1ticamente los valores de uno (o m\xe1s) de sus atributos o que reciba informaci\xf3n.
Los campos Intervalo m\xednimo e Intervalo m\xe1ximo indican el rango de tiempo en segundos durante el cual el object enviar\xe1 el valor del atributo correspondiente. Los intervalos deben ser inferiores a 65534s (codificaci\xf3n de 16 bits).
El campo Delta indica la variaci\xf3n de valor que har\xe1 que se env\xeden los datos. Sin limitaci\xf3n en la longitud del campo. El signo ser\xe1 ignorado.
Para los atributos con un tipo de datos anal\xf3gico (ver 2.6.2), el campo tiene el mismo tipo de datos que el atributo.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Validar","tools.reporting.configure.device":"Seleccione un dispositivo","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribute id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"intervalo m\xednimo (segundos)","tools.reporting.configure.maxInterval.column":"intervalo m\xe1ximo (segundos)","tools.reporting.configure.change.column":"Diferencia","tools.reporting.configure.hexa.error":"Valor hexadecimal esperado","tools.reporting.configure.length.error":"Valor demasiado largo","tools.binding":"Uni\xf3n","tools.binding.title":"Uni\xf3n de dispositivo","tools.binding.subtitle":"Permitir la uni\xf3n en un cluster entre los dispositivos de origen y de destino
p.ej. Si desea vincular un sensor de temperatura con un actuador, La SourceIEEE/Ep ser\xe1 el sensor de temperatura, el DestIEEE/Ep ser\xe1 el actuador y el Cluster ser\xe1 0402 (Medida de temperatura)","tools.binding.sourceIeee":"IEEE de origen","tools.binding.error":"Entrada requerida","tools.binding.sourceEp":"Seleccionar dispositivo de origen","tools.binding.destIeee":"IEEE de destino","tools.binding.destEp":"Seleccionar dispositivo de destino","tools.binding.cluster":"Cluster","tools.binding.button.put":"Vincular","tools.unbinding.button.put":"Desvincular","tools.debug":"Debug","setting.header.VerboseLogging":"Detallado y registro","setting.subtitle.VerboseLogging":"Le permitir\xe1 activar/desactivar algunas funciones de registro (LOG) ","tools.debugsetting.help.legend":"Todas estas son configuraciones del plugin que se pueden actualizar.","tools.debugsetting.advanced.button":"Par\xe1metros avanzados","tools.debugsetting.normal.button":"Par\xe1metros est\xe1ndar","tools.debugsetting.validate.button":"Validar","tools.debugsetting.reinit.button":"Par\xe1metros (predeterminado)","tools.debugsetting.reloadplugin.alert.title":"Reinicio del plugin","tools.debugsetting.reloadplugin.alert.subject":"La configuraci\xf3n se ha actualizado, el plugin debe ser reiniciado","tools.debugsetting.reloadplugin.alert.cancel":"Cerrar","tools.error":"Error(es)","tools.error.log-history.button":"Historial de errores (json)","tools.error.log-history.clear":"Borrar historial de errores","error.popover.title":"Error(es) detectado(s)","error.popover.text":"Clic para ver el LOG","manufacturer":"Fabricantes","manufacturer.casaia":"Casa.ia","manufacturer.casaia.header":"t\xedtulo","manufacturer.casaia.subtitle":"subtitulo","manufacturer.casaia.placeholder":"marcador de posici\xf3n","manufacturer.casaia.nwkid":"nwkid","manufacturer.casaia.name":"nombre","manufacturer.casaia.ieee":"ieee","manufacturer.casaia.model":"modelo","manufacturer.casaia.ircode":"ircode","manufacturer.casaia.validate.button":"validar","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"Select Zlinky device","manufacturer.zlinky.key":"Designation","manufacturer.zlinky.value":"Value","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Serial Number","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"Periode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP(30min)","manufacturer.zlinky.ADPS":"Avertissement de D\xe9passement De Puissance Souscrite","manufacturer.zlinky.ADIR1":"Avertissement de D\xe9passement D\'intensit\xe9 phase 1","manufacturer.zlinky.ADIR2":"Avertissement de D\xe9passement D\'intensit\xe9 phase 2","manufacturer.zlinky.ADIR3":"Avertissement de D\xe9passement D\'intensit\xe9 phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 21","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance app. de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance app. de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance app. Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance app max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance app max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moy. ph. 1","manufacturer.zlinky.UMOY2":"Tension moy. ph. 2","manufacturer.zlinky.UMOY3":"Tension moy. ph. 3","manufacturer.zlinky.SINSTS":"Puissance app. Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance app. Instantan\xe9e soutir\xe9e ph.1","manufacturer.zlinky.SINSTS2":"Puissance app. Instantan\xe9e soutir\xe9e ph. 2","manufacturer.zlinky.SINSTS3":"Puissance app. Instantan\xe9e soutir\xe9e ph. 3","manufacturer.zlinky.SMAXN":"Puissance app. max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance app. max. soutir\xe9e n ph.1","manufacturer.zlinky.SMAXN2":"Puissance app. max. soutir\xe9e n ph. 2","manufacturer.zlinky.SMAXN3":"Puissance app. max. soutir\xe9e n ph. 3","manufacturer.zlinky.SMAXN-1":"Puissance app. max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance app. max. soutir\xe9e n-1 ph.1","manufacturer.zlinky.SMAXN2-1":"Puissance app. max. soutir\xe9e n-1 ph. 2","manufacturer.zlinky.SMAXN3-1":"Puissance app. max. soutir\xe9e n-1 ph. 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"RELAIS","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Enable the use of zigpy Topology Scanner","ZigpyTopologyReportAutoBackup":"Automaticaly backup auto-triggered Topology scan"}'),G=new pe("I18nService"),O="language";function f(d){return d}let a=(()=>{class d{translateService;defaultLanguage;supportedLanguages;langChangeSubscription;constructor(k){this.translateService=k,k.setTranslation("en-US",I),k.setTranslation("fr-FR",_),k.setTranslation("nl-NL",m),k.setTranslation("es-ES",w)}init(k,p){this.defaultLanguage=k,this.supportedLanguages=p,this.language="",this.langChangeSubscription=this.translateService.onLangChange.subscribe(T=>{localStorage.setItem(O,T.lang)})}destroy(){this.langChangeSubscription.unsubscribe()}set language(k){k=k||localStorage.getItem(O)||this.translateService.getBrowserCultureLang()||"";let p=this.supportedLanguages.some(T=>T.code===k);k&&!p&&(k=k.split("-")[0],p=!!(k=this.supportedLanguages.find(B=>B.code.startsWith(k))?.code||"")),p||(k=this.defaultLanguage),G.debug(`Language set to ${k}`),this.translateService.use(k)}get language(){return this.translateService.currentLang}static \u0275fac=function(p){return new(p||d)(ne.KVO(Le.c$))};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})(),g=(()=>{class d extends V.b{shouldDetach(k){return!1}store(k,p){}shouldAttach(k){return!1}retrieve(k){return null}shouldReuseRoute(k,p){return k.routeConfig===p.routeConfig||k.data.reuse}static \u0275fac=(()=>{let k;return function(T){return(k||(k=ne.xGo(d)))(T||d)}})();static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})(),v=(()=>{class d{constructor(k){if(k)throw new Error(`${k} has already been loaded. Import Core module in the AppModule only.`)}static \u0275fac=function(p){return new(p||d)(ne.KVO(d,12))};static \u0275mod=ne.$C({type:d});static \u0275inj=ne.G2t({providers:[a,te,re,F,X,{provide:e.Qq,useClass:A},{provide:V.b,useClass:g}],imports:[M.MD,e.q1,Le.h,V.iI]})}return d})();var o=We(21413),n=We(56977);const r=Symbol("untilDestroyed");function l(d,C="ngOnDestroy"){return k=>{const p=d[C],T="function"==typeof p;if(!T)throw new Error(`${d.constructor.name} is using untilDestroyed but doesn't implement ${C}`);return d[r]||(d[r]=new o.B,d[C]=function(){T&&p.apply(this,arguments),d[r].next(),d[r].complete()}),k.pipe((0,n.Q)(d[r]))}}},3366:(ri,Bt,We)=>{"use strict";We.d(Bt,{G:()=>J});var M=We(21626),e=We(38117),V=We(34402),Le=We(18810),q=We(96354),ne=We(99437),re=We(54438),ve=We(45794),le=We(19664);const pe={devices:"/device",zDevices:"/zdevice",zdeviceRaw:"/zdevice-raw",zGroups:"/zgroup",settings:"/setting",settingsDebug:"/setting-debug",plugin:"/plugin",pluginStat:"/plugin-stat",nwkStat:"/nwk-stat",topologie:"/topologie",permitToJoin:"/permit-to-join",zdeviceName:"/zdevice-name",zgroupDevicesAvalaible:"/zgroup-list-available-device",reqTopology:"/req-topologie",reqInter:"/req-nwk-inter",swReset:"/sw-reset-coordinator",erasePDM:"/coordinator-erase-PDM",coordinator:"/coordinator",restartNeeded:"/restart-needed",domoticzEnv:"/domoticz-env",pluginHealth:"/plugin-health",rescanGroup:"/rescan-groups",reqNwkfull:"/req-nwk-full",pluginRestart:"/plugin-restart",devCommand:"/dev-command",devCap:"/dev-cap",newHardware:"/new-hrdwr/",receiveNewHardware:"/rcv-nw-hrdwr",binding:"/binding",unbinding:"/unbinding",rawCommand:"/raw-command",rawCommandZigpy:"/raw-zigbee",bindLSTcluster:"/bind-lst-cluster",bindLSTdevice:"/bind-lst-device",scanDeviceForGrp:"/scan-device-for-grp",logErrorHistory:"/log-error-history",clearErrorHistory:"/clear-error-history",otaFirmwareList:"/ota-firmware-list",otaFirmwareDeviceList:"/ota-firmware-device-list/",otaFirmwareUpdate:"/ota-firmware-update",casiaListDevices:"/casaia-list-devices",casiaIrcode:"/casaia-update-ircode",changeChannel:"/change-channel",pairingFullReset:"/full-reprovisionning",recreateWidgets:"/recreate-widgets",batteryState:"/battery-state",pluginUpgrade:"/plugin-upgrade",configureReporting:"/cfgrpt-ondemand-config",demandConfigureReporting:"/cfgrpt-ondemand",zlinky:"/zlinky",pluginLog:"/plugin-log",deviceNonOptimized:"/non-optmize-device-configuration"},ue=new e.Vy("ApiService");let J=(()=>{class te{httpClient;toastr;translate;constructor(E,j,F){this.httpClient=E,this.toastr=j,this.translate=F}downloadLog(E){return this.httpClient.disableApiPrefix().get(E,{observe:"response",responseType:"blob"}).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getPluginhealth(){return this.httpClient.get(pe.pluginHealth).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getDevices(){return this.httpClient.get(pe.devices).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getZDevices(E=!1){return this.httpClient.get(pe.zDevices).pipe((0,q.T)(j=>j.filter(F=>!(!E||"Coordinator"!==F.LogicalType)||"Coordinator"!==F.LogicalType||void 0)),(0,ne.W)(j=>this.handleError(j)))}getRawZDevices(E=!1){return this.httpClient.get(pe.zdeviceRaw).pipe((0,q.T)(j=>j.filter(F=>!E||!1===F.CertifiedDevice)),(0,ne.W)(j=>this.handleError(j)))}getRawZDevice(E){return this.httpClient.get(pe.zdeviceRaw+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getZGroups(){return this.httpClient.get(pe.zGroups).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getSettings(){return this.httpClient.get(pe.settings).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putSettings(E){return this.httpClient.put(pe.settings,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getSettingsDebug(){return this.httpClient.get(pe.settingsDebug).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putSettingsDebug(E){return this.httpClient.put(pe.settingsDebug,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getPlugin(){return this.httpClient.get(pe.plugin).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getPluginStats(){return this.httpClient.get(pe.pluginStat).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getLogErrorHistory(){return this.httpClient.get(pe.logErrorHistory).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}clearLogErrorHistory(){return this.httpClient.get(pe.clearErrorHistory).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getNwkStats(){return this.httpClient.get(pe.nwkStat).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getTopologie(){return this.httpClient.get(pe.topologie).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getReqTopologie(){return this.httpClient.get(pe.reqTopology).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getReqInter(){return this.httpClient.get(pe.reqInter).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getNwkFull(){return this.httpClient.get(pe.reqNwkfull).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getTopologieByTimeStamp(E){return this.httpClient.get(pe.topologie+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getNwkStatsByTimeStamp(E){return this.httpClient.get(pe.nwkStat+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}deleteTopologieByTimeStamp(E){return this.httpClient.delete(pe.topologie+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}deleteNwkStatsByTimeStamp(E){return this.httpClient.delete(pe.nwkStat+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getPermitToJoin(){return this.httpClient.get(pe.permitToJoin).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putPermitToJoin(E){return this.httpClient.put(pe.permitToJoin,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getZDeviceName(){return this.httpClient.get(pe.zdeviceName).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putZDeviceName(E){return this.httpClient.put(pe.zdeviceName,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}deleteZDeviceName(E){return this.httpClient.delete(pe.zdeviceName+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getZGroupDevicesAvalaible(){return this.httpClient.get(pe.zgroupDevicesAvalaible).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putZGroups(E){return this.httpClient.put(pe.zGroups,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getCoordinator(){return this.httpClient.get(pe.coordinator).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getSwReset(){return this.httpClient.get(pe.swReset).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getRescanGroup(){return this.httpClient.get(pe.rescanGroup).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getErasePDM(){return this.httpClient.get(pe.erasePDM).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getReloadPlugin(){return this.httpClient.get(pe.pluginRestart).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getUpgradePlugin(){return this.httpClient.get(pe.pluginUpgrade).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getReloadPluginOld(E,j){const F=j.proto+"://"+j.WebUserName+":"+j.WebPassword+"@"+j.host+":"+j.port+"/json.htm?type=command¶m=updatehardware&htype=94&idx="+E.HardwareID+"&name="+E.Name+"&username="+j.WebUserName+"&password="+j.WebPassword+"&address="+E.Address+"&port="+E.Port+"&serialport="+E.SerialPort+"&Mode1="+E.Mode1+"&Mode2="+E.Mode2+"&Mode3="+E.Mode3+"&Mode4="+E.Mode4+"&Mode5="+E.Mode5+"&Mode6="+E.Mode6+"&extra="+E.Key+"&enabled=true&datatimeout=0",P={headers:new M.Lr({"Access-Control-Allow-Origin":"*","Content-Type":"text/plain"})};return this.httpClient.disableApiPrefix().get(F,P).pipe((0,q.T)(D=>D),(0,ne.W)(D=>this.handleError(D)))}getRestartNeeded(){return this.httpClient.get(pe.restartNeeded).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getDomoticzEnv(){return this.httpClient.get(pe.domoticzEnv).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getDevCap(E){return this.httpClient.get(pe.devCap+"/"+E).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}putDevCommand(E){return this.httpClient.put(pe.devCommand,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getNewHardware(E){return this.httpClient.get(pe.newHardware+(E?"enable":"disable")).pipe((0,q.T)(P=>P),(0,ne.W)(P=>this.handleError(P)))}getReceiveNewHardware(){return this.httpClient.get(pe.receiveNewHardware).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putBinding(E){return this.httpClient.put(pe.binding,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putCommandRaw(E){return this.httpClient.put(pe.rawCommand,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putCommandRawZigpy(E){return this.httpClient.put(pe.rawCommandZigpy,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getBindLSTcluster(){return this.httpClient.get(pe.bindLSTcluster).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getBindLSTdevice(E){return this.httpClient.get(pe.bindLSTdevice+"/"+E).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}putUnBinding(E){return this.httpClient.put(pe.unbinding,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putScanDeviceForGrp(E){return this.httpClient.put(pe.scanDeviceForGrp,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getOtaFirmware(){return this.httpClient.get(pe.otaFirmwareList).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getDeviceByOtaFirmware(E){return this.httpClient.get(pe.otaFirmwareDeviceList.concat(E)).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putOtaFirmware(E){return this.httpClient.put(pe.otaFirmwareUpdate,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getCasiaDevices(){return this.httpClient.get(pe.casiaListDevices).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putCasiaIrcode(E){return this.httpClient.put(pe.casiaIrcode,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putChangeChannel(E){return this.httpClient.put(pe.changeChannel,{Channel:E}).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}putPairingFullReset(E){return this.httpClient.put(pe.pairingFullReset,{NWKID:E}).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}putRecreateWidgets(E){return this.httpClient.put(pe.recreateWidgets,{NWKID:E}).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}getBatteryState(){return this.httpClient.get(pe.batteryState).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getTriggerConfigureReporting(E){return this.httpClient.get(pe.demandConfigureReporting+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getConfigureReporting(E){return this.httpClient.get(pe.configureReporting+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putConfigureReporting(E,j){const F=new V.ff;return F.Nwkid=E,F.Clusters=j,this.httpClient.put(pe.configureReporting,F).pipe((0,q.T)(P=>P),(0,ne.W)(P=>this.handleError(P)))}deleteConfigureReporting(E){return this.httpClient.delete(pe.configureReporting+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getZlinky(){return this.httpClient.get(pe.zlinky).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getLog(){return this.httpClient.get(pe.pluginLog).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getNonOptimizedDevice(E){return this.httpClient.get(pe.deviceNonOptimized+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}handleError(E){return ue.error(E),this.toastr.error(E.status+" "+E.statusText,this.translate.instant("api.global.error.notify")),(0,Le.$)(E)}static \u0275fac=function(j){return new(j||te)(re.KVO(M.Qq),re.KVO(ve.tw),re.KVO(le.c$))};static \u0275prov=re.jDH({token:te,factory:te.\u0275fac,providedIn:"root"})}return te})()},38852:(ri,Bt,We)=>{"use strict";We.d(Bt,{d:()=>V});var M=We(84412),e=We(54438);let V=(()=>{class Le{restart=new M.t(!1);showManufacturerCasaia=new M.t(!1);showManufacturerZlinky=new M.t(!1);logError=new M.t(!1);polling=new M.t(!1);constructor(){}setRestart(ne){this.restart.next(ne)}setShowManufacturerCasaia(ne){this.showManufacturerCasaia.next(ne)}setShowManufacturerZlinky(ne){this.showManufacturerZlinky.next(ne)}setError(ne){this.logError.next(ne)}setPolling(ne){this.polling.next(ne)}static \u0275fac=function(re){return new(re||Le)};static \u0275prov=e.jDH({token:Le,factory:Le.\u0275fac,providedIn:"root"})}return Le})()},28990:(ri,Bt,We)=>{"use strict";We.d(Bt,{U:()=>Le});var e=function(){function q(){this._subs=[]}return q.prototype.add=function(){for(var ne=[],re=0;re{class q{subs=new e;ngOnDestroy(){this.subs.unsubscribe()}static \u0275fac=function(ve){return new(ve||q)};static \u0275dir=V.FsC({type:q})}return q})()},34402:(ri,Bt,We)=>{"use strict";We.d(Bt,{E0:()=>q,ff:()=>Le});class Le{Nwkid;Clusters}class q{clusterId;attributeId;dataType;timeOut;minInterval;maxInterval;change}},93887:(ri,Bt,We)=>{"use strict";We.d(Bt,{G:()=>J});var M=We(60177),e=We(89417),V=We(88652),Le=We(97013),q=We(19664),ne=We(36554),re=We(46247),ve=We(81141),le=We(22242),pe=We(41570),ue=We(54438);let J=(()=>{class te{static \u0275fac=function(j){return new(j||te)};static \u0275mod=ue.$C({type:te});static \u0275inj=ue.G2t({providers:[M.vh],imports:[M.MD,Le.MQ,q.h,M.MD,e.X1,e.YN,V.UN,Le.MQ,q.h,re.bG,pe.P,le.u,ve.tm,ne.PO]})}return te})()},20546:(ri,Bt,We)=>{"use strict";We.d(Bt,{c:()=>e});const e={production:!0,version:"1.0.0",defaultLanguage:"en-US",supportedLanguages:[{code:"en-US",flag:"flag_uk.png"},{code:"fr-FR",flag:"flag_france.png"},{code:"nl-NL",flag:"flag_netherlands.png"},{code:"es-ES",flag:"flag_spain.png"}],api_url:"/rest-z4d/1",keysBoundActive:["alt.z","z>i>g"],refresh:7e3,linkToConsent:"https://github.com/zigbeefordomoticz/wiki",siteId:"3"}},96575:(ri,Bt,We)=>{"use strict";var M=We(345),e=We(54438),V=We(83801),Le=We(21626),q=We(49969);function re(c){return new e.wOt(3e3,!1)}function se(c){switch(c.length){case 0:return new q.sf;case 1:return c[0];default:return new q.ui(c)}}function S(c,y,i=new Map,b=new Map){const W=[],ce=[];let ke=-1,Ve=null;if(y.forEach(Ze=>{const tt=Ze.get("offset"),bt=tt==ke,Mt=bt&&Ve||new Map;Ze.forEach((Lt,Wt)=>{let Zt=Wt,hi=Lt;if("offset"!==Wt)switch(Zt=c.normalizePropertyName(Zt,W),hi){case q.FX:hi=i.get(Wt);break;case q.kp:hi=b.get(Wt);break;default:hi=c.normalizeStyleValue(Wt,Zt,hi,W)}Mt.set(Zt,hi)}),bt||ce.push(Mt),Ve=Mt,ke=tt}),W.length)throw function o(c){return new e.wOt(3502,!1)}();return ce}function $(c,y,i,b){switch(y){case"start":c.onStart(()=>b(i&&H(i,"start",c)));break;case"done":c.onDone(()=>b(i&&H(i,"done",c)));break;case"destroy":c.onDestroy(()=>b(i&&H(i,"destroy",c)))}}function H(c,y,i){const ce=x(c.element,c.triggerName,c.fromState,c.toState,y||c.phaseName,i.totalTime??c.totalTime,!!i.disabled),ke=c._data;return null!=ke&&(ce._data=ke),ce}function x(c,y,i,b,W="",ce=0,ke){return{element:c,triggerName:y,fromState:i,toState:b,phaseName:W,totalTime:ce,disabled:!!ke}}function N(c,y,i){let b=c.get(y);return b||c.set(y,b=i),b}function R(c){const y=c.indexOf(":");return[c.substring(1,y),c.slice(y+1)]}const Z=typeof document>"u"?null:document.documentElement;function Y(c){const y=c.parentNode||c.host||null;return y===Z?null:y}let ge=null,_e=!1;function Be(c,y){for(;y;){if(y===c)return!0;y=Y(y)}return!1}function oe(c,y,i){if(i)return Array.from(c.querySelectorAll(y));const b=c.querySelector(y);return b?[b]:[]}let be=(()=>{class c{validateStyleProperty(i){return function Te(c){ge||(ge=function De(){return typeof document<"u"?document.body:null}()||{},_e=!!ge.style&&"WebkitAppearance"in ge.style);let y=!0;return ge.style&&!function he(c){return"ebkit"==c.substring(1,6)}(c)&&(y=c in ge.style,!y&&_e&&(y="Webkit"+c.charAt(0).toUpperCase()+c.slice(1)in ge.style)),y}(i)}matchesElement(i,b){return!1}containsElement(i,b){return Be(i,b)}getParentElement(i){return Y(i)}query(i,b,W){return oe(i,b,W)}computeStyle(i,b,W){return W||""}animate(i,b,W,ce,ke,Ve=[],Ze){return new q.sf(W,ce)}static#e=this.\u0275fac=function(b){return new(b||c)};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac})}return c})();class xe{static#e=this.NOOP=new be}class Ie{}const Ee=1e3,Je="ng-enter",lt="ng-leave",qe="ng-trigger",st=".ng-trigger",Tt="ng-animating",pt=".ng-animating";function ht(c){if("number"==typeof c)return c;const y=c.match(/^(-?[\.\d]+)(m?s)/);return!y||y.length<2?0:Pt(parseFloat(y[1]),y[2])}function Pt(c,y){return"s"===y?c*Ee:c}function Gt(c,y,i){return c.hasOwnProperty("duration")?c:function ti(c,y,i){let W,ce=0,ke="";if("string"==typeof c){const Ve=c.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===Ve)return y.push(re()),{duration:0,delay:0,easing:""};W=Pt(parseFloat(Ve[1]),Ve[2]);const Ze=Ve[3];null!=Ze&&(ce=Pt(parseFloat(Ze),Ve[4]));const tt=Ve[5];tt&&(ke=tt)}else W=c;if(!i){let Ve=!1,Ze=y.length;W<0&&(y.push(function ve(){return new e.wOt(3100,!1)}()),Ve=!0),ce<0&&(y.push(function le(){return new e.wOt(3101,!1)}()),Ve=!0),Ve&&y.splice(Ze,0,re())}return{duration:W,delay:ce,easing:ke}}(c,y,i)}function xt(c,y,i){y.forEach((b,W)=>{const ce=gs(W);i&&!i.has(W)&&i.set(W,c.style[ce]),c.style[ce]=b})}function wt(c,y){y.forEach((i,b)=>{const W=gs(b);c.style[W]=""})}function Qt(c){return Array.isArray(c)?1==c.length?c[0]:(0,q.K2)(c):c}const Ni=new RegExp("{{\\s*(.+?)\\s*}}","g");function mi(c){let y=[];if("string"==typeof c){let i;for(;i=Ni.exec(c);)y.push(i[1]);Ni.lastIndex=0}return y}function vi(c,y,i){const b=`${c}`,W=b.replace(Ni,(ce,ke)=>{let Ve=y[ke];return null==Ve&&(i.push(function ue(c){return new e.wOt(3003,!1)}()),Ve=""),Ve.toString()});return W==b?c:W}const zi=/-+([a-z0-9])/g;function gs(c){return c.replace(zi,(...y)=>y[1].toUpperCase())}function Ln(c,y,i){switch(y.type){case q.If.Trigger:return c.visitTrigger(y,i);case q.If.State:return c.visitState(y,i);case q.If.Transition:return c.visitTransition(y,i);case q.If.Sequence:return c.visitSequence(y,i);case q.If.Group:return c.visitGroup(y,i);case q.If.Animate:return c.visitAnimate(y,i);case q.If.Keyframes:return c.visitKeyframes(y,i);case q.If.Style:return c.visitStyle(y,i);case q.If.Reference:return c.visitReference(y,i);case q.If.AnimateChild:return c.visitAnimateChild(y,i);case q.If.AnimateRef:return c.visitAnimateRef(y,i);case q.If.Query:return c.visitQuery(y,i);case q.If.Stagger:return c.visitStagger(y,i);default:throw function J(c){return new e.wOt(3004,!1)}()}}function fn(c,y){return window.getComputedStyle(c)[y]}const ki=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class Cs extends Ie{normalizePropertyName(y,i){return gs(y)}normalizeStyleValue(y,i,b,W){let ce="";const ke=b.toString().trim();if(ki.has(i)&&0!==b&&"0"!==b)if("number"==typeof b)ce="px";else{const Ve=b.match(/^[+-]?[\d\.]+([a-z]*)$/);Ve&&0==Ve[1].length&&W.push(function te(c,y){return new e.wOt(3005,!1)}())}return ke+ce}}const On="*";const Cr=new Set(["true","1"]),St=new Set(["false","0"]);function Rt(c,y){const i=Cr.has(c)||St.has(c),b=Cr.has(y)||St.has(y);return(W,ce)=>{let ke=c==On||c==W,Ve=y==On||y==ce;return!ke&&i&&"boolean"==typeof W&&(ke=W?Cr.has(c):St.has(c)),!Ve&&b&&"boolean"==typeof ce&&(Ve=ce?Cr.has(y):St.has(y)),ke&&Ve}}const mt=new RegExp("s*:selfs*,?","g");function _t(c,y,i,b){return new yt(c).build(y,i,b)}class yt{constructor(y){this._driver=y}build(y,i,b){const W=new si(i);return this._resetContextStyleTimingState(W),Ln(this,Qt(y),W)}_resetContextStyleTimingState(y){y.currentQuerySelector="",y.collectedStyles=new Map,y.collectedStyles.set("",new Map),y.currentTime=0}visitTrigger(y,i){let b=i.queryCount=0,W=i.depCount=0;const ce=[],ke=[];return"@"==y.name.charAt(0)&&i.errors.push(function X(){return new e.wOt(3006,!1)}()),y.definitions.forEach(Ve=>{if(this._resetContextStyleTimingState(i),Ve.type==q.If.State){const Ze=Ve,tt=Ze.name;tt.toString().split(/\s*,\s*/).forEach(bt=>{Ze.name=bt,ce.push(this.visitState(Ze,i))}),Ze.name=tt}else if(Ve.type==q.If.Transition){const Ze=this.visitTransition(Ve,i);b+=Ze.queryCount,W+=Ze.depCount,ke.push(Ze)}else i.errors.push(function E(){return new e.wOt(3007,!1)}())}),{type:q.If.Trigger,name:y.name,states:ce,transitions:ke,queryCount:b,depCount:W,options:null}}visitState(y,i){const b=this.visitStyle(y.styles,i),W=y.options&&y.options.params||null;if(b.containsDynamicStyles){const ce=new Set,ke=W||{};b.styles.forEach(Ve=>{Ve instanceof Map&&Ve.forEach(Ze=>{mi(Ze).forEach(tt=>{ke.hasOwnProperty(tt)||ce.add(tt)})})}),ce.size&&i.errors.push(function j(c,y){return new e.wOt(3008,!1)}(0,ce.values()))}return{type:q.If.State,name:y.name,style:b,options:W?{params:W}:null}}visitTransition(y,i){i.queryCount=0,i.depCount=0;const b=Ln(this,Qt(y.animation),i),W=function ar(c,y){const i=[];return"string"==typeof c?c.split(/\s*,\s*/).forEach(b=>function To(c,y,i){if(":"==c[0]){const Ze=function Wr(c,y){switch(c){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(i,b)=>parseFloat(b)>parseFloat(i);case":decrement":return(i,b)=>parseFloat(b) *"}}(c,i);if("function"==typeof Ze)return void y.push(Ze);c=Ze}const b=c.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==b||b.length<4)return i.push(function O(c){return new e.wOt(3015,!1)}()),y;const W=b[1],ce=b[2],ke=b[3];y.push(Rt(W,ke)),"<"==ce[0]&&(W!=On||ke!=On)&&y.push(Rt(ke,W))}(b,i,y)):i.push(c),i}(y.expr,i.errors);return{type:q.If.Transition,matchers:W,animation:b,queryCount:i.queryCount,depCount:i.depCount,options:Ki(y.options)}}visitSequence(y,i){return{type:q.If.Sequence,steps:y.steps.map(b=>Ln(this,b,i)),options:Ki(y.options)}}visitGroup(y,i){const b=i.currentTime;let W=0;const ce=y.steps.map(ke=>{i.currentTime=b;const Ve=Ln(this,ke,i);return W=Math.max(W,i.currentTime),Ve});return i.currentTime=W,{type:q.If.Group,steps:ce,options:Ki(y.options)}}visitAnimate(y,i){const b=function qi(c,y){if(c.hasOwnProperty("duration"))return c;if("number"==typeof c)return ls(Gt(c,y).duration,0,"");const i=c;if(i.split(/\s+/).some(ce=>"{"==ce.charAt(0)&&"{"==ce.charAt(1))){const ce=ls(0,0,"");return ce.dynamic=!0,ce.strValue=i,ce}const W=Gt(i,y);return ls(W.duration,W.delay,W.easing)}(y.timings,i.errors);i.currentAnimateTimings=b;let W,ce=y.styles?y.styles:(0,q.iF)({});if(ce.type==q.If.Keyframes)W=this.visitKeyframes(ce,i);else{let ke=y.styles,Ve=!1;if(!ke){Ve=!0;const tt={};b.easing&&(tt.easing=b.easing),ke=(0,q.iF)(tt)}i.currentTime+=b.duration+b.delay;const Ze=this.visitStyle(ke,i);Ze.isEmptyStep=Ve,W=Ze}return i.currentAnimateTimings=null,{type:q.If.Animate,timings:b,style:W,options:null}}visitStyle(y,i){const b=this._makeStyleAst(y,i);return this._validateStyleAst(b,i),b}_makeStyleAst(y,i){const b=[],W=Array.isArray(y.styles)?y.styles:[y.styles];for(let Ve of W)"string"==typeof Ve?Ve===q.kp?b.push(Ve):i.errors.push(new e.wOt(3002,!1)):b.push(new Map(Object.entries(Ve)));let ce=!1,ke=null;return b.forEach(Ve=>{if(Ve instanceof Map&&(Ve.has("easing")&&(ke=Ve.get("easing"),Ve.delete("easing")),!ce))for(let Ze of Ve.values())if(Ze.toString().indexOf("{{")>=0){ce=!0;break}}),{type:q.If.Style,styles:b,easing:ke,offset:y.offset,containsDynamicStyles:ce,options:null}}_validateStyleAst(y,i){const b=i.currentAnimateTimings;let W=i.currentTime,ce=i.currentTime;b&&ce>0&&(ce-=b.duration+b.delay),y.styles.forEach(ke=>{"string"!=typeof ke&&ke.forEach((Ve,Ze)=>{const tt=i.collectedStyles.get(i.currentQuerySelector),bt=tt.get(Ze);let Mt=!0;bt&&(ce!=W&&ce>=bt.startTime&&W<=bt.endTime&&(i.errors.push(function D(c,y,i,b,W){return new e.wOt(3010,!1)}()),Mt=!1),ce=bt.startTime),Mt&&tt.set(Ze,{startTime:ce,endTime:W}),i.options&&function di(c,y,i){const b=y.params||{},W=mi(c);W.length&&W.forEach(ce=>{b.hasOwnProperty(ce)||i.push(function pe(c){return new e.wOt(3001,!1)}())})}(Ve,i.options,i.errors)})})}visitKeyframes(y,i){const b={type:q.If.Keyframes,styles:[],options:null};if(!i.currentAnimateTimings)return i.errors.push(function A(){return new e.wOt(3011,!1)}()),b;let ce=0;const ke=[];let Ve=!1,Ze=!1,tt=0;const bt=y.steps.map(ui=>{const yi=this._makeStyleAst(ui,i);let fi=null!=yi.offset?yi.offset:function Di(c){if("string"==typeof c)return null;let y=null;if(Array.isArray(c))c.forEach(i=>{if(i instanceof Map&&i.has("offset")){const b=i;y=parseFloat(b.get("offset")),b.delete("offset")}});else if(c instanceof Map&&c.has("offset")){const i=c;y=parseFloat(i.get("offset")),i.delete("offset")}return y}(yi.styles),Ti=0;return null!=fi&&(ce++,Ti=yi.offset=fi),Ze=Ze||Ti<0||Ti>1,Ve=Ve||Ti0&&ce{const fi=Lt>0?yi==Wt?1:Lt*yi:ke[yi],Ti=fi*Yt;i.currentTime=Zt+hi.delay+Ti,hi.duration=Ti,this._validateStyleAst(ui,i),ui.offset=fi,b.styles.push(ui)}),b}visitReference(y,i){return{type:q.If.Reference,animation:Ln(this,Qt(y.animation),i),options:Ki(y.options)}}visitAnimateChild(y,i){return i.depCount++,{type:q.If.AnimateChild,options:Ki(y.options)}}visitAnimateRef(y,i){return{type:q.If.AnimateRef,animation:this.visitReference(y.animation,i),options:Ki(y.options)}}visitQuery(y,i){const b=i.currentQuerySelector,W=y.options||{};i.queryCount++,i.currentQuery=y;const[ce,ke]=function At(c){const y=!!c.split(/\s*,\s*/).find(i=>":self"==i);return y&&(c=c.replace(mt,"")),c=c.replace(/@\*/g,st).replace(/@\w+/g,i=>st+"-"+i.slice(1)).replace(/:animating/g,pt),[c,y]}(y.selector);i.currentQuerySelector=b.length?b+" "+ce:ce,N(i.collectedStyles,i.currentQuerySelector,new Map);const Ve=Ln(this,Qt(y.animation),i);return i.currentQuery=null,i.currentQuerySelector=b,{type:q.If.Query,selector:ce,limit:W.limit||0,optional:!!W.optional,includeSelf:ke,animation:Ve,originalSelector:y.selector,options:Ki(y.options)}}visitStagger(y,i){i.currentQuery||i.errors.push(function w(){return new e.wOt(3013,!1)}());const b="full"===y.timings?{duration:0,delay:0,easing:"full"}:Gt(y.timings,i.errors,!0);return{type:q.If.Stagger,animation:Ln(this,Qt(y.animation),i),timings:b,options:null}}}class si{constructor(y){this.errors=y,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Ki(c){return c?(c={...c}).params&&(c.params=function $t(c){return c?{...c}:null}(c.params)):c={},c}function ls(c,y,i){return{duration:c,delay:y,easing:i}}function Hn(c,y,i,b,W,ce,ke=null,Ve=!1){return{type:1,element:c,keyframes:y,preStyleProps:i,postStyleProps:b,duration:W,delay:ce,totalTime:W+ce,easing:ke,subTimeline:Ve}}class tn{constructor(){this._map=new Map}get(y){return this._map.get(y)||[]}append(y,i){let b=this._map.get(y);b||this._map.set(y,b=[]),b.push(...i)}has(y){return this._map.has(y)}clear(){this._map.clear()}}const sn=new RegExp(":enter","g"),Er=new RegExp(":leave","g");function bs(c,y,i,b,W,ce=new Map,ke=new Map,Ve,Ze,tt=[]){return(new Un).buildKeyframes(c,y,i,b,W,ce,ke,Ve,Ze,tt)}class Un{buildKeyframes(y,i,b,W,ce,ke,Ve,Ze,tt,bt=[]){tt=tt||new tn;const Mt=new Ui(y,i,tt,W,ce,bt,[]);Mt.options=Ze;const Lt=Ze.delay?ht(Ze.delay):0;Mt.currentTimeline.delayNextStep(Lt),Mt.currentTimeline.setStyles([ke],null,Mt.errors,Ze),Ln(this,b,Mt);const Wt=Mt.timelines.filter(Zt=>Zt.containsAnimation());if(Wt.length&&Ve.size){let Zt;for(let hi=Wt.length-1;hi>=0;hi--){const Yt=Wt[hi];if(Yt.element===i){Zt=Yt;break}}Zt&&!Zt.allowOnlyTimelineStyles()&&Zt.setStyles([Ve],null,Mt.errors,Ze)}return Wt.length?Wt.map(Zt=>Zt.buildKeyframes()):[Hn(i,[],[],[],0,Lt,"",!1)]}visitTrigger(y,i){}visitState(y,i){}visitTransition(y,i){}visitAnimateChild(y,i){const b=i.subInstructions.get(i.element);if(b){const W=i.createSubContext(y.options),ce=i.currentTimeline.currentTime,ke=this._visitSubInstructions(b,W,W.options);ce!=ke&&i.transformIntoNewTimeline(ke)}i.previousNode=y}visitAnimateRef(y,i){const b=i.createSubContext(y.options);b.transformIntoNewTimeline(),this._applyAnimationRefDelays([y.options,y.animation.options],i,b),this.visitReference(y.animation,b),i.transformIntoNewTimeline(b.currentTimeline.currentTime),i.previousNode=y}_applyAnimationRefDelays(y,i,b){for(const W of y){const ce=W?.delay;if(ce){const ke="number"==typeof ce?ce:ht(vi(ce,W?.params??{},i.errors));b.delayNextStep(ke)}}}_visitSubInstructions(y,i,b){let ce=i.currentTimeline.currentTime;const ke=null!=b.duration?ht(b.duration):null,Ve=null!=b.delay?ht(b.delay):null;return 0!==ke&&y.forEach(Ze=>{const tt=i.appendInstructionToTimeline(Ze,ke,Ve);ce=Math.max(ce,tt.duration+tt.delay)}),ce}visitReference(y,i){i.updateOptions(y.options,!0),Ln(this,y.animation,i),i.previousNode=y}visitSequence(y,i){const b=i.subContextCount;let W=i;const ce=y.options;if(ce&&(ce.params||ce.delay)&&(W=i.createSubContext(ce),W.transformIntoNewTimeline(),null!=ce.delay)){W.previousNode.type==q.If.Style&&(W.currentTimeline.snapshotCurrentStyles(),W.previousNode=pr);const ke=ht(ce.delay);W.delayNextStep(ke)}y.steps.length&&(y.steps.forEach(ke=>Ln(this,ke,W)),W.currentTimeline.applyStylesToKeyframe(),W.subContextCount>b&&W.transformIntoNewTimeline()),i.previousNode=y}visitGroup(y,i){const b=[];let W=i.currentTimeline.currentTime;const ce=y.options&&y.options.delay?ht(y.options.delay):0;y.steps.forEach(ke=>{const Ve=i.createSubContext(y.options);ce&&Ve.delayNextStep(ce),Ln(this,ke,Ve),W=Math.max(W,Ve.currentTimeline.currentTime),b.push(Ve.currentTimeline)}),b.forEach(ke=>i.currentTimeline.mergeTimelineCollectedStyles(ke)),i.transformIntoNewTimeline(W),i.previousNode=y}_visitTiming(y,i){if(y.dynamic){const b=y.strValue;return Gt(i.params?vi(b,i.params,i.errors):b,i.errors)}return{duration:y.duration,delay:y.delay,easing:y.easing}}visitAnimate(y,i){const b=i.currentAnimateTimings=this._visitTiming(y.timings,i),W=i.currentTimeline;b.delay&&(i.incrementTime(b.delay),W.snapshotCurrentStyles());const ce=y.style;ce.type==q.If.Keyframes?this.visitKeyframes(ce,i):(i.incrementTime(b.duration),this.visitStyle(ce,i),W.applyStylesToKeyframe()),i.currentAnimateTimings=null,i.previousNode=y}visitStyle(y,i){const b=i.currentTimeline,W=i.currentAnimateTimings;!W&&b.hasCurrentStyleProperties()&&b.forwardFrame();const ce=W&&W.easing||y.easing;y.isEmptyStep?b.applyEmptyStep(ce):b.setStyles(y.styles,ce,i.errors,i.options),i.previousNode=y}visitKeyframes(y,i){const b=i.currentAnimateTimings,W=i.currentTimeline.duration,ce=b.duration,Ve=i.createSubContext().currentTimeline;Ve.easing=b.easing,y.styles.forEach(Ze=>{Ve.forwardTime((Ze.offset||0)*ce),Ve.setStyles(Ze.styles,Ze.easing,i.errors,i.options),Ve.applyStylesToKeyframe()}),i.currentTimeline.mergeTimelineCollectedStyles(Ve),i.transformIntoNewTimeline(W+ce),i.previousNode=y}visitQuery(y,i){const b=i.currentTimeline.currentTime,W=y.options||{},ce=W.delay?ht(W.delay):0;ce&&(i.previousNode.type===q.If.Style||0==b&&i.currentTimeline.hasCurrentStyleProperties())&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=pr);let ke=b;const Ve=i.invokeQuery(y.selector,y.originalSelector,y.limit,y.includeSelf,!!W.optional,i.errors);i.currentQueryTotal=Ve.length;let Ze=null;Ve.forEach((tt,bt)=>{i.currentQueryIndex=bt;const Mt=i.createSubContext(y.options,tt);ce&&Mt.delayNextStep(ce),tt===i.element&&(Ze=Mt.currentTimeline),Ln(this,y.animation,Mt),Mt.currentTimeline.applyStylesToKeyframe(),ke=Math.max(ke,Mt.currentTimeline.currentTime)}),i.currentQueryIndex=0,i.currentQueryTotal=0,i.transformIntoNewTimeline(ke),Ze&&(i.currentTimeline.mergeTimelineCollectedStyles(Ze),i.currentTimeline.snapshotCurrentStyles()),i.previousNode=y}visitStagger(y,i){const b=i.parentContext,W=i.currentTimeline,ce=y.timings,ke=Math.abs(ce.duration),Ve=ke*(i.currentQueryTotal-1);let Ze=ke*i.currentQueryIndex;switch(ce.duration<0?"reverse":ce.easing){case"reverse":Ze=Ve-Ze;break;case"full":Ze=b.currentStaggerTime}const bt=i.currentTimeline;Ze&&bt.delayNextStep(Ze);const Mt=bt.currentTime;Ln(this,y.animation,i),i.previousNode=y,b.currentStaggerTime=W.currentTime-Mt+(W.startTime-b.currentTimeline.startTime)}}const pr={};class Ui{constructor(y,i,b,W,ce,ke,Ve,Ze){this._driver=y,this.element=i,this.subInstructions=b,this._enterClassName=W,this._leaveClassName=ce,this.errors=ke,this.timelines=Ve,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=pr,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=Ze||new ln(this._driver,i,0),Ve.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(y,i){if(!y)return;const b=y;let W=this.options;null!=b.duration&&(W.duration=ht(b.duration)),null!=b.delay&&(W.delay=ht(b.delay));const ce=b.params;if(ce){let ke=W.params;ke||(ke=this.options.params={}),Object.keys(ce).forEach(Ve=>{(!i||!ke.hasOwnProperty(Ve))&&(ke[Ve]=vi(ce[Ve],ke,this.errors))})}}_copyOptions(){const y={};if(this.options){const i=this.options.params;if(i){const b=y.params={};Object.keys(i).forEach(W=>{b[W]=i[W]})}}return y}createSubContext(y=null,i,b){const W=i||this.element,ce=new Ui(this._driver,W,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(W,b||0));return ce.previousNode=this.previousNode,ce.currentAnimateTimings=this.currentAnimateTimings,ce.options=this._copyOptions(),ce.updateOptions(y),ce.currentQueryIndex=this.currentQueryIndex,ce.currentQueryTotal=this.currentQueryTotal,ce.parentContext=this,this.subContextCount++,ce}transformIntoNewTimeline(y){return this.previousNode=pr,this.currentTimeline=this.currentTimeline.fork(this.element,y),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(y,i,b){const W={duration:i??y.duration,delay:this.currentTimeline.currentTime+(b??0)+y.delay,easing:""},ce=new Na(this._driver,y.element,y.keyframes,y.preStyleProps,y.postStyleProps,W,y.stretchStartingKeyframe);return this.timelines.push(ce),W}incrementTime(y){this.currentTimeline.forwardTime(this.currentTimeline.duration+y)}delayNextStep(y){y>0&&this.currentTimeline.delayNextStep(y)}invokeQuery(y,i,b,W,ce,ke){let Ve=[];if(W&&Ve.push(this.element),y.length>0){y=(y=y.replace(sn,"."+this._enterClassName)).replace(Er,"."+this._leaveClassName);let tt=this._driver.query(this.element,y,1!=b);0!==b&&(tt=b<0?tt.slice(tt.length+b,tt.length):tt.slice(0,b)),Ve.push(...tt)}return!ce&&0==Ve.length&&ke.push(function G(c){return new e.wOt(3014,!1)}()),Ve}}class ln{constructor(y,i,b,W){this._driver=y,this.element=i,this.startTime=b,this._elementTimelineStylesLookup=W,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(i),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(i,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(y){const i=1===this._keyframes.size&&this._pendingStyles.size;this.duration||i?(this.forwardTime(this.currentTime+y),i&&this.snapshotCurrentStyles()):this.startTime+=y}fork(y,i){return this.applyStylesToKeyframe(),new ln(this._driver,y,i||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(y){this.applyStylesToKeyframe(),this.duration=y,this._loadKeyframe()}_updateStyle(y,i){this._localTimelineStyles.set(y,i),this._globalTimelineStyles.set(y,i),this._styleSummary.set(y,{time:this.currentTime,value:i})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(y){y&&this._previousKeyframe.set("easing",y);for(let[i,b]of this._globalTimelineStyles)this._backFill.set(i,b||q.kp),this._currentKeyframe.set(i,q.kp);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(y,i,b,W){i&&this._previousKeyframe.set("easing",i);const ce=W&&W.params||{},ke=function Fa(c,y){const i=new Map;let b;return c.forEach(W=>{if("*"===W){b??=y.keys();for(let ce of b)i.set(ce,q.kp)}else for(let[ce,ke]of W)i.set(ce,ke)}),i}(y,this._globalTimelineStyles);for(let[Ve,Ze]of ke){const tt=vi(Ze,ce,b);this._pendingStyles.set(Ve,tt),this._localTimelineStyles.has(Ve)||this._backFill.set(Ve,this._globalTimelineStyles.get(Ve)??q.kp),this._updateStyle(Ve,tt)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((y,i)=>{this._currentKeyframe.set(i,y)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((y,i)=>{this._currentKeyframe.has(i)||this._currentKeyframe.set(i,y)}))}snapshotCurrentStyles(){for(let[y,i]of this._localTimelineStyles)this._pendingStyles.set(y,i),this._updateStyle(y,i)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const y=[];for(let i in this._currentKeyframe)y.push(i);return y}mergeTimelineCollectedStyles(y){y._styleSummary.forEach((i,b)=>{const W=this._styleSummary.get(b);(!W||i.time>W.time)&&this._updateStyle(b,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const y=new Set,i=new Set,b=1===this._keyframes.size&&0===this.duration;let W=[];this._keyframes.forEach((Ve,Ze)=>{const tt=new Map([...this._backFill,...Ve]);tt.forEach((bt,Mt)=>{bt===q.FX?y.add(Mt):bt===q.kp&&i.add(Mt)}),b||tt.set("offset",Ze/this.duration),W.push(tt)});const ce=[...y.values()],ke=[...i.values()];if(b){const Ve=W[0],Ze=new Map(Ve);Ve.set("offset",0),Ze.set("offset",1),W=[Ve,Ze]}return Hn(this.element,W,ce,ke,this.duration,this.startTime,this.easing,!1)}}class Na extends ln{constructor(y,i,b,W,ce,ke,Ve=!1){super(y,i,ke.delay),this.keyframes=b,this.preStyleProps=W,this.postStyleProps=ce,this._stretchStartingKeyframe=Ve,this.timings={duration:ke.duration,delay:ke.delay,easing:ke.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let y=this.keyframes,{delay:i,duration:b,easing:W}=this.timings;if(this._stretchStartingKeyframe&&i){const ce=[],ke=b+i,Ve=i/ke,Ze=new Map(y[0]);Ze.set("offset",0),ce.push(Ze);const tt=new Map(y[0]);tt.set("offset",lr(Ve)),ce.push(tt);const bt=y.length-1;for(let Mt=1;Mt<=bt;Mt++){let Lt=new Map(y[Mt]);const Wt=Lt.get("offset");Lt.set("offset",lr((i+Wt*b)/ke)),ce.push(Lt)}b=ke,i=0,W="",y=ce}return Hn(this.element,y,this.preStyleProps,this.postStyleProps,b,i,W,!0)}}function lr(c,y=3){const i=Math.pow(10,y-1);return Math.round(c*i)/i}function Ba(c,y,i,b,W,ce,ke,Ve,Ze,tt,bt,Mt,Lt){return{type:0,element:c,triggerName:y,isRemovalTransition:W,fromState:i,fromStyles:ce,toState:b,toStyles:ke,timelines:Ve,queriedElements:Ze,preStyleProps:tt,postStyleProps:bt,totalTime:Mt,errors:Lt}}const ja={};class go{constructor(y,i,b){this._triggerName=y,this.ast=i,this._stateStyles=b}match(y,i,b,W){return function Va(c,y,i,b,W){return c.some(ce=>ce(y,i,b,W))}(this.ast.matchers,y,i,b,W)}buildStyles(y,i,b){let W=this._stateStyles.get("*");return void 0!==y&&(W=this._stateStyles.get(y?.toString())||W),W?W.buildStyles(i,b):new Map}build(y,i,b,W,ce,ke,Ve,Ze,tt,bt){const Mt=[],Lt=this.ast.options&&this.ast.options.params||ja,Zt=this.buildStyles(b,Ve&&Ve.params||ja,Mt),hi=Ze&&Ze.params||ja,Yt=this.buildStyles(W,hi,Mt),ui=new Set,yi=new Map,fi=new Map,Ti="void"===W,ji={params:za(hi,Lt),delay:this.ast.options?.delay},Mi=bt?[]:bs(y,i,this.ast.animation,ce,ke,Zt,Yt,ji,tt,Mt);let hn=0;return Mi.forEach(dn=>{hn=Math.max(dn.duration+dn.delay,hn)}),Mt.length?Ba(i,this._triggerName,b,W,Ti,Zt,Yt,[],[],yi,fi,hn,Mt):(Mi.forEach(dn=>{const xs=dn.element,An=N(yi,xs,new Set);dn.preStyleProps.forEach(Xn=>An.add(Xn));const Hi=N(fi,xs,new Set);dn.postStyleProps.forEach(Xn=>Hi.add(Xn)),xs!==i&&ui.add(xs)}),Ba(i,this._triggerName,b,W,Ti,Zt,Yt,Mi,[...ui.values()],yi,fi,hn))}}function za(c,y){const i={...y};return Object.entries(c).forEach(([b,W])=>{null!=W&&(i[b]=W)}),i}class $s{constructor(y,i,b){this.styles=y,this.defaultParams=i,this.normalizer=b}buildStyles(y,i){const b=new Map,W=za(y,this.defaultParams);return this.styles.styles.forEach(ce=>{"string"!=typeof ce&&ce.forEach((ke,Ve)=>{ke&&(ke=vi(ke,W,i));const Ze=this.normalizer.normalizePropertyName(Ve,i);ke=this.normalizer.normalizeStyleValue(Ve,Ze,ke,i),b.set(Ve,ke)})}),b}}class Rl{constructor(y,i,b){this.name=y,this.ast=i,this._normalizer=b,this.transitionFactories=[],this.states=new Map,i.states.forEach(W=>{this.states.set(W.name,new $s(W.style,W.options&&W.options.params||{},b))}),wr(this.states,"true","1"),wr(this.states,"false","0"),i.transitions.forEach(W=>{this.transitionFactories.push(new go(y,W,this.states))}),this.fallbackTransition=function Nl(c,y,i){return new go(c,{type:q.If.Transition,animation:{type:q.If.Sequence,steps:[],options:null},matchers:[(ke,Ve)=>!0],options:null,queryCount:0,depCount:0},y)}(y,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(y,i,b,W){return this.transitionFactories.find(ke=>ke.match(y,i,b,W))||null}matchStyles(y,i,b){return this.fallbackTransition.buildStyles(y,i,b)}}function wr(c,y,i){c.has(y)?c.has(i)||c.set(i,c.get(y)):c.has(i)&&c.set(y,c.get(i))}const Jr=new tn;class Xo{constructor(y,i,b){this.bodyNode=y,this._driver=i,this._normalizer=b,this._animations=new Map,this._playersById=new Map,this.players=[]}register(y,i){const b=[],ce=_t(this._driver,i,b,[]);if(b.length)throw function n(c){return new e.wOt(3503,!1)}();this._animations.set(y,ce)}_buildPlayer(y,i,b){const W=y.element,ce=S(this._normalizer,y.keyframes,i,b);return this._driver.animate(W,ce,y.duration,y.delay,y.easing,[],!0)}create(y,i,b={}){const W=[],ce=this._animations.get(y);let ke;const Ve=new Map;if(ce?(ke=bs(this._driver,i,ce,Je,lt,new Map,new Map,b,Jr,W),ke.forEach(bt=>{const Mt=N(Ve,bt.element,new Map);bt.postStyleProps.forEach(Lt=>Mt.set(Lt,null))})):(W.push(function r(){return new e.wOt(3300,!1)}()),ke=[]),W.length)throw function l(c){return new e.wOt(3504,!1)}();Ve.forEach((bt,Mt)=>{bt.forEach((Lt,Wt)=>{bt.set(Wt,this._driver.computeStyle(Mt,Wt,q.kp))})});const tt=se(ke.map(bt=>{const Mt=Ve.get(bt.element);return this._buildPlayer(bt,new Map,Mt)}));return this._playersById.set(y,tt),tt.onDestroy(()=>this.destroy(y)),this.players.push(tt),tt}destroy(y){const i=this._getPlayer(y);i.destroy(),this._playersById.delete(y);const b=this.players.indexOf(i);b>=0&&this.players.splice(b,1)}_getPlayer(y){const i=this._playersById.get(y);if(!i)throw function d(c){return new e.wOt(3301,!1)}();return i}listen(y,i,b,W){const ce=x(i,"","","");return $(this._getPlayer(y),b,ce,W),()=>{}}command(y,i,b,W){if("register"==b)return void this.register(y,W[0]);if("create"==b)return void this.create(y,i,W[0]||{});const ce=this._getPlayer(y);switch(b){case"play":ce.play();break;case"pause":ce.pause();break;case"reset":ce.reset();break;case"restart":ce.restart();break;case"finish":ce.finish();break;case"init":ce.init();break;case"setPosition":ce.setPosition(parseFloat(W[0]));break;case"destroy":this.destroy(y)}}}const Fl="ng-animate-queued",da="ng-animate-disabled",tr=[],Ha={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Es={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},ir="__ng_removed";class $i{get params(){return this.options.params}constructor(y,i=""){this.namespaceId=i;const b=y&&y.hasOwnProperty("value");if(this.value=function fa(c){return c??null}(b?y.value:y),b){const{value:ce,...ke}=y;this.options=ke}else this.options={};this.options.params||(this.options.params={})}absorbOptions(y){const i=y.params;if(i){const b=this.options.params;Object.keys(i).forEach(W=>{null==b[W]&&(b[W]=i[W])})}}}const Ar="void",So=new $i(Ar);class Yo{constructor(y,i,b){this.id=y,this.hostElement=i,this._engine=b,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+y,cr(i,this._hostClassName)}listen(y,i,b,W){if(!this._triggers.has(i))throw function C(c,y){return new e.wOt(3302,!1)}();if(null==b||0==b.length)throw function k(c){return new e.wOt(3303,!1)}();if(!function ga(c){return"start"==c||"done"==c}(b))throw function p(c,y){return new e.wOt(3400,!1)}();const ce=N(this._elementListeners,y,[]),ke={name:i,phase:b,callback:W};ce.push(ke);const Ve=N(this._engine.statesByElement,y,new Map);return Ve.has(i)||(cr(y,qe),cr(y,qe+"-"+i),Ve.set(i,So)),()=>{this._engine.afterFlush(()=>{const Ze=ce.indexOf(ke);Ze>=0&&ce.splice(Ze,1),this._triggers.has(i)||Ve.delete(i)})}}register(y,i){return!this._triggers.has(y)&&(this._triggers.set(y,i),!0)}_getTrigger(y){const i=this._triggers.get(y);if(!i)throw function T(c){return new e.wOt(3401,!1)}();return i}trigger(y,i,b,W=!0){const ce=this._getTrigger(i),ke=new ua(this.id,i,y);let Ve=this._engine.statesByElement.get(y);Ve||(cr(y,qe),cr(y,qe+"-"+i),this._engine.statesByElement.set(y,Ve=new Map));let Ze=Ve.get(i);const tt=new $i(b,this.id);if(!(b&&b.hasOwnProperty("value"))&&Ze&&tt.absorbOptions(Ze.options),Ve.set(i,tt),Ze||(Ze=So),tt.value!==Ar&&Ze.value===tt.value){if(!function Zo(c,y){const i=Object.keys(c),b=Object.keys(y);if(i.length!=b.length)return!1;for(let W=0;W{wt(y,Yt),xt(y,ui)})}return}const Lt=N(this._engine.playersByElement,y,[]);Lt.forEach(hi=>{hi.namespaceId==this.id&&hi.triggerName==i&&hi.queued&&hi.destroy()});let Wt=ce.matchTransition(Ze.value,tt.value,y,tt.params),Zt=!1;if(!Wt){if(!W)return;Wt=ce.fallbackTransition,Zt=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:y,triggerName:i,transition:Wt,fromState:Ze,toState:tt,player:ke,isFallbackTransition:Zt}),Zt||(cr(y,Fl),ke.onStart(()=>{es(y,Fl)})),ke.onDone(()=>{let hi=this.players.indexOf(ke);hi>=0&&this.players.splice(hi,1);const Yt=this._engine.playersByElement.get(y);if(Yt){let ui=Yt.indexOf(ke);ui>=0&&Yt.splice(ui,1)}}),this.players.push(ke),Lt.push(ke),ke}deregister(y){this._triggers.delete(y),this._engine.statesByElement.forEach(i=>i.delete(y)),this._elementListeners.forEach((i,b)=>{this._elementListeners.set(b,i.filter(W=>W.name!=y))})}clearElementCache(y){this._engine.statesByElement.delete(y),this._elementListeners.delete(y);const i=this._engine.playersByElement.get(y);i&&(i.forEach(b=>b.destroy()),this._engine.playersByElement.delete(y))}_signalRemovalForInnerTriggers(y,i){const b=this._engine.driver.query(y,st,!0);b.forEach(W=>{if(W[ir])return;const ce=this._engine.fetchNamespacesByElement(W);ce.size?ce.forEach(ke=>ke.triggerLeaveAnimation(W,i,!1,!0)):this.clearElementCache(W)}),this._engine.afterFlushAnimationsDone(()=>b.forEach(W=>this.clearElementCache(W)))}triggerLeaveAnimation(y,i,b,W){const ce=this._engine.statesByElement.get(y),ke=new Map;if(ce){const Ve=[];if(ce.forEach((Ze,tt)=>{if(ke.set(tt,Ze.value),this._triggers.has(tt)){const bt=this.trigger(y,tt,Ar,W);bt&&Ve.push(bt)}}),Ve.length)return this._engine.markElementAsRemoved(this.id,y,!0,i,ke),b&&se(Ve).onDone(()=>this._engine.processLeaveNode(y)),!0}return!1}prepareLeaveAnimationListeners(y){const i=this._elementListeners.get(y),b=this._engine.statesByElement.get(y);if(i&&b){const W=new Set;i.forEach(ce=>{const ke=ce.name;if(W.has(ke))return;W.add(ke);const Ze=this._triggers.get(ke).fallbackTransition,tt=b.get(ke)||So,bt=new $i(Ar),Mt=new ua(this.id,ke,y);this._engine.totalQueuedPlayers++,this._queue.push({element:y,triggerName:ke,transition:Ze,fromState:tt,toState:bt,player:Mt,isFallbackTransition:!0})})}}removeNode(y,i){const b=this._engine;if(y.childElementCount&&this._signalRemovalForInnerTriggers(y,i),this.triggerLeaveAnimation(y,i,!0))return;let W=!1;if(b.totalAnimations){const ce=b.players.length?b.playersByQueriedElement.get(y):[];if(ce&&ce.length)W=!0;else{let ke=y;for(;ke=ke.parentNode;)if(b.statesByElement.get(ke)){W=!0;break}}}if(this.prepareLeaveAnimationListeners(y),W)b.markElementAsRemoved(this.id,y,!1,i);else{const ce=y[ir];(!ce||ce===Ha)&&(b.afterFlush(()=>this.clearElementCache(y)),b.destroyInnerAnimations(y),b._onRemovalComplete(y,i))}}insertNode(y,i){cr(y,this._hostClassName)}drainQueuedTransitions(y){const i=[];return this._queue.forEach(b=>{const W=b.player;if(W.destroyed)return;const ce=b.element,ke=this._elementListeners.get(ce);ke&&ke.forEach(Ve=>{if(Ve.name==b.triggerName){const Ze=x(ce,b.triggerName,b.fromState.value,b.toState.value);Ze._data=y,$(b.player,Ve.phase,Ze,Ve.callback)}}),W.markedForDestroy?this._engine.afterFlush(()=>{W.destroy()}):i.push(b)}),this._queue=[],i.sort((b,W)=>{const ce=b.transition.ast.depCount,ke=W.transition.ast.depCount;return 0==ce||0==ke?ce-ke:this._engine.driver.containsElement(b.element,W.element)?1:-1})}destroy(y){this.players.forEach(i=>i.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,y)}}class ko{_onRemovalComplete(y,i){this.onRemovalComplete(y,i)}constructor(y,i,b,W){this.bodyNode=y,this.driver=i,this._normalizer=b,this.scheduler=W,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(ce,ke)=>{}}get queuedPlayers(){const y=[];return this._namespaceList.forEach(i=>{i.players.forEach(b=>{b.queued&&y.push(b)})}),y}createNamespace(y,i){const b=new Yo(y,i,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,i)?this._balanceNamespaceList(b,i):(this.newHostElements.set(i,b),this.collectEnterElement(i)),this._namespaceLookup[y]=b}_balanceNamespaceList(y,i){const b=this._namespaceList,W=this.namespacesByHostElement;if(b.length-1>=0){let ke=!1,Ve=this.driver.getParentElement(i);for(;Ve;){const Ze=W.get(Ve);if(Ze){const tt=b.indexOf(Ze);b.splice(tt+1,0,y),ke=!0;break}Ve=this.driver.getParentElement(Ve)}ke||b.unshift(y)}else b.push(y);return W.set(i,y),y}register(y,i){let b=this._namespaceLookup[y];return b||(b=this.createNamespace(y,i)),b}registerTrigger(y,i,b){let W=this._namespaceLookup[y];W&&W.register(i,b)&&this.totalAnimations++}destroy(y,i){y&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const b=this._fetchNamespace(y);this.namespacesByHostElement.delete(b.hostElement);const W=this._namespaceList.indexOf(b);W>=0&&this._namespaceList.splice(W,1),b.destroy(i),delete this._namespaceLookup[y]}))}_fetchNamespace(y){return this._namespaceLookup[y]}fetchNamespacesByElement(y){const i=new Set,b=this.statesByElement.get(y);if(b)for(let W of b.values())if(W.namespaceId){const ce=this._fetchNamespace(W.namespaceId);ce&&i.add(ce)}return i}trigger(y,i,b,W){if(Qs(i)){const ce=this._fetchNamespace(y);if(ce)return ce.trigger(i,b,W),!0}return!1}insertNode(y,i,b,W){if(!Qs(i))return;const ce=i[ir];if(ce&&ce.setForRemoval){ce.setForRemoval=!1,ce.setForMove=!0;const ke=this.collectedLeaveElements.indexOf(i);ke>=0&&this.collectedLeaveElements.splice(ke,1)}if(y){const ke=this._fetchNamespace(y);ke&&ke.insertNode(i,b)}W&&this.collectEnterElement(i)}collectEnterElement(y){this.collectedEnterElements.push(y)}markElementAsDisabled(y,i){i?this.disabledNodes.has(y)||(this.disabledNodes.add(y),cr(y,da)):this.disabledNodes.has(y)&&(this.disabledNodes.delete(y),es(y,da))}removeNode(y,i,b){if(Qs(i)){this.scheduler?.notify();const W=y?this._fetchNamespace(y):null;W?W.removeNode(i,b):this.markElementAsRemoved(y,i,!1,b);const ce=this.namespacesByHostElement.get(i);ce&&ce.id!==y&&ce.removeNode(i,b)}else this._onRemovalComplete(i,b)}markElementAsRemoved(y,i,b,W,ce){this.collectedLeaveElements.push(i),i[ir]={namespaceId:y,setForRemoval:W,hasAnimation:b,removedBeforeQueried:!1,previousTriggersValues:ce}}listen(y,i,b,W,ce){return Qs(i)?this._fetchNamespace(y).listen(i,b,W,ce):()=>{}}_buildInstruction(y,i,b,W,ce){return y.transition.build(this.driver,y.element,y.fromState.value,y.toState.value,b,W,y.fromState.options,y.toState.options,i,ce)}destroyInnerAnimations(y){let i=this.driver.query(y,st,!0);i.forEach(b=>this.destroyActiveAnimationsForElement(b)),0!=this.playersByQueriedElement.size&&(i=this.driver.query(y,pt,!0),i.forEach(b=>this.finishActiveQueriedAnimationOnElement(b)))}destroyActiveAnimationsForElement(y){const i=this.playersByElement.get(y);i&&i.forEach(b=>{b.queued?b.markedForDestroy=!0:b.destroy()})}finishActiveQueriedAnimationOnElement(y){const i=this.playersByQueriedElement.get(y);i&&i.forEach(b=>b.finish())}whenRenderingDone(){return new Promise(y=>{if(this.players.length)return se(this.players).onDone(()=>y());y()})}processLeaveNode(y){const i=y[ir];if(i&&i.setForRemoval){if(y[ir]=Ha,i.namespaceId){this.destroyInnerAnimations(y);const b=this._fetchNamespace(i.namespaceId);b&&b.clearElementCache(y)}this._onRemovalComplete(y,i.setForRemoval)}y.classList?.contains(da)&&this.markElementAsDisabled(y,!1),this.driver.query(y,".ng-animate-disabled",!0).forEach(b=>{this.markElementAsDisabled(b,!1)})}flush(y=-1){let i=[];if(this.newHostElements.size&&(this.newHostElements.forEach((b,W)=>this._balanceNamespaceList(b,W)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let b=0;bb()),this._flushFns=[],this._whenQuietFns.length){const b=this._whenQuietFns;this._whenQuietFns=[],i.length?se(i).onDone(()=>{b.forEach(W=>W())}):b.forEach(W=>W())}}reportError(y){throw function B(c){return new e.wOt(3402,!1)}()}_flushAnimations(y,i){const b=new tn,W=[],ce=new Map,ke=[],Ve=new Map,Ze=new Map,tt=new Map,bt=new Set;this.disabledNodes.forEach(_i=>{bt.add(_i);const Si=this.driver.query(_i,".ng-animate-queued",!0);for(let Vi=0;Vi{const Vi=Je+hi++;Zt.set(Si,Vi),_i.forEach(Gi=>cr(Gi,Vi))});const Yt=[],ui=new Set,yi=new Set;for(let _i=0;_iui.add(Gi)):yi.add(Si))}const fi=new Map,Ti=Ir(Lt,Array.from(ui));Ti.forEach((_i,Si)=>{const Vi=lt+hi++;fi.set(Si,Vi),_i.forEach(Gi=>cr(Gi,Vi))}),y.push(()=>{Wt.forEach((_i,Si)=>{const Vi=Zt.get(Si);_i.forEach(Gi=>es(Gi,Vi))}),Ti.forEach((_i,Si)=>{const Vi=fi.get(Si);_i.forEach(Gi=>es(Gi,Vi))}),Yt.forEach(_i=>{this.processLeaveNode(_i)})});const ji=[],Mi=[];for(let _i=this._namespaceList.length-1;_i>=0;_i--)this._namespaceList[_i].drainQueuedTransitions(i).forEach(Vi=>{const Gi=Vi.player,Nn=Vi.element;if(ji.push(Gi),this.collectedEnterElements.length){const ns=Nn[ir];if(ns&&ns.setForMove){if(ns.previousTriggersValues&&ns.previousTriggersValues.has(Vi.triggerName)){const Ur=ns.previousTriggersValues.get(Vi.triggerName),Ii=this.statesByElement.get(Vi.element);if(Ii&&Ii.has(Vi.triggerName)){const un=Ii.get(Vi.triggerName);un.value=Ur,Ii.set(Vi.triggerName,un)}}return void Gi.destroy()}}const is=!Mt||!this.driver.containsElement(Mt,Nn),Yn=fi.get(Nn),fo=Zt.get(Nn),ps=this._buildInstruction(Vi,b,fo,Yn,is);if(ps.errors&&ps.errors.length)return void Mi.push(ps);if(is)return Gi.onStart(()=>wt(Nn,ps.fromStyles)),Gi.onDestroy(()=>xt(Nn,ps.toStyles)),void W.push(Gi);if(Vi.isFallbackTransition)return Gi.onStart(()=>wt(Nn,ps.fromStyles)),Gi.onDestroy(()=>xt(Nn,ps.toStyles)),void W.push(Gi);const Qr=[];ps.timelines.forEach(ns=>{ns.stretchStartingKeyframe=!0,this.disabledNodes.has(ns.element)||Qr.push(ns)}),ps.timelines=Qr,b.append(Nn,ps.timelines),ke.push({instruction:ps,player:Gi,element:Nn}),ps.queriedElements.forEach(ns=>N(Ve,ns,[]).push(Gi)),ps.preStyleProps.forEach((ns,Ur)=>{if(ns.size){let Ii=Ze.get(Ur);Ii||Ze.set(Ur,Ii=new Set),ns.forEach((un,Gn)=>Ii.add(Gn))}}),ps.postStyleProps.forEach((ns,Ur)=>{let Ii=tt.get(Ur);Ii||tt.set(Ur,Ii=new Set),ns.forEach((un,Gn)=>Ii.add(Gn))})});if(Mi.length){const _i=[];Mi.forEach(Si=>{_i.push(function K(c,y){return new e.wOt(3505,!1)}())}),ji.forEach(Si=>Si.destroy()),this.reportError(_i)}const hn=new Map,dn=new Map;ke.forEach(_i=>{const Si=_i.element;b.has(Si)&&(dn.set(Si,Si),this._beforeAnimationBuild(_i.player.namespaceId,_i.instruction,hn))}),W.forEach(_i=>{const Si=_i.element;this._getPreviousPlayers(Si,!1,_i.namespaceId,_i.triggerName,null).forEach(Gi=>{N(hn,Si,[]).push(Gi),Gi.destroy()})});const xs=Yt.filter(_i=>to(_i,Ze,tt)),An=new Map;ma(An,this.driver,yi,tt,q.kp).forEach(_i=>{to(_i,Ze,tt)&&xs.push(_i)});const Xn=new Map;Wt.forEach((_i,Si)=>{ma(Xn,this.driver,new Set(_i),Ze,q.FX)}),xs.forEach(_i=>{const Si=An.get(_i),Vi=Xn.get(_i);An.set(_i,new Map([...Si?.entries()??[],...Vi?.entries()??[]]))});const Pi=[],Zi=[],rr={};ke.forEach(_i=>{const{element:Si,player:Vi,instruction:Gi}=_i;if(b.has(Si)){if(bt.has(Si))return Vi.onDestroy(()=>xt(Si,Gi.toStyles)),Vi.disabled=!0,Vi.overrideTotalTime(Gi.totalTime),void W.push(Vi);let Nn=rr;if(dn.size>1){let Yn=Si;const fo=[];for(;Yn=Yn.parentNode;){const ps=dn.get(Yn);if(ps){Nn=ps;break}fo.push(Yn)}fo.forEach(ps=>dn.set(ps,Nn))}const is=this._buildAnimation(Vi.namespaceId,Gi,hn,ce,Xn,An);if(Vi.setRealPlayer(is),Nn===rr)Pi.push(Vi);else{const Yn=this.playersByElement.get(Nn);Yn&&Yn.length&&(Vi.parentPlayer=se(Yn)),W.push(Vi)}}else wt(Si,Gi.fromStyles),Vi.onDestroy(()=>xt(Si,Gi.toStyles)),Zi.push(Vi),bt.has(Si)&&W.push(Vi)}),Zi.forEach(_i=>{const Si=ce.get(_i.element);if(Si&&Si.length){const Vi=se(Si);_i.setRealPlayer(Vi)}}),W.forEach(_i=>{_i.parentPlayer?_i.syncPlayerEvents(_i.parentPlayer):_i.destroy()});for(let _i=0;_i!is.destroyed);Nn.length?$r(this,Si,Nn):this.processLeaveNode(Si)}return Yt.length=0,Pi.forEach(_i=>{this.players.push(_i),_i.onDone(()=>{_i.destroy();const Si=this.players.indexOf(_i);this.players.splice(Si,1)}),_i.play()}),Pi}afterFlush(y){this._flushFns.push(y)}afterFlushAnimationsDone(y){this._whenQuietFns.push(y)}_getPreviousPlayers(y,i,b,W,ce){let ke=[];if(i){const Ve=this.playersByQueriedElement.get(y);Ve&&(ke=Ve)}else{const Ve=this.playersByElement.get(y);if(Ve){const Ze=!ce||ce==Ar;Ve.forEach(tt=>{tt.queued||!Ze&&tt.triggerName!=W||ke.push(tt)})}}return(b||W)&&(ke=ke.filter(Ve=>!(b&&b!=Ve.namespaceId||W&&W!=Ve.triggerName))),ke}_beforeAnimationBuild(y,i,b){const ce=i.element,ke=i.isRemovalTransition?void 0:y,Ve=i.isRemovalTransition?void 0:i.triggerName;for(const Ze of i.timelines){const tt=Ze.element,bt=tt!==ce,Mt=N(b,tt,[]);this._getPreviousPlayers(tt,bt,ke,Ve,i.toState).forEach(Wt=>{const Zt=Wt.getRealPlayer();Zt.beforeDestroy&&Zt.beforeDestroy(),Wt.destroy(),Mt.push(Wt)})}wt(ce,i.fromStyles)}_buildAnimation(y,i,b,W,ce,ke){const Ve=i.triggerName,Ze=i.element,tt=[],bt=new Set,Mt=new Set,Lt=i.timelines.map(Zt=>{const hi=Zt.element;bt.add(hi);const Yt=hi[ir];if(Yt&&Yt.removedBeforeQueried)return new q.sf(Zt.duration,Zt.delay);const ui=hi!==Ze,yi=function Ko(c){const y=[];return Do(c,y),y}((b.get(hi)||tr).map(hn=>hn.getRealPlayer())).filter(hn=>!!hn.element&&hn.element===hi),fi=ce.get(hi),Ti=ke.get(hi),ji=S(this._normalizer,Zt.keyframes,fi,Ti),Mi=this._buildPlayer(Zt,ji,yi);if(Zt.subTimeline&&W&&Mt.add(hi),ui){const hn=new ua(y,Ve,hi);hn.setRealPlayer(Mi),tt.push(hn)}return Mi});tt.forEach(Zt=>{N(this.playersByQueriedElement,Zt.element,[]).push(Zt),Zt.onDone(()=>function pa(c,y,i){let b=c.get(y);if(b){if(b.length){const W=b.indexOf(i);b.splice(W,1)}0==b.length&&c.delete(y)}return b}(this.playersByQueriedElement,Zt.element,Zt))}),bt.forEach(Zt=>cr(Zt,Tt));const Wt=se(Lt);return Wt.onDestroy(()=>{bt.forEach(Zt=>es(Zt,Tt)),xt(Ze,i.toStyles)}),Mt.forEach(Zt=>{N(W,Zt,[]).push(Wt)}),Wt}_buildPlayer(y,i,b){return i.length>0?this.driver.animate(y.element,i,y.duration,y.delay,y.easing,b):new q.sf(y.duration,y.delay)}}class ua{constructor(y,i,b){this.namespaceId=y,this.triggerName=i,this.element=b,this._player=new q.sf,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(y){this._containsRealPlayer||(this._player=y,this._queuedCallbacks.forEach((i,b)=>{i.forEach(W=>$(y,b,void 0,W))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(y.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(y){this.totalTime=y}syncPlayerEvents(y){const i=this._player;i.triggerCallback&&y.onStart(()=>i.triggerCallback("start")),y.onDone(()=>this.finish()),y.onDestroy(()=>this.destroy())}_queueEvent(y,i){N(this._queuedCallbacks,y,[]).push(i)}onDone(y){this.queued&&this._queueEvent("done",y),this._player.onDone(y)}onStart(y){this.queued&&this._queueEvent("start",y),this._player.onStart(y)}onDestroy(y){this.queued&&this._queueEvent("destroy",y),this._player.onDestroy(y)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(y){this.queued||this._player.setPosition(y)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(y){const i=this._player;i.triggerCallback&&i.triggerCallback(y)}}function Qs(c){return c&&1===c.nodeType}function eo(c,y){const i=c.style.display;return c.style.display=y??"none",i}function ma(c,y,i,b,W){const ce=[];i.forEach(Ze=>ce.push(eo(Ze)));const ke=[];b.forEach((Ze,tt)=>{const bt=new Map;Ze.forEach(Mt=>{const Lt=y.computeStyle(tt,Mt,W);bt.set(Mt,Lt),(!Lt||0==Lt.length)&&(tt[ir]=Es,ke.push(tt))}),c.set(tt,bt)});let Ve=0;return i.forEach(Ze=>eo(Ze,ce[Ve++])),ke}function Ir(c,y){const i=new Map;if(c.forEach(Ve=>i.set(Ve,[])),0==y.length)return i;const W=new Set(y),ce=new Map;function ke(Ve){if(!Ve)return 1;let Ze=ce.get(Ve);if(Ze)return Ze;const tt=Ve.parentNode;return Ze=i.has(tt)?tt:W.has(tt)?1:ke(tt),ce.set(Ve,Ze),Ze}return y.forEach(Ve=>{const Ze=ke(Ve);1!==Ze&&i.get(Ze).push(Ve)}),i}function cr(c,y){c.classList?.add(y)}function es(c,y){c.classList?.remove(y)}function $r(c,y,i){se(i).onDone(()=>c.processLeaveNode(y))}function Do(c,y){for(let i=0;iW.add(ce)):y.set(c,b),i.delete(c),!0}class ba{constructor(y,i,b,W){this._driver=i,this._normalizer=b,this._triggerCache={},this.onRemovalComplete=(ce,ke)=>{},this._transitionEngine=new ko(y.body,i,b,W),this._timelineEngine=new Xo(y.body,i,b),this._transitionEngine.onRemovalComplete=(ce,ke)=>this.onRemovalComplete(ce,ke)}registerTrigger(y,i,b,W,ce){const ke=y+"-"+W;let Ve=this._triggerCache[ke];if(!Ve){const Ze=[],bt=_t(this._driver,ce,Ze,[]);if(Ze.length)throw function v(c,y){return new e.wOt(3404,!1)}();Ve=function ha(c,y,i){return new Rl(c,y,i)}(W,bt,this._normalizer),this._triggerCache[ke]=Ve}this._transitionEngine.registerTrigger(i,W,Ve)}register(y,i){this._transitionEngine.register(y,i)}destroy(y,i){this._transitionEngine.destroy(y,i)}onInsert(y,i,b,W){this._transitionEngine.insertNode(y,i,b,W)}onRemove(y,i,b){this._transitionEngine.removeNode(y,i,b)}disableAnimations(y,i){this._transitionEngine.markElementAsDisabled(y,i)}process(y,i,b,W){if("@"==b.charAt(0)){const[ce,ke]=R(b);this._timelineEngine.command(ce,i,ke,W)}else this._transitionEngine.trigger(y,i,b,W)}listen(y,i,b,W,ce){if("@"==b.charAt(0)){const[ke,Ve]=R(b);return this._timelineEngine.listen(ke,i,Ve,ce)}return this._transitionEngine.listen(y,i,b,W,ce)}flush(y=-1){this._transitionEngine.flush(y)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(y){this._transitionEngine.afterFlushAnimationsDone(y)}}class Mo{static#e=this.initialStylesByElement=new WeakMap;constructor(y,i,b){this._element=y,this._startStyles=i,this._endStyles=b,this._state=0;let W=Mo.initialStylesByElement.get(y);W||Mo.initialStylesByElement.set(y,W=new Map),this._initialStyles=W}start(){this._state<1&&(this._startStyles&&xt(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(xt(this._element,this._initialStyles),this._endStyles&&(xt(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Mo.initialStylesByElement.delete(this._element),this._startStyles&&(wt(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(wt(this._element,this._endStyles),this._endStyles=null),xt(this._element,this._initialStyles),this._state=3)}}function Js(c){let y=null;return c.forEach((i,b)=>{(function bo(c){return"display"===c||"position"===c})(b)&&(y=y||new Map,y.set(b,i))}),y}class Eo{constructor(y,i,b,W){this.element=y,this.keyframes=i,this.options=b,this._specialStyles=W,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=b.duration,this._delay=b.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(y=>y()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const y=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,y,this.options),this._finalKeyframe=y.length?y[y.length-1]:new Map;const i=()=>this._onFinish();this.domPlayer.addEventListener("finish",i),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",i)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(y){const i=[];return y.forEach(b=>{i.push(Object.fromEntries(b))}),i}_triggerWebAnimation(y,i,b){return y.animate(this._convertKeyframesToObject(i),b)}onStart(y){this._originalOnStartFns.push(y),this._onStartFns.push(y)}onDone(y){this._originalOnDoneFns.push(y),this._onDoneFns.push(y)}onDestroy(y){this._onDestroyFns.push(y)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(y=>y()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(y=>y()),this._onDestroyFns=[])}setPosition(y){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=y*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const y=new Map;this.hasStarted()&&this._finalKeyframe.forEach((b,W)=>{"offset"!==W&&y.set(W,this._finished?b:fn(this.element,W))}),this.currentSnapshot=y}triggerCallback(y){const i="start"===y?this._onStartFns:this._onDoneFns;i.forEach(b=>b()),i.length=0}}class wh{validateStyleProperty(y){return!0}validateAnimatableStyleProperty(y){return!0}matchesElement(y,i){return!1}containsElement(y,i){return Be(y,i)}getParentElement(y){return Y(y)}query(y,i,b){return oe(y,i,b)}computeStyle(y,i,b){return fn(y,i)}animate(y,i,b,W,ce,ke=[]){const Ze={duration:b,delay:W,fill:0==W?"both":"forwards"};ce&&(Ze.easing=ce);const tt=new Map,bt=ke.filter(Wt=>Wt instanceof Eo);(function as(c,y){return 0===c||0===y})(b,W)&&bt.forEach(Wt=>{Wt.currentSnapshot.forEach((Zt,hi)=>tt.set(hi,Zt))});let Mt=function Dt(c){return c.length?c[0]instanceof Map?c:c.map(y=>new Map(Object.entries(y))):[]}(i).map(Wt=>new Map(Wt));Mt=function ms(c,y,i){if(i.size&&y.length){let b=y[0],W=[];if(i.forEach((ce,ke)=>{b.has(ke)||W.push(ke),b.set(ke,ce)}),W.length)for(let ce=1;ceke.set(Ve,fn(c,Ve)))}}return y}(y,Mt,tt);const Lt=function va(c,y){let i=null,b=null;return Array.isArray(y)&&y.length?(i=Js(y[0]),y.length>1&&(b=Js(y[y.length-1]))):y instanceof Map&&(i=Js(y)),i||b?new Mo(c,i,b):null}(y,Mt);return new Eo(y,Mt,Ze,Lt)}}const Ao="@.disabled";class ya{constructor(y,i,b,W){this.namespaceId=y,this.delegate=i,this.engine=b,this._onDestroy=W,this.\u0275type=0}get data(){return this.delegate.data}destroyNode(y){this.delegate.destroyNode?.(y)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(y,i){return this.delegate.createElement(y,i)}createComment(y){return this.delegate.createComment(y)}createText(y){return this.delegate.createText(y)}appendChild(y,i){this.delegate.appendChild(y,i),this.engine.onInsert(this.namespaceId,i,y,!1)}insertBefore(y,i,b,W=!0){this.delegate.insertBefore(y,i,b),this.engine.onInsert(this.namespaceId,i,y,W)}removeChild(y,i,b){this.engine.onRemove(this.namespaceId,i,this.delegate)}selectRootElement(y,i){return this.delegate.selectRootElement(y,i)}parentNode(y){return this.delegate.parentNode(y)}nextSibling(y){return this.delegate.nextSibling(y)}setAttribute(y,i,b,W){this.delegate.setAttribute(y,i,b,W)}removeAttribute(y,i,b){this.delegate.removeAttribute(y,i,b)}addClass(y,i){this.delegate.addClass(y,i)}removeClass(y,i){this.delegate.removeClass(y,i)}setStyle(y,i,b,W){this.delegate.setStyle(y,i,b,W)}removeStyle(y,i,b){this.delegate.removeStyle(y,i,b)}setProperty(y,i,b){"@"==i.charAt(0)&&i==Ao?this.disableAnimations(y,!!b):this.delegate.setProperty(y,i,b)}setValue(y,i){this.delegate.setValue(y,i)}listen(y,i,b){return this.delegate.listen(y,i,b)}disableAnimations(y,i){this.engine.disableAnimations(y,i)}}class Io extends ya{constructor(y,i,b,W,ce){super(i,b,W,ce),this.factory=y,this.namespaceId=i}setProperty(y,i,b){"@"==i.charAt(0)?"."==i.charAt(1)&&i==Ao?this.disableAnimations(y,b=void 0===b||!!b):this.engine.process(this.namespaceId,y,i.slice(1),b):this.delegate.setProperty(y,i,b)}listen(y,i,b){if("@"==i.charAt(0)){const W=function hr(c){switch(c){case"body":return document.body;case"document":return document;case"window":return window;default:return c}}(y);let ce=i.slice(1),ke="";return"@"!=ce.charAt(0)&&([ce,ke]=function ol(c){const y=c.indexOf(".");return[c.substring(0,y),c.slice(y+1)]}(ce)),this.engine.listen(this.namespaceId,W,ce,ke,Ve=>{this.factory.scheduleListenerCallback(Ve._data||-1,b,Ve)})}return this.delegate.listen(y,i,b)}}class Or{constructor(y,i,b){this.delegate=y,this.engine=i,this._zone=b,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,i.onRemovalComplete=(W,ce)=>{const ke=ce?.parentNode(W);ke&&ce.removeChild(ke,W)}}createRenderer(y,i){const W=this.delegate.createRenderer(y,i);if(!y||!i?.data?.animation){const tt=this._rendererCache;let bt=tt.get(W);return bt||(bt=new ya("",W,this.engine,()=>tt.delete(W)),tt.set(W,bt)),bt}const ce=i.id,ke=i.id+"-"+this._currentId;this._currentId++,this.engine.register(ke,y);const Ve=tt=>{Array.isArray(tt)?tt.forEach(Ve):this.engine.registerTrigger(ce,ke,y,tt.name,tt)};return i.data.animation.forEach(Ve),new Io(this,ke,W,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(y,i,b){if(y>=0&&yi(b));const W=this._animationCallbacksBuffer;0==W.length&&queueMicrotask(()=>{this._zone.run(()=>{W.forEach(ce=>{const[ke,Ve]=ce;ke(Ve)}),this._animationCallbacksBuffer=[]})}),W.push([i,b])}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}var cn=We(60177);const ct=[{provide:Ie,useFactory:function Ua(){return new Cs}},{provide:ba,useClass:(()=>{class c extends ba{constructor(i,b,W){super(i,b,W,(0,e.WQX)(e.An2,{optional:!0}))}ngOnDestroy(){this.flush()}static#e=this.\u0275fac=function(b){return new(b||c)(e.KVO(cn.qQ),e.KVO(xe),e.KVO(Ie))};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac})}return c})()},{provide:e._9s,useFactory:function ot(c,y,i){return new Or(c,y,i)},deps:[M.B7,ba,e.SKi]}],Ye=[{provide:xe,useFactory:()=>new wh},{provide:e.bc$,useValue:"BrowserAnimations"},...ct],vt=[{provide:xe,useClass:be},{provide:e.bc$,useValue:"NoopAnimations"},...ct];let Ft=(()=>{class c{static withConfig(i){return{ngModule:c,providers:i.disableAnimations?vt:Ye}}static#e=this.\u0275fac=function(b){return new(b||c)};static#t=this.\u0275mod=e.$C({type:c});static#i=this.\u0275inj=e.G2t({providers:Ye,imports:[M.Bb]})}return c})();var nr=We(38117),Vs=We(93887),qo=We(88652),gr=We(19664),ac=We(45794),Mn=We(99062),jl=We(41584),lc=We(25558),cc=We(39974),al=We(54360),ll=We(33669),ad=We(58750);function Vl(c=1/0){let y;y=c&&"object"==typeof c?c:{count:c};const{count:i=1/0,delay:b,resetOnSuccess:W=!1}=y;return i<=0?ll.D:(0,cc.N)((ce,ke)=>{let Ze,Ve=0;const tt=()=>{let bt=!1;Ze=ce.subscribe((0,al._)(ke,Mt=>{W&&(Ve=0),ke.next(Mt)},void 0,Mt=>{if(Ve++{Ze?(Ze.unsubscribe(),Ze=null,tt()):bt=!0};if(null!=b){const Wt="number"==typeof b?(0,jl.O)(b):(0,ad.Tg)(b(Mt,Ve)),Zt=(0,al._)(ke,()=>{Zt.unsubscribe(),Lt()},()=>{ke.complete()});Wt.subscribe(Zt)}else Lt()}else ke.error(Mt)})),bt&&(Ze.unsubscribe(),Ze=null,tt())};tt()})}var hc=We(97647),zl=We(56977),Oo=We(5964),Gl=We(96354),vo=We(20546),Wa=We(28990),pn=We(38852),vs=We(3366),fs=We(89417);const kr=()=>["/admin"],er=()=>({action:"plugin"}),Qo=()=>({action:"pairing"}),dc=()=>({action:"group"}),uc=()=>({action:"coordinator"}),Th=()=>["/admin/firmware"],Sh=()=>["/tools/error"];function Jo(c,y){if(1&c){const i=e.RV6();e.j41(0,"li",84),e.bIt("click",function(){e.eBV(i);const W=e.XpG();return e.Njj(W.toggleMenu())}),e.EFF(1,"\n "),e.nrm(2,"i",85),e.EFF(3," "),e.nrm(4,"span",86),e.EFF(5,"\n "),e.k0s()}}function pc(c,y){if(1&c){const i=e.RV6();e.j41(0,"li",91),e.bIt("click",function(){e.eBV(i);const W=e.XpG(2);return e.Njj(W.toggleMenu())}),e.EFF(1,"\n "),e.nrm(2,"img",92),e.EFF(3,"\n "),e.k0s()}}function cl(c,y){if(1&c){const i=e.RV6();e.j41(0,"li",93),e.bIt("click",function(){e.eBV(i);const W=e.XpG(2);return e.Njj(W.toggleMenu())}),e.EFF(1,"\n "),e.nrm(2,"img",94),e.EFF(3,"\n "),e.k0s()}}function Pc(c,y){if(1&c&&(e.j41(0,"li",87),e.EFF(1,"\n "),e.nrm(2,"a",88),e.EFF(3,"\n "),e.j41(4,"ul",21),e.EFF(5,"\n "),e.DNE(6,pc,4,0,"li",89),e.EFF(7,"\n "),e.DNE(8,cl,4,0,"li",90),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.k0s()),2&c){const i=e.XpG();e.R7$(6),e.Y8G("ngIf",i.showManufacturerCasaia),e.R7$(2),e.Y8G("ngIf",i.showManufacturerZlinky)}}function Hl(c,y){1&c&&(e.j41(0,"div",95),e.EFF(1,"\n "),e.j41(2,"div",96),e.EFF(3,"\n "),e.j41(4,"div",97),e.EFF(5,"\n "),e.j41(6,"a",98),e.EFF(7,"\n "),e.nrm(8,"i",99),e.nI1(9,"translate"),e.nI1(10,"translate"),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.k0s()),2&c&&(e.R7$(6),e.Y8G("routerLink",e.lJ4(8,kr))("queryParams",e.lJ4(9,er)),e.R7$(2),e.FS9("ngbPopover",e.bMT(9,4,"header.popover.text")),e.FS9("popoverTitle",e.bMT(10,6,"header.popover.title")))}function Rc(c,y){1&c&&(e.j41(0,"div",95),e.EFF(1,"\n "),e.j41(2,"div",96),e.EFF(3,"\n "),e.j41(4,"div",97),e.EFF(5,"\n "),e.j41(6,"a",100),e.EFF(7,"\n "),e.nrm(8,"i",101),e.nI1(9,"translate"),e.nI1(10,"translate"),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.k0s()),2&c&&(e.R7$(6),e.Y8G("routerLink",e.lJ4(7,Sh)),e.R7$(2),e.FS9("ngbPopover",e.bMT(9,3,"error.popover.text")),e.FS9("popoverTitle",e.bMT(10,5,"error.popover.title")))}function Lo(c,y){if(1&c){const i=e.RV6();e.j41(0,"button",102),e.bIt("click",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.setLanguage(W))}),e.EFF(1,"\n "),e.nrm(2,"img",74),e.EFF(3,"\n "),e.k0s()}if(2&c){const i=y.$implicit;e.R7$(2),e.Mz_("src","assets/",i.flag,"",e.B4B)}}function Nc(c,y){if(1&c){const i=e.RV6();e.j41(0,"button",102),e.bIt("click",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.setLanguage(W))}),e.EFF(1,"\n "),e.nrm(2,"img",74),e.EFF(3,"\n "),e.k0s()}if(2&c){const i=y.$implicit;e.R7$(2),e.Mz_("src","assets/",i.flag,"",e.B4B)}}let Ul=(()=>{class c extends Wa.U{headerService;toastr;i18nService;apiService;translate;menuHidden=!0;permitToJoin;permitChecked=!1;restart;showManufacturerCasaia;showManufacturerZlinky;logError;settings;settingsToSave=[];plugin;poll=!1;constructor(i,b,W,ce,ke){super(),this.headerService=i,this.toastr=b,this.i18nService=W,this.apiService=ce,this.translate=ke}ngOnInit(){setTimeout(()=>{this.plugin=JSON.parse(sessionStorage.getItem("plugin"))},500),this.subs.add(this.headerService.restart.subscribe(i=>{this.restart=i})),this.subs.add(this.headerService.showManufacturerCasaia.subscribe(i=>{this.showManufacturerCasaia=i})),this.subs.add(this.headerService.showManufacturerZlinky.subscribe(i=>{this.showManufacturerZlinky=i})),this.subs.add(this.headerService.logError.subscribe(i=>this.logError=i)),this.subs.add(this.headerService.polling.subscribe(i=>{this.poll=i,this.subs.add((0,jl.O)(1,vo.c.refresh).pipe((0,lc.n)(()=>this.getPermitToJoin()),Vl(),(0,hc.u)(),(0,zl.Q)(this.headerService.polling.pipe((0,Oo.p)(b=>!1===b)))).subscribe())})),this.poll||this.getPermitToJoin().subscribe(),this.apiService.getSettings().subscribe(i=>{this.settings=i,this.settings.forEach(b=>{this.settingsToSave=this.settingsToSave.concat(b.ListOfSettings)})})}permit(i){this.permitToJoin.PermitToJoin=i.currentTarget.checked?240:0,this.startStopPermitToJoin(this.permitToJoin)}startStopPermitToJoin(i){this.apiService.putPermitToJoin(i).subscribe(()=>{240===i.PermitToJoin?(i.PermitToJoin=0,setTimeout(()=>this.startStopPermitToJoin(i),24e4),this.toastr.success(this.translate.instant("admin.permittojoin.on.notify"))):(this.getPermitToJoin().subscribe(),this.toastr.success(this.translate.instant("admin.permittojoin.off.notify")))})}toggleMenu(){this.menuHidden=!this.menuHidden}setLanguage(i){this.i18nService.language=i.code,this.updateSettings(i.code)}get currentLanguage(){return this.i18nService.language}get currentFlag(){return this.languages.find(i=>i.code===this.currentLanguage).flag}get languages(){return this.i18nService.supportedLanguages}updateSettings(i){const b={};this.settingsToSave.forEach(W=>{const ce=W.Name;let ke=W.current_value;"Lang"===ce&&(ke=i),b[ce]={current:ke}}),this.apiService.putSettings(b).subscribe()}getPermitToJoin(){return this.apiService.getPermitToJoin().pipe((0,Gl.T)(i=>{this.permitToJoin=i,this.permitChecked=0!==i.PermitToJoin}))}static \u0275fac=function(b){return new(b||c)(e.rXU(pn.d),e.rXU(ac.tw),e.rXU(nr.W4),e.rXU(vs.G),e.rXU(gr.c$))};static \u0275cmp=e.VBU({type:c,selectors:[["app-header"]],features:[e.Vt3],decls:252,vars:32,consts:[[1,"p-2","navbar","navbar-expand-xl","navbar-light","bg-light","navbar-fixed-top'"],[1,"container-fluid"],["href","https://github.com/zigbeefordomoticz/Domoticz-Zigbee",1,"navbar-brand"],["src","assets/z4d_logo.png","alt","Logo",1,"img-responsive","logo"],["type","button","aria-controls","appNavigation","aria-expanded","!menuHidden","aria-label","Toggle navigation",1,"navbar-toggler","navbar-toggler-right",3,"click"],[1,"navbar-toggler-icon"],["id","appNavigation",1,"collapse","navbar-collapse","float-xs-none","h-100","justify-content-between",3,"ngbCollapse"],[1,"navbar-nav","h-100"],["ngbDropdown","","routerLinkActive","active",1,"dropdown"],["routerLink","/dashboard","routerLinkActive","active",1,"nav-item","nav-link","mx-2"],[1,"fas","fa-home"],["ngbDropdown","","routerLinkActive","active",1,"nav-item","dropdown"],["id","dropdown1","ngbDropdownToggle","","translate","management",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown1",1,"dropdown-menu"],["routerLink","/device","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-tablet","me-2"],["translate","device"],["routerLink","/group","routerLinkActive","active",1,"dropdown-item","nav-link","nav-item",3,"click"],[1,"fas","fa-layer-group","me-2"],["translate","group"],["id","dropdown2","ngbDropdownToggle","","translate","network",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown2",1,"dropdown-menu"],["routerLink","/network/topology","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-wifi","me-2"],["translate","network.topo"],["routerLink","/network/energy-level","routerLinkActive","active",1,"dropdown-item","nav-link","nav-item",3,"click"],[1,"fas","fa-broadcast-tower","me-2"],["translate","network.energy"],["id","dropdown4","ngbDropdownToggle","","translate","admin",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown4",1,"dropdown-menu"],["routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click","routerLink","queryParams"],[1,"fas","fa-satellite-dish","me-2"],["translate","admin.plugin"],[1,"fab","fa-usb","me-2"],["translate","admin.pairing"],["translate","admin.group"],[1,"fas","fa-user","me-2"],["translate","admin.coordinator"],["routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click","routerLink"],[1,"fas","fa-retweet","me-2"],["translate","admin.firmware"],["routerLink","/settings","routerLinkActive","active",1,"nav-item","nav-link","mx-2"],[1,"fas","fa-cog"],["translate",""],["id","dropdown3","ngbDropdownToggle","","translate","tools",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown3",1,"dropdown-menu"],["routerLink","/tools/link","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-toolbox","me-2"],["translate","tools.tools"],["routerLink","/tools/command","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-lightbulb","me-2"],["translate","tools.command"],["class","dropdown-item nav-item nav-link","routerLink","/tools/configure","routerLinkActive","active",3,"click",4,"ngIf"],["routerLink","/tools/binding","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-compress-arrows-alt","me-2"],["translate","tools.binding"],["routerLink","/tools/debug","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-wrench","me-2"],["translate","tools.debug"],["routerLink","/tools/error","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-bug","me-2"],["translate","tools.error"],["ngbDropdown","","routerLinkActive","active","class","nav-item dropdown test",4,"ngIf"],["routerLink","/about","routerLinkActive","active",1,"nav-item","nav-link","mx-2"],[1,"fas","fa-question-circle"],["class","navbar-nav ml-auto",4,"ngIf"],[1,"d-none","d-xl-block"],[1,"navbar-nav","ml-auto","d-flex","align-items-center"],[1,"nav-item","border-start","ps-3"],[1,"switch","switch-sm","me-2","pe-3"],["type","checkbox","id","switch-sm",3,"ngModelChange","click","ngModel"],["for","switch-sm","translate","admin.permittojoin.label",1,"mb-0"],["ngbDropdown","","placement","bottom",1,"nav-item","border-start"],["id","language-dropdown","ngbDropdownToggle","",1,"nav-link","ps-3"],[1,"img-responsive",2,"width","1.25rem",3,"src"],["ngbDropdownMenu","","aria-labelledby","language-dropdown"],["class","dropdown-item",3,"click",4,"ngFor","ngForOf"],[1,"d-xl-none"],[1,"navbar-nav"],[1,"nav-item","border-top","mt-1"],[1,"switch","switch-sm","mt-3"],["for","switch-sm","translate","admin.permittojoin.label"],["ngbDropdown","","placement","bottom",1,"mb-3","nav-item","border-top","mt-3"],["id","language-dropdown mt-3","ngbDropdownToggle","",1,"nav-link"],["routerLink","/tools/configure","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-user-cog","me-2"],["translate","tools.reporting.configure"],["ngbDropdown","","routerLinkActive","active",1,"nav-item","dropdown","test"],["id","dropdown2","ngbDropdownToggle","","translate","manufacturer",1,"nav-link","nav-item","dropdown-toggle"],["class","dropdown-item nav-item nav-link","routerLink","/manufacturer/casaia","routerLinkActive","active",3,"click",4,"ngIf"],["class","dropdown-item nav-item nav-link","routerLink","/manufacturer/zlinky","routerLinkActive","active",3,"click",4,"ngIf"],["routerLink","/manufacturer/casaia","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],["src","assets/logo-casa.svg",2,"width","50%","height","50%"],["routerLink","/manufacturer/zlinky","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],["src","https://lixee.fr/img/prestashop-logo-1599316711.jpg",2,"width","30%","height","30%"],[1,"navbar-nav","ml-auto"],["ngbDropdown","","placement","bottom",1,"nav-item","d-flex","align-items-center","border-left","pl-5"],[1,"me-3"],["routerLinkActive","active",1,"nav-item","nav-link","mx-2",3,"routerLink","queryParams"],["triggers","mouseenter:mouseleave",1,"fa","fa-2x","fa-exclamation-circle","blink",3,"ngbPopover","popoverTitle"],["routerLinkActive","active",1,"nav-item","nav-link","mx-2",3,"routerLink"],["triggers","mouseenter:mouseleave",1,"fa","fa-2x","fa-exclamation-triangle","blink",3,"ngbPopover","popoverTitle"],[1,"dropdown-item",3,"click"]],template:function(b,W){1&b&&(e.j41(0,"nav",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.j41(4,"a",2),e.EFF(5,"\n "),e.nrm(6,"img",3),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n\n "),e.j41(9,"button",4),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(10,"\n "),e.nrm(11,"span",5),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n\n "),e.j41(14,"div",6),e.EFF(15,"\n "),e.j41(16,"ul",7),e.EFF(17,"\n "),e.j41(18,"li",8),e.EFF(19,"\n "),e.j41(20,"a",9),e.EFF(21,"\n "),e.nrm(22,"i",10),e.EFF(23,"\n "),e.j41(24,"span"),e.EFF(25),e.k0s(),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.j41(29,"li",11),e.EFF(30,"\n "),e.nrm(31,"a",12),e.EFF(32,"\n "),e.j41(33,"ul",13),e.EFF(34,"\n "),e.j41(35,"li",14),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(36,"\n "),e.nrm(37,"i",15),e.EFF(38," "),e.nrm(39,"span",16),e.EFF(40,"\n "),e.k0s(),e.EFF(41,"\n "),e.j41(42,"li",17),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(43,"\n "),e.nrm(44,"i",18),e.EFF(45," "),e.nrm(46,"span",19),e.EFF(47,"\n "),e.k0s(),e.EFF(48,"\n "),e.k0s(),e.EFF(49,"\n "),e.k0s(),e.EFF(50,"\n "),e.j41(51,"li",11),e.EFF(52,"\n "),e.nrm(53,"a",20),e.EFF(54,"\n "),e.j41(55,"ul",21),e.EFF(56,"\n "),e.j41(57,"li",22),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(58,"\n "),e.nrm(59,"i",23),e.EFF(60," "),e.nrm(61,"span",24),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n "),e.j41(64,"li",25),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(65,"\n "),e.nrm(66,"i",26),e.EFF(67," "),e.nrm(68,"span",27),e.EFF(69,"\n "),e.k0s(),e.EFF(70,"\n "),e.k0s(),e.EFF(71,"\n "),e.k0s(),e.EFF(72,"\n\n "),e.j41(73,"li",11),e.EFF(74,"\n "),e.nrm(75,"a",28),e.EFF(76,"\n "),e.j41(77,"ul",29),e.EFF(78,"\n "),e.j41(79,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(80,"\n "),e.nrm(81,"i",31),e.EFF(82," "),e.nrm(83,"span",32),e.EFF(84,"\n "),e.k0s(),e.EFF(85,"\n "),e.j41(86,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(87,"\n "),e.nrm(88,"i",33),e.EFF(89," "),e.nrm(90,"span",34),e.EFF(91,"\n "),e.k0s(),e.EFF(92,"\n "),e.j41(93,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(94,"\n "),e.nrm(95,"i",18),e.EFF(96," "),e.nrm(97,"span",35),e.EFF(98,"\n "),e.k0s(),e.EFF(99,"\n "),e.j41(100,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(101,"\n "),e.nrm(102,"i",36),e.EFF(103," "),e.nrm(104,"span",37),e.EFF(105,"\n "),e.k0s(),e.EFF(106,"\n "),e.j41(107,"li",38),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(108,"\n "),e.nrm(109,"i",39),e.EFF(110," "),e.nrm(111,"span",40),e.EFF(112,"\n "),e.k0s(),e.EFF(113,"\n "),e.k0s(),e.EFF(114,"\n "),e.k0s(),e.EFF(115,"\n\n "),e.j41(116,"li",8),e.EFF(117,"\n "),e.j41(118,"a",41),e.EFF(119,"\n "),e.nrm(120,"i",42),e.EFF(121,"\n "),e.j41(122,"span",43),e.EFF(123,"settings"),e.k0s(),e.EFF(124,"\n "),e.k0s(),e.EFF(125,"\n "),e.k0s(),e.EFF(126,"\n "),e.j41(127,"li",11),e.EFF(128,"\n "),e.nrm(129,"a",44),e.EFF(130,"\n "),e.j41(131,"ul",45),e.EFF(132,"\n "),e.j41(133,"li",46),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(134,"\n "),e.nrm(135,"i",47),e.EFF(136," "),e.nrm(137,"span",48),e.EFF(138,"\n "),e.k0s(),e.EFF(139,"\n "),e.j41(140,"li",49),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(141,"\n "),e.nrm(142,"i",50),e.EFF(143," "),e.nrm(144,"span",51),e.EFF(145,"\n "),e.k0s(),e.EFF(146,"\n "),e.DNE(147,Jo,6,0,"li",52),e.EFF(148,"\n "),e.j41(149,"li",53),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(150,"\n "),e.nrm(151,"i",54),e.EFF(152," "),e.nrm(153,"span",55),e.EFF(154,"\n "),e.k0s(),e.EFF(155,"\n "),e.j41(156,"li",56),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(157,"\n "),e.nrm(158,"i",57),e.EFF(159," "),e.nrm(160,"span",58),e.EFF(161,"\n "),e.k0s(),e.EFF(162,"\n "),e.j41(163,"li",59),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(164,"\n "),e.nrm(165,"i",60),e.EFF(166," "),e.nrm(167,"span",61),e.EFF(168,"\n "),e.k0s(),e.EFF(169,"\n "),e.k0s(),e.EFF(170,"\n "),e.k0s(),e.EFF(171,"\n "),e.DNE(172,Pc,11,2,"li",62),e.EFF(173,"\n\n "),e.j41(174,"li",8),e.EFF(175,"\n "),e.j41(176,"a",63),e.EFF(177,"\n "),e.nrm(178,"i",64),e.EFF(179,"\n "),e.j41(180,"span",43),e.EFF(181,"About"),e.k0s(),e.EFF(182,"\n "),e.k0s(),e.EFF(183,"\n "),e.k0s(),e.EFF(184,"\n "),e.k0s(),e.EFF(185,"\n\n "),e.DNE(186,Hl,15,10,"div",65),e.EFF(187,"\n "),e.DNE(188,Rc,15,8,"div",65),e.EFF(189,"\n "),e.j41(190,"div",66),e.EFF(191,"\n "),e.j41(192,"div",67),e.EFF(193,"\n "),e.j41(194,"div",68),e.EFF(195,"\n "),e.j41(196,"div",69),e.EFF(197,"\n "),e.j41(198,"input",70),e.mxI("ngModelChange",function(ke){return e.DH7(W.permitChecked,ke)||(W.permitChecked=ke),ke}),e.bIt("click",function(ke){return W.permit(ke)}),e.k0s(),e.EFF(199,"\n "),e.nrm(200,"label",71),e.EFF(201,"\n "),e.k0s(),e.EFF(202,"\n "),e.k0s(),e.EFF(203,"\n "),e.j41(204,"div",72),e.EFF(205,"\n "),e.j41(206,"div"),e.EFF(207,"\n "),e.j41(208,"a",73),e.nrm(209,"img",74),e.EFF(210,"\n "),e.k0s(),e.EFF(211,"\n "),e.j41(212,"div",75),e.EFF(213,"\n "),e.DNE(214,Lo,4,2,"button",76),e.EFF(215,"\n "),e.k0s(),e.EFF(216,"\n "),e.k0s(),e.EFF(217,"\n "),e.k0s(),e.EFF(218,"\n "),e.k0s(),e.EFF(219,"\n "),e.k0s(),e.EFF(220,"\n "),e.j41(221,"div",77),e.EFF(222,"\n "),e.j41(223,"div",78),e.EFF(224,"\n "),e.j41(225,"div",79),e.EFF(226,"\n "),e.j41(227,"div",80),e.EFF(228,"\n "),e.j41(229,"input",70),e.mxI("ngModelChange",function(ke){return e.DH7(W.permitChecked,ke)||(W.permitChecked=ke),ke}),e.bIt("click",function(ke){return W.permit(ke)}),e.k0s(),e.EFF(230,"\n "),e.nrm(231,"label",81),e.EFF(232,"\n "),e.k0s(),e.EFF(233,"\n "),e.k0s(),e.EFF(234,"\n "),e.j41(235,"div",82),e.EFF(236,"\n "),e.j41(237,"a",83),e.nrm(238,"img",74),e.EFF(239,"\n "),e.k0s(),e.EFF(240,"\n "),e.j41(241,"div",75),e.EFF(242,"\n "),e.DNE(243,Nc,4,2,"button",76),e.EFF(244,"\n "),e.k0s(),e.EFF(245,"\n "),e.k0s(),e.EFF(246,"\n "),e.k0s(),e.EFF(247,"\n "),e.k0s(),e.EFF(248,"\n "),e.k0s(),e.EFF(249,"\n "),e.k0s(),e.EFF(250,"\n"),e.k0s(),e.EFF(251,"\n")),2&b&&(e.R7$(14),e.Y8G("ngbCollapse",W.menuHidden),e.R7$(11),e.JRh(null==W.plugin?null:W.plugin.Name),e.R7$(54),e.Y8G("routerLink",e.lJ4(23,kr))("queryParams",e.lJ4(24,er)),e.R7$(7),e.Y8G("routerLink",e.lJ4(25,kr))("queryParams",e.lJ4(26,Qo)),e.R7$(7),e.Y8G("routerLink",e.lJ4(27,kr))("queryParams",e.lJ4(28,dc)),e.R7$(7),e.Y8G("routerLink",e.lJ4(29,kr))("queryParams",e.lJ4(30,uc)),e.R7$(7),e.Y8G("routerLink",e.lJ4(31,Th)),e.R7$(40),e.Y8G("ngIf",null==W.plugin?null:W.plugin.Zigpy),e.R7$(25),e.Y8G("ngIf",W.showManufacturerCasaia||W.showManufacturerZlinky),e.R7$(14),e.Y8G("ngIf",W.restart),e.R7$(2),e.Y8G("ngIf",W.logError),e.R7$(10),e.R50("ngModel",W.permitChecked),e.R7$(11),e.Mz_("src","assets/",W.currentFlag,"",e.B4B),e.R7$(5),e.Y8G("ngForOf",W.languages),e.R7$(15),e.R50("ngModel",W.permitChecked),e.R7$(9),e.Mz_("src","assets/",W.currentFlag,"",e.B4B),e.R7$(5),e.Y8G("ngForOf",W.languages))},dependencies:[cn.Sq,cn.bT,gr.Mm,qo.$G,qo.tg,qo.do,qo.U0,qo.ZM,fs.Zm,fs.BC,fs.vS,Mn.Wk,Mn.wQ,gr.D9],styles:[".navbar[_ngcontent-%COMP%]{margin-bottom:1rem}a[_ngcontent-%COMP%]:not([href]):not([tabindex]){cursor:pointer}.dropdown-menu[_ngcontent-%COMP%]{cursor:pointer}.logo[_ngcontent-%COMP%]{width:50px}li.test[_ngcontent-%COMP%] .dropdown-item.active[_ngcontent-%COMP%], li.test[_ngcontent-%COMP%] .dropdown-item[_ngcontent-%COMP%]:active{color:transparent;text-decoration:none;background-color:transparent}"]})}return c})();var As=We(27468),Fc=We(84412);let Po=(()=>{class c{reload=new Fc.t(!1);constructor(){}setReload(i){this.reload.next(i)}static \u0275fac=function(b){return new(b||c)};static \u0275prov=e.jDH({token:c,factory:c.\u0275fac,providedIn:"root"})}return c})();function ea(c,y){1&c&&(e.qex(0),e.EFF(1,"\n "),e.bVm())}function Hs(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"translate"),e.k0s()),2&c){const i=e.XpG(2);e.R7$(),e.LHq("",e.bMT(2,4,"dashboard.rxps")," : ",i.fork.pluginStats.Rxps,"\xa0\xa0\xa0",e.bMT(3,6,"dashboard.txps"),"\n : ",i.fork.pluginStats.Txps,"\xa0\xa0\xa0")}}function Xs(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"translate"),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.LHq("",e.bMT(2,4,"dashboard.rxpm")," : ",i.fork.pluginStats.Rxpm,"\xa0\xa0\xa0",e.bMT(3,6,"dashboard.txpm"),"\n : ",i.fork.pluginStats.Txpm,"\xa0\xa0\xa0")}}function ta(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"translate"),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.LHq("",e.bMT(2,4,"dashboard.rxph")," : ",i.fork.pluginStats.Rxph,"\xa0\xa0\xa0",e.bMT(3,6,"dashboard.txph"),"\n : ",i.fork.pluginStats.Txph,"\xa0\xa0\xa0")}}function hl(c,y){if(1&c&&(e.EFF(0,"\n "),e.DNE(1,Xs,4,8,"span",22),e.EFF(2,"\n\n "),e.DNE(3,ta,4,8,"ng-template",null,4,e.C5r),e.EFF(5,"\n ")),2&c){const i=e.sdS(4),b=e.XpG(2);e.R7$(),e.Y8G("ngIf",b.fork.pluginStats.Rxpm>=.5&&b.fork.pluginStats.Txpm>=.5)("ngIfElse",i)}}function xa(c,y){if(1&c&&(e.j41(0,"div",23),e.EFF(1,"\n "),e.j41(2,"span"),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.EFF(5,"\n "),e.k0s()),2&c){const i=e.XpG(2);e.R7$(3),e.Lme("",e.bMT(4,2,"dashboard.health.group")," ",null==i.fork.pluginHealth?null:i.fork.pluginHealth.GroupStatus,"")}}function Xr(c,y){if(1&c&&(e.j41(0,"div",24),e.EFF(1,"\n "),e.nrm(2,"span",25),e.j41(3,"span"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.k0s()),2&c){const i=e.XpG(2);e.R7$(4),e.Lme("",null==i.fork.pluginHealth?null:i.fork.pluginHealth.OTAupdateDevice," ",null==i.fork.pluginHealth?null:i.fork.pluginHealth.OTAupdateProgress,"")}}function _a(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.SpI("[",i.fork.plugin.CertifiedDbVersion,"]")}}function ia(c,y){if(1&c&&(e.j41(0,"div",26),e.EFF(1,"\n "),e.j41(2,"a",27),e.nI1(3,"translate"),e.EFF(4,"\n "),e.nrm(5,"span",28),e.EFF(6),e.DNE(7,_a,2,1,"span",29),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.k0s()),2&c){const i=e.XpG(2),b=e.sdS(6);e.R7$(2),e.FS9("popoverTitle",e.bMT(3,4,"dashboard.plugin.update.available.title")),e.Y8G("ngbPopover",b),e.R7$(4),e.SpI("\n ",i.fork.plugin.PluginVersion,"\n "),e.R7$(),e.Y8G("ngIf",i.fork.plugin.CertifiedDbVersion)}}function kh(c,y){if(1&c&&(e.j41(0,"div",30),e.EFF(1,"\n "),e.j41(2,"a",27),e.nI1(3,"translate"),e.EFF(4,"\n "),e.nrm(5,"span",31),e.EFF(6),e.k0s(),e.EFF(7,"\n "),e.k0s()),2&c){const i=e.XpG(2),b=e.sdS(3);e.R7$(2),e.FS9("popoverTitle",e.bMT(3,3,"dashboard.firmware.update.available.title")),e.Y8G("ngbPopover",b),e.R7$(4),e.SpI("",i.fork.plugin.DisplayFirmwareVersion,"\n ")}}function Dh(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.SpI("[",i.fork.plugin.CertifiedDbVersion,"]")}}function Wl(c,y){if(1&c&&(e.j41(0,"div",32),e.EFF(1,"\n "),e.nrm(2,"span",28),e.EFF(3),e.DNE(4,Dh,2,1,"span",29),e.EFF(5,"\n "),e.k0s()),2&c){const i=e.XpG(2);e.R7$(3),e.SpI("\n ",i.fork.plugin.PluginVersion,"\n "),e.R7$(),e.Y8G("ngIf",i.fork.plugin.CertifiedDbVersion)}}function Ca(c,y){if(1&c&&(e.j41(0,"div",33),e.EFF(1,"\n "),e.nrm(2,"span",31),e.EFF(3),e.k0s()),2&c){const i=e.XpG(2);e.R7$(3),e.SpI("",i.fork.plugin.DisplayFirmwareVersion,"\n ")}}function Mh(c,y){if(1&c&&(e.j41(0,"footer",6),e.EFF(1,"\n "),e.j41(2,"div",7),e.EFF(3,"\n "),e.j41(4,"div",8),e.EFF(5,"\n "),e.j41(6,"div",9),e.EFF(7,"\n "),e.nrm(8,"span",10),e.EFF(9),e.nI1(10,"date"),e.k0s(),e.EFF(11,"\n "),e.j41(12,"div",11),e.EFF(13,"\n "),e.DNE(14,ea,2,0,"ng-container",12),e.EFF(15,"\n\n "),e.DNE(16,Hs,4,8,"ng-template",null,2,e.C5r),e.EFF(18,"\n "),e.DNE(19,hl,6,2,"ng-template",null,3,e.C5r),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.j41(23,"div",13),e.EFF(24),e.nI1(25,"translate"),e.k0s(),e.EFF(26,"\n "),e.j41(27,"div",14),e.EFF(28,"\n "),e.nrm(29,"span",15),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.DNE(32,xa,6,4,"div",16),e.EFF(33,"\n\n "),e.DNE(34,Xr,6,2,"div",17),e.EFF(35,"\n\n "),e.DNE(36,ia,10,6,"div",18),e.EFF(37,"\n "),e.DNE(38,kh,8,5,"div",19),e.EFF(39,"\n "),e.DNE(40,Wl,6,2,"div",20),e.EFF(41,"\n "),e.DNE(42,Ca,4,1,"div",21),e.EFF(43,"\n "),e.k0s(),e.EFF(44,"\n "),e.k0s(),e.EFF(45,"\n"),e.k0s()),2&c){const i=e.sdS(17),b=e.sdS(20),W=e.XpG();e.R7$(2),e.Y8G("ngClass",4===(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)?"bg-primary fixed-bottom":3===(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)?"bg-danger fixed-bottom":1!==(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)||null!=W.fork.pluginHealth&&W.fork.pluginHealth.GroupStatus&&"ready"!==(null==W.fork.pluginHealth?null:W.fork.pluginHealth.GroupStatus)?2===(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)||"ready"!==(null==W.fork.pluginHealth?null:W.fork.pluginHealth.GroupStatus)?"bg-warning fixed-bottom":"bg-danger fixed-bottom":"bg-success fixed-bottom"),e.R7$(7),e.SpI("",e.i5U(10,14,1e3*(null==W.fork.pluginStats?null:W.fork.pluginStats.StartTime),"dd/MM/yyyy\n HH:mm:ss"),"\n "),e.R7$(5),e.Y8G("ngIf",W.fork.pluginStats.Rxps>=.5&&W.fork.pluginStats.Txps>=.5)("ngIfThen",i)("ngIfElse",b),e.R7$(10),e.Lme("\n ",e.bMT(25,17,"dashboard.maxload")," : ",W.fork.pluginStats.MaxLoad,"\n "),e.R7$(5),e.FS9("translate",null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthTxt),e.R7$(3),e.Y8G("ngIf",null==W.fork.pluginHealth?null:W.fork.pluginHealth.GroupStatus),e.R7$(2),e.Y8G("ngIf",null==W.fork.pluginHealth?null:W.fork.pluginHealth.OTAupdateDevice),e.R7$(2),e.Y8G("ngIf",null==W.fork.plugin?null:W.fork.plugin.PluginUpdate),e.R7$(2),e.Y8G("ngIf",null==W.fork.plugin?null:W.fork.plugin.FirmwareUpdate),e.R7$(2),e.Y8G("ngIf",!(null!=W.fork.plugin&&W.fork.plugin.PluginUpdate)),e.R7$(2),e.Y8G("ngIf",!(null!=W.fork.plugin&&W.fork.plugin.FirmwareUpdate))}}function dl(c,y){1&c&&(e.nrm(0,"span",34),e.nI1(1,"translate")),2&c&&e.Y8G("innerHTML",e.bMT(1,1,"dashboard.firmware.update.available"),e.npT)}function Yr(c,y){1&c&&(e.nrm(0,"span",34),e.nI1(1,"translate")),2&c&&e.Y8G("innerHTML",e.bMT(1,1,"dashboard.plugin.update.available"),e.npT)}let na=(()=>{class c extends Wa.U{apiService;versionService;headerService;fork$;poll=!1;fork;constructor(i,b,W){super(),this.apiService=i,this.versionService=b,this.headerService=W}ngOnInit(){this.fork$=(0,As.p)([this.apiService.getPluginhealth(),this.apiService.getPluginStats(),this.apiService.getPlugin()]).pipe((0,Gl.T)(([i,b,W])=>{this.headerService.setError(b.Error),this.fork={pluginHealth:i,pluginStats:b,plugin:W},W&&sessionStorage.setItem("plugin",JSON.stringify(W))})),this.subs.sink=this.headerService.polling.subscribe(i=>{this.poll=i,this.subs.add((0,jl.O)(1,vo.c.refresh).pipe((0,lc.n)(()=>this.fork$),Vl(),(0,hc.u)(),(0,zl.Q)(this.headerService.polling.pipe((0,Oo.p)(b=>!1===b)))).subscribe())}),this.versionService.reload.subscribe(()=>{this.fork$.subscribe()})}static \u0275fac=function(b){return new(b||c)(e.rXU(vs.G),e.rXU(Po),e.rXU(pn.d))};static \u0275cmp=e.VBU({type:c,selectors:[["app-version"]],features:[e.Vt3],decls:8,vars:1,consts:[["popContentFirmware",""],["popContentPlugin",""],["perSecond",""],["other",""],["perHour",""],["class","navbar navbar-fixed-bottom navbar-expand-lg","style","line-height: 1",4,"ngIf"],[1,"navbar","navbar-fixed-bottom","navbar-expand-lg",2,"line-height","1"],[3,"ngClass"],[1,"d-flex","flex-row","justify-content-between"],[1,"order-first","p-2","text-white","ms-2"],["translate","dashboard.health.starttime"],[1,"order-0","p-2","text-center","text-white","d-none","d-xl-block"],[4,"ngIf","ngIfThen","ngIfElse"],[1,"d-none","d-md-block","order-1","p-2","text-center","text-white"],[1,"order-1","p-2","text-center","text-white"],[3,"translate"],["class","d-none d-lg-block order-2 p-2 text-center text-white",4,"ngIf"],["class","order-3 p-2 text-center text-white d-none d-lg-block",4,"ngIf"],["class","order-4 p-2",4,"ngIf"],["class","me-2 order-5 p-2",4,"ngIf"],["class","order-4 p-2 text-white",4,"ngIf"],["class","d-none d-lg-block me-2 order-5 p-2 text-white",4,"ngIf"],[4,"ngIf","ngIfElse"],[1,"d-none","d-lg-block","order-2","p-2","text-center","text-white"],[1,"order-3","p-2","text-center","text-white","d-none","d-lg-block"],["translate","dashboard.health.OTA"],[1,"order-4","p-2"],["placement","top",1,"text-danger",2,"cursor","pointer",3,"ngbPopover","popoverTitle"],["translate","dashboard.plugin.version"],[4,"ngIf"],[1,"me-2","order-5","p-2"],["translate","dashboard.firmware.version"],[1,"order-4","p-2","text-white"],[1,"d-none","d-lg-block","me-2","order-5","p-2","text-white"],[3,"innerHTML"]],template:function(b,W){1&b&&(e.DNE(0,Mh,46,19,"footer",5),e.EFF(1,"\n\n"),e.DNE(2,dl,2,3,"ng-template",null,0,e.C5r),e.EFF(4,"\n\n"),e.DNE(5,Yr,2,3,"ng-template",null,1,e.C5r),e.EFF(7,"\n")),2&b&&e.Y8G("ngIf",W.fork)},dependencies:[cn.YU,cn.bT,gr.Mm,qo.ZM,cn.vh,gr.D9]})}return c})(),$l=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275cmp=e.VBU({type:c,selectors:[["app-shell"]],decls:9,vars:0,consts:[[1,"container-fluid"]],template:function(b,W){1&b&&(e.nrm(0,"app-header"),e.EFF(1,"\n"),e.j41(2,"div",0),e.EFF(3,"\n "),e.nrm(4,"router-outlet"),e.EFF(5,"\n"),e.k0s(),e.EFF(6,"\n"),e.nrm(7,"app-version"),e.EFF(8,"\n"))},dependencies:[Mn.n3,Ul,na]})}return c})();class fc{static childRoutes(y){return{path:"",component:$l,children:y,data:{reuse:!0}}}}const Ge=[fc.childRoutes([{path:"about",loadChildren:()=>We.e(644).then(We.bind(We,60644)).then(c=>c.AboutModule)},{path:"device",loadChildren:()=>We.e(12).then(We.bind(We,55012)).then(c=>c.DeviceModule)},{path:"group",loadChildren:()=>Promise.all([We.e(76),We.e(577)]).then(We.bind(We,74577)).then(c=>c.GroupModule)},{path:"network",loadChildren:()=>We.e(837).then(We.bind(We,86837)).then(c=>c.NetworkModule)},{path:"admin",loadChildren:()=>Promise.all([We.e(76),We.e(908)]).then(We.bind(We,5908)).then(c=>c.AdminModule)},{path:"settings",loadChildren:()=>We.e(521).then(We.bind(We,16521)).then(c=>c.SettingsModule)},{path:"manufacturer",loadChildren:()=>We.e(317).then(We.bind(We,22317)).then(c=>c.ManufacturerModule)},{path:"tools",loadChildren:()=>We.e(846).then(We.bind(We,2846)).then(c=>c.ToolsModule)}]),{path:"**",redirectTo:"",pathMatch:"full"}];let ut=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({imports:[Mn.iI.forRoot(Ge,{preloadingStrategy:Mn.Kp}),Mn.iI]})}return c})();var Ke=We(57786),at=We(73028),Et=We(5779),Jt=We(21413),ci=We(33726),Oi=We(7673),Wn=We(983),Qn=We(71985),os=We(88141),xn=We(70152),ys=We(70980);function Bi(){return["Mac","iPhone","iPad"].some(y=>navigator.userAgent.includes(y))?"apple":"pc"}function En(c,y){const i={up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight"};function b(W){return"pc"===y&&"meta"===W&&(W="control"),W in i&&(W=i[W]),W}return c.toLowerCase().split(">").map(W=>W.split(".").map(b).join(".")).join(">")}let ks=(()=>{class c{constructor(i,b){this.eventManager=i,this.document=b,this.hotkeys=new Map,this.dispose=new Jt.B,this.defaults={trigger:"keydown",allowIn:[],element:this.document.documentElement,group:void 0,description:void 0,showInHelpMenu:!0,preventDefault:!0},this.callbacks=[],this.sequenceMaps=new Map,this.sequenceDebounce=250}getHotkeys(){const i=Array.from(this.sequenceMaps.values()).map(b=>[b.hotkeyMap].reduce((W,ce)=>[...ce.values()],[])).reduce((b,W)=>W,[]).map(b=>b.hotkey);return Array.from(this.hotkeys.values()).concat(i)}getShortcuts(){const i=this.getHotkeys(),b=[];for(const W of i){if(!W.showInHelpMenu)continue;let ce=b.find(Ve=>Ve.group===W.group);ce||(ce={group:W.group,hotkeys:[]},b.push(ce));const ke=En(W.keys,Bi());ce.hotkeys.push({keys:ke,description:W.description})}return b}addSequenceShortcut(i){const b=(Ve,Ze)=>{let tt="";return(0,ci.R)(Ve,Ze).pipe((0,os.M)(bt=>tt=`${tt}${tt?">":""}${bt.ctrlKey?"control.":""}${bt.altKey?"alt.":""}${bt.shiftKey?"shift.":""}${bt.key}`),(0,xn.B)(this.sequenceDebounce),(0,at.Z)(()=>{const bt=tt;tt="";const Mt=this.sequenceMaps.get(Ve);if(Mt.hotkeyMap.has(bt)){const Lt=Mt.hotkeyMap.get(bt);return Lt.subject.next(Lt.hotkey),(0,Oi.of)(Lt.hotkey)}return Wn.w}))},W={...this.defaults,...i};let ce=En(W.keys,Bi());return(()=>{const Ve={subject:new Jt.B,hotkey:W};if(this.sequenceMaps.has(W.element)){const Ze=this.sequenceMaps.get(W.element);if(Ze.hotkeyMap.has(ce))return console.error("Duplicated shortcut"),(0,Oi.of)(null);Ze.hotkeyMap.set(ce,Ve)}else{const Ze=b(W.element,W.trigger),Mt={subscription:Ze.subscribe(),observer:Ze,hotkeyMap:new Map([[ce,Ve]])};this.sequenceMaps.set(W.element,Mt)}return Ve.subject.asObservable()})().pipe((0,zl.Q)(this.dispose.pipe((0,Oo.p)(Ve=>Ve===ce))),(0,Oo.p)(Ve=>!this.targetIsExcluded(Ve.allowIn)),(0,os.M)(Ve=>this.callbacks.forEach(Ze=>Ze(Ve,ce,Ve.element))),(0,ys.j)(()=>this.removeShortcuts(ce)))}addShortcut(i){const b={...this.defaults,...i},W=En(b.keys,Bi());if(this.hotkeys.has(W))return console.error("Duplicated shortcut"),(0,Oi.of)(null);this.hotkeys.set(W,b);const ce=`${b.trigger}.${W}`;return new Qn.c(ke=>{const Ze=this.eventManager.addEventListener(b.element,ce,tt=>{const bt=this.hotkeys.get(W);this.targetIsExcluded(bt.allowIn)||(b.preventDefault&&tt.preventDefault(),this.callbacks.forEach(Lt=>Lt(tt,W,bt.element)),ke.next(tt))});return()=>{this.hotkeys.delete(W),Ze()}}).pipe((0,zl.Q)(this.dispose.pipe((0,Oo.p)(ke=>ke===W))))}removeShortcuts(i){(function gi(c){return Array.isArray(c)?c:[c]})(i).map(W=>En(W,Bi())).forEach(W=>{this.hotkeys.delete(W),this.dispose.next(W),this.sequenceMaps.forEach((ce,ke)=>{const Ve=ce.hotkeyMap.get(W);Ve&&(Ve.subject.observers.filter(Ze=>!Ze.closed).forEach(Ze=>Ze.unsubscribe()),ce.hotkeyMap.delete(W)),0===ce.hotkeyMap.size&&(ce.subscription.unsubscribe(),this.sequenceMaps.delete(ke))})})}setSequenceDebounce(i){this.sequenceDebounce=i}onShortcut(i){return this.callbacks.push(i),()=>this.callbacks=this.callbacks.filter(b=>b!==i)}registerHelpModal(i,b=""){this.addShortcut({keys:b||"shift.?",showInHelpMenu:!1,preventDefault:!1}).subscribe(W=>{!/^(input|textarea|select)$/i.test(document.activeElement.nodeName)&&!W.target.isContentEditable&&this.hotkeys.size&&i()})}targetIsExcluded(i){const b=this.document.activeElement,ce=b.isContentEditable;let ke=["INPUT","SELECT","TEXTAREA"].includes(b.nodeName)||ce;if(ke&&i?.length)for(let Ve of i)if(b.nodeName===Ve||"CONTENTEDITABLE"===Ve&&ce){ke=!1;break}return ke}static#e=this.\u0275fac=function(b){return new(b||c)(e.KVO(M.EU),e.KVO(cn.qQ))};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac,providedIn:"root"})}return c})();const Qi=new nr.Vy("App");let No=(()=>{class c extends Wa.U{router;activatedRoute;titleService;translateService;apiService;i18nService;headerService;primengConfig;hotkeys;keysBoundActive=vo.c.keysBoundActive;activateRefresh=!1;statusChangeSubscription;hasRememberedConsent;constructor(i,b,W,ce,ke,Ve,Ze,tt,bt){super(),this.router=i,this.activatedRoute=b,this.titleService=W,this.translateService=ce,this.apiService=ke,this.i18nService=Ve,this.headerService=Ze,this.primengConfig=tt,this.hotkeys=bt}ngOnInit(){this.primengConfig.ripple=!0,vo.c.production&&nr.Vy.enableProductionMode(),Qi.debug("init"),this.i18nService.init(vo.c.defaultLanguage,vo.c.supportedLanguages),this.subs.sink=(0,As.p)([this.apiService.getCasiaDevices(),this.apiService.getZlinky()]).subscribe(([i,b])=>{i.length>0&&this.headerService.setShowManufacturerCasaia(!0),b.length>0&&this.headerService.setShowManufacturerZlinky(!0)}),this.apiService.getPlugin().subscribe(i=>{sessionStorage.setItem("plugin",JSON.stringify(i)),this.titleService.setTitle(i?.Name.concat(" - ").concat(this.translateService.instant("dashboard"))),this.setTitle()}),this.keysBoundActive.forEach(i=>{this.subs.add(this.hotkeys.addSequenceShortcut({keys:i}).subscribe(()=>{this.activateRefresh=!this.activateRefresh,this.headerService.setPolling(this.activateRefresh)}))})}setTitle(){const i=this.router.events.pipe((0,Oo.p)(b=>b instanceof Mn.wF));(0,Ke.h)(this.translateService.onLangChange,i).pipe((0,Gl.T)(()=>{let b=this.activatedRoute;for(;b.firstChild;)b=b.firstChild;return b}),(0,Oo.p)(b=>"primary"===b.outlet),(0,at.Z)(b=>b.data),(0,nr.s0)(this)).subscribe(b=>{const W=b.title;if(W){const ce=JSON.parse(sessionStorage.getItem("plugin"));this.titleService.setTitle(ce?.Name.concat(" - ").concat(this.translateService.instant(W)))}})}ngOnDestroy(){this.i18nService.destroy(),this.statusChangeSubscription.unsubscribe(),this.hasRememberedConsent.unsubscribe()}static \u0275fac=function(b){return new(b||c)(e.rXU(Mn.Ix),e.rXU(Mn.nX),e.rXU(M.hE),e.rXU(gr.c$),e.rXU(vs.G),e.rXU(nr.W4),e.rXU(pn.d),e.rXU(Et.r1),e.rXU(ks))};static \u0275cmp=e.VBU({type:c,selectors:[["app-root"]],features:[e.Vt3],decls:2,vars:0,template:function(b,W){1&b&&(e.nrm(0,"router-outlet"),e.EFF(1,"\n"))},dependencies:[Mn.n3]})}return c})();var Xl=We(31635);class wa{attach(y){return this._attachedHost=y,y.attach(this)}detach(){let y=this._attachedHost;null!=y&&(this._attachedHost=null,y.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(y){this._attachedHost=y}}class yo extends wa{constructor(y,i,b,W,ce){super(),this.component=y,this.viewContainerRef=i,this.injector=b,this.componentFactoryResolver=W,this.projectableNodes=ce}}class Zr extends wa{constructor(y,i,b,W){super(),this.templateRef=y,this.viewContainerRef=i,this.context=b,this.injector=W}get origin(){return this.templateRef.elementRef}attach(y,i=this.context){return this.context=i,super.attach(y)}detach(){return this.context=void 0,super.detach()}}class $a extends wa{constructor(y){super(),this.element=y instanceof e.aKT?y.nativeElement:y}}class rn{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(y){return y instanceof yo?(this._attachedPortal=y,this.attachComponentPortal(y)):y instanceof Zr?(this._attachedPortal=y,this.attachTemplatePortal(y)):this.attachDomPortal&&y instanceof $a?(this._attachedPortal=y,this.attachDomPortal(y)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(y){this._disposeFn=y}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class gc extends rn{constructor(y,i,b,W,ce){super(),this.outletElement=y,this._componentFactoryResolver=i,this._appRef=b,this._defaultInjector=W,this.attachDomPortal=ke=>{const Ve=ke.element,Ze=this._document.createComment("dom-portal");Ve.parentNode.insertBefore(Ze,Ve),this.outletElement.appendChild(Ve),this._attachedPortal=ke,super.setDisposeFn(()=>{Ze.parentNode&&Ze.parentNode.replaceChild(Ve,Ze)})},this._document=ce}attachComponentPortal(y){const b=(y.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(y.component);let W;return y.viewContainerRef?(W=y.viewContainerRef.createComponent(b,y.viewContainerRef.length,y.injector||y.viewContainerRef.injector,y.projectableNodes||void 0),this.setDisposeFn(()=>W.destroy())):(W=b.create(y.injector||this._defaultInjector||e.zZn.NULL),this._appRef.attachView(W.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(W.hostView),W.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(W)),this._attachedPortal=y,W}attachTemplatePortal(y){let i=y.viewContainerRef,b=i.createEmbeddedView(y.templateRef,y.context,{injector:y.injector});return b.rootNodes.forEach(W=>this.outletElement.appendChild(W)),b.detectChanges(),this.setDisposeFn(()=>{let W=i.indexOf(b);-1!==W&&i.remove(W)}),this._attachedPortal=y,b}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(y){return y.hostView.rootNodes[0]}}function jc(){}function Bo(c){return null==c?jc:function(){return this.querySelector(c)}}function Vc(){return[]}function bc(c){return null==c?Vc:function(){return this.querySelectorAll(c)}}function zc(c){return function(){return this.matches(c)}}function Ah(c){return function(y){return y.matches(c)}}var Gc=Array.prototype.find;function ld(){return this.firstElementChild}var Ih=Array.prototype.filter;function vc(){return Array.from(this.children)}function Oh(c){return new Array(c.length)}function Hc(c,y){this.ownerDocument=c.ownerDocument,this.namespaceURI=c.namespaceURI,this._next=null,this._parent=c,this.__data__=y}function Re(c,y,i,b,W,ce){for(var Ve,ke=0,Ze=y.length,tt=ce.length;key?1:c>=y?0:NaN}Hc.prototype={constructor:Hc,appendChild:function(c){return this._parent.insertBefore(c,this._next)},insertBefore:function(c,y){return this._parent.insertBefore(c,y)},querySelector:function(c){return this._parent.querySelector(c)},querySelectorAll:function(c){return this._parent.querySelectorAll(c)}};var Ks="http://www.w3.org/1999/xhtml";const dd={svg:"http://www.w3.org/2000/svg",xhtml:Ks,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Lh(c){var y=c+="",i=y.indexOf(":");return i>=0&&"xmlns"!==(y=c.slice(0,i))&&(c=c.slice(i+1)),dd.hasOwnProperty(y)?{space:dd[y],local:c}:c}function Yu(c){return function(){this.removeAttribute(c)}}function Ef(c){return function(){this.removeAttributeNS(c.space,c.local)}}function Xg(c,y){return function(){this.setAttribute(c,y)}}function Ts(c,y){return function(){this.setAttributeNS(c.space,c.local,y)}}function qd(c,y){return function(){var i=y.apply(this,arguments);null==i?this.removeAttribute(c):this.setAttribute(c,i)}}function Ph(c,y){return function(){var i=y.apply(this,arguments);null==i?this.removeAttributeNS(c.space,c.local):this.setAttributeNS(c.space,c.local,i)}}function Ku(c){return c.ownerDocument&&c.ownerDocument.defaultView||c.document&&c||c.defaultView}function Rh(c){return function(){this.style.removeProperty(c)}}function Uc(c,y,i){return function(){this.style.setProperty(c,y,i)}}function jo(c,y,i){return function(){var b=y.apply(this,arguments);null==b?this.style.removeProperty(c):this.style.setProperty(c,b,i)}}function bl(c,y){return c.style.getPropertyValue(y)||Ku(c).getComputedStyle(c,null).getPropertyValue(y)}function Af(c){return function(){delete this[c]}}function Ka(c,y){return function(){this[c]=y}}function Zu(c,y){return function(){var i=y.apply(this,arguments);null==i?delete this[c]:this[c]=i}}function Qd(c){return c.trim().split(/^|\s+/)}function Nh(c){return c.classList||new $c(c)}function $c(c){this._node=c,this._names=Qd(c.getAttribute("class")||"")}function Xc(c,y){for(var i=Nh(c),b=-1,W=y.length;++b=0&&(this._names.splice(y,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(c){return this._names.indexOf(c)>=0}};var Bh=[null];function oo(c,y){this._groups=c,this._parents=y}function wc(){return new oo([[document.documentElement]],Bh)}oo.prototype=wc.prototype={constructor:oo,select:function fl(c){"function"!=typeof c&&(c=Bo(c));for(var y=this._groups,i=y.length,b=new Array(i),W=0;W=fi&&(fi=yi+1);!(ji=Yt[fi])&&++fi=0;)(ke=b[W])&&(ce&&4^ke.compareDocumentPosition(ce)&&ce.parentNode.insertBefore(ke,ce),ce=ke);return this},sort:function Ei(c){function y(Mt,Lt){return Mt&&Lt?c(Mt.__data__,Lt.__data__):!Mt-!Lt}c||(c=on);for(var i=this._groups,b=i.length,W=new Array(b),ce=0;ce1?this.each((null==y?Rh:"function"==typeof y?jo:Uc)(c,y,i??"")):bl(this.node(),c)},property:function If(c,y){return arguments.length>1?this.each((null==y?Af:"function"==typeof y?Zu:Ka)(c,y)):this.node()[c]},classed:function Fh(c,y){var i=Qd(c+"");if(arguments.length<2){for(var b=Nh(this.node()),W=-1,ce=i.length;++W=0&&(i=y.slice(b+1),y=y.slice(0,b)),{type:y,name:i}})}(c+""),ce=b.length;if(!(arguments.length<2)){for(Ve=y?Ta:ip,W=0;W{}};function jh(){for(var b,c=0,y=arguments.length,i={};c=0&&(b=i.slice(W+1),i=i.slice(0,W)),i&&!y.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:b}})}(c+"",i),ce=-1,ke=b.length;if(!(arguments.length<2)){if(null!=y&&"function"!=typeof y)throw new Error("invalid callback: "+y);for(;++ce0)for(var W,ce,i=new Array(W),b=0;b>8&15|y>>4&240,y>>4&15|240&y,(15&y)<<4|15&y,1):8===i?Ja(y>>24&255,y>>16&255,y>>8&255,(255&y)/255):4===i?Ja(y>>12&15|y>>8&240,y>>8&15|y>>4&240,y>>4&15|240&y,((15&y)<<4|15&y)/255):null):(y=ou.exec(c))?new Fr(y[1],y[2],y[3],1):(y=Cl.exec(c))?new Fr(255*y[1]/100,255*y[2]/100,255*y[3]/100,1):(y=lp.exec(c))?Ja(y[1],y[2],y[3],y[4]):(y=Tc.exec(c))?Ja(255*y[1]/100,255*y[2]/100,255*y[3]/100,y[4]):(y=Qc.exec(c))?lu(y[1],y[2]/100,y[3]/100,1):(y=Gh.exec(c))?lu(y[1],y[2]/100,y[3]/100,y[4]):Hh.hasOwnProperty(c)?eh(Hh[c]):"transparent"===c?new Fr(NaN,NaN,NaN,0):null}function eh(c){return new Fr(c>>16&255,c>>8&255,255&c,1)}function Ja(c,y,i,b){return b<=0&&(c=y=i=NaN),new Fr(c,y,i,b)}function el(c,y,i,b){return 1===arguments.length?function hp(c){return c instanceof Qa||(c=Sc(c)),c?new Fr((c=c.rgb()).r,c.g,c.b,c.opacity):new Fr}(c):new Fr(c,y,i,b??1)}function Fr(c,y,i,b){this.r=+c,this.g=+y,this.b=+i,this.opacity=+b}function kc(){return`#${Br(this.r)}${Br(this.g)}${Br(this.b)}`}function th(){const c=wl(this.opacity);return`${1===c?"rgb(":"rgba("}${ka(this.r)}, ${ka(this.g)}, ${ka(this.b)}${1===c?")":`, ${c})`}`}function wl(c){return isNaN(c)?1:Math.max(0,Math.min(1,c))}function ka(c){return Math.max(0,Math.min(255,Math.round(c)||0))}function Br(c){return((c=ka(c))<16?"0":"")+c.toString(16)}function lu(c,y,i,b){return b<=0?c=y=i=NaN:i<=0||i>=1?c=y=NaN:y<=0&&(c=NaN),new lo(c,y,i,b)}function ih(c){if(c instanceof lo)return new lo(c.h,c.s,c.l,c.opacity);if(c instanceof Qa||(c=Sc(c)),!c)return new lo;if(c instanceof lo)return c;var y=(c=c.rgb()).r/255,i=c.g/255,b=c.b/255,W=Math.min(y,i,b),ce=Math.max(y,i,b),ke=NaN,Ve=ce-W,Ze=(ce+W)/2;return Ve?(ke=y===ce?(i-b)/Ve+6*(i0&&Ze<1?0:ke,new lo(ke,Ve,Ze,c.opacity)}function lo(c,y,i,b){this.h=+c,this.s=+y,this.l=+i,this.opacity=+b}function Wh(c){return(c=(c||0)%360)<0?c+360:c}function nh(c){return Math.max(0,Math.min(1,c||0))}function $h(c,y,i){return 255*(c<60?y+(i-y)*c/60:c<180?i:c<240?y+(i-y)*(240-c)/60:y)}function md(c,y,i,b,W){var ce=c*c,ke=ce*c;return((1-3*c+3*ce-ke)*y+(4-6*ce+3*ke)*i+(1+3*c+3*ce-3*ke)*b+ke*W)/6}Vh(Qa,Sc,{copy(c){return Object.assign(new this.constructor,this,c)},displayable(){return this.rgb().displayable()},hex:Jc,formatHex:Jc,formatHex8:function au(){return this.rgb().formatHex8()},formatHsl:function Uh(){return ih(this).formatHsl()},formatRgb:cp,toString:cp}),Vh(Fr,el,qc(Qa,{brighter(c){return c=null==c?Zl:Math.pow(Zl,c),new Fr(this.r*c,this.g*c,this.b*c,this.opacity)},darker(c){return c=null==c?.7:Math.pow(.7,c),new Fr(this.r*c,this.g*c,this.b*c,this.opacity)},rgb(){return this},clamp(){return new Fr(ka(this.r),ka(this.g),ka(this.b),wl(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kc,formatHex:kc,formatHex8:function Bf(){return`#${Br(this.r)}${Br(this.g)}${Br(this.b)}${Br(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:th,toString:th})),Vh(lo,function gd(c,y,i,b){return 1===arguments.length?ih(c):new lo(c,y,i,b??1)},qc(Qa,{brighter(c){return c=null==c?Zl:Math.pow(Zl,c),new lo(this.h,this.s,this.l*c,this.opacity)},darker(c){return c=null==c?.7:Math.pow(.7,c),new lo(this.h,this.s,this.l*c,this.opacity)},rgb(){var c=this.h%360+360*(this.h<0),y=isNaN(c)||isNaN(this.s)?0:this.s,i=this.l,b=i+(i<.5?i:1-i)*y,W=2*i-b;return new Fr($h(c>=240?c-240:c+120,W,b),$h(c,W,b),$h(c<120?c+240:c-120,W,b),this.opacity)},clamp(){return new lo(Wh(this.h),nh(this.s),nh(this.l),wl(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const c=wl(this.opacity);return`${1===c?"hsl(":"hsla("}${Wh(this.h)}, ${100*nh(this.s)}%, ${100*nh(this.l)}%${1===c?")":`, ${c})`}`}}));const sh=c=>()=>c;function hu(c,y){var i=y-c;return i?function yd(c,y){return function(i){return c+i*y}}(c,i):sh(isNaN(c)?y:c)}const Xh=function c(y){var i=function cu(c){return 1==(c=+c)?hu:function(y,i){return i-y?function rh(c,y,i){return c=Math.pow(c,i),y=Math.pow(y,i)-c,i=1/i,function(b){return Math.pow(c+b*y,i)}}(y,i,c):sh(isNaN(y)?i:y)}}(y);function b(W,ce){var ke=i((W=el(W)).r,(ce=el(ce)).r),Ve=i(W.g,ce.g),Ze=i(W.b,ce.b),tt=hu(W.opacity,ce.opacity);return function(bt){return W.r=ke(bt),W.g=Ve(bt),W.b=Ze(bt),W.opacity=tt(bt),W+""}}return b.gamma=c,b}(1);function Tl(c){return function(y){var ke,Ve,i=y.length,b=new Array(i),W=new Array(i),ce=new Array(i);for(ke=0;ke=1?(i=1,y-1):Math.floor(i*y),W=c[b],ce=c[b+1];return md((i-b/y)*y,b>0?c[b-1]:2*W-ce,W,ce,bi&&(ce=y.slice(i,ce),Ve[ke]?Ve[ke]+=ce:Ve[++ke]=ce),(b=b[0])===(W=W[0])?Ve[ke]?Ve[ke]+=W:Ve[++ke]=W:(Ve[++ke]=null,Ze.push({i:ke,x:aa(b,W)})),i=uu.lastIndex;return i=0&&c._call.call(void 0,y),c=c._next;--lh}()}finally{lh=0,function gp(){for(var c,i,y=fu,b=1/0;y;)y._call?(b>y._time&&(b=y._time),c=y,y=y._next):(i=y._next,y._next=null,y=c?c._next=i:fu=i);Yh=c,mp(b)}(),yr=0}}function fp(){var c=Zh.now(),y=c-Kh;y>zf&&(wd-=y,Kh=c)}function mp(c){lh||(ch&&(ch=clearTimeout(ch)),c-yr>24?(c<1/0&&(ch=setTimeout(Hf,c-Zh.now()-wd)),Cd&&(Cd=clearInterval(Cd))):(Cd||(Kh=Zh.now(),Cd=setInterval(fp,zf)),lh=1,Zg(Hf)))}function gu(c,y,i){var b=new hh;return b.restart(W=>{b.stop(),c(W+y)},y=null==y?0:+y,i),b}hh.prototype=ec.prototype={constructor:hh,restart:function(c,y,i){if("function"!=typeof c)throw new TypeError("callback is not a function");i=(null==i?Td():+i)+(null==y?0:+y),!this._next&&Yh!==this&&(Yh?Yh._next=this:fu=this,Yh=this),this._call=c,this._time=i,mp()},stop:function(){this._call&&(this._call=null,this._time=1/0,mp())}};var qg=Rr("start","end","cancel","interrupt"),Uf=[],bp=0,qh=3;function Sd(c,y,i,b,W,ce){var ke=c.__transition;if(ke){if(i in ke)return}else c.__transition={};!function yp(c,y,i){var W,b=c.__transition;function ke(tt){var bt,Mt,Lt,Wt;if(1!==i.state)return Ze();for(bt in b)if((Wt=b[bt]).name===i.name){if(Wt.state===qh)return gu(ke);4===Wt.state?(Wt.state=6,Wt.timer.stop(),Wt.on.call("interrupt",c,c.__data__,Wt.index,Wt.group),delete b[bt]):+btbp)throw new Error("too late; already scheduled");return i}function xo(c,y){var i=Da(c,y);if(i.state>qh)throw new Error("too late; already running");return i}function Da(c,y){var i=c.__transition;if(!i||!(i=i[y]))throw new Error("transition not found");return i}var Ma,ed=180/Math.PI,Dc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function xp(c,y,i,b,W,ce){var ke,Ve,Ze;return(ke=Math.sqrt(c*c+y*y))&&(c/=ke,y/=ke),(Ze=c*i+y*b)&&(i-=c*Ze,b-=y*Ze),(Ve=Math.sqrt(i*i+b*b))&&(i/=Ve,b/=Ve,Ze/=Ve),c*b180?bt+=360:bt-tt>180&&(tt+=360),Lt.push({i:Mt.push(W(Mt)+"rotate(",null,b)-2,x:aa(tt,bt)})):bt&&Mt.push(W(Mt)+"rotate("+bt+b)}(tt.rotate,bt.rotate,Mt,Lt),function Ve(tt,bt,Mt,Lt){tt!==bt?Lt.push({i:Mt.push(W(Mt)+"skewX(",null,b)-2,x:aa(tt,bt)}):bt&&Mt.push(W(Mt)+"skewX("+bt+b)}(tt.skewX,bt.skewX,Mt,Lt),function Ze(tt,bt,Mt,Lt,Wt,Zt){if(tt!==Mt||bt!==Lt){var hi=Wt.push(W(Wt)+"scale(",null,",",null,")");Zt.push({i:hi-4,x:aa(tt,Mt)},{i:hi-2,x:aa(bt,Lt)})}else(1!==Mt||1!==Lt)&&Wt.push(W(Wt)+"scale("+Mt+","+Lt+")")}(tt.scaleX,tt.scaleY,bt.scaleX,bt.scaleY,Mt,Lt),tt=bt=null,function(Wt){for(var Yt,Zt=-1,hi=Lt.length;++Zt=0&&(y=y.slice(0,i)),!y||"start"===y})}(y)?Jh:xo;return function(){var ke=ce(this,c),Ve=ke.on;Ve!==b&&(W=(b=Ve).copy()).on(y,i),ke.on=W}}(i,c,y))},attr:function Vt(c,y){var i=Lh(c),b="transform"===i?Qg:me;return this.attrTween(c,"function"==typeof y?(i.local?ft:it)(i,b,Md(this,"attr."+c,y)):null==y?(i.local?ae:je)(i):(i.local?Ne:Ce)(i,b,y))},attrTween:function Ci(c,y){var i="attr."+c;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==y)return this.tween(i,null);if("function"!=typeof y)throw new Error;var b=Lh(c);return this.tween(i,(b.local?ii:wi)(b,y))},style:function ai(c,y,i){var b="transform"==(c+="")?wp:me;return null==y?this.styleTween(c,function de(c,y){var i,b,W;return function(){var ce=bl(this,c),ke=(this.style.removeProperty(c),bl(this,c));return ce===ke?null:ce===i&&ke===b?W:W=y(i=ce,b=ke)}}(c,b)).on("end.style."+c,Ae(c)):"function"==typeof y?this.styleTween(c,function kt(c,y,i){var b,W,ce;return function(){var ke=bl(this,c),Ve=i(this),Ze=Ve+"";return null==Ve&&(this.style.removeProperty(c),Ze=Ve=bl(this,c)),ke===Ze?null:ke===b&&Ze===W?ce:(W=Ze,ce=y(b=ke,Ve))}}(c,b,Md(this,"style."+c,y))).each(function zt(c,y){var i,b,W,Ve,ce="style."+y,ke="end."+ce;return function(){var Ze=xo(this,c),tt=Ze.on,bt=null==Ze.value[ce]?Ve||(Ve=Ae(y)):void 0;(tt!==i||W!==bt)&&(b=(i=tt).copy()).on(ke,W=bt),Ze.on=b}}(this._id,c)):this.styleTween(c,function nt(c,y,i){var b,ce,W=i+"";return function(){var ke=bl(this,c);return ke===W?null:ke===b?ce:ce=y(b=ke,i)}}(c,b,y),i).on("end.style."+c,null)},styleTween:function Yi(c,y,i){var b="style."+(c+="");if(arguments.length<2)return(b=this.tween(b))&&b._value;if(null==y)return this.tween(b,null);if("function"!=typeof y)throw new Error;return this.tween(b,function Li(c,y,i){var b,W;function ce(){var ke=y.apply(this,arguments);return ke!==W&&(b=(W=ke)&&function oi(c,y,i){return function(b){this.style.setProperty(c,y.call(this,b),i)}}(c,ke,i)),b}return ce._value=y,ce}(c,y,i??""))},text:function _n(c){return this.tween("text","function"==typeof c?function Ji(c){return function(){var y=c(this);this.textContent=y??""}}(Md(this,"text",c)):function Xi(c){return function(){this.textContent=c}}(null==c?"":c+""))},textTween:function Ms(c){var y="text";if(arguments.length<1)return(y=this.tween(y))&&y._value;if(null==c)return this.tween(y,null);if("function"!=typeof c)throw new Error;return this.tween(y,function Jn(c){var y,i;function b(){var W=c.apply(this,arguments);return W!==i&&(y=(i=W)&&function en(c){return function(y){this.textContent=c.call(this,y)}}(W)),y}return b._value=c,b}(c))},remove:function Vr(){return this.on("end.remove",function zo(c){return function(){var y=this.parentNode;for(var i in this.__transition)if(+i!==c)return;y&&y.removeChild(this)}}(this._id))},tween:function Sp(c,y){var i=this._id;if(c+="",arguments.length<2){for(var ke,b=Da(this.node(),i).tween,W=0,ce=b.length;W2&&b.state<5,b.state=6,b.timer.stop(),b.on.call(W?"interrupt":"cancel",c,c.__data__,b.index,b.group),delete i[ke]):ce=!1;ce&&delete c.__transition}}(this,c)})},_l.prototype.transition=function Dl(c){var y,i;c instanceof sr?(y=c._id,c=c._name):(y=la(),(i=Xf).time=Td(),c=null==c?null:c+"");for(var b=this._groups,W=b.length,ce=0;cey?1:c>=y?0:NaN}function Qy(c,y){return null==c||null==y?NaN:yc?1:y>=c?0:NaN}function nm(c){let y,i,b;function W(Ve,Ze,tt=0,bt=Ve.length){if(tt>>1;i(Ve[Mt],Ze)<0?tt=Mt+1:bt=Mt}while(ttyu(c(Ve),Ze),b=(Ve,Ze)=>c(Ve)-Ze):(y=c===yu||c===Qy?c:W0,i=c,b=c),{left:W,center:function ke(Ve,Ze,tt=0,bt=Ve.length){const Mt=W(Ve,Ze,tt,bt-1);return Mt>tt&&b(Ve[Mt-1],Ze)>-b(Ve[Mt],Ze)?Mt-1:Mt},right:function ce(Ve,Ze,tt=0,bt=Ve.length){if(tt>>1;i(Ve[Mt],Ze)<=0?tt=Mt+1:bt=Mt}while(tt=Qf?10:ce>=$0?5:ce>=sm?2:1;let Ve,Ze,tt;return W<0?(tt=Math.pow(10,-W)/ke,Ve=Math.round(c*tt),Ze=Math.round(y*tt),Ve/tty&&--Ze,tt=-tt):(tt=Math.pow(10,W)*ke,Ve=Math.round(c/tt),Ze=Math.round(y/tt),Ve*tty&&--Ze),Ze(c(ce=new Date(+ce)),ce),W.ceil=ce=>(c(ce=new Date(ce-1)),y(ce,1),c(ce),ce),W.round=ce=>{const ke=W(ce),Ve=W.ceil(ce);return ce-ke(y(ce=new Date(+ce),null==ke?1:Math.floor(ke)),ce),W.range=(ce,ke,Ve)=>{const Ze=[];if(ce=W.ceil(ce),Ve=null==Ve?1:Math.floor(Ve),!(ce0))return Ze;let tt;do{Ze.push(tt=new Date(+ce)),y(ce,Ve),c(ce)}while(ttur(ke=>{if(ke>=ke)for(;c(ke),!ce(ke);)ke.setTime(ke-1)},(ke,Ve)=>{if(ke>=ke)if(Ve<0)for(;++Ve<=0;)for(;y(ke,-1),!ce(ke););else for(;--Ve>=0;)for(;y(ke,1),!ce(ke););}),i&&(W.count=(ce,ke)=>(Y0.setTime(+ce),K0.setTime(+ke),c(Y0),c(K0),Math.floor(i(Y0,K0))),W.every=ce=>(ce=Math.floor(ce),isFinite(ce)&&ce>0?ce>1?W.filter(b?ke=>b(ke)%ce==0:ke=>W.count(0,ke)%ce==0):W:null)),W}const ig=ur(()=>{},(c,y)=>{c.setTime(+c+y)},(c,y)=>y-c);ig.every=c=>(c=Math.floor(c),isFinite(c)&&c>0?c>1?ur(y=>{y.setTime(Math.floor(y/c)*c)},(y,i)=>{y.setTime(+y+i*c)},(y,i)=>(i-y)/c):ig:null);const xu=ur(c=>{c.setTime(c-c.getMilliseconds())},(c,y)=>{c.setTime(+c+y*ic)},(c,y)=>(y-c)/ic,c=>c.getUTCSeconds()),am=ur(c=>{c.setTime(c-c.getMilliseconds()-c.getSeconds()*ic)},(c,y)=>{c.setTime(+c+y*tl)},(c,y)=>(y-c)/tl,c=>c.getMinutes()),Z0=ur(c=>{c.setUTCSeconds(0,0)},(c,y)=>{c.setTime(+c+y*tl)},(c,y)=>(y-c)/tl,c=>c.getUTCMinutes()),Mp=ur(c=>{c.setTime(c-c.getMilliseconds()-c.getSeconds()*ic-c.getMinutes()*tl)},(c,y)=>{c.setTime(+c+y*uh)},(c,y)=>(y-c)/uh,c=>c.getHours()),q0=ur(c=>{c.setUTCMinutes(0,0,0)},(c,y)=>{c.setTime(+c+y*uh)},(c,y)=>(y-c)/uh,c=>c.getUTCHours()),ng=ur(c=>c.setHours(0,0,0,0),(c,y)=>c.setDate(c.getDate()+y),(c,y)=>(y-c-(y.getTimezoneOffset()-c.getTimezoneOffset())*tl)/ph,c=>c.getDate()-1),sg=(ur(c=>{c.setUTCHours(0,0,0,0)},(c,y)=>{c.setUTCDate(c.getUTCDate()+y)},(c,y)=>(y-c)/ph,c=>c.getUTCDate()-1),ur(c=>{c.setUTCHours(0,0,0,0)},(c,y)=>{c.setUTCDate(c.getUTCDate()+y)},(c,y)=>(y-c)/ph,c=>Math.floor(c/ph)));function fh(c){return ur(y=>{y.setDate(y.getDate()-(y.getDay()+7-c)%7),y.setHours(0,0,0,0)},(y,i)=>{y.setDate(y.getDate()+7*i)},(y,i)=>(i-y-(i.getTimezoneOffset()-y.getTimezoneOffset())*tl)/om)}const uo=fh(0);function gh(c){return ur(y=>{y.setUTCDate(y.getUTCDate()-(y.getUTCDay()+7-c)%7),y.setUTCHours(0,0,0,0)},(y,i)=>{y.setUTCDate(y.getUTCDate()+7*i)},(y,i)=>(i-y)/om)}fh(1),fh(2),fh(3),fh(4),fh(5),fh(6);const rx=gh(0),rg=(gh(1),gh(2),gh(3),gh(4),gh(5),gh(6),ur(c=>{c.setDate(1),c.setHours(0,0,0,0)},(c,y)=>{c.setMonth(c.getMonth()+y)},(c,y)=>y.getMonth()-c.getMonth()+12*(y.getFullYear()-c.getFullYear()),c=>c.getMonth())),dm=ur(c=>{c.setUTCDate(1),c.setUTCHours(0,0,0,0)},(c,y)=>{c.setUTCMonth(c.getUTCMonth()+y)},(c,y)=>y.getUTCMonth()-c.getUTCMonth()+12*(y.getUTCFullYear()-c.getUTCFullYear()),c=>c.getUTCMonth()),Uo=ur(c=>{c.setMonth(0,1),c.setHours(0,0,0,0)},(c,y)=>{c.setFullYear(c.getFullYear()+y)},(c,y)=>y.getFullYear()-c.getFullYear(),c=>c.getFullYear());Uo.every=c=>isFinite(c=Math.floor(c))&&c>0?ur(y=>{y.setFullYear(Math.floor(y.getFullYear()/c)*c),y.setMonth(0,1),y.setHours(0,0,0,0)},(y,i)=>{y.setFullYear(y.getFullYear()+i*c)}):null;const og=ur(c=>{c.setUTCMonth(0,1),c.setUTCHours(0,0,0,0)},(c,y)=>{c.setUTCFullYear(c.getUTCFullYear()+y)},(c,y)=>y.getUTCFullYear()-c.getUTCFullYear(),c=>c.getUTCFullYear());function ib(c,y,i,b,W,ce){const ke=[[xu,1,ic],[xu,5,5e3],[xu,15,15e3],[xu,30,3e4],[ce,1,tl],[ce,5,5*tl],[ce,15,15*tl],[ce,30,30*tl],[W,1,uh],[W,3,3*uh],[W,6,6*uh],[W,12,12*uh],[b,1,ph],[b,2,2*ph],[i,1,om],[y,1,X0],[y,3,3*X0],[c,1,tg]];function Ze(tt,bt,Mt){const Lt=Math.abs(bt-tt)/Mt,Wt=nm(([,,Yt])=>Yt).right(ke,Lt);if(Wt===ke.length)return c.every(rm(tt/tg,bt/tg,Mt));if(0===Wt)return ig.every(Math.max(rm(tt,bt,Mt),1));const[Zt,hi]=ke[Lt/ke[Wt-1][2]isFinite(c=Math.floor(c))&&c>0?ur(y=>{y.setUTCFullYear(Math.floor(y.getUTCFullYear()/c)*c),y.setUTCMonth(0,1),y.setUTCHours(0,0,0,0)},(y,i)=>{y.setUTCFullYear(y.getUTCFullYear()+i*c)}):null;const[LD,PD]=ib(og,dm,rx,sg,q0,Z0),[nb,sb]=ib(Uo,rg,uo,ng,Mp,am);var rb=new Date,_u=new Date;function nc(c,y,i,b){function W(ce){return c(ce=0===arguments.length?new Date:new Date(+ce)),ce}return W.floor=function(ce){return c(ce=new Date(+ce)),ce},W.ceil=function(ce){return c(ce=new Date(ce-1)),y(ce,1),c(ce),ce},W.round=function(ce){var ke=W(ce),Ve=W.ceil(ce);return ce-ke0))return Ze;do{Ze.push(tt=new Date(+ce)),y(ce,Ve),c(ce)}while(tt=ke)for(;c(ke),!ce(ke);)ke.setTime(ke-1)},function(ke,Ve){if(ke>=ke)if(Ve<0)for(;++Ve<=0;)for(;y(ke,-1),!ce(ke););else for(;--Ve>=0;)for(;y(ke,1),!ce(ke););})},i&&(W.count=function(ce,ke){return rb.setTime(+ce),_u.setTime(+ke),c(rb),c(_u),Math.floor(i(rb,_u))},W.every=function(ce){return ce=Math.floor(ce),isFinite(ce)&&ce>0?ce>1?W.filter(b?function(ke){return b(ke)%ce==0}:function(ke){return W.count(0,ke)%ce==0}):W:null}),W}const Ld=864e5,pm=7*Ld;function Pd(c){return nc(function(y){y.setUTCDate(y.getUTCDate()-(y.getUTCDay()+7-c)%7),y.setUTCHours(0,0,0,0)},function(y,i){y.setUTCDate(y.getUTCDate()+7*i)},function(y,i){return(i-y)/pm})}var lb=Pd(0),Op=Pd(1),Cu=(Pd(2),Pd(3),Pd(4));const bm=(Pd(5),Pd(6),nc(function(c){c.setUTCHours(0,0,0,0)},function(c,y){c.setUTCDate(c.getUTCDate()+y)},function(c,y){return(y-c)/Ld},function(c){return c.getUTCDate()-1}));function Tu(c){return nc(function(y){y.setDate(y.getDate()-(y.getDay()+7-c)%7),y.setHours(0,0,0,0)},function(y,i){y.setDate(y.getDate()+7*i)},function(y,i){return(i-y-6e4*(i.getTimezoneOffset()-y.getTimezoneOffset()))/pm})}var Pp=Tu(0),ag=Tu(1),Rd=(Tu(2),Tu(3),Tu(4));const bb=(Tu(5),Tu(6),nc(c=>c.setHours(0,0,0,0),(c,y)=>c.setDate(c.getDate()+y),(c,y)=>(y-c-6e4*(y.getTimezoneOffset()-c.getTimezoneOffset()))/Ld,c=>c.getDate()-1));var xm=nc(function(c){c.setMonth(0,1),c.setHours(0,0,0,0)},function(c,y){c.setFullYear(c.getFullYear()+y)},function(c,y){return y.getFullYear()-c.getFullYear()},function(c){return c.getFullYear()});xm.every=function(c){return isFinite(c=Math.floor(c))&&c>0?nc(function(y){y.setFullYear(Math.floor(y.getFullYear()/c)*c),y.setMonth(0,1),y.setHours(0,0,0,0)},function(y,i){y.setFullYear(y.getFullYear()+i*c)}):null};const Np=xm;var hg=nc(function(c){c.setUTCMonth(0,1),c.setUTCHours(0,0,0,0)},function(c,y){c.setUTCFullYear(c.getUTCFullYear()+y)},function(c,y){return y.getUTCFullYear()-c.getUTCFullYear()},function(c){return c.getUTCFullYear()});hg.every=function(c){return isFinite(c=Math.floor(c))&&c>0?nc(function(y){y.setUTCFullYear(Math.floor(y.getUTCFullYear()/c)*c),y.setUTCMonth(0,1),y.setUTCHours(0,0,0,0)},function(y,i){y.setUTCFullYear(y.getUTCFullYear()+i*c)}):null};const Su=hg;function dg(c){if(0<=c.y&&c.y<100){var y=new Date(-1,c.m,c.d,c.H,c.M,c.S,c.L);return y.setFullYear(c.y),y}return new Date(c.y,c.m,c.d,c.H,c.M,c.S,c.L)}function ug(c){if(0<=c.y&&c.y<100){var y=new Date(Date.UTC(-1,c.m,c.d,c.H,c.M,c.S,c.L));return y.setUTCFullYear(c.y),y}return new Date(Date.UTC(c.y,c.m,c.d,c.H,c.M,c.S,c.L))}function Ac(c,y,i){return{y:c,m:y,d:i,H:0,M:0,S:0,L:0}}var _m={"-":"",_:" ",0:"0"},po=/^\s*\d+/,pg=/^%/,ku=/[\\^$*+?|[\]().{}]/g;function us(c,y,i){var b=c<0?"-":"",W=(b?-c:c)+"",ce=W.length;return b+(ce[y.toLowerCase(),i]))}function Cm(c,y,i){var b=po.exec(y.slice(i,i+1));return b?(c.w=+b[0],i+b[0].length):-1}function wm(c,y,i){var b=po.exec(y.slice(i,i+1));return b?(c.u=+b[0],i+b[0].length):-1}function yb(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.U=+b[0],i+b[0].length):-1}function Tm(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.V=+b[0],i+b[0].length):-1}function gx(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.W=+b[0],i+b[0].length):-1}function xb(c,y,i){var b=po.exec(y.slice(i,i+4));return b?(c.y=+b[0],i+b[0].length):-1}function _b(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.y=+b[0]+(+b[0]>68?1900:2e3),i+b[0].length):-1}function Cb(c,y,i){var b=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(y.slice(i,i+6));return b?(c.Z=b[1]?0:-(b[2]+(b[3]||"00")),i+b[0].length):-1}function mx(c,y,i){var b=po.exec(y.slice(i,i+1));return b?(c.q=3*b[0]-3,i+b[0].length):-1}function bx(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.m=b[0]-1,i+b[0].length):-1}function wb(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.d=+b[0],i+b[0].length):-1}function vx(c,y,i){var b=po.exec(y.slice(i,i+3));return b?(c.m=0,c.d=+b[0],i+b[0].length):-1}function Sm(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.H=+b[0],i+b[0].length):-1}function Tb(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.M=+b[0],i+b[0].length):-1}function yx(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.S=+b[0],i+b[0].length):-1}function xx(c,y,i){var b=po.exec(y.slice(i,i+3));return b?(c.L=+b[0],i+b[0].length):-1}function Aa(c,y,i){var b=po.exec(y.slice(i,i+6));return b?(c.L=Math.floor(b[0]/1e3),i+b[0].length):-1}function _x(c,y,i){var b=pg.exec(y.slice(i,i+1));return b?i+b[0].length:-1}function Cx(c,y,i){var b=po.exec(y.slice(i));return b?(c.Q=+b[0],i+b[0].length):-1}function uw(c,y,i){var b=po.exec(y.slice(i));return b?(c.s=+b[0],i+b[0].length):-1}function fg(c,y){return us(c.getDate(),y,2)}function Sb(c,y){return us(c.getHours(),y,2)}function wx(c,y){return us(c.getHours()%12||12,y,2)}function Tx(c,y){return us(1+bb.count(Np(c),c),y,3)}function kb(c,y){return us(c.getMilliseconds(),y,3)}function Db(c,y){return kb(c,y)+"000"}function Sx(c,y){return us(c.getMonth()+1,y,2)}function kx(c,y){return us(c.getMinutes(),y,2)}function km(c,y){return us(c.getSeconds(),y,2)}function Dx(c){var y=c.getDay();return 0===y?7:y}function Mx(c,y){return us(Pp.count(Np(c)-1,c),y,2)}function Mb(c){var y=c.getDay();return y>=4||0===y?Rd(c):Rd.ceil(c)}function Ex(c,y){return c=Mb(c),us(Rd.count(Np(c),c)+(4===Np(c).getDay()),y,2)}function Ax(c){return c.getDay()}function Ic(c,y){return us(ag.count(Np(c)-1,c),y,2)}function Dm(c,y){return us(c.getFullYear()%100,y,2)}function Ix(c,y){return us((c=Mb(c)).getFullYear()%100,y,2)}function Ox(c,y){return us(c.getFullYear()%1e4,y,4)}function Eb(c,y){var i=c.getDay();return us((c=i>=4||0===i?Rd(c):Rd.ceil(c)).getFullYear()%1e4,y,4)}function Ab(c){var y=c.getTimezoneOffset();return(y>0?"-":(y*=-1,"+"))+us(y/60|0,"0",2)+us(y%60,"0",2)}function Bp(c,y){return us(c.getUTCDate(),y,2)}function Mm(c,y){return us(c.getUTCHours(),y,2)}function pw(c,y){return us(c.getUTCHours()%12||12,y,2)}function Ib(c,y){return us(1+bm.count(Su(c),c),y,3)}function Em(c,y){return us(c.getUTCMilliseconds(),y,3)}function Ob(c,y){return Em(c,y)+"000"}function gg(c,y){return us(c.getUTCMonth()+1,y,2)}function Am(c,y){return us(c.getUTCMinutes(),y,2)}function mh(c,y){return us(c.getUTCSeconds(),y,2)}function Lx(c){var y=c.getUTCDay();return 0===y?7:y}function Px(c,y){return us(lb.count(Su(c)-1,c),y,2)}function mg(c){var y=c.getUTCDay();return y>=4||0===y?Cu(c):Cu.ceil(c)}function Rx(c,y){return c=mg(c),us(Cu.count(Su(c),c)+(4===Su(c).getUTCDay()),y,2)}function jp(c){return c.getUTCDay()}function Lb(c,y){return us(Op.count(Su(c)-1,c),y,2)}function Mu(c,y){return us(c.getUTCFullYear()%100,y,2)}function Vp(c,y){return us((c=mg(c)).getUTCFullYear()%100,y,2)}function Im(c,y){return us(c.getUTCFullYear()%1e4,y,4)}function zp(c,y){var i=c.getUTCDay();return us((c=i>=4||0===i?Cu(c):Cu.ceil(c)).getUTCFullYear()%1e4,y,4)}function Pb(){return"+0000"}function Om(){return"%"}function Rb(c){return+c}function Nb(c){return Math.floor(+c/1e3)}function Lm(c){return null===c?NaN:+c}!function jb(c){(function vb(c){var y=c.dateTime,i=c.date,b=c.time,W=c.periods,ce=c.days,ke=c.shortDays,Ve=c.months,Ze=c.shortMonths,tt=Du(W),bt=Nd(W),Mt=Du(ce),Lt=Nd(ce),Wt=Du(ke),Zt=Nd(ke),hi=Du(Ve),Yt=Nd(Ve),ui=Du(Ze),yi=Nd(Ze),fi={a:function Si(Ii){return ke[Ii.getDay()]},A:function Vi(Ii){return ce[Ii.getDay()]},b:function Gi(Ii){return Ze[Ii.getMonth()]},B:function Nn(Ii){return Ve[Ii.getMonth()]},c:null,d:fg,e:fg,f:Db,g:Ix,G:Eb,H:Sb,I:wx,j:Tx,L:kb,m:Sx,M:kx,p:function is(Ii){return W[+(Ii.getHours()>=12)]},q:function Yn(Ii){return 1+~~(Ii.getMonth()/3)},Q:Rb,s:Nb,S:km,u:Dx,U:Mx,V:Ex,w:Ax,W:Ic,x:null,X:null,y:Dm,Y:Ox,Z:Ab,"%":Om},Ti={a:function fo(Ii){return ke[Ii.getUTCDay()]},A:function ps(Ii){return ce[Ii.getUTCDay()]},b:function Qr(Ii){return Ze[Ii.getUTCMonth()]},B:function Ll(Ii){return Ve[Ii.getUTCMonth()]},c:null,d:Bp,e:Bp,f:Ob,g:Vp,G:zp,H:Mm,I:pw,j:Ib,L:Em,m:gg,M:Am,p:function ns(Ii){return W[+(Ii.getUTCHours()>=12)]},q:function Ur(Ii){return 1+~~(Ii.getUTCMonth()/3)},Q:Rb,s:Nb,S:mh,u:Lx,U:Px,V:Rx,w:jp,W:Lb,x:null,X:null,y:Mu,Y:Im,Z:Pb,"%":Om},ji={a:function An(Ii,un,Gn){var xi=Wt.exec(un.slice(Gn));return xi?(Ii.w=Zt.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},A:function Hi(Ii,un,Gn){var xi=Mt.exec(un.slice(Gn));return xi?(Ii.w=Lt.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},b:function Xn(Ii,un,Gn){var xi=ui.exec(un.slice(Gn));return xi?(Ii.m=yi.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},B:function Pi(Ii,un,Gn){var xi=hi.exec(un.slice(Gn));return xi?(Ii.m=Yt.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},c:function Zi(Ii,un,Gn){return dn(Ii,y,un,Gn)},d:wb,e:wb,f:Aa,g:_b,G:xb,H:Sm,I:Sm,j:vx,L:xx,m:bx,M:Tb,p:function xs(Ii,un,Gn){var xi=tt.exec(un.slice(Gn));return xi?(Ii.p=bt.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},q:mx,Q:Cx,s:uw,S:yx,u:wm,U:yb,V:Tm,w:Cm,W:gx,x:function rr(Ii,un,Gn){return dn(Ii,i,un,Gn)},X:function _i(Ii,un,Gn){return dn(Ii,b,un,Gn)},y:_b,Y:xb,Z:Cb,"%":_x};function Mi(Ii,un){return function(Gn){var $o,vn,or,xi=[],_r=-1,Fs=0,_o=Ii.length;for(Gn instanceof Date||(Gn=new Date(+Gn));++_r<_o;)37===Ii.charCodeAt(_r)&&(xi.push(Ii.slice(Fs,_r)),null!=(vn=_m[$o=Ii.charAt(++_r)])?$o=Ii.charAt(++_r):vn="e"===$o?" ":"0",(or=un[$o])&&($o=or(Gn,vn)),xi.push($o),Fs=_r+1);return xi.push(Ii.slice(Fs,_r)),xi.join("")}}function hn(Ii,un){return function(Gn){var Fs,_o,xi=Ac(1900,void 0,1);if(dn(xi,Ii,Gn+="",0)!=Gn.length)return null;if("Q"in xi)return new Date(xi.Q);if("s"in xi)return new Date(1e3*xi.s+("L"in xi?xi.L:0));if(un&&!("Z"in xi)&&(xi.Z=0),"p"in xi&&(xi.H=xi.H%12+12*xi.p),void 0===xi.m&&(xi.m="q"in xi?xi.q:0),"V"in xi){if(xi.V<1||xi.V>53)return null;"w"in xi||(xi.w=1),"Z"in xi?(_o=(Fs=ug(Ac(xi.y,0,1))).getUTCDay(),Fs=_o>4||0===_o?Op.ceil(Fs):Op(Fs),Fs=bm.offset(Fs,7*(xi.V-1)),xi.y=Fs.getUTCFullYear(),xi.m=Fs.getUTCMonth(),xi.d=Fs.getUTCDate()+(xi.w+6)%7):(_o=(Fs=dg(Ac(xi.y,0,1))).getDay(),Fs=_o>4||0===_o?ag.ceil(Fs):ag(Fs),Fs=bb.offset(Fs,7*(xi.V-1)),xi.y=Fs.getFullYear(),xi.m=Fs.getMonth(),xi.d=Fs.getDate()+(xi.w+6)%7)}else("W"in xi||"U"in xi)&&("w"in xi||(xi.w="u"in xi?xi.u%7:"W"in xi?1:0),_o="Z"in xi?ug(Ac(xi.y,0,1)).getUTCDay():dg(Ac(xi.y,0,1)).getDay(),xi.m=0,xi.d="W"in xi?(xi.w+6)%7+7*xi.W-(_o+5)%7:xi.w+7*xi.U-(_o+6)%7);return"Z"in xi?(xi.H+=xi.Z/100|0,xi.M+=xi.Z%100,ug(xi)):dg(xi)}}function dn(Ii,un,Gn,xi){for(var $o,vn,_r=0,Fs=un.length,_o=Gn.length;_r=_o)return-1;if(37===($o=un.charCodeAt(_r++))){if($o=un.charAt(_r++),!(vn=ji[$o in _m?un.charAt(_r++):$o])||(xi=vn(Ii,Gn,xi))<0)return-1}else if($o!=Gn.charCodeAt(xi++))return-1}return xi}return fi.x=Mi(i,fi),fi.X=Mi(b,fi),fi.c=Mi(y,fi),Ti.x=Mi(i,Ti),Ti.X=Mi(b,Ti),Ti.c=Mi(y,Ti),{format:function(Ii){var un=Mi(Ii+="",fi);return un.toString=function(){return Ii},un},parse:function(Ii){var un=hn(Ii+="",!1);return un.toString=function(){return Ii},un},utcFormat:function(Ii){var un=Mi(Ii+="",Ti);return un.toString=function(){return Ii},un},utcParse:function(Ii){var un=hn(Ii+="",!0);return un.toString=function(){return Ii},un}}})(c)}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});const jx=nm(yu).right,Vb=(nm(Lm),jx);function zb(c,y){return c=+c,y=+y,function(i){return Math.round(c*(1-i)+y*i)}}function zx(c){return+c}var Pm=[0,1];function id(c){return c}function bg(c,y){return(y-=c=+c)?function(i){return(i-c)/y}:function Vx(c){return function(){return c}}(isNaN(y)?NaN:.5)}function Up(c,y,i){var b=c[0],W=c[1],ce=y[0],ke=y[1];return Wy&&(i=c,c=y,y=i),function(b){return Math.max(c,Math.min(y,b))}}(c[0],c[Lt-1])),Ve=Lt>2?Wp:Up,Ze=tt=null,Mt}function Mt(Lt){return null==Lt||isNaN(Lt=+Lt)?ce:(Ze||(Ze=Ve(c.map(b),y,i)))(b(ke(Lt)))}return Mt.invert=function(Lt){return ke(W((tt||(tt=Ve(y,c.map(b),aa)))(Lt)))},Mt.domain=function(Lt){return arguments.length?(c=Array.from(Lt,zx),bt()):c.slice()},Mt.range=function(Lt){return arguments.length?(y=Array.from(Lt),bt()):y.slice()},Mt.rangeRound=function(Lt){return y=Array.from(Lt),i=zb,bt()},Mt.clamp=function(Lt){return arguments.length?(ke=!!Lt||id,bt()):ke!==id},Mt.interpolate=function(Lt){return arguments.length?(i=Lt,bt()):i},Mt.unknown=function(Lt){return arguments.length?(ce=Lt,Mt):ce},function(Lt,Wt){return b=Lt,W=Wt,bt()}}()(id,id)}function nd(c,y){switch(arguments.length){case 0:break;case 1:this.range(c);break;default:this.range(y).domain(c)}return this}var Fm,bw=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function vg(c){if(!(y=bw.exec(c)))throw new Error("invalid format: "+c);var y;return new $b({fill:y[1],align:y[2],sign:y[3],symbol:y[4],zero:y[5],width:y[6],comma:y[7],precision:y[8]&&y[8].slice(1),trim:y[9],type:y[10]})}function $b(c){this.fill=void 0===c.fill?" ":c.fill+"",this.align=void 0===c.align?">":c.align+"",this.sign=void 0===c.sign?"-":c.sign+"",this.symbol=void 0===c.symbol?"":c.symbol+"",this.zero=!!c.zero,this.width=void 0===c.width?void 0:+c.width,this.comma=!!c.comma,this.precision=void 0===c.precision?void 0:+c.precision,this.trim=!!c.trim,this.type=void 0===c.type?"":c.type+""}function yg(c,y){if((i=(c=y?c.toExponential(y-1):c.toExponential()).indexOf("e"))<0)return null;var i,b=c.slice(0,i);return[b.length>1?b[0]+b.slice(2):b,+c.slice(i+1)]}function Au(c){return(c=yg(Math.abs(c)))?c[1]:NaN}function Bm(c,y){var i=yg(c,y);if(!i)return c+"";var b=i[0],W=i[1];return W<0?"0."+new Array(-W).join("0")+b:b.length>W+1?b.slice(0,W+1)+"."+b.slice(W+1):b+new Array(W-b.length+2).join("0")}vg.prototype=$b.prototype,$b.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Xb={"%":(c,y)=>(100*c).toFixed(y),b:c=>Math.round(c).toString(2),c:c=>c+"",d:function Wx(c){return Math.abs(c=Math.round(c))>=1e21?c.toLocaleString("en").replace(/,/g,""):c.toString(10)},e:(c,y)=>c.toExponential(y),f:(c,y)=>c.toFixed(y),g:(c,y)=>c.toPrecision(y),o:c=>Math.round(c).toString(8),p:(c,y)=>Bm(100*c,y),r:Bm,s:function Xp(c,y){var i=yg(c,y);if(!i)return c+"";var b=i[0],W=i[1],ce=W-(Fm=3*Math.max(-8,Math.min(8,Math.floor(W/3))))+1,ke=b.length;return ce===ke?b:ce>ke?b+new Array(ce-ke+1).join("0"):ce>0?b.slice(0,ce)+"."+b.slice(ce):"0."+new Array(1-ce).join("0")+yg(c,Math.max(0,y+ce-1))[0]},X:c=>Math.round(c).toString(16).toUpperCase(),x:c=>Math.round(c).toString(16)};function Iu(c){return c}var _g,Yp,Zb,jm=Array.prototype.map,Yb=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function Vm(c){var y=c.domain;return c.ticks=function(i){var b=y();return function Id(c,y,i){if(!((i=+i)>0))return[];if((c=+c)==(y=+y))return[c];const b=y=W))return[];const Ve=ce-W+1,Ze=new Array(Ve);if(b)if(ke<0)for(let tt=0;tt0;){if((tt=eg(ke,Ve,i))===Ze)return b[W]=ke,b[ce]=Ve,y(b);if(tt>0)ke=Math.floor(ke/tt)*tt,Ve=Math.ceil(Ve/tt)*tt;else{if(!(tt<0))break;ke=Math.ceil(ke*tt)/tt,Ve=Math.floor(Ve*tt)/tt}Ze=tt}return c},c}function bh(){var c=Hb();return c.copy=function(){return function Gb(c,y){return y.domain(c.domain()).range(c.range()).interpolate(c.interpolate()).clamp(c.clamp()).unknown(c.unknown())}(c,bh())},nd.apply(c,arguments),Vm(c)}function qb(c,y,i){c=+c,y=+y,i=(W=arguments.length)<2?(y=c,c=0,1):W<3?1:+i;for(var b=-1,W=0|Math.max(0,Math.ceil((y-c)/i)),ce=new Array(W);++b0&&Ve>0&&(Ze+Ve+1>b&&(Ve=Math.max(1,b-Ze)),ce.push(i.substring(W-=Ve,W+Ve)),!((Ze+=Ve+1)>b));)Ve=c[ke=(ke+1)%c.length];return ce.reverse().join(y)}}(jm.call(c.grouping,Number),c.thousands+""),i=void 0===c.currency?"":c.currency[0]+"",b=void 0===c.currency?"":c.currency[1]+"",W=void 0===c.decimal?".":c.decimal+"",ce=void 0===c.numerals?Iu:function Nm(c){return function(y){return y.replace(/[0-9]/g,function(i){return c[+i]})}}(jm.call(c.numerals,String)),ke=void 0===c.percent?"%":c.percent+"",Ve=void 0===c.minus?"\u2212":c.minus+"",Ze=void 0===c.nan?"NaN":c.nan+"";function tt(Mt){var Lt=(Mt=vg(Mt)).fill,Wt=Mt.align,Zt=Mt.sign,hi=Mt.symbol,Yt=Mt.zero,ui=Mt.width,yi=Mt.comma,fi=Mt.precision,Ti=Mt.trim,ji=Mt.type;"n"===ji?(yi=!0,ji="g"):Xb[ji]||(void 0===fi&&(fi=12),Ti=!0,ji="g"),(Yt||"0"===Lt&&"="===Wt)&&(Yt=!0,Lt="0",Wt="=");var Mi="$"===hi?i:"#"===hi&&/[boxX]/.test(ji)?"0"+ji.toLowerCase():"",hn="$"===hi?b:/[%p]/.test(ji)?ke:"",dn=Xb[ji],xs=/[defgprs%]/.test(ji);function An(Hi){var Zi,rr,_i,Xn=Mi,Pi=hn;if("c"===ji)Pi=dn(Hi)+Pi,Hi="";else{var Si=(Hi=+Hi)<0||1/Hi<0;if(Hi=isNaN(Hi)?Ze:dn(Math.abs(Hi),fi),Ti&&(Hi=function xg(c){e:for(var W,y=c.length,i=1,b=-1;i0&&(b=0)}return b>0?c.slice(0,b)+c.slice(W+1):c}(Hi)),Si&&0==+Hi&&"+"!==Zt&&(Si=!1),Xn=(Si?"("===Zt?Zt:Ve:"-"===Zt||"("===Zt?"":Zt)+Xn,Pi=("s"===ji?Yb[8+Fm/3]:"")+Pi+(Si&&"("===Zt?")":""),xs)for(Zi=-1,rr=Hi.length;++Zi(_i=Hi.charCodeAt(Zi))||_i>57){Pi=(46===_i?W+Hi.slice(Zi+1):Hi.slice(Zi))+Pi,Hi=Hi.slice(0,Zi);break}}yi&&!Yt&&(Hi=y(Hi,1/0));var Vi=Xn.length+Hi.length+Pi.length,Gi=Vi>1)+Xn+Hi+Pi+Gi.slice(Vi);break;default:Hi=Gi+Xn+Hi+Pi}return ce(Hi)}return fi=void 0===fi?6:/[gprs]/.test(ji)?Math.max(1,Math.min(21,fi)):Math.max(0,Math.min(20,fi)),An.toString=function(){return Mt+""},An}return{format:tt,formatPrefix:function bt(Mt,Lt){var Wt=tt(((Mt=vg(Mt)).type="f",Mt)),Zt=3*Math.max(-8,Math.min(8,Math.floor(Au(Lt)/3))),hi=Math.pow(10,-Zt),Yt=Yb[8+Zt/3];return function(ui){return Wt(hi*ui)+Yt}}}}(c),Yp=_g.format,Zb=_g.formatPrefix}({thousands:",",grouping:[3],currency:["$",""]});class Kp extends Map{constructor(y,i=Cg){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:i}}),null!=y)for(const[b,W]of y)this.set(b,W)}get(y){return super.get(Qb(this,y))}has(y){return super.has(Qb(this,y))}set(y,i){return super.set(function Jb({_intern:c,_key:y},i){const b=y(i);return c.has(b)?c.get(b):(c.set(b,i),i)}(this,y),i)}delete(y){return super.delete(function ev({_intern:c,_key:y},i){const b=y(i);return c.has(b)&&(i=c.get(b),c.delete(b)),i}(this,y))}}function Qb({_intern:c,_key:y},i){const b=y(i);return c.has(b)?c.get(b):i}function Cg(c){return null!==c&&"object"==typeof c?c.valueOf():c}Set;const tv=Symbol("implicit");function wg(){var c=new Kp,y=[],i=[],b=tv;function W(ce){let ke=c.get(ce);if(void 0===ke){if(b!==tv)return b;c.set(ce,ke=y.push(ce)-1)}return i[ke%i.length]}return W.domain=function(ce){if(!arguments.length)return y.slice();y=[],c=new Kp;for(const ke of ce)c.has(ke)||c.set(ke,y.push(ke)-1);return W},W.range=function(ce){return arguments.length?(i=Array.from(ce),W):i.slice()},W.unknown=function(ce){return arguments.length?(b=ce,W):b},W.copy=function(){return wg(y,i).unknown(b)},nd.apply(W,arguments),W}function Gm(){var ce,ke,c=wg().unknown(void 0),y=c.domain,i=c.range,b=0,W=1,Ve=!1,Ze=0,tt=0,bt=.5;function Mt(){var Lt=y().length,Wt=W=1)return+i(c[b-1],b-1,c);var b,W=(b-1)*y,ce=Math.floor(W),ke=+i(c[ce],ce,c);return ke+(+i(c[ce+1],ce+1,c)-ke)*(W-ce)}}function qp(){var b,c=[],y=[],i=[];function W(){var ke=0,Ve=Math.max(1,y.length);for(i=new Array(Ve-1);++ke0?i[Ve-1]:c[0],Ve=1?Tg:c<=-1?-Tg:Math.asin(c)}const El=Math.PI,Sg=2*El,Bd=1e-6,xw=Sg-Bd;function xr(c){this._+=c[0];for(let y=1,i=c.length;y=0))throw new Error(`invalid digits: ${c}`);if(y>15)return xr;const i=10**y;return function(b){this._+=b[0];for(let W=1,ce=b.length;WBd)if(Math.abs(Mt*Ze-tt*bt)>Bd&&ce){let Wt=b-ke,Zt=W-Ve,hi=Ze*Ze+tt*tt,Yt=Wt*Wt+Zt*Zt,ui=Math.sqrt(hi),yi=Math.sqrt(Lt),fi=ce*Math.tan((El-Math.acos((hi+Lt-Yt)/(2*ui*yi)))/2),Ti=fi/yi,ji=fi/ui;Math.abs(Ti-1)>Bd&&this._append`L${y+Ti*bt},${i+Ti*Mt}`,this._append`A${ce},${ce},0,0,${+(Mt*Wt>bt*Zt)},${this._x1=y+ji*Ze},${this._y1=i+ji*tt}`}else this._append`L${this._x1=y},${this._y1=i}`}arc(y,i,b,W,ce,ke){if(y=+y,i=+i,ke=!!ke,(b=+b)<0)throw new Error(`negative radius: ${b}`);let Ve=b*Math.cos(W),Ze=b*Math.sin(W),tt=y+Ve,bt=i+Ze,Mt=1^ke,Lt=ke?W-ce:ce-W;null===this._x1?this._append`M${tt},${bt}`:(Math.abs(this._x1-tt)>Bd||Math.abs(this._y1-bt)>Bd)&&this._append`L${tt},${bt}`,b&&(Lt<0&&(Lt=Lt%Sg+Sg),Lt>xw?this._append`A${b},${b},0,1,${Mt},${y-Ve},${i-Ze}A${b},${b},0,1,${Mt},${this._x1=tt},${this._y1=bt}`:Lt>Bd&&this._append`A${b},${b},0,${+(Lt>=El)},${Mt},${this._x1=y+b*Math.cos(ce)},${this._y1=i+b*Math.sin(ce)}`)}rect(y,i,b,W){this._append`M${this._x0=this._x1=+y},${this._y0=this._y1=+i}h${b=+b}v${+W}h${-b}Z`}toString(){return this._}}function sv(c){return c.innerRadius}function rv(c){return c.outerRadius}function ov(c){return c.startAngle}function e_(c){return c.endAngle}function t_(c){return c&&c.padAngle}function Jp(c,y,i,b,W,ce,ke){var Ve=c-i,Ze=y-b,tt=(ke?ce:-ce)/Fd(Ve*Ve+Ze*Ze),bt=tt*Ze,Mt=-tt*Ve,Lt=c+bt,Wt=y+Mt,Zt=i+bt,hi=b+Mt,Yt=(Lt+Zt)/2,ui=(Wt+hi)/2,yi=Zt-Lt,fi=hi-Wt,Ti=yi*yi+fi*fi,ji=W-ce,Mi=Lt*hi-Zt*Wt,hn=(fi<0?-1:1)*Fd(yw(0,ji*ji*Ti-Mi*Mi)),dn=(Mi*fi-yi*hn)/Ti,xs=(-Mi*yi-fi*hn)/Ti,An=(Mi*fi+yi*hn)/Ti,Hi=(-Mi*yi+fi*hn)/Ti,Xn=dn-Yt,Pi=xs-ui,Zi=An-Yt,rr=Hi-ui;return Xn*Xn+Pi*Pi>Zi*Zi+rr*rr&&(dn=An,xs=Hi),{cx:dn,cy:xs,x01:-bt,y01:-Mt,x11:dn*(W/ji-1),y11:xs*(W/ji-1)}}function ef(){var c=sv,y=rv,i=ca(0),b=null,W=ov,ce=e_,ke=t_,Ve=null,Ze=function $m(c){let y=3;return c.digits=function(i){if(!arguments.length)return y;if(null==i)y=null;else{const b=Math.floor(i);if(!(b>=0))throw new RangeError(`invalid digits: ${i}`);y=b}return c},()=>new Lu(y)}(tt);function tt(){var bt,Mt,Lt=+c.apply(this,arguments),Wt=+y.apply(this,arguments),Zt=W.apply(this,arguments)-Tg,hi=ce.apply(this,arguments)-Tg,Yt=Hm(hi-Zt),ui=hi>Zt;if(Ve||(Ve=bt=Ze()),WtOa)if(Yt>Ou-Oa)Ve.moveTo(Wt*sd(Zt),Wt*Ia(Zt)),Ve.arc(0,0,Wt,Zt,hi,!ui),Lt>Oa&&(Ve.moveTo(Lt*sd(hi),Lt*Ia(hi)),Ve.arc(0,0,Lt,hi,Zt,ui));else{var Pi,Zi,yi=Zt,fi=hi,Ti=Zt,ji=hi,Mi=Yt,hn=Yt,dn=ke.apply(this,arguments)/2,xs=dn>Oa&&(b?+b.apply(this,arguments):Fd(Lt*Lt+Wt*Wt)),An=Um(Hm(Wt-Lt)/2,+i.apply(this,arguments)),Hi=An,Xn=An;if(xs>Oa){var rr=Wm(xs/Lt*Ia(dn)),_i=Wm(xs/Wt*Ia(dn));(Mi-=2*rr)>Oa?(Ti+=rr*=ui?1:-1,ji-=rr):(Mi=0,Ti=ji=(Zt+hi)/2),(hn-=2*_i)>Oa?(yi+=_i*=ui?1:-1,fi-=_i):(hn=0,yi=fi=(Zt+hi)/2)}var Si=Wt*sd(yi),Vi=Wt*Ia(yi),Gi=Lt*sd(ji),Nn=Lt*Ia(ji);if(An>Oa){var Qr,is=Wt*sd(fi),Yn=Wt*Ia(fi),fo=Lt*sd(Ti),ps=Lt*Ia(Ti);if(Yt1?0:c<-1?Qp:Math.acos(c)}((Ll*Ur+ns*Ii)/(Fd(Ll*Ll+ns*ns)*Fd(Ur*Ur+Ii*Ii)))/2),Gn=Fd(Qr[0]*Qr[0]+Qr[1]*Qr[1]);Hi=Um(An,(Lt-Gn)/(un-1)),Xn=Um(An,(Wt-Gn)/(un+1))}else Hi=Xn=0}hn>Oa?Xn>Oa?(Pi=Jp(fo,ps,Si,Vi,Wt,Xn,ui),Zi=Jp(is,Yn,Gi,Nn,Wt,Xn,ui),Ve.moveTo(Pi.cx+Pi.x01,Pi.cy+Pi.y01),XnOa&&Mi>Oa?Hi>Oa?(Pi=Jp(Gi,Nn,is,Yn,Lt,-Hi,ui),Zi=Jp(Si,Vi,fo,ps,Lt,-Hi,ui),Ve.lineTo(Pi.cx+Pi.x01,Pi.cy+Pi.y01),Hic?1:y>=c?0:NaN}function cv(c){return c}var rd=We(76021);const kg=["caretElm"],hv=c=>({model:c});function nf(c,y){}function i_(c,y){if(1&c&&(e.j41(0,"span"),e.DNE(1,nf,0,0,"ng-template",5),e.k0s()),2&c){const i=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",i.template)("ngTemplateOutletContext",e.eq3(2,hv,i.context))}}function n_(c,y){if(1&c&&e.nrm(0,"span",6),2&c){const i=e.XpG();e.Y8G("innerHTML",i.title,e.npT)}}function Ym(c,y){if(1&c&&(e.j41(0,"header",4)(1,"span",5),e.EFF(2),e.k0s()()),2&c){const i=e.XpG();e.R7$(2),e.JRh(i.title)}}function dv(c,y){if(1&c){const i=e.RV6();e.j41(0,"li",6)(1,"ngx-charts-legend-entry",7),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.labelClick.emit(W))})("activate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.activate(W))})("deactivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.deactivate(W))}),e.k0s()()}if(2&c){const i=y.$implicit,b=e.XpG();e.R7$(),e.Y8G("label",i.label)("formattedLabel",i.formattedLabel)("color",i.color)("isActive",b.isActive(i))}}const vh=["*"];function sf(c,y){if(1&c&&e.nrm(0,"ngx-charts-scale-legend",4),2&c){const i=e.XpG();e.Y8G("horizontal",i.legendOptions&&i.legendOptions.position===i.LegendPosition.Below)("valueRange",i.legendOptions.domain)("colors",i.legendOptions.colors)("height",i.view[1])("width",i.legendWidth)}}function ww(c,y){if(1&c){const i=e.RV6();e.j41(0,"ngx-charts-legend",5),e.bIt("labelClick",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.legendLabelClick.emit(W))})("labelActivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.legendLabelActivate.emit(W))})("labelDeactivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.legendLabelDeactivate.emit(W))}),e.k0s()}if(2&c){const i=e.XpG();e.Y8G("horizontal",i.legendOptions&&i.legendOptions.position===i.LegendPosition.Below)("data",i.legendOptions.domain)("title",i.legendOptions.title)("colors",i.legendOptions.colors)("height",i.view[1])("width",i.legendWidth)("activeEntries",i.activeEntries)}}const C_=["ngx-charts-svg-radial-gradient",""];function n0(c,y){if(1&c&&(e.qSk(),e.nrm(0,"stop")),2&c){const i=y.$implicit;e.xc7("stop-color",i.color)("stop-opacity",i.opacity),e.BMQ("offset",i.offset+"%")}}const Iw=["ngx-charts-count-up",""];function Av(c,y){if(1&c&&e.nrm(0,"div",7),2&c){const i=e.XpG();e.Y8G("countTo",i.roundedTotal)("valueFormatting",i.valueFormatting)}}function Iv(c,y){if(1&c&&(e.j41(0,"div",8),e.EFF(1),e.k0s()),2&c){const i=e.XpG();e.R7$(),e.SpI(" ",i.valueFormatting?i.valueFormatting(i.roundedTotal):i.defaultValueFormatting(i.roundedTotal)," ")}}function Ov(c,y){if(1&c&&e.nrm(0,"div",16),2&c){const i=e.XpG().$implicit,b=e.XpG();e.Y8G("countTo",i._value)("valueFormatting",b.valueFormatting)}}function Lv(c,y){if(1&c&&(e.j41(0,"div",17),e.EFF(1),e.k0s()),2&c){const i=e.XpG().$implicit,b=e.XpG();e.R7$(),e.SpI(" ",b.valueFormatting?b.valueFormatting(i.value):b.defaultValueFormatting(i.value)," ")}}function w_(c,y){if(1&c&&e.nrm(0,"div",18),2&c){const i=e.XpG().$implicit;e.Y8G("countTo",i.percentage)("countSuffix","%")}}function Lw(c,y){if(1&c&&(e.j41(0,"div",19),e.EFF(1),e.k0s()),2&c){const i=e.XpG().$implicit;e.R7$(),e.SpI("",i.percentage.toLocaleString(),"%")}}function Pw(c,y){if(1&c){const i=e.RV6();e.j41(0,"div",9),e.bIt("mouseenter",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.activate.emit(W.data))})("mouseleave",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.deactivate.emit(W.data))})("click",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.select.emit(W.data))}),e.nrm(1,"div",10),e.DNE(2,Ov,1,2,"div",11)(3,Lv,2,1,"div",12),e.j41(4,"div",13),e.EFF(5),e.k0s(),e.DNE(6,w_,1,2,"div",14)(7,Lw,2,1,"div",15),e.k0s()}if(2&c){const i=y.$implicit,b=e.XpG();e.R7$(),e.xc7("border-left-color",i.color),e.R7$(),e.Y8G("ngIf",b.animations),e.R7$(),e.Y8G("ngIf",!b.animations),e.R7$(2),e.JRh(i.displayLabel),e.R7$(),e.Y8G("ngIf",b.animations),e.R7$(),e.Y8G("ngIf",!b.animations)}}const Rw=["tooltipTemplate"],Dg=(c,y)=>[c,y],Fu=["ngx-charts-pie-label",""],e1=["ngx-charts-pie-arc",""];function t1(c,y){if(1&c&&(e.qSk(),e.j41(0,"defs"),e.nrm(1,"g",3),e.k0s()),2&c){const i=e.XpG();e.R7$(),e.Y8G("color",i.fill)("name",i.radialGradientId)("startOpacity",i.startOpacity)}}const Zv=["ngx-charts-pie-series",""];function qv(c,y){if(1&c&&(e.qSk(),e.nrm(0,"g",3)),2&c){const i=e.XpG().$implicit,b=e.XpG();e.Y8G("data",i)("radius",b.outerRadius)("color",b.color(i))("label",b.labelText(i))("labelTrim",b.trimLabels)("labelTrimSize",b.maxLabelLength)("max",b.max)("value",i.value)("explodeSlices",b.explodeSlices)("animations",b.animations)}}function n1(c,y){if(1&c){const i=e.RV6();e.qSk(),e.j41(0,"g"),e.DNE(1,qv,1,10,"g",1),e.j41(2,"g",2),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.onClick(W))})("activate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.activate.emit(W))})("deactivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.deactivate.emit(W))})("dblclick",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.dblclick.emit(W))}),e.k0s()()}if(2&c){const i=y.$implicit,b=e.XpG();e.R7$(),e.Y8G("ngIf",b.labelVisible(i)),e.R7$(),e.Y8G("startAngle",i.startAngle)("endAngle",i.endAngle)("innerRadius",b.innerRadius)("outerRadius",b.outerRadius)("fill",b.color(i))("value",i.data.value)("gradient",b.gradient)("data",i.data)("max",b.max)("explodeSlices",b.explodeSlices)("isActive",b.isActive(i.data))("animate",b.animations)("tooltipDisabled",b.tooltipDisabled)("tooltipPlacement",b.placementTypes.Top)("tooltipType",b.styleTypes.tooltip)("tooltipTitle",b.getTooltipTitle(i))("tooltipTemplate",b.tooltipTemplate)("tooltipContext",i.data)}}function ju(c,y,i){i=i||{};let b,W,ce,ke=null,Ve=0;function Ze(){Ve=!1===i.leading?0:+new Date,ke=null,ce=c.apply(b,W)}return function(){const tt=+new Date;!Ve&&!1===i.leading&&(Ve=tt);const bt=y-(tt-Ve);return b=this,W=arguments,bt<=0?(clearTimeout(ke),ke=null,Ve=tt,ce=c.apply(b,W)):!ke&&!1!==i.trailing&&(ke=setTimeout(Ze,bt)),ce}}function Vu(c,y){return function(b,W,ce){return{configurable:!0,enumerable:ce.enumerable,get:function(){return Object.defineProperty(this,W,{configurable:!0,enumerable:ce.enumerable,value:ju(ce.value,c,y)}),this[W]}}}}var Rn=function(c){return c.Top="top",c.Bottom="bottom",c.Left="left",c.Right="right",c.Center="center",c}(Rn||{});function y0(c,y,i){return i===Rn.Top?c.top-7:i===Rn.Bottom?c.top+c.height-y.height+7:i===Rn.Center?c.top+c.height/2-y.height/2:void 0}function x0(c,y,i){return i===Rn.Left?c.left-7:i===Rn.Right?c.left+c.width-y.width+7:i===Rn.Center?c.left+c.width/2-y.width/2:void 0}class La{static calculateVerticalAlignment(y,i,b){let W=y0(y,i,b);return W+i.height>window.innerHeight&&(W=window.innerHeight-i.height),W}static calculateVerticalCaret(y,i,b,W){let ce;W===Rn.Top&&(ce=y.height/2-b.height/2+7),W===Rn.Bottom&&(ce=i.height-y.height/2-b.height/2-7),W===Rn.Center&&(ce=i.height/2-b.height/2);const ke=y0(y,i,W);return ke+i.height>window.innerHeight&&(ce+=ke+i.height-window.innerHeight),ce}static calculateHorizontalAlignment(y,i,b){let W=x0(y,i,b);return W+i.width>window.innerWidth&&(W=window.innerWidth-i.width),W}static calculateHorizontalCaret(y,i,b,W){let ce;W===Rn.Left&&(ce=y.width/2-b.width/2+7),W===Rn.Right&&(ce=i.width-y.width/2-b.width/2-7),W===Rn.Center&&(ce=i.width/2-b.width/2);const ke=x0(y,i,W);return ke+i.width>window.innerWidth&&(ce+=ke+i.width-window.innerWidth),ce}static shouldFlip(y,i,b,W){let ce=!1;return b===Rn.Right&&y.left+y.width+i.width+W>window.innerWidth&&(ce=!0),b===Rn.Left&&y.left-i.width-W<0&&(ce=!0),b===Rn.Top&&y.top-i.height-W<0&&(ce=!0),b===Rn.Bottom&&y.top+y.height+i.height+W>window.innerHeight&&(ce=!0),ce}static positionCaret(y,i,b,W,ce){let ke=0,Ve=0;return y===Rn.Right?(Ve=-7,ke=La.calculateVerticalCaret(b,i,W,ce)):y===Rn.Left?(Ve=i.width,ke=La.calculateVerticalCaret(b,i,W,ce)):y===Rn.Top?(ke=i.height,Ve=La.calculateHorizontalCaret(b,i,W,ce)):y===Rn.Bottom&&(ke=-7,Ve=La.calculateHorizontalCaret(b,i,W,ce)),{top:ke,left:Ve}}static positionContent(y,i,b,W,ce){let ke=0,Ve=0;return y===Rn.Right?(Ve=b.left+b.width+W,ke=La.calculateVerticalAlignment(b,i,ce)):y===Rn.Left?(Ve=b.left-i.width-W,ke=La.calculateVerticalAlignment(b,i,ce)):y===Rn.Top?(ke=b.top-i.height-W,Ve=La.calculateHorizontalAlignment(b,i,ce)):y===Rn.Bottom&&(ke=b.top+b.height+W,Ve=La.calculateHorizontalAlignment(b,i,ce)),{top:ke,left:Ve}}static determinePlacement(y,i,b,W){if(La.shouldFlip(b,i,y,W)){if(y===Rn.Right)return Rn.Left;if(y===Rn.Left)return Rn.Right;if(y===Rn.Top)return Rn.Bottom;if(y===Rn.Bottom)return Rn.Top}return y}}let ty=(()=>{class c{constructor(i,b,W){this.element=i,this.renderer=b,this.platformId=W}get cssClasses(){let i="ngx-charts-tooltip-content";return i+=` position-${this.placement}`,i+=` type-${this.type}`,i+=` ${this.cssClass}`,i}ngAfterViewInit(){setTimeout(this.position.bind(this))}position(){if(!(0,cn.UE)(this.platformId))return;const i=this.element.nativeElement,b=this.host.nativeElement.getBoundingClientRect();if(!b.height&&!b.width)return;const W=i.getBoundingClientRect();this.checkFlip(b,W),this.positionContent(i,b,W),this.showCaret&&this.positionCaret(b,W),setTimeout(()=>this.renderer.addClass(i,"animate"),1)}positionContent(i,b,W){const{top:ce,left:ke}=La.positionContent(this.placement,W,b,this.spacing,this.alignment);this.renderer.setStyle(i,"top",`${ce}px`),this.renderer.setStyle(i,"left",`${ke}px`)}positionCaret(i,b){const W=this.caretElm.nativeElement,ce=W.getBoundingClientRect(),{top:ke,left:Ve}=La.positionCaret(this.placement,b,i,ce,this.alignment);this.renderer.setStyle(W,"top",`${ke}px`),this.renderer.setStyle(W,"left",`${Ve}px`)}checkFlip(i,b){this.placement=La.determinePlacement(this.placement,b,i,this.spacing)}onWindowResize(){this.position()}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(e.Agw))},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-tooltip-content"]],viewQuery:function(i,b){if(1&i&&e.GBs(kg,5),2&i){let W;e.mGM(W=e.lsd())&&(b.caretElm=W.first)}},hostVars:2,hostBindings:function(i,b){1&i&&e.bIt("resize",function(){return b.onWindowResize()},!1,e.tSv),2&i&&e.HbH(b.cssClasses)},inputs:{host:"host",showCaret:"showCaret",type:"type",placement:"placement",alignment:"alignment",spacing:"spacing",cssClass:"cssClass",title:"title",template:"template",context:"context"},decls:6,vars:6,consts:[["caretElm",""],[3,"hidden"],[1,"tooltip-content"],[4,"ngIf"],[3,"innerHTML",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"innerHTML"]],template:function(i,b){1&i&&(e.j41(0,"div"),e.nrm(1,"span",1,0),e.j41(3,"div",2),e.DNE(4,i_,2,4,"span",3)(5,n_,1,1,"span",4),e.k0s()()),2&i&&(e.R7$(),e.ZvI("tooltip-caret position-",b.placement,""),e.Y8G("hidden",!b.showCaret),e.R7$(3),e.Y8G("ngIf",!b.title),e.R7$(),e.Y8G("ngIf",b.title))},dependencies:[cn.bT,cn.T3],styles:[".ngx-charts-tooltip-content{position:fixed;border-radius:3px;z-index:5000;display:block;font-weight:400;opacity:0;pointer-events:none!important}.ngx-charts-tooltip-content.type-popover{background:#fff;color:#060709;border:1px solid #72809b;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;font-size:13px;padding:4px}.ngx-charts-tooltip-content.type-popover .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #fff}.ngx-charts-tooltip-content.type-tooltip{color:#fff;background:rgba(0,0,0,.75);font-size:12px;padding:0 10px;text-align:center;pointer-events:auto}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content .tooltip-label{display:block;line-height:1em;padding:8px 5px 5px;font-size:1em}.ngx-charts-tooltip-content .tooltip-val{display:block;font-size:1.3em;line-height:1em;padding:0 5px 8px}.ngx-charts-tooltip-content .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.position-right{transform:translate(10px)}.ngx-charts-tooltip-content.position-left{transform:translate(-10px)}.ngx-charts-tooltip-content.position-top{transform:translateY(-10px)}.ngx-charts-tooltip-content.position-bottom{transform:translateY(10px)}.ngx-charts-tooltip-content.animate{opacity:1;transition:opacity .3s,transform .3s;transform:translate(0);pointer-events:auto}.area-tooltip-container{padding:5px 0;pointer-events:none}.tooltip-item{text-align:left;line-height:1.2em;padding:5px 0}.tooltip-item .tooltip-item-color{display:inline-block;height:12px;width:12px;margin-right:5px;color:#5b646b;border-radius:3px}\n"],encapsulation:2}),(0,Xl.Cg)([Vu(100)],c.prototype,"onWindowResize",null),c})();class iy{constructor(y){this.injectionService=y,this.defaults={},this.components=new Map}getByType(y=this.type){return this.components.get(y)}create(y){return this.createByType(this.type,y)}createByType(y,i){i=this.assignDefaults(i);const b=this.injectComponent(y,i);return this.register(y,b),b}destroy(y){const i=this.components.get(y.componentType);if(i&&i.length){const b=i.indexOf(y);b>-1&&(i[b].destroy(),i.splice(b,1))}}destroyAll(){this.destroyByType(this.type)}destroyByType(y){const i=this.components.get(y);if(i&&i.length){let b=i.length-1;for(;b>=0;)this.destroy(i[b--])}}injectComponent(y,i){return this.injectionService.appendComponent(y,i)}assignDefaults(y){const i={...this.defaults.inputs},b={...this.defaults.outputs};return!y.inputs&&!y.outputs&&(y={inputs:y}),i&&(y.inputs={...i,...y.inputs}),b&&(y.outputs={...b,...y.outputs}),y}register(y,i){this.components.has(y)||this.components.set(y,[]),this.components.get(y).push(i)}}let _0=(()=>{class c{constructor(i,b,W){this.applicationRef=i,this.componentFactoryResolver=b,this.injector=W}static setGlobalRootViewContainer(i){c.globalRootViewContainer=i}getRootViewContainer(){if(this._container)return this._container;if(c.globalRootViewContainer)return c.globalRootViewContainer;if(this.applicationRef.components.length)return this.applicationRef.components[0];throw new Error("View Container not found! ngUpgrade needs to manually set this via setRootViewContainer or setGlobalRootViewContainer.")}setRootViewContainer(i){this._container=i}getComponentRootNode(i){return function ny(c){return c.element}(i)?i.element.nativeElement:i.hostView&&i.hostView.rootNodes.length>0?i.hostView.rootNodes[0]:i.location.nativeElement}getRootViewContainerNode(i){return this.getComponentRootNode(i)}projectComponentBindings(i,b){if(b){if(void 0!==b.inputs){const W=Object.getOwnPropertyNames(b.inputs);for(const ce of W)i.instance[ce]=b.inputs[ce]}if(void 0!==b.outputs){const W=Object.getOwnPropertyNames(b.outputs);for(const ce of W)i.instance[ce]=b.outputs[ce]}}return i}appendComponent(i,b={},W){W||(W=this.getRootViewContainer());const ce=this.getComponentRootNode(W),ke=new gc(ce,this.componentFactoryResolver,this.applicationRef,this.injector),Ve=new yo(i),Ze=ke.attach(Ve);return this.projectComponentBindings(Ze,b),Ze}}return c.globalRootViewContainer=null,c.\u0275fac=function(i){return new(i||c)(e.KVO(e.o8S),e.KVO(e.OM3),e.KVO(e.zZn))},c.\u0275prov=e.jDH({token:c,factory:c.\u0275fac}),c})(),Pg=(()=>{class c extends iy{constructor(i){super(i),this.type=ty}}return c.\u0275fac=function(i){return new(i||c)(e.KVO(_0))},c.\u0275prov=e.jDH({token:c,factory:c.\u0275fac}),c})();var xh=function(c){return c.Right="right",c.Below="below",c}(xh||{}),Il=function(c){return c.ScaleLegend="scaleLegend",c.Legend="legend",c}(Il||{}),Cn=function(c){return c.Time="time",c.Linear="linear",c.Ordinal="ordinal",c.Quantile="quantile",c}(Cn||{});let sy=(()=>{class c{constructor(){this.horizontal=!1}ngOnChanges(i){const b=this.gradientString(this.colors.range(),this.colors.domain());this.gradient=`linear-gradient(to ${this.horizontal?"right":"bottom"}, ${b})`}gradientString(i,b){b.push(1);const W=[];return i.reverse().forEach((ce,ke)=>{W.push(`${ce} ${Math.round(100*b[ke])}%`)}),W.join(", ")}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-scale-legend"]],inputs:{valueRange:"valueRange",colors:"colors",height:"height",width:"width",horizontal:"horizontal"},features:[e.OA$],decls:8,vars:10,consts:[[1,"scale-legend"],[1,"scale-legend-label"],[1,"scale-legend-wrap"]],template:function(i,b){1&i&&(e.j41(0,"div",0)(1,"div",1)(2,"span"),e.EFF(3),e.k0s()(),e.nrm(4,"div",2),e.j41(5,"div",1)(6,"span"),e.EFF(7),e.k0s()()()),2&i&&(e.xc7("height",b.horizontal?void 0:b.height,"px")("width",b.width,"px"),e.AVh("horizontal-legend",b.horizontal),e.R7$(3),e.JRh(b.valueRange[1].toLocaleString()),e.R7$(),e.xc7("background",b.gradient),e.R7$(3),e.JRh(b.valueRange[0].toLocaleString()))},styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .scale-legend{text-align:center;display:flex;flex-direction:column}.chart-legend .scale-legend-wrap{display:inline-block;flex:1;width:30px;border-radius:5px;margin:0 auto}.chart-legend .scale-legend-label{font-size:12px}.chart-legend .horizontal-legend.scale-legend{flex-direction:row}.chart-legend .horizontal-legend .scale-legend-wrap{width:auto;height:30px;margin:0 16px}\n"],encapsulation:2,changeDetection:0}),c})();function Gd(c){return c instanceof Date?c.toLocaleDateString():c.toLocaleString()}let Rg=(()=>{class c{constructor(){this.isActive=!1,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.toggle=new e.bkB}get trimmedLabel(){return this.formattedLabel||"(empty)"}onMouseEnter(){this.activate.emit({name:this.label})}onMouseLeave(){this.deactivate.emit({name:this.label})}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-legend-entry"]],hostBindings:function(i,b){1&i&&e.bIt("mouseenter",function(){return b.onMouseEnter()})("mouseleave",function(){return b.onMouseLeave()})},inputs:{color:"color",label:"label",formattedLabel:"formattedLabel",isActive:"isActive"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",toggle:"toggle"},decls:4,vars:6,consts:[["tabindex","-1",3,"click","title"],[1,"legend-label-color",3,"click"],[1,"legend-label-text"]],template:function(i,b){1&i&&(e.j41(0,"span",0),e.bIt("click",function(){return b.select.emit(b.formattedLabel)}),e.j41(1,"span",1),e.bIt("click",function(){return b.toggle.emit(b.formattedLabel)}),e.k0s(),e.j41(2,"span",2),e.EFF(3),e.k0s()()),2&i&&(e.AVh("active",b.isActive),e.Y8G("title",b.formattedLabel),e.R7$(),e.xc7("background-color",b.color),e.R7$(2),e.SpI(" ",b.trimmedLabel," "))},encapsulation:2,changeDetection:0}),c})(),ry=(()=>{class c{constructor(i){this.cd=i,this.horizontal=!1,this.labelClick=new e.bkB,this.labelActivate=new e.bkB,this.labelDeactivate=new e.bkB,this.legendEntries=[]}ngOnChanges(i){this.update()}update(){this.cd.markForCheck(),this.legendEntries=this.getLegendEntries()}getLegendEntries(){const i=[];for(const b of this.data){const W=Gd(b);-1===i.findIndex(ke=>ke.label===W)&&i.push({label:b,formattedLabel:W,color:this.colors.getColor(b)})}return i}isActive(i){return!!this.activeEntries&&void 0!==this.activeEntries.find(W=>i.label===W.name)}activate(i){this.labelActivate.emit(i)}deactivate(i){this.labelDeactivate.emit(i)}trackBy(i,b){return b.label}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.gRc))},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-legend"]],inputs:{data:"data",title:"title",colors:"colors",height:"height",width:"width",activeEntries:"activeEntries",horizontal:"horizontal"},outputs:{labelClick:"labelClick",labelActivate:"labelActivate",labelDeactivate:"labelDeactivate"},features:[e.OA$],decls:5,vars:9,consts:[["class","legend-title",4,"ngIf"],[1,"legend-wrap"],[1,"legend-labels"],["class","legend-label",4,"ngFor","ngForOf","ngForTrackBy"],[1,"legend-title"],[1,"legend-title-text"],[1,"legend-label"],[3,"select","activate","deactivate","label","formattedLabel","color","isActive"]],template:function(i,b){1&i&&(e.j41(0,"div"),e.DNE(1,Ym,3,1,"header",0),e.j41(2,"div",1)(3,"ul",2),e.DNE(4,dv,2,4,"li",3),e.k0s()()()),2&i&&(e.xc7("width",b.width,"px"),e.R7$(),e.Y8G("ngIf",(null==b.title?null:b.title.length)>0),e.R7$(2),e.xc7("max-height",b.height-45,"px"),e.AVh("horizontal-legend",b.horizontal),e.R7$(),e.Y8G("ngForOf",b.legendEntries)("ngForTrackBy",b.trackBy))},dependencies:[Rg,cn.bT,cn.Sq],styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .legend-title{white-space:nowrap;overflow:hidden;margin-left:10px;margin-bottom:5px;font-size:14px;font-weight:700}.chart-legend ul,.chart-legend li{padding:0;margin:0;list-style:none}.chart-legend .horizontal-legend li{display:inline-block}.chart-legend .legend-wrap{width:calc(100% - 10px)}.chart-legend .legend-labels{line-height:85%;list-style:none;text-align:left;float:left;width:100%;border-radius:3px;overflow-y:auto;overflow-x:hidden;white-space:nowrap;background:rgba(0,0,0,.05)}.chart-legend .legend-label{cursor:pointer;font-size:90%;margin:8px;color:#afb7c8}.chart-legend .legend-label:hover{color:#000;transition:.2s}.chart-legend .legend-label .active .legend-label-text{color:#000}.chart-legend .legend-label-color{display:inline-block;height:15px;width:15px;margin-right:5px;color:#5b646b;border-radius:3px}.chart-legend .legend-label-text{display:inline-block;vertical-align:top;line-height:15px;font-size:12px;width:calc(100% - 20px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-legend .legend-title-text{vertical-align:bottom;display:inline-block;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"],encapsulation:2,changeDetection:0}),c})(),Ng=(()=>{class c{constructor(){this.showLegend=!1,this.animations=!0,this.legendLabelClick=new e.bkB,this.legendLabelActivate=new e.bkB,this.legendLabelDeactivate=new e.bkB,this.LegendPosition=xh,this.LegendType=Il}ngOnChanges(i){this.update()}update(){let i=0;this.showLegend&&(this.legendType=this.getLegendType(),(!this.legendOptions||this.legendOptions.position===xh.Right)&&(i=this.legendType===Il.ScaleLegend?1:2)),this.chartWidth=Math.floor(this.view[0]*(12-i)/12),this.legendWidth=this.legendOptions&&this.legendOptions.position!==xh.Right?this.chartWidth:Math.floor(this.view[0]*i/12)}getLegendType(){return this.legendOptions.scaleType===Cn.Linear?Il.ScaleLegend:Il.Legend}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-chart"]],inputs:{view:"view",showLegend:"showLegend",legendOptions:"legendOptions",legendType:"legendType",activeEntries:"activeEntries",animations:"animations"},outputs:{legendLabelClick:"legendLabelClick",legendLabelActivate:"legendLabelActivate",legendLabelDeactivate:"legendLabelDeactivate"},features:[e.Jv_([Pg]),e.OA$],ngContentSelectors:vh,decls:5,vars:8,consts:[[1,"ngx-charts-outer"],[1,"ngx-charts"],["class","chart-legend",3,"horizontal","valueRange","colors","height","width",4,"ngIf"],["class","chart-legend",3,"horizontal","data","title","colors","height","width","activeEntries","labelClick","labelActivate","labelDeactivate",4,"ngIf"],[1,"chart-legend",3,"horizontal","valueRange","colors","height","width"],[1,"chart-legend",3,"labelClick","labelActivate","labelDeactivate","horizontal","data","title","colors","height","width","activeEntries"]],template:function(i,b){1&i&&(e.NAR(),e.j41(0,"div",0),e.qSk(),e.j41(1,"svg",1),e.SdG(2),e.k0s(),e.DNE(3,sf,1,5,"ngx-charts-scale-legend",2)(4,ww,1,7,"ngx-charts-legend",3),e.k0s()),2&i&&(e.xc7("width",b.view[0],"px")("height",b.view[1],"px"),e.R7$(),e.BMQ("width",b.chartWidth)("height",b.view[1]),e.R7$(2),e.Y8G("ngIf",b.showLegend&&b.legendType===b.LegendType.ScaleLegend),e.R7$(),e.Y8G("ngIf",b.showLegend&&b.legendType===b.LegendType.Legend))},dependencies:[sy,ry,cn.bT],encapsulation:2,changeDetection:0}),c})(),DT=(()=>{class c{constructor(i,b){this.element=i,this.zone=b,this.visible=new e.bkB,this.isVisible=!1,this.runCheck()}destroy(){clearTimeout(this.timeout)}onVisibilityChange(){this.zone.run(()=>{this.isVisible=!0,this.visible.emit(!0)})}runCheck(){const i=()=>{if(!this.element)return;const{offsetHeight:b,offsetWidth:W}=this.element.nativeElement;b&&W?(clearTimeout(this.timeout),this.onVisibilityChange()):(clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>i(),100)}))};this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>i())})}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT),e.rXU(e.SKi))},c.\u0275dir=e.FsC({type:c,selectors:[["visibility-observer"]],outputs:{visible:"visible"}}),c})();function m1(c){return"[object Date]"===toString.call(c)}let oy=(()=>{class c{constructor(i,b,W,ce){this.chartElement=i,this.zone=b,this.cd=W,this.platformId=ce,this.scheme="cool",this.schemeType=Cn.Ordinal,this.animations=!0,this.select=new e.bkB}ngOnInit(){(0,cn.Vy)(this.platformId)&&(this.animations=!1)}ngAfterViewInit(){this.bindWindowResizeEvent(),this.visibilityObserver=new DT(this.chartElement,this.zone),this.visibilityObserver.visible.subscribe(this.update.bind(this))}ngOnDestroy(){this.unbindEvents(),this.visibilityObserver&&(this.visibilityObserver.visible.unsubscribe(),this.visibilityObserver.destroy())}ngOnChanges(i){this.update()}update(){if(this.results=this.results?this.cloneData(this.results):[],this.view)this.width=this.view[0],this.height=this.view[1];else{const i=this.getContainerDims();i&&(this.width=i.width,this.height=i.height)}this.width||(this.width=600),this.height||(this.height=400),this.width=Math.floor(this.width),this.height=Math.floor(this.height),this.cd&&this.cd.markForCheck()}getContainerDims(){let i,b;const W=this.chartElement.nativeElement;if((0,cn.UE)(this.platformId)&&null!==W.parentNode){const ce=W.parentNode.getBoundingClientRect();i=ce.width,b=ce.height}return i&&b?{width:i,height:b}:null}formatDates(){for(let i=0;i{this.update(),this.cd&&this.cd.markForCheck()});this.resizeSubscription=b}cloneData(i){const b=[];for(const W of i){const ce={};if(void 0!==W.name&&(ce.name=W.name),void 0!==W.value&&(ce.value=W.value),void 0!==W.series){ce.series=[];for(const ke of W.series){const Ve=Object.assign({},ke);ce.series.push(Ve)}}void 0!==W.extra&&(ce.extra=JSON.parse(JSON.stringify(W.extra))),void 0!==W.source&&(ce.source=W.source),void 0!==W.target&&(ce.target=W.target),b.push(ce)}return b}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(e.gRc),e.rXU(e.Agw))},c.\u0275cmp=e.VBU({type:c,selectors:[["base-chart"]],inputs:{results:"results",view:"view",scheme:"scheme",schemeType:"schemeType",customColors:"customColors",animations:"animations"},outputs:{select:"select"},features:[e.OA$],decls:1,vars:0,template:function(i,b){1&i&&e.nrm(0,"div")},encapsulation:2}),c})();function Hr(c,y=16){return"string"!=typeof c?"number"==typeof c?c+"":"":(c=c.trim()).length<=y?c:`${c.slice(0,y)}...`}var C0=function(c){return c.Start="start",c.Middle="middle",c.End="end",c}(C0||{});let ly=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[cn.MD]]}),c})();var _f=function(c){return c.popover="popover",c.tooltip="tooltip",c}(_f||{}),Hd=function(c){return c[c.all="all"]="all",c[c.focus="focus"]="focus",c[c.mouseover="mouseover"]="mouseover",c}(Hd||{});let w0=(()=>{class c{constructor(i,b,W){this.tooltipService=i,this.viewContainerRef=b,this.renderer=W,this.tooltipCssClass="",this.tooltipAppendToBody=!0,this.tooltipSpacing=10,this.tooltipDisabled=!1,this.tooltipShowCaret=!0,this.tooltipPlacement=Rn.Top,this.tooltipAlignment=Rn.Center,this.tooltipType=_f.popover,this.tooltipCloseOnClickOutside=!0,this.tooltipCloseOnMouseLeave=!0,this.tooltipHideTimeout=300,this.tooltipShowTimeout=100,this.tooltipShowEvent=Hd.all,this.tooltipImmediateExit=!1,this.show=new e.bkB,this.hide=new e.bkB}get listensForFocus(){return this.tooltipShowEvent===Hd.all||this.tooltipShowEvent===Hd.focus}get listensForHover(){return this.tooltipShowEvent===Hd.all||this.tooltipShowEvent===Hd.mouseover}ngOnDestroy(){this.hideTooltip(!0)}onFocus(){this.listensForFocus&&this.showTooltip()}onBlur(){this.listensForFocus&&this.hideTooltip(!0)}onMouseEnter(){this.listensForHover&&this.showTooltip()}onMouseLeave(i){if(this.listensForHover&&this.tooltipCloseOnMouseLeave){if(clearTimeout(this.timeout),this.component&&this.component.instance.element.nativeElement.contains(i))return;this.hideTooltip(this.tooltipImmediateExit)}}onMouseClick(){this.listensForHover&&this.hideTooltip(!0)}showTooltip(i){if(this.component||this.tooltipDisabled)return;const b=i?0:this.tooltipShowTimeout+(navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)?400:0);clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.tooltipService.destroyAll();const W=this.createBoundOptions();this.component=this.tooltipService.create(W),setTimeout(()=>{this.component&&this.addHideListeners(this.component.instance.element.nativeElement)},10),this.show.emit(!0)},b)}addHideListeners(i){this.mouseEnterContentEvent=this.renderer.listen(i,"mouseenter",()=>{clearTimeout(this.timeout)}),this.tooltipCloseOnMouseLeave&&(this.mouseLeaveContentEvent=this.renderer.listen(i,"mouseleave",()=>{this.hideTooltip(this.tooltipImmediateExit)})),this.tooltipCloseOnClickOutside&&(this.documentClickEvent=this.renderer.listen("window","click",b=>{i.contains(b.target)||this.hideTooltip()}))}hideTooltip(i=!1){if(!this.component)return;const b=()=>{this.mouseLeaveContentEvent&&this.mouseLeaveContentEvent(),this.mouseEnterContentEvent&&this.mouseEnterContentEvent(),this.documentClickEvent&&this.documentClickEvent(),this.hide.emit(!0),this.tooltipService.destroy(this.component),this.component=void 0};clearTimeout(this.timeout),i?b():this.timeout=setTimeout(b,this.tooltipHideTimeout)}createBoundOptions(){return{title:this.tooltipTitle,template:this.tooltipTemplate,host:this.viewContainerRef.element,placement:this.tooltipPlacement,alignment:this.tooltipAlignment,type:this.tooltipType,showCaret:this.tooltipShowCaret,cssClass:this.tooltipCssClass,spacing:this.tooltipSpacing,context:this.tooltipContext}}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(Pg),e.rXU(e.c1b),e.rXU(e.sFG))},c.\u0275dir=e.FsC({type:c,selectors:[["","ngx-tooltip",""]],hostBindings:function(i,b){1&i&&e.bIt("focusin",function(){return b.onFocus()})("blur",function(){return b.onBlur()})("mouseenter",function(){return b.onMouseEnter()})("mouseleave",function(ce){return b.onMouseLeave(ce.target)})("click",function(){return b.onMouseClick()})},inputs:{tooltipCssClass:"tooltipCssClass",tooltipTitle:"tooltipTitle",tooltipAppendToBody:"tooltipAppendToBody",tooltipSpacing:"tooltipSpacing",tooltipDisabled:"tooltipDisabled",tooltipShowCaret:"tooltipShowCaret",tooltipPlacement:"tooltipPlacement",tooltipAlignment:"tooltipAlignment",tooltipType:"tooltipType",tooltipCloseOnClickOutside:"tooltipCloseOnClickOutside",tooltipCloseOnMouseLeave:"tooltipCloseOnMouseLeave",tooltipHideTimeout:"tooltipHideTimeout",tooltipShowTimeout:"tooltipShowTimeout",tooltipTemplate:"tooltipTemplate",tooltipShowEvent:"tooltipShowEvent",tooltipContext:"tooltipContext",tooltipImmediateExit:"tooltipImmediateExit"},outputs:{show:"show",hide:"hide"}}),c})(),T0=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({providers:[_0,Pg],imports:[[cn.MD]]}),c})();const _1={};function Ud(){let c=("0000"+(Math.random()*Math.pow(36,4)|0).toString(36)).slice(-4);return c=`a${c}`,_1[c]?Ud():(_1[c]=!0,c)}var rc=function(c){return c.Vertical="vertical",c.Horizontal="horizontal",c}(rc||{});let Ol=(()=>{class c{constructor(){this.endOpacity=1,this.cx=0,this.cy=0}get stops(){return this.stopsInput||this.stopsDefault}set stops(i){this.stopsInput=i}ngOnChanges(i){this.r="30%",("color"in i||"startOpacity"in i||"endOpacity"in i)&&(this.stopsDefault=[{offset:0,color:this.color,opacity:this.startOpacity},{offset:100,color:this.color,opacity:this.endOpacity}])}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["g","ngx-charts-svg-radial-gradient",""]],inputs:{color:"color",name:"name",startOpacity:"startOpacity",endOpacity:"endOpacity",cx:"cx",cy:"cy",stops:"stops"},features:[e.OA$],attrs:C_,decls:2,vars:5,consts:[["gradientUnits","userSpaceOnUse",3,"id"],[3,"stop-color","stop-opacity",4,"ngFor","ngForOf"]],template:function(i,b){1&i&&(e.qSk(),e.j41(0,"radialGradient",0),e.DNE(1,n0,1,5,"stop",1),e.k0s()),2&i&&(e.Y8G("id",b.name),e.BMQ("cx",b.cx)("cy",b.cy)("r",b.r),e.R7$(),e.Y8G("ngForOf",b.stops))},dependencies:[cn.Sq],encapsulation:2,changeDetection:0}),c})();function k0(c,y,i,b){return i*(1-Math.pow(2,-10*c/b))*1024/1023+y}function w1(c,y,i,b,W){const ce=Number(c),ke=Number(y),Ve=ce>ke,Ze=Math.max(0,i),tt=Math.pow(10,Ze),bt=1e3*Number(b);let Mt;function Lt(Wt){let Zt;const hi=Wt-Mt;Zt=Ve?ce-k0(hi,0,ce-ke,bt):k0(hi,ce,ke-ce,bt),Zt=Ve?Ztke?ke:Zt,Zt=Math.round(Zt*tt)/tt;const Yt=hiLt(ui))}return requestAnimationFrame(Wt=>(Mt=Wt,Lt(Wt)))}let D0,hy=(()=>{class c{constructor(i,b){this.cd=i,this.countDuration=1,this.countPrefix="",this.countSuffix="",this.countChange=new e.bkB,this.countFinish=new e.bkB,this.value="",this._countDecimals=0,this._countTo=0,this._countFrom=0,this.nativeElement=b.nativeElement}set countDecimals(i){this._countDecimals=i}get countDecimals(){return this._countDecimals?this._countDecimals:function T1(c){const y=Number(c);return y%1!=0&&Math.abs(y)<=10?2:0}(this.countTo)}set countTo(i){this._countTo=parseFloat(i),this.start()}get countTo(){return this._countTo}set countFrom(i){this._countFrom=parseFloat(i),this.start()}get countFrom(){return this._countFrom}ngOnDestroy(){cancelAnimationFrame(this.animationReq)}start(){cancelAnimationFrame(this.animationReq);const i=this.valueFormatting||(W=>`${this.countPrefix}${W.toLocaleString()}${this.countSuffix}`);this.animationReq=w1(this.countFrom,this.countTo,this.countDecimals,this.countDuration,({value:W,progress:ce,finished:ke})=>{this.value=i(W),this.cd.markForCheck(),ke||this.countChange.emit({value:this.value,progress:ce}),ke&&this.countFinish.emit({value:this.value,progress:ce})})}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.gRc),e.rXU(e.aKT))},c.\u0275cmp=e.VBU({type:c,selectors:[["","ngx-charts-count-up",""]],inputs:{countDuration:"countDuration",countPrefix:"countPrefix",countSuffix:"countSuffix",valueFormatting:"valueFormatting",countDecimals:"countDecimals",countTo:"countTo",countFrom:"countFrom"},outputs:{countChange:"countChange",countFinish:"countFinish"},attrs:Iw,decls:1,vars:1,template:function(i,b){1&i&&e.EFF(0),2&i&&e.SpI(" ",b.value," ")},encapsulation:2}),c})();typeof window<"u"?D0=window:typeof global<"u"&&(D0=global);let uy=(()=>{class c{constructor(){this.label="Total",this.animations=!0,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.legendItems=[],this.labelFormatting=i=>i,this.percentageFormatting=i=>i,this.defaultValueFormatting=i=>i.toLocaleString()}ngOnChanges(i){this.update()}getTotal(){return this.data.map(i=>Number(i.value)).reduce((i,b)=>i+b,0)}update(){this.total=this.getTotal(),this.roundedTotal=this.total,this.legendItems=this.getLegendItems()}getLegendItems(){return this.data.map(i=>{const b=Gd(i.name),W=i.value,ce=this.colors.getColor(b),ke=this.total>0?W/this.total*100:0,Ve="function"==typeof this.labelFormatting?this.labelFormatting(b):b;return{_value:W,data:i,value:W,color:ce,label:Ve,displayLabel:Hr(Ve,20),origialLabel:i.name,percentage:this.percentageFormatting?this.percentageFormatting(ke):ke.toLocaleString()}})}trackBy(i,b){return b.label}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-advanced-legend"]],inputs:{width:"width",data:"data",colors:"colors",label:"label",animations:"animations",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",percentageFormatting:"percentageFormatting"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.OA$],decls:8,vars:7,consts:[[1,"advanced-pie-legend"],["class","total-value","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","total-value",4,"ngIf"],[1,"total-label"],[1,"legend-items-container"],[1,"legend-items"],["tabindex","-1","class","legend-item",3,"mouseenter","mouseleave","click",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-count-up","",1,"total-value",3,"countTo","valueFormatting"],[1,"total-value"],["tabindex","-1",1,"legend-item",3,"mouseenter","mouseleave","click"],[1,"item-color"],["class","item-value","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","item-value",4,"ngIf"],[1,"item-label"],["class","item-percent","ngx-charts-count-up","",3,"countTo","countSuffix",4,"ngIf"],["class","item-percent",4,"ngIf"],["ngx-charts-count-up","",1,"item-value",3,"countTo","valueFormatting"],[1,"item-value"],["ngx-charts-count-up","",1,"item-percent",3,"countTo","countSuffix"],[1,"item-percent"]],template:function(i,b){1&i&&(e.j41(0,"div",0),e.DNE(1,Av,1,2,"div",1)(2,Iv,2,1,"div",2),e.j41(3,"div",3),e.EFF(4),e.k0s(),e.j41(5,"div",4)(6,"div",5),e.DNE(7,Pw,8,7,"div",6),e.k0s()()()),2&i&&(e.xc7("width",b.width,"px"),e.R7$(),e.Y8G("ngIf",b.animations),e.R7$(),e.Y8G("ngIf",!b.animations),e.R7$(2),e.SpI(" ",b.label," "),e.R7$(3),e.Y8G("ngForOf",b.legendItems)("ngForTrackBy",b.trackBy))},dependencies:[hy,cn.bT,cn.Sq],styles:[".advanced-pie-legend{float:left;position:relative;top:50%;transform:translateY(-50%)}.advanced-pie-legend .total-value{font-size:36px}.advanced-pie-legend .total-label{font-size:24px;margin-bottom:19px}.advanced-pie-legend .legend-items-container{width:100%}.advanced-pie-legend .legend-items-container .legend-items{white-space:nowrap;overflow:auto}.advanced-pie-legend .legend-items-container .legend-items .legend-item{margin-right:20px;display:inline-block;cursor:pointer}.advanced-pie-legend .legend-items-container .legend-items .legend-item:focus{outline:none}.advanced-pie-legend .legend-items-container .legend-items .legend-item:hover{color:#000;transition:.2s}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-value{font-size:24px;margin-top:-6px;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-label{font-size:14px;opacity:.7;margin-left:11px;margin-top:-6px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-percent{font-size:24px;opacity:.7;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-color{border-left:4px solid;width:4px;height:42px;float:left;margin-right:7px}\n"],encapsulation:2,changeDetection:0}),c})(),Ra=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[cn.MD,ly,T0],cn.MD,ly,T0]}),c})();const wf=[{name:"vivid",selectable:!0,group:Cn.Ordinal,domain:["#647c8a","#3f51b5","#2196f3","#00b862","#afdf0a","#a7b61a","#f3e562","#ff9800","#ff5722","#ff4514"]},{name:"natural",selectable:!0,group:Cn.Ordinal,domain:["#bf9d76","#e99450","#d89f59","#f2dfa7","#a5d7c6","#7794b1","#afafaf","#707160","#ba9383","#d9d5c3"]},{name:"cool",selectable:!0,group:Cn.Ordinal,domain:["#a8385d","#7aa3e5","#a27ea8","#aae3f5","#adcded","#a95963","#8796c0","#7ed3ed","#50abcc","#ad6886"]},{name:"fire",selectable:!0,group:Cn.Ordinal,domain:["#ff3d00","#bf360c","#ff8f00","#ff6f00","#ff5722","#e65100","#ffca28","#ffab00"]},{name:"solar",selectable:!0,group:Cn.Linear,domain:["#fff8e1","#ffecb3","#ffe082","#ffd54f","#ffca28","#ffc107","#ffb300","#ffa000","#ff8f00","#ff6f00"]},{name:"air",selectable:!0,group:Cn.Linear,domain:["#e1f5fe","#b3e5fc","#81d4fa","#4fc3f7","#29b6f6","#03a9f4","#039be5","#0288d1","#0277bd","#01579b"]},{name:"aqua",selectable:!0,group:Cn.Linear,domain:["#e0f7fa","#b2ebf2","#80deea","#4dd0e1","#26c6da","#00bcd4","#00acc1","#0097a7","#00838f","#006064"]},{name:"flame",selectable:!1,group:Cn.Ordinal,domain:["#A10A28","#D3342D","#EF6D49","#FAAD67","#FDDE90","#DBED91","#A9D770","#6CBA67","#2C9653","#146738"]},{name:"ocean",selectable:!1,group:Cn.Ordinal,domain:["#1D68FB","#33C0FC","#4AFFFE","#AFFFFF","#FFFC63","#FDBD2D","#FC8A25","#FA4F1E","#FA141B","#BA38D1"]},{name:"forest",selectable:!1,group:Cn.Ordinal,domain:["#55C22D","#C1F33D","#3CC099","#AFFFFF","#8CFC9D","#76CFFA","#BA60FB","#EE6490","#C42A1C","#FC9F32"]},{name:"horizon",selectable:!1,group:Cn.Ordinal,domain:["#2597FB","#65EBFD","#99FDD0","#FCEE4B","#FEFCFA","#FDD6E3","#FCB1A8","#EF6F7B","#CB96E8","#EFDEE0"]},{name:"neons",selectable:!1,group:Cn.Ordinal,domain:["#FF3333","#FF33FF","#CC33FF","#0000FF","#33CCFF","#33FFFF","#33FF66","#CCFF33","#FFCC00","#FF6600"]},{name:"picnic",selectable:!1,group:Cn.Ordinal,domain:["#FAC51D","#66BD6D","#FAA026","#29BB9C","#E96B56","#55ACD2","#B7332F","#2C83C9","#9166B8","#92E7E8"]},{name:"night",selectable:!1,group:Cn.Ordinal,domain:["#2B1B5A","#501356","#183356","#28203F","#391B3C","#1E2B3C","#120634","#2D0432","#051932","#453080","#75267D","#2C507D","#4B3880","#752F7D","#35547D"]},{name:"nightLights",selectable:!1,group:Cn.Ordinal,domain:["#4e31a5","#9c25a7","#3065ab","#57468b","#904497","#46648b","#32118d","#a00fb3","#1052a2","#6e51bd","#b63cc3","#6c97cb","#8671c1","#b455be","#7496c3"]}];class k1{constructor(y,i,b,W){"string"==typeof y&&(y=wf.find(ce=>ce.name===y)),this.colorDomain=y.domain,this.scaleType=i,this.domain=b,this.customColors=W,this.scale=this.generateColorScheme(y,i,this.domain)}generateColorScheme(y,i,b){let W;switch("string"==typeof y&&(y=wf.find(ce=>ce.name===y)),i){case Cn.Quantile:W=qp().range(y.domain).domain(b);break;case Cn.Ordinal:W=wg().range(y.domain).domain(b);break;case Cn.Linear:{const ce=[...y.domain];1===ce.length&&(ce.push(ce[0]),this.colorDomain=ce);const ke=qb(0,1,1/ce.length);W=bh().range(ce).domain(ke)}}return W}getColor(y){if(null==y)throw new Error("Value can not be null");if(this.scaleType===Cn.Linear){const i=bh().domain(this.domain).range([0,1]);return this.scale(i(y))}{if("function"==typeof this.customColors)return this.customColors(y);const i=y.toString();let b;return this.customColors&&this.customColors.length>0&&(b=this.customColors.find(W=>W.name.toLowerCase()===i.toLowerCase())),b?b.value:this.scale(y)}}getLinearGradientStops(y,i){void 0===i&&(i=this.domain[0]);const b=bh().domain(this.domain).range([0,1]),W=Gm().domain(this.colorDomain).range([0,1]),ce=this.getColor(y),ke=b(i),Ve=this.getColor(i),Ze=b(y);let tt=1,bt=ke;const Mt=[];for(Mt.push({color:Ve,offset:ke,originalOffset:ke,opacity:1});bt=(Ze-W.bandwidth()).toFixed(4))break;Mt.push({color:Lt,offset:Wt,opacity:1}),bt=Wt,tt++}}if(Mt[Mt.length-1].offset<100&&Mt.push({color:ce,offset:Ze,opacity:1}),Ze===ke)Mt[0].offset=0,Mt[1].offset=100;else if(100!==Mt[Mt.length-1].offset)for(const Lt of Mt)Lt.offset=(Lt.offset-ke)/(Ze-ke)*100;return Mt}}let M1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),E0=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})();rd();let N1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),B1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),jg=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),xy=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),_y=(()=>{class c{constructor(i){this.platformId=i,this.animations=!0,this.labelTrim=!0,this.labelTrimSize=10,this.trimLabel=Hr}ngOnChanges(i){this.setTransforms(),this.update()}setTransforms(){if((0,cn.Vy)(this.platformId))this.styleTransform=`translate3d(${this.textX}px,${this.textY}px, 0)`,this.attrTransform=`translate(${this.textX},${this.textY})`,this.textTransition=this.animations?"transform 0.75s":null;else{const i=/(edge|msie|trident)/i.test(navigator.userAgent);this.styleTransform=i?null:`translate3d(${this.textX}px,${this.textY}px, 0)`,this.attrTransform=i?`translate(${this.textX},${this.textY})`:null,this.textTransition=i||!this.animations?null:"transform 0.75s"}}update(){let i=this.radius;this.explodeSlices&&(i=this.radius*this.value/this.max);const W=ef().innerRadius(i).outerRadius(i).centroid(this.data);let ce=this.data.pos[1]/W[1];(0===this.data.pos[1]||0===W[1])&&(ce=1),this.line=`M${W}L${[ce*W[0],ce*W[1]]}L${this.data.pos}`}get textX(){return this.data.pos[0]}get textY(){return this.data.pos[1]}textAnchor(){return this.midAngle(this.data){class c{constructor(i){this.startAngle=0,this.endAngle=2*Math.PI,this.cornerRadius=0,this.explodeSlices=!1,this.gradient=!1,this.animate=!0,this.pointerEvents=!0,this.isActive=!1,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.dblclick=new e.bkB,this.barOrientation=rc,this.initialized=!1,this.element=i.nativeElement}ngOnChanges(i){this.update()}getGradient(){return this.gradient?this.gradientFill:this.fill}getPointerEvents(){return this.pointerEvents?"auto":"none"}update(){const i=this.calculateArc();this.startOpacity=.5,this.radialGradientId="linearGrad"+Ud().toString(),this.gradientFill=`url(#${this.radialGradientId})`,this.animate?this.initialized?this.updateAnimation():(this.loadAnimation(),this.initialized=!0):this.path=i.startAngle(this.startAngle).endAngle(this.endAngle)()}calculateArc(){let i=this.outerRadius;return this.explodeSlices&&0===this.innerRadius&&(i=this.outerRadius*this.value/this.max),ef().innerRadius(this.innerRadius).outerRadius(i).cornerRadius(this.cornerRadius)}loadAnimation(){const i=ao(this.element).selectAll(".arc").data([{startAngle:this.startAngle,endAngle:this.endAngle}]),b=this.calculateArc();i.transition().attrTween("d",function(W){this._current=this._current||W;const ce=Object.assign({},W);ce.endAngle=ce.startAngle;const ke=Jl(ce,ce);return this._current=ke(0),function(Ve){return b(ke(Ve))}}).transition().duration(750).attrTween("d",function(W){this._current=this._current||W;const ce=Jl(this._current,W);return this._current=ce(0),function(ke){return b(ce(ke))}})}updateAnimation(){const i=ao(this.element).selectAll(".arc").data([{startAngle:this.startAngle,endAngle:this.endAngle}]),b=this.calculateArc();i.transition().duration(750).attrTween("d",function(W){this._current=this._current||W;const ce=Jl(this._current,W);return this._current=ce(0),function(ke){return b(ce(ke))}})}onClick(){clearTimeout(this._timeout),this._timeout=setTimeout(()=>this.select.emit(this.data),200)}onDblClick(i){i.preventDefault(),i.stopPropagation(),clearTimeout(this._timeout),this.dblclick.emit({data:this.data,nativeEvent:i})}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT))},c.\u0275cmp=e.VBU({type:c,selectors:[["g","ngx-charts-pie-arc",""]],inputs:{fill:"fill",startAngle:"startAngle",endAngle:"endAngle",innerRadius:"innerRadius",outerRadius:"outerRadius",cornerRadius:"cornerRadius",value:"value",max:"max",data:"data",explodeSlices:"explodeSlices",gradient:"gradient",animate:"animate",pointerEvents:"pointerEvents",isActive:"isActive"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dblclick:"dblclick"},features:[e.OA$],attrs:e1,decls:3,vars:7,consts:[[1,"arc-group"],[4,"ngIf"],[1,"arc",3,"click","dblclick","mouseenter","mouseleave"],["ngx-charts-svg-radial-gradient","",3,"color","name","startOpacity"]],template:function(i,b){1&i&&(e.qSk(),e.j41(0,"g",0),e.DNE(1,t1,2,3,"defs",1),e.j41(2,"path",2),e.bIt("click",function(){return b.onClick()})("dblclick",function(ce){return b.onDblClick(ce)})("mouseenter",function(){return b.activate.emit(b.data)})("mouseleave",function(){return b.deactivate.emit(b.data)}),e.k0s()()),2&i&&(e.R7$(),e.Y8G("ngIf",b.gradient),e.R7$(),e.xc7("pointer-events",b.getPointerEvents()),e.AVh("active",b.isActive),e.BMQ("d",b.path)("fill",b.getGradient()))},dependencies:[Ol,cn.bT],encapsulation:2,changeDetection:0}),c})(),z1=(()=>{class c{constructor(){this.series=[],this.innerRadius=60,this.outerRadius=80,this.trimLabels=!0,this.maxLabelLength=10,this.tooltipDisabled=!1,this.animations=!0,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.dblclick=new e.bkB,this.placementTypes=Rn,this.styleTypes=_f}ngOnChanges(i){this.update()}update(){const b=function tf(){var c=cv,y=lv,i=null,b=ca(0),W=ca(Ou),ce=ca(0);function ke(Ve){var Ze,bt,Mt,ui,Ti,tt=(Ve=function av(c){return"object"==typeof c&&"length"in c?c:Array.from(c)}(Ve)).length,Lt=0,Wt=new Array(tt),Zt=new Array(tt),hi=+b.apply(this,arguments),Yt=Math.min(Ou,Math.max(-Ou,W.apply(this,arguments)-hi)),yi=Math.min(Math.abs(Yt)/tt,ce.apply(this,arguments)),fi=yi*(Yt<0?-1:1);for(Ze=0;Ze0&&(Lt+=Ti);for(null!=y?Wt.sort(function(ji,Mi){return y(Zt[ji],Zt[Mi])}):null!=i&&Wt.sort(function(ji,Mi){return i(Ve[ji],Ve[Mi])}),Ze=0,Mt=Lt?(Yt-tt*fi)/Lt:0;Ze0?Ti*Mt:0)+fi,padAngle:yi};return Zt}return ke.value=function(Ve){return arguments.length?(c="function"==typeof Ve?Ve:ca(+Ve),ke):c},ke.sortValues=function(Ve){return arguments.length?(y=Ve,i=null,ke):y},ke.sort=function(Ve){return arguments.length?(i=Ve,y=null,ke):i},ke.startAngle=function(Ve){return arguments.length?(b="function"==typeof Ve?Ve:ca(+Ve),ke):b},ke.endAngle=function(Ve){return arguments.length?(W="function"==typeof Ve?Ve:ca(+Ve),ke):W},ke.padAngle=function(Ve){return arguments.length?(ce="function"==typeof Ve?Ve:ca(+Ve),ke):ce},ke}().value(W=>W.value).sort(null)(this.series);this.max=function Xm(c,y){let i;if(void 0===y)for(const b of c)null!=b&&(i=b)&&(i=b);else{let b=-1;for(let W of c)null!=(W=y(W,++b,c))&&(i=W)&&(i=W)}return i}(b,W=>W.value),this.data=this.calculateLabelPositions(b),this.tooltipText=this.tooltipText||this.defaultTooltipText}midAngle(i){return i.startAngle+(i.endAngle-i.startAngle)/2}outerArc(){return ef().innerRadius(1.5*this.outerRadius).outerRadius(1.5*this.outerRadius)}calculateLabelPositions(i){const ce=i;ce.forEach(ke=>{ke.pos=this.outerArc().centroid(ke),ke.pos[0]=1.5*this.outerRadius*(this.midAngle(ke)0){const bt=10-Math.abs(tt.pos[1]-Ve.pos[1]);bt>0&&(tt.pos[1]+=Math.sign(tt.pos[0])*bt)}}}return ce}labelVisible(i){return this.showLabels&&i.endAngle-i.startAngle>Math.PI/30}getTooltipTitle(i){return this.tooltipTemplate?void 0:this.tooltipText(i)}labelText(i){return this.labelFormatting?this.labelFormatting(i.data.name):this.label(i)}label(i){return Gd(i.data.name)}defaultTooltipText(i){const b=this.label(i),W=Gd(i.data.value);return`\n ${function _h(c){return c.toLocaleString().replace(/[&'`"<>]/g,y=>({"&":"&","'":"'","`":"`",'"':""","<":"<",">":">"}[y]))}(b)}\n ${W}\n `}color(i){return this.colors.getColor(this.label(i))}trackBy(i,b){return b.data.name}onClick(i){this.select.emit(i)}isActive(i){return!!this.activeEntries&&void 0!==this.activeEntries.find(W=>i.name===W.name&&i.series===W.series)}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["g","ngx-charts-pie-series",""]],inputs:{colors:"colors",series:"series",dims:"dims",innerRadius:"innerRadius",outerRadius:"outerRadius",explodeSlices:"explodeSlices",showLabels:"showLabels",gradient:"gradient",activeEntries:"activeEntries",labelFormatting:"labelFormatting",trimLabels:"trimLabels",maxLabelLength:"maxLabelLength",tooltipText:"tooltipText",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dblclick:"dblclick"},features:[e.OA$],attrs:Zv,decls:1,vars:2,consts:[[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-pie-label","",3,"data","radius","color","label","labelTrim","labelTrimSize","max","value","explodeSlices","animations",4,"ngIf"],["ngx-charts-pie-arc","","ngx-tooltip","",3,"select","activate","deactivate","dblclick","startAngle","endAngle","innerRadius","outerRadius","fill","value","gradient","data","max","explodeSlices","isActive","animate","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext"],["ngx-charts-pie-label","",3,"data","radius","color","label","labelTrim","labelTrimSize","max","value","explodeSlices","animations"]],template:function(i,b){1&i&&e.DNE(0,n1,3,19,"g",0),2&i&&e.Y8G("ngForOf",b.data)("ngForTrackBy",b.trackBy)},dependencies:[_y,V1,cn.Sq,cn.bT,w0],encapsulation:2,changeDetection:0}),c})(),Gu=(()=>{class c extends oy{constructor(){super(...arguments),this.activeEntries=[],this.tooltipDisabled=!1,this.label="Total",this.activate=new e.bkB,this.deactivate=new e.bkB,this.margin=[20,20,20,20]}update(){super.update(),this.dims=function py({width:c,height:y,margins:i,showXAxis:b=!1,showYAxis:W=!1,xAxisHeight:ce=0,yAxisWidth:ke=0,showXLabel:Ve=!1,showYLabel:Ze=!1,showLegend:tt=!1,legendType:bt=Cn.Ordinal,legendPosition:Mt=xh.Right,columns:Lt=12}){let Wt=i[3],Zt=c,hi=y-i[0]-i[2];return tt&&Mt===xh.Right&&(Lt-=bt===Cn.Ordinal?2:1),Zt=Zt*Lt/12,Zt=Zt-i[1]-i[3],b&&(hi-=5,hi-=ce,Ve&&(hi-=30)),W&&(Zt-=5,Zt-=ke,Wt+=ke,Wt+=10,Ze&&(Zt-=30,Wt+=30)),Zt=Math.max(0,Zt),hi=Math.max(0,hi),{width:Math.floor(Zt),height:Math.floor(hi),xOffset:Math.floor(Wt)}}({width:4*this.width/12,height:this.height,margins:this.margin}),this.formatDates(),this.domain=this.getDomain(),this.setColors();const i=this.dims.width/2,b=this.margin[0]+this.dims.height/2;this.legendWidth=this.width-this.dims.width-this.margin[1],this.outerRadius=Math.min(this.dims.width,this.dims.height)/2.5,this.innerRadius=.75*this.outerRadius,this.transform=`translate(${i} , ${b})`}getDomain(){return this.results.map(i=>i.label)}onClick(i){this.select.emit(i)}setColors(){this.colors=new k1(this.scheme,Cn.Ordinal,this.domain,this.customColors)}onActivate(i,b=!1){i=this.results.find(ce=>b?ce.label===i.name:ce.name===i.name),!(this.activeEntries.findIndex(ce=>ce.name===i.name&&ce.value===i.value&&ce.series===i.series)>-1)&&(this.activeEntries=[i,...this.activeEntries],this.activate.emit({value:i,entries:this.activeEntries}))}onDeactivate(i,b=!1){i=this.results.find(ce=>b?ce.label===i.name:ce.name===i.name);const W=this.activeEntries.findIndex(ce=>ce.name===i.name&&ce.value===i.value&&ce.series===i.series);this.activeEntries.splice(W,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:i,entries:this.activeEntries})}}return c.\u0275fac=(()=>{let y;return function(b){return(y||(y=e.xGo(c)))(b||c)}})(),c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-advanced-pie-chart"]],contentQueries:function(i,b,W){if(1&i&&e.wni(W,Rw,5),2&i){let ce;e.mGM(ce=e.lsd())&&(b.tooltipTemplate=ce.first)}},inputs:{gradient:"gradient",activeEntries:"activeEntries",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",label:"label",valueFormatting:"valueFormatting",nameFormatting:"nameFormatting",percentageFormatting:"percentageFormatting"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.Vt3],decls:7,vars:37,consts:[[1,"advanced-pie","chart"],[3,"view","showLegend","animations"],[1,"pie","chart"],["ngx-charts-pie-series","",3,"select","activate","deactivate","colors","series","innerRadius","activeEntries","outerRadius","gradient","tooltipDisabled","tooltipTemplate","tooltipText","animations"],[1,"advanced-pie-legend-wrapper"],[3,"select","activate","deactivate","data","colors","width","label","animations","valueFormatting","labelFormatting","percentageFormatting"]],template:function(i,b){1&i&&(e.j41(0,"div")(1,"div",0)(2,"ngx-charts-chart",1),e.qSk(),e.j41(3,"g",2)(4,"g",3),e.bIt("select",function(ce){return b.onClick(ce)})("activate",function(ce){return b.onActivate(ce)})("deactivate",function(ce){return b.onDeactivate(ce)}),e.k0s()()()(),e.joV(),e.j41(5,"div",4)(6,"ngx-charts-advanced-legend",5),e.bIt("select",function(ce){return b.onClick(ce)})("activate",function(ce){return b.onActivate(ce,!0)})("deactivate",function(ce){return b.onDeactivate(ce,!0)}),e.k0s()()()),2&i&&(e.xc7("width",b.width,"px")("height",b.height,"px"),e.R7$(),e.xc7("width",b.dims.width,"px")("height",b.dims.height,"px"),e.R7$(),e.Y8G("view",e.l_i(34,Dg,b.width,b.height))("showLegend",!1)("animations",b.animations),e.R7$(),e.BMQ("transform",b.transform),e.R7$(),e.Y8G("colors",b.colors)("series",b.results)("innerRadius",b.innerRadius)("activeEntries",b.activeEntries)("outerRadius",b.outerRadius)("gradient",b.gradient)("tooltipDisabled",b.tooltipDisabled)("tooltipTemplate",b.tooltipTemplate)("tooltipText",b.tooltipText)("animations",b.animations),e.R7$(),e.xc7("width",b.width-b.dims.width,"px")("height",b.height,"px"),e.R7$(),e.Y8G("data",b.results)("colors",b.colors)("width",b.width-b.dims.width-b.margin[1])("label",b.label)("animations",b.animations)("valueFormatting",b.valueFormatting)("labelFormatting",b.nameFormatting)("percentageFormatting",b.percentageFormatting))},dependencies:[Ng,z1,uy],styles:[".ngx-charts-outer{animation:chartFadeIn linear .6s}@keyframes chartFadeIn{0%{opacity:0}20%{opacity:0}to{opacity:1}}.ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .node,.ngx-charts .link,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .node.active,.ngx-charts .node:hover,.ngx-charts .link.active,.ngx-charts .link:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .node:focus,.ngx-charts .link:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .node.hidden,.ngx-charts .link.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\n",".advanced-pie{display:inline-block;float:left}.advanced-pie-legend-wrapper{display:inline-block}\n"],encapsulation:2,changeDetection:0}),c})(),od=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),H1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra,od,xy]]}),c})(),Sy=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),ky=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),X1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra,od,E0]]}),c})(),Gg=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),My=(()=>{class c{constructor(){!function Y1(){typeof SVGElement<"u"&&typeof SVGElement.prototype.contains>"u"&&(SVGElement.prototype.contains=HTMLDivElement.prototype.contains)}()}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[Ra,M1,E0,N1,B1,jg,Gg,xy,H1,Sy,od,ky,X1]}),c})();var Sf=We(91346),Z1=We(12168),kf=We(38833),$d=We(46247),q1=We(41570);const Q1=()=>({width:"75vw"}),Ey=()=>[10,25,50];function Df(c,y){if(1&c){const i=e.RV6();e.j41(0,"button",13),e.bIt("click",function(){e.eBV(i);const W=e.XpG();return e.Njj(W.refresh())}),e.k0s()}}function J1(c,y){if(1&c){const i=e.RV6();e.j41(0,"div",14),e.EFF(1,"\n "),e.j41(2,"div",15),e.EFF(3,"\n "),e.j41(4,"div",16),e.EFF(5,"\n "),e.j41(6,"div",17),e.EFF(7,"\n "),e.j41(8,"div",15),e.EFF(9,"\n "),e.nrm(10,"div",18),e.nI1(11,"translate"),e.EFF(12,"\n "),e.nrm(13,"div",19),e.EFF(14,"\n "),e.j41(15,"div",20),e.EFF(16,"\n "),e.j41(17,"ngx-charts-advanced-pie-chart",21),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("state",W))}),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"div",20),e.EFF(22,"\n "),e.nrm(23,"div",22),e.nI1(24,"translate"),e.EFF(25,"\n "),e.nrm(26,"div",19),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n\n "),e.j41(33,"div",15),e.EFF(34,"\n "),e.j41(35,"div",16),e.EFF(36,"\n "),e.j41(37,"div",17),e.EFF(38,"\n "),e.j41(39,"div",15),e.EFF(40,"\n "),e.nrm(41,"div",18),e.nI1(42,"translate"),e.EFF(43,"\n "),e.nrm(44,"div",19),e.EFF(45,"\n "),e.j41(46,"div",20),e.EFF(47,"\n "),e.j41(48,"ngx-charts-advanced-pie-chart",23),e.EFF(49,"\n "),e.k0s(),e.EFF(50,"\n "),e.k0s(),e.EFF(51,"\n "),e.j41(52,"div",20),e.EFF(53,"\n "),e.nrm(54,"div",22),e.nI1(55,"translate"),e.EFF(56,"\n "),e.nrm(57,"div",19),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n "),e.k0s(),e.EFF(60,"\n "),e.k0s(),e.EFF(61,"\n "),e.k0s(),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n\n "),e.j41(64,"div",15),e.EFF(65,"\n "),e.j41(66,"div",16),e.EFF(67,"\n "),e.j41(68,"div",17),e.EFF(69,"\n "),e.j41(70,"div",15),e.EFF(71,"\n "),e.nrm(72,"div",18),e.nI1(73,"translate"),e.EFF(74,"\n "),e.nrm(75,"div",19),e.EFF(76,"\n "),e.j41(77,"div",20),e.EFF(78,"\n "),e.nrm(79,"div",24),e.EFF(80,"\n "),e.k0s(),e.EFF(81,"\n "),e.j41(82,"div",20),e.EFF(83,"\n "),e.nrm(84,"div",22),e.nI1(85,"translate"),e.EFF(86,"\n "),e.nrm(87,"div",19),e.EFF(88,"\n "),e.k0s(),e.EFF(89,"\n "),e.k0s(),e.EFF(90,"\n "),e.k0s(),e.EFF(91,"\n "),e.k0s(),e.EFF(92,"\n "),e.k0s(),e.EFF(93,"\n"),e.k0s()}if(2&c){const i=e.XpG();e.R7$(10),e.Y8G("innerHTML",e.bMT(11,21,"dashboard.health.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieState)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeGBROG)("label",i.advancedPieStateLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(24,23,"dashboard.health.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(42,25,"dashboard.traffic.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieSent)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeBG)("label",i.advancedPieSentLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(55,27,"dashboard.traffic.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(73,29,"dashboard.trend.title"),e.npT),e.R7$(7),e.Y8G("chart",i.chart),e.R7$(5),e.Y8G("innerHTML",e.bMT(85,31,"dashboard.trend.comment"),e.npT)}}function eC(c,y){if(1&c){const i=e.RV6();e.j41(0,"div",14),e.EFF(1,"\n "),e.j41(2,"div",15),e.EFF(3,"\n "),e.j41(4,"div",16),e.EFF(5,"\n "),e.j41(6,"div",17),e.EFF(7,"\n "),e.j41(8,"div",15),e.EFF(9,"\n "),e.nrm(10,"div",18),e.nI1(11,"translate"),e.EFF(12,"\n "),e.nrm(13,"div",19),e.EFF(14,"\n "),e.j41(15,"div",20),e.EFF(16,"\n "),e.j41(17,"ngx-charts-advanced-pie-chart",21),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("device",W))}),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"div",20),e.EFF(22,"\n "),e.nrm(23,"div",22),e.nI1(24,"translate"),e.EFF(25,"\n "),e.nrm(26,"div",19),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n\n "),e.j41(33,"div",15),e.EFF(34,"\n "),e.j41(35,"div",16),e.EFF(36,"\n "),e.j41(37,"div",17),e.EFF(38,"\n "),e.j41(39,"div",15),e.EFF(40,"\n "),e.nrm(41,"div",18),e.nI1(42,"translate"),e.EFF(43,"\n "),e.nrm(44,"div",19),e.EFF(45,"\n "),e.j41(46,"div",20),e.EFF(47,"\n "),e.j41(48,"ngx-charts-advanced-pie-chart",21),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("battery",W))}),e.EFF(49,"\n "),e.k0s(),e.EFF(50,"\n "),e.k0s(),e.EFF(51,"\n "),e.j41(52,"div",20),e.EFF(53,"\n "),e.nrm(54,"div",22),e.nI1(55,"translate"),e.EFF(56,"\n "),e.nrm(57,"div",19),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n "),e.k0s(),e.EFF(60,"\n "),e.k0s(),e.EFF(61,"\n "),e.k0s(),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n\n "),e.j41(64,"div",15),e.EFF(65,"\n "),e.j41(66,"div",16),e.EFF(67,"\n "),e.j41(68,"div",17),e.EFF(69,"\n "),e.j41(70,"div",15),e.EFF(71,"\n "),e.nrm(72,"div",18),e.nI1(73,"translate"),e.EFF(74,"\n "),e.nrm(75,"div",19),e.EFF(76,"\n "),e.j41(77,"div",20),e.EFF(78,"\n "),e.j41(79,"ngx-charts-advanced-pie-chart",21),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("certified",W))}),e.EFF(80,"\n "),e.k0s(),e.EFF(81,"\n "),e.k0s(),e.EFF(82,"\n "),e.j41(83,"div",20),e.EFF(84,"\n "),e.nrm(85,"div",22),e.nI1(86,"translate"),e.EFF(87,"\n "),e.nrm(88,"div",19),e.EFF(89,"\n "),e.k0s(),e.EFF(90,"\n "),e.k0s(),e.EFF(91,"\n "),e.k0s(),e.EFF(92,"\n "),e.k0s(),e.EFF(93,"\n "),e.k0s(),e.EFF(94,"\n"),e.k0s()}if(2&c){const i=e.XpG();e.R7$(10),e.Y8G("innerHTML",e.bMT(11,27,"dashboard.device.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieDevice)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemePC)("label",i.advancedPieDeviceLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(24,29,"dashboard.devices.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(42,31,"dashboard.battery.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieBattery)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeROBG)("label",i.advancedPieBatteryLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(55,33,"dashboard.battery.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(73,35,"dashboard.optimized.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieCertified)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeGO)("label",i.advancedCertifiedLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(86,37,"dashboard.optimized.comment"),e.npT)}}function tC(c,y){1&c&&(e.EFF(0,"\n "),e.nrm(1,"div",25),e.EFF(2,"\n "))}function Ay(c,y){1&c&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"th",26),e.EFF(4),e.nI1(5,"translate"),e.nrm(6,"p-sortIcon",27),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n "),e.j41(9,"th",28),e.EFF(10),e.nI1(11,"translate"),e.nrm(12,"p-sortIcon",29),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.j41(15,"th",30),e.EFF(16),e.nI1(17,"translate"),e.nrm(18,"p-sortIcon",31),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"th",32),e.EFF(22),e.nI1(23,"translate"),e.nrm(24,"p-sortIcon",33),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.j41(27,"th",34),e.EFF(28),e.nI1(29,"translate"),e.nrm(30,"p-sortIcon",35),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.j41(33,"th",36),e.EFF(34),e.nI1(35,"translate"),e.nrm(36,"p-sortIcon",37),e.EFF(37,"\n "),e.k0s(),e.EFF(38,"\n "),e.j41(39,"th",38),e.EFF(40),e.nI1(41,"translate"),e.nrm(42,"p-sortIcon",39),e.EFF(43,"\n "),e.k0s(),e.EFF(44,"\n "),e.k0s(),e.EFF(45,"\n ")),2&c&&(e.R7$(4),e.SpI("\n ",e.bMT(5,7,"device.byname.shortid.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(11,9,"device.byname.ieee.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(17,11,"device.byname.model.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(23,13,"device.byname.devicename.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(29,15,"device.byname.status.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(35,17,"device.byname.battery.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(41,19,"device.byname.health.column"),""))}function Iy(c,y){if(1&c&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.j41(6,"td"),e.EFF(7),e.k0s(),e.EFF(8,"\n "),e.j41(9,"td"),e.EFF(10),e.k0s(),e.EFF(11,"\n "),e.j41(12,"td"),e.EFF(13),e.k0s(),e.EFF(14,"\n "),e.j41(15,"td"),e.EFF(16),e.k0s(),e.EFF(17,"\n "),e.j41(18,"td"),e.EFF(19),e.k0s(),e.EFF(20,"\n "),e.j41(21,"td"),e.EFF(22),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n ")),2&c){const i=y.$implicit;e.R7$(4),e.JRh(i._NwkId),e.R7$(3),e.JRh(i.IEEE),e.R7$(3),e.JRh(i.Model),e.R7$(3),e.JRh(i.ZDeviceName),e.R7$(3),e.JRh(i.Status),e.R7$(3),e.JRh(i.Battery),e.R7$(3),e.JRh(i.Health)}}const iC=[fc.childRoutes([{path:"",redirectTo:"/dashboard",pathMatch:"full"},{path:"dashboard",component:(()=>{class c extends Wa.U{apiService;versionService;headerService;translateService;visible=!1;settingsToSave=[];poll=!1;chart;devices;certified;routers;inDbs;healthsLive;healthsDisabled;healthsNotSeen;healthsNotReachable;healthsOthers={};pluginStats;maxLoad={};currentLoad={};devicesOther;certifiedDevices;notCertifiedDevices;devicesToOverlay;battery1;battery2;battery3;battery4;advancedPieLoad;advancedPieSent;advancedPieDevice;advancedPieState=[];advancedPieBattery;advancedPieCertified;advancedPieLoadLabel;advancedPieSentLabel;advancedPieDeviceLabel;advancedPieStateLabel;advancedPieBatteryLabel;advancedCertifiedLabel;getScreenWidth;getScreenHeight;gaugeType="full";gaugeAppendText="";thick=15;animations=!0;gradient=!1;tooltipDisabled=!1;colorShemeState;colorSchemeROBG={domain:["red","orange","green","blue"]};colorSchemeGBROG={domain:["green","blue","red","orange","gray"]};colorSchemeBG={domain:["blue","green"]};colorSchemePC={domain:["purple","cyan"]};colorSchemeGO={domain:["green","orange"]};plugin;constructor(i,b,W,ce){super(),this.apiService=i,this.versionService=b,this.headerService=W,this.translateService=ce}ngOnInit(){this.getScreenWidth=window.innerWidth,this.getScreenHeight=window.innerHeight,this.apiService.getSettings().subscribe(i=>{i.forEach(b=>{this.settingsToSave=this.settingsToSave.concat(b.ListOfSettings)})}),this.subs.sink=this.headerService.polling.subscribe(i=>{this.poll=i,this.subs.add((0,jl.O)(1,vo.c.refresh).pipe((0,lc.n)(()=>this.getStats()),Vl(),(0,hc.u)(),(0,zl.Q)(this.headerService.polling.pipe((0,Oo.p)(b=>!1===b)))).subscribe())}),this.poll||this.getStats().subscribe(),this.getInfos()}onWindowResize(){this.getScreenWidth=window.innerWidth,this.getScreenHeight=window.innerHeight}getInfos(){this.advancedPieLoadLabel=this.translateService.instant("dashboard.trafic.maxload.label"),this.advancedPieSentLabel=this.translateService.instant("dashboard.trafic.label"),this.advancedPieDeviceLabel=this.translateService.instant("dashboard.devices.label"),this.advancedPieStateLabel=this.translateService.instant("dashboard.devices.state.label"),this.advancedPieBatteryLabel=this.translateService.instant("dashboard.devices.battery.label"),this.advancedCertifiedLabel=this.translateService.instant("dashboard.devices.optimized.label")}percentageFormatting(i){return Math.round(i)}createChart(){const i=[],b=[],W=[],ce=this.pluginStats.Trend.sort((Ze,tt)=>{const bt=Ze._TS,Mt=tt._TS;return bt>Mt?1:bt{const tt=new Date,bt=new Date(tt.setSeconds(tt.getSeconds()-ke));ke-=5,i.push({x:bt,y:Ze.Txps}),b.push({x:bt,y:Ze.Rxps}),W.push({x:bt,y:Ze.Load})});const Ve={chart:{type:"line",height:"150"},title:{text:""},legend:{align:"center",verticalAlign:"top",floating:!0},xAxis:{allowDecimals:!1,labels:{formatter:function(){const Ze=new Date(this.value);return Ze.getHours()+(Ze.getMinutes()>9?":"+Ze.getMinutes():":0"+Ze.getMinutes())+(Ze.getSeconds()>9?":"+Ze.getSeconds():":0"+Ze.getSeconds())}},type:"datetime"},yAxis:{title:{text:""},labels:{formatter:function(){return this.value+""}}},tooltip:{pointFormat:"{series.name} {point.y}"},credits:{enabled:!1},plotOptions:{series:{label:{connectorAllowed:!1}}},series:[{name:this.translateService.instant("dashboard.txps"),data:i,type:"line",color:"blue"},{name:this.translateService.instant("dashboard.rxps"),data:b,type:"line",color:"green"},{name:this.translateService.instant("dashboard.load"),data:W,type:"line",color:"orange"}]};this.chart=new Sf.t1(Ve),this.subs.add(this.chart.ref$.subscribe())}open(i,b){"device"===i?this.devicesToOverlay=b.name===this.translateService.instant("dashboard.devices.routers")?this.routers:this.devicesOther:"state"===i?this.devicesToOverlay=b.name===this.translateService.instant("dashboard.devices.live")?this.healthsLive:b.name===this.translateService.instant("dashboard.devices.disabled")?this.healthsDisabled:b.name===this.translateService.instant("dashboard.devices.others")?this.healthsOthers:b.name===this.translateService.instant("dashboard.devices.notReachable")?this.healthsNotReachable:this.healthsNotSeen:"battery"===i?this.devicesToOverlay=b.name===this.translateService.instant("dashboard.devices.battery.inf.15")?this.battery1:b.name===this.translateService.instant("dashboard.devices.battery.inf.35")?this.battery2:b.name===this.translateService.instant("dashboard.devices.battery.inf.75")?this.battery3:this.battery4:"certified"===i&&(this.devicesToOverlay=b.name===this.translateService.instant("dashboard.devices.optimized")?this.certifiedDevices:this.notCertifiedDevices),80*this.getScreenWidth/100>768&&(this.visible=!0)}refresh(){this.getStats().subscribe(),this.versionService.setReload(!0)}getStats(){return(0,As.p)([this.apiService.getPluginStats(),this.apiService.getZDevices(),this.apiService.getPlugin(),this.apiService.getZDeviceName()]).pipe((0,Gl.T)(([i,b,W,ce])=>{this.plugin=W,this.pluginStats=i,this.devices=b||[],this.certified=ce||[],this.createChart(),this.maxLoad.label=this.translateService.instant("dashboard.trafic.maxload"),this.maxLoad.total=i.MaxLoad,this.currentLoad.label=this.translateService.instant("dashboard.trafic.currentload"),this.currentLoad.total=i.CurrentLoad,this.advancedPieLoad=[{name:this.translateService.instant("dashboard.trafic.maxload"),value:i.MaxLoad-i.CurrentLoad},{name:this.translateService.instant("dashboard.trafic.currentload"),value:i.CurrentLoad}],this.advancedPieSent=[{name:this.translateService.instant("dashboard.trafic.send"),value:i.Sent},{name:this.translateService.instant("dashboard.trafic.receive"),value:i.Received}],this.devices.total=this.devices.length,this.devices.label=this.translateService.instant("devices"),this.routers=this.devices.filter(Ve=>"Router"===Ve.LogicalType&&"Disabled"!==Ve.Health),this.devicesOther=this.devices.filter(Ve=>"Router"!==Ve.LogicalType&&"Disabled"!==Ve.Health),this.routers.label=this.translateService.instant("dashboard.devices.routers"),this.routers.total=(this.routers.length/this.devices.total*100).toFixed(0),this.routers.append="%",this.inDbs=this.devices.filter(Ve=>"inDB"===Ve.Status),this.inDbs.label=this.translateService.instant("dashboard.devices.indb"),this.inDbs.total=(this.inDbs.length/this.devices.total*100).toFixed(0),this.inDbs.append="%",this.advancedPieDevice=[{name:this.translateService.instant("dashboard.devices.routers"),value:this.routers.length},{name:this.translateService.instant("dashboard.devices.enddevice"),value:this.devicesOther.length}],this.healthsLive=this.devices.filter(Ve=>"Live"===Ve.Health&&"notDB"!==Ve.Status),this.healthsDisabled=this.devices.filter(Ve=>"Disabled"===Ve.Health||"notDB"===Ve.Status),this.healthsNotReachable=this.devices.filter(Ve=>"Not Reachable"===Ve.Health&&"notDB"!==Ve.Status||"Leave"===Ve.Status),this.healthsNotSeen=this.devices.filter(Ve=>"Not seen last 24hours"===Ve.Health&&"notDB"!==Ve.Status),this.healthsOthers=this.devices.filter(Ve=>"Not seen last 24hours"!==Ve.Health&&"Not Reachable"!==Ve.Health&&"Live"!==Ve.Health&&"notDB"!==Ve.Status&&"Leave"!==Ve.Status&&"Disabled"!==Ve.Health),this.colorShemeState=this.colorSchemeGBROG,this.advancedPieState=[],this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.live"),value:this.healthsLive.length}),this.healthsDisabled.length>0?this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.disabled"),value:this.healthsDisabled.length}):this.colorShemeState.domain=this.colorShemeState.domain.filter(Ve=>"blue"!==Ve),this.healthsNotReachable.length>0?this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.notReachable"),value:this.healthsNotReachable.length}):this.colorShemeState.domain=this.colorShemeState.domain.filter(Ve=>"red"!==Ve),this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.notseen"),value:this.healthsNotSeen.length}),this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.others"),value:this.healthsOthers.length});const ke=this.devices.filter(Ve=>"Battery"===Ve.PowerSource&&"notDB"!==Ve.Status);this.battery1=ke.filter(Ve=>Ve.Battery<=15&&"Disabled"!==Ve.Health),this.battery2=ke.filter(Ve=>Ve.Battery>15&&Ve.Battery<=35&&"Disabled"!==Ve.Health),this.battery3=ke.filter(Ve=>Ve.Battery>35&&Ve.Battery<=75&&"Disabled"!==Ve.Health),this.battery4=ke.filter(Ve=>Ve.Battery>75&&"Disabled"!==Ve.Health),this.advancedPieBattery=[{name:this.translateService.instant("dashboard.devices.battery.inf.15"),value:this.battery1.length},{name:this.translateService.instant("dashboard.devices.battery.inf.35"),value:this.battery2.length},{name:this.translateService.instant("dashboard.devices.battery.inf.75"),value:this.battery3.length},{name:this.translateService.instant("dashboard.devices.battery.sup.75"),value:this.battery4.length}],this.certifiedDevices=this.certified.filter(Ve=>Ve.CertifiedDevice&&"Disabled"!==Ve.Health),this.notCertifiedDevices=this.certified.filter(Ve=>!Ve.CertifiedDevice&&"Disabled"!==Ve.Health),this.advancedPieCertified=[{name:this.translateService.instant("dashboard.devices.optimized"),value:this.certifiedDevices.length},{name:this.translateService.instant("dashboard.devices.not.optimized"),value:this.notCertifiedDevices.length}],this.headerService.setError(i.Error)}))}static \u0275fac=function(b){return new(b||c)(e.rXU(vs.G),e.rXU(Po),e.rXU(pn.d),e.rXU(gr.c$))};static \u0275cmp=e.VBU({type:c,selectors:[["app-dashboard"]],hostBindings:function(b,W){1&b&&e.bIt("resize",function(ke){return W.onWindowResize(ke)},!1,e.tSv)},features:[e.Vt3],decls:40,vars:28,consts:[["dt1",""],[1,"col-12","card"],[1,"card-header"],[1,"fw-bold"],["class","d-none d-md-block btn btn-default btn-primary float-bottom float-end","translate","dashboard.button.refresh",3,"click",4,"ngIf"],["class","row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4",4,"ngIf"],[1,"col-12","card","mt-2"],[1,"card-header","fw-bold"],["header","Header",3,"visibleChange","visible","position"],["pTemplate","header"],[1,"card-title",3,"innerHTML"],["styleClass","p-datatable-sm","responsiveLayout","scroll","stateStorage","local","stateKey","dashboard",3,"rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","body"],["translate","dashboard.button.refresh",1,"d-none","d-md-block","btn","btn-default","btn-primary","float-bottom","float-end",3,"click"],[1,"row","row-cols-1","row-cols-md-2","row-cols-lg-3","g-4"],[1,"col"],[1,"card","h-100"],[1,"card-body"],[1,"col-sm",3,"innerHTML"],[1,"col-sm-1"],[1,"row"],[3,"select","results","animations","gradient","tooltipDisabled","scheme","label","percentageFormatting"],[1,"col-sm","border-start","border-3",3,"innerHTML"],[3,"results","animations","gradient","tooltipDisabled","scheme","label","percentageFormatting"],[1,"col-sm",3,"chart"],["translate","dashboard.popup.device.header",1,"col-sm"],["pSortableColumn","_NwkId",2,"width","7rem"],["field","_NwkId"],["pSortableColumn","IEEE",2,"width","5rem"],["field","IEEE"],["pSortableColumn","Model",2,"width","13rem"],["field","Model"],["pSortableColumn","ZDeviceName",2,"width","20rem"],["field","ZDeviceName"],["pSortableColumn","Status",2,"width","7rem"],["field","Status"],["pSortableColumn","Battery",2,"width","7rem"],["field","Battery"],["pSortableColumn","Health",2,"width","6rem"],["field","Health"]],template:function(b,W){if(1&b){const ce=e.RV6();e.j41(0,"div",1),e.EFF(1,"\n "),e.j41(2,"div",2),e.EFF(3,"\n "),e.j41(4,"span",3),e.EFF(5),e.nI1(6,"translate"),e.k0s(),e.EFF(7,"\n "),e.DNE(8,Df,1,0,"button",4),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n"),e.k0s(),e.EFF(11,"\n"),e.DNE(12,J1,94,33,"div",5),e.EFF(13,"\n\n"),e.j41(14,"div",6),e.EFF(15,"\n "),e.j41(16,"div",7),e.EFF(17),e.nI1(18,"translate"),e.k0s(),e.EFF(19,"\n"),e.k0s(),e.EFF(20,"\n"),e.DNE(21,eC,95,39,"div",5),e.EFF(22,"\n\n"),e.j41(23,"p-dialog",8),e.mxI("visibleChange",function(Ve){return e.eBV(ce),e.DH7(W.visible,Ve)||(W.visible=Ve),e.Njj(Ve)}),e.EFF(24,"\n "),e.DNE(25,tC,3,0,"ng-template",9),e.EFF(26,"\n "),e.nrm(27,"h5",10),e.nI1(28,"translate"),e.EFF(29,"\n "),e.j41(30,"p-table",11,0),e.nI1(32,"translate"),e.EFF(33,"\n "),e.DNE(34,Ay,46,21,"ng-template",9),e.EFF(35,"\n "),e.DNE(36,Iy,25,7,"ng-template",12),e.EFF(37,"\n "),e.k0s(),e.EFF(38,"\n"),e.k0s(),e.EFF(39,"\n")}2&b&&(e.R7$(5),e.JRh(e.bMT(6,18,"dashboard.trafic.title")),e.R7$(3),e.Y8G("ngIf",!W.poll),e.R7$(4),e.Y8G("ngIf",W.pluginStats),e.R7$(5),e.SpI("\n ",e.bMT(18,20,"dashboard.devices.title"),"\n "),e.R7$(4),e.Y8G("ngIf",W.pluginStats),e.R7$(2),e.Aen(e.lJ4(26,Q1)),e.R50("visible",W.visible),e.Y8G("position","bottom"),e.R7$(4),e.Y8G("innerHTML",e.bMT(28,22,"dashboard.popup.device.subtitle"),e.npT),e.R7$(3),e.FS9("currentPageReportTemplate",e.bMT(32,24,"TOTAL")),e.Y8G("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",e.lJ4(27,Ey))("value",W.devicesToOverlay)("rows",10)("paginator",!0)("scrollable",!0))},dependencies:[cn.bT,Gu,gr.Mm,Sf.S6,$d.XI,Et.Ei,$d.Tg,$d.yc,q1.l,gr.D9],styles:[".border-3[_ngcontent-%COMP%]{border-width:3px}.consent-banner[_ngcontent-%COMP%]{position:fixed;bottom:0;left:0;z-index:2147483645;box-sizing:border-box;width:100%;background-color:#f1f6f4}.consent-banner__inner[_ngcontent-%COMP%]{max-width:960px;margin:0 auto;padding:32px 0}.consent-banner__copy[_ngcontent-%COMP%]{margin-bottom:16px}.consent-banner__header[_ngcontent-%COMP%]{margin-bottom:8px;font-family:CeraPRO-Bold,sans-serif,arial;font-weight:400;font-size:16px;line-height:24px}.consent-banner__description[_ngcontent-%COMP%]{font-family:CeraPRO-Regular,sans-serif,arial;font-weight:400;color:#838f93;font-size:16px;line-height:24px}.card[_ngcontent-%COMP%]{--bs-card-border-width: none}"]})}return c})(),data:{title:(0,nr.o6)("dashboard")}}])];let Ly=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({imports:[Mn.iI.forChild(iC),Mn.iI]})}return c})(),nC=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({providers:[{provide:Sf.SV,useFactory:()=>[Z1,kf]}],imports:[Ft,My,Ly,cn.MD,fs.X1,gr.h,Sf.Fr,Vs.G]})}return c})(),sC=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({imports:[cn.MD,gr.h,qo.UN,fs.YN,Mn.iI]})}return c})(),rS=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c,bootstrap:[No]});static \u0275inj=e.G2t({imports:[M.Bb,Ft,Le.q1,V.FQ,gr.h.forRoot(),qo.UN,nr.Ui,Vs.G,sC,nC,ac._B.forRoot({timeOut:5e3,positionClass:"toast-bottom-right",preventDuplicates:!0}),ut]})}return c})();vo.c.production&&(0,e.SmG)(),M.sG().bootstrapModule(rS,{preserveWhitespaces:!0}).catch(c=>console.log(c))},31923:function(ri,Bt,We){var M,e,V;e=typeof window<"u"?window:this,V=function(e){"use strict";var V={};function Le(q,ne,re,ve){q.hasOwnProperty(ne)||(q[ne]=ve.apply(null,re),"function"==typeof CustomEvent&&e.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:ne,module:q[ne]}})))}return Le(V,"Core/Globals.js",[],function(){var q,ne;return(ne=q||(q={})).SVG_NS="http://www.w3.org/2000/svg",ne.product="Highcharts",ne.version="11.4.0",ne.win=void 0!==e?e:{},ne.doc=ne.win.document,ne.svg=ne.doc&&ne.doc.createElementNS&&!!ne.doc.createElementNS(ne.SVG_NS,"svg").createSVGRect,ne.userAgent=ne.win.navigator&&ne.win.navigator.userAgent||"",ne.isChrome=-1!==ne.userAgent.indexOf("Chrome"),ne.isFirefox=-1!==ne.userAgent.indexOf("Firefox"),ne.isMS=/(edge|msie|trident)/i.test(ne.userAgent)&&!ne.win.opera,ne.isSafari=!ne.isChrome&&-1!==ne.userAgent.indexOf("Safari"),ne.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(ne.userAgent),ne.isWebKit=-1!==ne.userAgent.indexOf("AppleWebKit"),ne.deg2rad=2*Math.PI/360,ne.hasBidiBug=ne.isFirefox&&4>parseInt(ne.userAgent.split("Firefox/")[1],10),ne.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ne.noop=function(){},ne.supportsPassiveEvents=function(){let re=!1;if(!ne.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ne.win.addEventListener&&ne.win.removeEventListener&&(ne.win.addEventListener("testPassive",ne.noop,ve),ne.win.removeEventListener("testPassive",ne.noop,ve))}return re}(),ne.charts=[],ne.composed=[],ne.dateFormats={},ne.seriesTypes={},ne.symbolSizes={},ne.chartCount=0,q}),Le(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(q){let ne,{charts:re,doc:ve,win:le}=q;function pe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(T,B){p+=`\n - ${B}: ${T}`,C&&(k+=encodeURI(B)+"="+encodeURI(T))}),k+=p}g(q,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===pe.messages.indexOf(k)&&console.warn(k)}),pe.messages.push(k)}function ue(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function X(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function E(o){return X(o)&&"number"==typeof o.nodeType}function j(o){let n=o&&o.constructor;return!(!X(o,!0)||E(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function P(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!P(r),C=(k,p)=>{P(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function A(o){return te(o)?o:[o]}function I(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(pe||(pe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-T.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){q[n]=function(r){return pe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let v=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ne?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(q[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;q.Point&&o instanceof q.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!q.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((T,B)=>T.order-B.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){K=A(K),T[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=ue(d))),d},inArray:function(o,n,r){return pe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return G(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:ue,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:A,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:v,useSerialIds:function(o){return ne=_(o,ne)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Le(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Le(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Le(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{win:re}=q,{defined:ve,error:le,extend:pe,isNumber:ue,isObject:J,merge:te,objectEach:X,pad:E,pick:j,splat:F,timeUnits:P}=ne,D=q.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,A=q.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class I{constructor(m){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(m)}get(m,w){if(this.variableTimezone||this.timezoneOffset){let G=w.getTime(),O=G-this.getTimezoneOffset(w);w.setTime(O);let f=w["getUTC"+m]();return w.setTime(G),f}return this.useUTC?w["getUTC"+m]():w["get"+m]()}set(m,w,G){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===m||"Seconds"===m||"Minutes"===m&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+m](G);let O=this.getTimezoneOffset(w),f=w.getTime()-O;w.setTime(f),w["setUTC"+m](G);let a=this.getTimezoneOffset(w);return f=w.getTime()+a,w.setTime(f)}return this.useUTC||D&&"FullYear"===m?w["setUTC"+m](G):w["set"+m](G)}update(m={}){let w=j(m.useUTC,!0);this.options=m=te(!0,this.options,m),this.Date=m.Date||re.Date||Date,this.useUTC=w,this.timezoneOffset=w&&m.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!m.getTimezoneOffset&&!m.timezone)}makeTime(m,w,G,O,f,a){let g,v,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),v=this.getTimezoneOffset(g),g+=v,v!==(o=this.getTimezoneOffset(g))?g+=o-v:v-36e5!==this.getTimezoneOffset(g-36e5)||A||(g-=36e5)):g=new this.Date(m,w,j(G,1),j(O,0),j(f,0),j(a,0)).getTime(),g}timezoneOffsetFunction(){let m=this,w=this.options,G=w.getTimezoneOffset;return this.useUTC?w.timezone?O=>{try{let f=`shortOffset,${w.timezone||""}`,[a,g,v,o,n=0]=(I.formatCache[f]=I.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:w.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(v+n/60);if(ue(r))return r}catch{le(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(m.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(m,w,G){if(!ve(w)||isNaN(w))return q.defaultOptions.lang&&q.defaultOptions.lang.invalidDate||"";m=j(m,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(w),a=this.get("Hours",f),g=this.get("Day",f),v=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=q.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return X(pe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:E(v),e:E(v,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:E(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:E(a),k:a,I:E(a%12||12),l:a%12||12,M:E(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:E(this.get("Seconds",f)),L:E(Math.floor(w%1e3),3)},q.dateFormats),function(C,k){for(;-1!==m.indexOf("%"+k);)m=m.replace("%"+k,"function"==typeof C?C.call(O,w):C)}),G?m.substr(0,1).toUpperCase()+m.substr(1):m}resolveDTLFormat(m){return J(m,!0)?m:{main:(m=F(m))[0],from:m[1],to:m[2]}}getTimeTicks(m,w,G,O){let f,a,g,v,o=this,r=[],l={},d=new(0,o.Date)(w),C=m.unitRange,k=m.count||1;if(O=j(O,1),ve(w)){o.set("Milliseconds",d,C>=P.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=P.second&&o.set("Seconds",d,C>=P.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=P.minute&&o.set("Minutes",d,C>=P.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=P.hour&&o.set("Hours",d,C>=P.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=P.day&&o.set("Date",d,C>=P.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=P.month&&(o.set("Month",d,C>=P.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=P.year&&(a-=a%k,o.set("FullYear",d,a)),C===P.week&&(v=o.get("Day",d),o.set("Date",d,o.get("Date",d)-v+O+(v4*P.month||o.getTimezoneOffset(w)!==o.getTimezoneOffset(G));let z=d.getTime();for(f=1;z1?z=o.makeTime(a,p,T,B+f*k):z+=C*k:z=o.makeTime(a,p,T+f*k*(C===P.day?1:7)),f++;r.push(z),C<=P.hour&&r.length<1e4&&r.forEach(function(K){K%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",K)&&(l[K]="day")})}return r.info=pe(m,{higherRanks:l,totalRange:C*k}),r}getDateFormat(m,w,G,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",w),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond",o=v;for(v in P){if(m===P.week&&+this.dateFormat("%w",w)===G&&f.substr(6)===a.substr(6)){v="week";break}if(P[v]>m){v=o;break}if(g[v]&&f.substr(g[v])!==a.substr(g[v]))break;"week"!==v&&(o=v)}return this.resolveDTLFormat(O[v]).main}}return I.formatCache={},I}),Le(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{isTouchDevice:pe,svg:ue}=ne,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ue,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:pe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let X=new ve(te.time);return{defaultOptions:te,defaultTime:X,getOptions:function(){return te},setOptions:function(E){return J(!0,te,E),(E.time||E.global)&&(ne.time?ne.time.update(J(te.global,te.time,E.global,E.time)):ne.time=X),te}}}),Le(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isNumber:re,merge:ve,pInt:le}=ne;class pe{static parse(J){return J?new pe(J):pe.None}constructor(J){let te,X,E,j;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=q.Color;if(F&&F!==pe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(P=>new pe(P[1]));else if("string"==typeof J){if(this.input=J=pe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let P=J.length,D=parseInt(J.substr(1),16);7===P?X=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===P&&(X=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!X)for(E=pe.parsers.length;E--&&!X;)(te=(j=pe.parsers[E]).regex.exec(J))&&(X=j.parse(te))}X&&(this.rgba=X)}get(J){let te=this.input,X=this.rgba;if("object"==typeof te&&void 0!==this.stops){let E=ve(te);return E.stops=[].slice.call(E.stops),this.stops.forEach((j,F)=>{E.stops[F]=[E.stops[F][0],j.get(J)]}),E}return X&&re(X[0])?"rgb"===J||!J&&1===X[3]?"rgb("+X[0]+","+X[1]+","+X[2]+")":"a"===J?`${X[3]}`:"rgba("+X.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function(X){X.brighten(J)});else if(re(J)&&0!==J)for(let X=0;X<3;X++)te[X]+=le(255*J),te[X]<0&&(te[X]=0),te[X]>255&&(te[X]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let X=this.rgba,E=J.rgba;if(!re(X[0])||!re(E[0]))return J.input||"none";let j=1!==E[3]||1!==X[3];return(j?"rgba(":"rgb(")+Math.round(E[0]+(X[0]-E[0])*(1-te))+","+Math.round(E[1]+(X[1]-E[1])*(1-te))+","+Math.round(E[2]+(X[2]-E[2])*(1-te))+(j?","+(E[3]+(X[3]-E[3])*(1-te)):"")+")"}}return pe.names={white:"#ffffff",black:"#000000"},pe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),parseFloat(ue[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),1]}}],pe.None=new pe(""),pe}),Le(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{parse:ve}=q,{win:le}=ne,{isNumber:pe,objectEach:ue}=re;class J{constructor(X,E,j){this.pos=NaN,this.options=E,this.elem=X,this.prop=j}dSetter(){let X=this.paths,E=X&&X[0],j=X&&X[1],F=this.now||0,P=[];if(1!==F&&E&&j)if(E.length===j.length&&F<1)for(let D=0;D=I+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,j=!0,ue(_,function(m){!0!==m&&(j=!1)}),j&&A&&A.call(D),E=!1):(this.pos=P.easing((F-this.startTime)/I),this.now=this.start+(this.end-this.start)*this.pos,this.update(),E=!0),E}initPath(X,E,j){let _,m,w,G,F=X.startX,P=X.endX,D=j.slice(),A=X.isArea,I=A?2:1,O=E&&E.slice();if(!O)return[D,D];function f(g,v){for(;g.length{let G=E(w.options.animation);_=ue(P)&&re(P.defer)?A.defer:Math.max(_,G.duration+G.defer),m=Math.min(A.duration,G.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-m),duration:Math.min(_,m)}},setAnimation:function(F,P){P.renderer.globalAnimation=X(F,P.options.chart.animation,!0)},stop:j}}),Le(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{SVG_NS:re,win:ve}=q,{attr:le,createElement:pe,css:ue,error:J,isFunction:te,isString:X,objectEach:E,splat:j}=ne,{trustedTypes:F}=ve,P=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=P?P.createHTML(""):"",A=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class I{static filterUserAttributes(m){return E(m,(w,G)=>{let O=!0;-1===I.allowedAttributes.indexOf(G)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(G)&&(O=X(w)&&I.allowedReferences.some(f=>0===w.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete m[G]),X(w)&&m[G]&&(m[G]=w.replace(/{let O=G.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(w[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),w},{})}static setElementHTML(m,w){m.innerHTML=I.emptyHTML,w&&new I(w).addToDOM(m)}constructor(m){this.nodes="string"==typeof m?this.parseMarkup(m):m}addToDOM(m){return function w(G,O){let f;return j(G).forEach(function(a){let g,v=a.tagName,o=a.textContent?q.doc.createTextNode(a.textContent):void 0,n=I.bypassHTMLFiltering;if(v)if("#text"===v)g=o;else if(-1!==I.allowedTags.indexOf(v)||n){let l=q.doc.createElementNS("svg"===v?re:O.namespaceURI||re,v),d=a.attributes||{};E(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:I.filterUserAttributes(d)),a.style&&ue(l,a.style),o&&l.appendChild(o),w(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":v});g&&O.appendChild(g),f=g}),f}(this.nodes,m)}parseMarkup(m){let w,G=[];if(m=m.trim().replace(/ style=(["'])/g," data-style=$1"),A)w=(new DOMParser).parseFromString(P?P.createHTML(m):m,"text/html");else{let f=pe("div");f.innerHTML=m,w={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),v={tagName:g};"#text"===g&&(v.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?v.style=I.parseStyle(r.value):n[r.name]=r.value}),v.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(v.children=n)}a.push(v)};return[].forEach.call(w.body.childNodes,f=>O(f,G)),G}}return I.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],I.allowedReferences=["https://","http://","mailto:","/","../","./","#"],I.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],I.emptyHTML=D,I.bypassHTMLFiltering=!1,I}),Le(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne){let{defaultOptions:re,defaultTime:ve}=q,{extend:le,getNestedProperty:pe,isArray:ue,isNumber:J,isObject:te,pick:X,pInt:E}=ne,j={add:(D,A)=>D+A,divide:(D,A)=>0!==A?D/A:"",eq:(D,A)=>D==A,each:function(D){let A=arguments[arguments.length-1];return!!ue(D)&&D.map((I,_)=>F(A.body,le(te(I)?I:{"@this":I},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,A)=>D>=A,gt:(D,A)=>D>A,if:D=>!!D,le:(D,A)=>D<=A,lt:(D,A)=>DD*A,ne:(D,A)=>D!=A,subtract:(D,A)=>D-A,unless:D=>!D};function F(D="",A,I){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,m=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,w=[],G=/f$/,O=/\.([0-9])/,f=re.lang,a=I&&I.time||ve,g=I&&I.numberFormatter||P,v=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:pe(d,A))},r=0;for(;null!==(o=_.exec(D));){let d=m.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:A,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");j[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,T=D.substr(p,o.index-p);void 0===n.body?(n.body=T,n.startInner=o.index+o[0].length):n.elseBody=T,n.find+=T+o[0],k||(w.push(n),n=void 0)}else n.isBlock||w.push(n);if(d&&!n?.isBlock)break}return w.forEach(d=>{let C,k,{body:p,elseBody:T,expression:B,fn:z}=d;if(z){let K=[d],U=B.split(" ");for(k=j[z].length;k--;)K.unshift(v(U[k+1]));C=j[z].apply(A,K),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:T,A))}else{let K=B.split(":");if(C=v(K.shift()||""),K.length&&"number"==typeof C){let U=K.join(":");if(G.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,X(C,""))}),l?F(D,A,I):D}function P(D,A,I,_){let m,w;A=+A;let G=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=A;-1===A?A=Math.min(O,20):J(A)?A&&f[1]&&f[1]<0&&((w=A+ +f[1])>=0?(f[0]=(+f[0]).toExponential(w).split("e")[0],A=w):(f[0]=f[0].split(".")[0]||0,D=A<20?(f[0]*Math.pow(10,f[1])).toFixed(A):0,f[1]=0)):A=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(A,O)-1)).toFixed(A),v=String(E(g)),o=v.length>3?v.length%3:0;return I=X(I,G.decimalPoint),_=X(_,G.thousandsSep),m=(D<0?"-":"")+(o?v.substr(0,o)+_:""),0>+f[1]&&!a?m="0":m+=v.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),A&&(m+=I+g.slice(-A)),f[1]&&0!=+m&&(m+="e"+f[1]),m}return{dateFormat:function(D,A,I){return ve.dateFormat(D,A,I)},format:F,helpers:j,numberFormat:P}}),Le(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(q){var ne,re;let ve;return(re=ne||(ne={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,pe,ue){re.rendererTypes[le]=pe,(!ve||ue)&&(ve=le,q.Renderer=pe)},ne}),Le(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(q){var ne;let{clamp:re,pick:ve,pushUnique:le,stableSort:pe}=q;return(ne||(ne={})).distribute=function ue(J,te,X){let _,m,w,O,f,g,E=J,j=E.reducedLen||te,F=(v,o)=>v.target-o.target,P=[],D=J.length,A=[],I=P.push,G=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>j){for(pe(J,(v,o)=>(o.rank||0)-(v.rank||0)),w=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,m=g?w:D-1;w&&a>j;)O=J[_=Math.floor(m)],le(A,_)&&(a-=O.size),m+=w,g&&m>=J.length&&(w/=2,m=w);A.sort((v,o)=>o-v).forEach(v=>I.apply(P,J.splice(v,1)))}for(pe(J,F),J=J.map(v=>({size:v.size,targets:[v.target],align:ve(v.align,.5)}));G;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,G=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),G=!0)}return I.apply(E,P),_=0,J.some(v=>{let o=0;return(v.targets||[]).some(()=>(E[_].pos=v.pos+o,void 0!==X&&Math.abs(E[_].pos-E[_].target)>X?(E.slice(0,_+1).forEach(n=>delete n.pos),E.reducedLen=(E.reducedLen||te)-.1*te,E.reducedLen>.1*te&&ue(E,te,X),!0):(o+=E[_].size,_++,!1)))}),pe(E,F),E},ne}),Le(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{animate:le,animObject:pe,stop:ue}=q,{deg2rad:J,doc:te,svg:X,SVG_NS:E,win:j}=re,{addEvent:F,attr:P,createElement:D,css:A,defined:I,erase:_,extend:m,fireEvent:w,isArray:G,isFunction:O,isObject:f,isString:a,merge:g,objectEach:v,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let T=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(T)&&(T=parseFloat(T)),T}_defaultSetter(p,T,B){B.setAttribute(T,p)}add(p){let T,B=this.renderer,z=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&B.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(T=this.zIndexSetter()),T||(p?p.element:B.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(p,T){let B=T?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(z,K){return-1===B.indexOf(K)&&z.push(K),z},B?[B]:[]).join(" "))!==B&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,T,B,z=!0){let K,U,se,S,$,H={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=T,(!B||a(B))&&(this.alignTo=se=B||"renderer",_(N,this),N.push(this),B=void 0)):(p=this.alignOptions,T=this.alignByTranslate,se=this.alignTo),B=o(B,x[se],x);let R=p.align,Z=p.verticalAlign;return K=(B.x||0)+(p.x||0),U=(B.y||0)+(p.y||0),"right"===R?S=1:"center"===R&&(S=2),S&&(K+=(B.width-(p.width||0))/S),H[T?"translateX":"x"]=Math.round(K),"bottom"===Z?$=1:"middle"===Z&&($=2),$&&(U+=(B.height-(p.height||0))/$),H[T?"translateY":"y"]=Math.round(U),z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(p){let T={left:"start",center:"middle",right:"end"};T[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",T[p]))}animate(p,T,B){let z=pe(o(T,this.renderer.globalAnimation,!0)),K=z.defer;return te.hidden&&(z.duration=0),0!==z.duration?(B&&(z.complete=B),l(()=>{this.element&&le(this,p,z)},K)):(this.attr(p,void 0,B||z.complete),v(p,function(U,se){z.step&&z.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let T=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(T.style.fill)));let B=p.split(" "),z=B[B.length-1],K=B[0];if(K&&"none"!==K&&re.svg){this.fakeTS=!0,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(H,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(E,"tspan");P(U,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":K,"stroke-linejoin":"round"});let se=T.querySelector("textPath")||T;[].forEach.call(se.childNodes,H=>{let x=H.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let S=0;[].forEach.call(se.querySelectorAll("text tspan"),H=>{S+=Number(H.getAttribute("dy"))});let $=te.createElementNS(E,"tspan");$.textContent="\u200b",P($,{x:Number(T.getAttribute("x")),dy:-S}),U.appendChild($),se.insertBefore(U,se.firstChild)}}attr(p,T,B,z){let se,S,H,K=this.element,U=C.symbolCustomAttribs,$=this;return"string"==typeof p&&void 0!==T&&(se=p,(p={})[se]=T),"string"==typeof p?$=(this[p+"Getter"]||this._defaultGetter).call(this,p,K):(v(p,function(x,N){H=!1,z||ue(this,N),this.symbolName&&-1!==U.indexOf(N)&&(S||(this.symbolAttr(p),S=!0),H=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),H||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,K)},this),this.afterSetters()),B&&B.call(this),$}clip(p){if(p&&!p.clipPath){let T=d()+"-",B=this.renderer.createElement("clipPath").attr({id:T}).add(this.renderer.defs);m(p,{clipPath:B,id:T,count:0}),p.add(B)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,T){let B=Math.round(T=T||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+B,p.y=Math.floor(p.y||this.y||0)+B,p.width=Math.floor((p.width||this.width||0)-2*B),p.height=Math.floor((p.height||this.height||0)-2*B),I(p.strokeWidth)&&(p.strokeWidth=T),p}complexColor(p,T,B){let K,U,se,S,$,H,x,N,R,Z,he,z=this.renderer,Y=[];w(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],$=z.gradients,H=p.stops,R=B.radialReference,G(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!I(se.gradientUnits)&&(S=se,se=g(se,z.getRadialAttr(R,S),{gradientUnits:"userSpaceOnUse"})),v(se,function(ge,_e){"id"!==_e&&Y.push(_e,ge)}),v(H,function(ge){Y.push(ge)}),$[Y=Y.join(",")])Z=$[Y].attr("id");else{se.id=Z=d();let ge=$[Y]=z.createElement(U).attr(se).add(z.defs);ge.radAttr=S,ge.stops=[],H.forEach(function(_e){0===_e[1].indexOf("rgba")?(x=(K=ne.parse(_e[1])).get("rgb"),N=K.get("a")):(x=_e[1],N=1);let Te=z.createElement("stop").attr({offset:_e[0],"stop-color":x,"stop-opacity":N}).add(ge);ge.stops.push(Te)})}he="url("+z.url+"#"+Z+")",B.setAttribute(T,he),B.gradient=Y,p.toString=function(){return he}}})}css(p){let K,T=this.styles,B={},z=this.element,U=!T;if(T&&v(p,function(se,S){T&&T[S]!==se&&(B[S]=se,U=!0)}),U){T&&(p=m(T,B)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&p.width&&(K=this.textWidth=n(p.width)),m(this.styles,p),K&&!X&&this.renderer.forExport&&delete p.width;let se=g(p);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(S=>se&&delete se[S]),se.color&&(se.fill=se.color)),A(z,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let T,B=this["stroke-width"];if("inherit"===B&&(B=1),p=p&&p.toLowerCase()){let z=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(T=z.length;T--;)z[T]=""+n(z[T])*o(B,NaN);p=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,T=p.element||{},B=p.renderer,z=T.ownerSVGElement,K="SPAN"===T.nodeName&&p.parentGroup||void 0;if(T.onclick=T.onmouseout=T.onmouseover=T.onmousemove=T.point=null,ue(p),p.clipPath&&z){let S=p.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function($){$.getAttribute("clip-path").indexOf(S.element.id)>-1&&$.removeAttribute("clip-path")}),p.clipPath=S.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seK&&K.join?(U?z+" ":"")+K.join(" "):(K||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[T]!==p&&(B.setAttribute(T,p),this[T]=p)}fillSetter(p,T,B){"string"==typeof p?B.setAttribute(T,p):p&&this.complexColor(p,T,B)}hrefSetter(p,T,B){B.setAttributeNS("http://www.w3.org/1999/xlink",T,p)}getBBox(p,T){let B,z,K,U,{alignValue:se,element:S,renderer:$,styles:H,textStr:x}=this,{cache:N,cacheKeys:R}=$,Z=S.namespaceURI===this.SVG_NS,Y=o(T,this.rotation,0),he=$.styledMode?S&&C.prototype.getStyle.call(S,"font-size"):H.fontSize;if(I(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",$.rootFontSize,he,Y,this.textWidth,se,H.textOverflow,H.fontWeight].join(",")),U&&!p&&(B=N[U]),!B){if(Z||$.forExport){try{K=this.fakeTS&&function(ge){let _e=S.querySelector(".highcharts-text-outline");_e&&A(_e,{display:ge})},O(K)&&K("none"),B=S.getBBox?m({},S.getBBox()):{width:S.offsetWidth,height:S.offsetHeight,x:0,y:0},O(K)&&K("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();z=B.height,Z&&(B.height=z={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(z)}`]||z),Y&&(B=this.getRotatedBox(B,Y))}if(U&&(""===x||B.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=B}return B}getRotatedBox(p,T){let{x:B,y:z,width:K,height:U}=p,{alignValue:se,translateY:S,rotationOriginX:$=0,rotationOriginY:H=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(S?0:z),R=T*J,Z=(T-90)*J,Y=Math.cos(R),he=Math.sin(R),ge=K*Y,_e=K*he,Te=Math.cos(Z),Oe=Math.sin(Z),[[De,Be],[oe,ee]]=[$,H].map(pt=>[pt-pt*Y,pt*he]),be=B+x*(K-ge)+De+ee+N*Te,xe=be+ge,Ie=xe-U*Te,we=Ie-ge,Ee=z+N-x*_e-Be+oe+N*Oe,Me=Ee+_e,Xe=Me-U*Oe,Je=Xe-_e,lt=Math.min(be,xe,Ie,we),qe=Math.min(Ee,Me,Xe,Je);return{x:lt,y:qe,width:Math.max(be,xe,Ie,we)-lt,height:Math.max(Ee,Me,Xe,Je)-qe}}getStyle(p){return j.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,T){this.onEvents={},this.opacity=1,this.SVG_NS=E,this.element="span"===T||"body"===T?D(T):te.createElementNS(this.SVG_NS,T),this.renderer=p,this.styles={},w(this,"afterInit")}on(p,T){let{onEvents:B}=this;return B[p]&&B[p](),B[p]=F(this.element,p,T),this}opacitySetter(p,T,B){let z=Number(Number(p).toFixed(3));this.opacity=z,B.setAttribute(T,z)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let T=p.parentNode;T&&T.removeChild(p)}setRadialReference(p){let T=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,T&&T.radAttr&&T.animate(this.renderer.getRadialAttr(p,T.radAttr)),this}setTextPath(p,T){T=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},T);let B=this.renderer.url,z=this.text||this,K=z.textPath,{attributes:U,enabled:se}=T;if(p=p||K&&K.path,K&&K.undo(),p&&se){let S=F(z,"afterModifyTree",$=>{if(p&&se){let H=p.attr("id");H||p.attr("id",H=d());let x={x:0,y:0};I(U.dx)&&(x.dx=U.dx,delete U.dx),I(U.dy)&&(x.dy=U.dy,delete U.dy),z.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=$.nodes.slice(0);$.nodes.length=0,$.nodes[0]={tagName:"textPath",attributes:m(U,{"text-anchor":U.textAnchor,href:`${B}#${H}`}),children:N}}});z.textPath={path:p,undo:S}}else z.attr({dx:0,dy:0}),delete z.textPath;return this.added&&(z.textCache="",this.renderer.buildText(z)),this}shadow(p){let{renderer:T}=this,B=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),z=T.shadowDefinition(B);return this.attr({filter:p?`url(${T.url}#${z})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,T,B){this[T]=p,B.setAttribute(T,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let B,p=this.getStyle("stroke-width"),T=0;return/px$/.test(p)?T=n(p):""!==p&&(P(B=te.createElementNS(E,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(B),T=B.getBBox().width,B.parentNode.removeChild(B)),T}symbolAttr(p){let T=this;C.symbolCustomAttribs.forEach(function(B){T[B]=o(p[B],T[B])}),T.attr({d:T.renderer.symbols[T.symbolName](T.x,T.y,T.width,T.height,T)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let T=this.element,B=T.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");T.insertBefore?T.insertBefore(B,T.firstChild):T.appendChild(B),B.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,T){return this.attr({translateX:p,translateY:T})}updateTransform(p="transform"){let{element:T,matrix:B,rotation:z=0,rotationOriginX:K,rotationOriginY:U,scaleX:se,scaleY:S,translateX:$=0,translateY:H=0}=this,x=["translate("+$+","+H+")"];I(B)&&x.push("matrix("+B.join(",")+")"),z&&(x.push("rotate("+z+" "+o(K,T.getAttribute("x"),0)+" "+o(U,T.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(K||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(I(se)||I(S))&&x.push("scale("+o(se,1)+" "+o(S,1)+")"),x.length&&!(this.text||this).textPath&&T.setAttribute(p,x.join(" "))}visibilitySetter(p,T,B){"inherit"===p?B.removeAttribute(T):this[T]!==p&&B.setAttribute(T,p),this[T]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,T){let S,$,H,N,Z,B=this.renderer,z=this.parentGroup,K=(z||B).element||B.box,U=this.element,se=K===B.box,x=!1,R=this.added;if(I(p)?(U.setAttribute("data-z-index",p),this[T]===(p=+p)&&(R=!1)):I(this[T])&&U.removeAttribute("data-z-index"),this[T]=p,R){for((p=this.zIndex)&&z&&(z.handleZ=!0),Z=(S=K.childNodes).length-1;Z>=0&&!x;Z--)N=!I(H=($=S[Z]).getAttribute("data-z-index")),$!==U&&(p<0&&N&&!se&&!Z?(K.insertBefore(U,S[Z]),x=!0):(n(H)<=p||N&&(!I(p)||p>=0))&&(K.insertBefore(U,S[Z+1]),x=!0));x||(K.insertBefore(U,S[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Le(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,extend:ve,isNumber:le,merge:pe,pick:ue,removeEvent:J}=ne;class te extends q{constructor(E,j,F,P,D,A,I,_,m,w){let G;super(E,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=j,this.x=F,this.y=P,this.anchorX=A,this.anchorY=I,this.baseline=m,this.className=w,this.addClass("button"===w?"highcharts-no-tooltip":"highcharts-label"),w&&this.addClass("highcharts-"+w),this.text=E.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((G=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=E.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(E){let j={left:0,center:.5,right:1}[E];j!==this.alignFactor&&(this.alignFactor=j,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(E,j){this.anchorX=E,this.boxAttr(j,Math.round(E)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(E,j){this.anchorY=E,this.boxAttr(j,E-this.ySetting)}boxAttr(E,j){this.box?this.box.attr(E,j):this.deferredAttr[E]=j}css(E){if(E){let j={};E=pe(E),te.textProps.forEach(F=>{void 0!==E[F]&&(j[F]=E[F],delete E[F])}),this.text.css(j),"fontSize"in j||"fontWeight"in j?this.updateTextPadding():("width"in j||"textOverflow"in j)&&this.updateBoxSize()}return q.prototype.css.call(this,E)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),q.prototype.destroy.call(this)}fillSetter(E,j){E&&(this.needsBox=!0),this.fill=E,this.boxAttr(j,E)}getBBox(E,j){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:P=0,translateX:D=0,translateY:A=0,width:I=0}=this,_=ue(this.paddingLeft,F),m=j??(this.rotation||0),w={width:I,height:P,x:D+this.bBox.x-_,y:A+this.bBox.y-F+this.baselineOffset};return m&&(w=this.getRotatedBox(w,m)),w}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(E){this.heightSetting=E}onAdd(){this.text.add(this),this.attr({text:ue(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(E,j){le(E)?E!==this[j]&&(this[j]=E,this.updateTextPadding()):this[j]=void 0}rSetter(E,j){this.boxAttr(j,E)}strokeSetter(E,j){this.stroke=E,this.boxAttr(j,E)}"stroke-widthSetter"(E,j){E&&(this.needsBox=!0),this["stroke-width"]=E,this.boxAttr(j,E)}"text-alignSetter"(E){this.textAlign=E}textSetter(E){void 0!==E&&this.text.attr({text:E}),this.updateTextPadding()}updateBoxSize(){let E,j=this.text,F={},P=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(j.textStr)?te.emptyBBox:j.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*P;let A=this.renderer.fontMetrics(j);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||A).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-A.h)/2),this.needsBox&&!j.textPath){if(!this.box){let I=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();I.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),I.add(this)}E=this.getCrispAdjust(),F.x=E,F.y=(this.baseline?-this.baselineOffset:0)+E,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let E=this.text;if(!E.textPath){this.updateBoxSize();let j=this.baseline?0:this.baselineOffset,F=ue(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==E.x||j!==E.y)&&(E.attr("x",F),E.hasBoxWidthChanged&&(this.bBox=E.getBBox(!0)),void 0!==j&&E.attr("y",j)),E.x=F,E.y=j}}widthSetter(E){this.widthSetting=le(E)?E:void 0}getPaddedWidth(){let E=this.padding,j=ue(this.paddingLeft,E),F=ue(this.paddingRight,E);return(this.widthSetting||this.bBox.width||0)+j+F}xSetter(E){this.x=E,this.alignFactor&&(E-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(E),this.attr("translateX",this.xSetting)}ySetter(E){this.ySetting=this.y=Math.round(E),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Le(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(q){let{defined:ne,isNumber:re,pick:ve}=q;function le(J,te,X,E,j){let F=[];if(j){let P=j.start||0,D=ve(j.r,X),A=ve(j.r,E||X),I=.001>Math.abs((j.end||0)-P-2*Math.PI),_=(j.end||0)-.001,m=j.innerR,w=ve(j.open,I),G=Math.cos(P),O=Math.sin(P),f=Math.cos(_),a=Math.sin(_),g=ve(j.longArc,_-P-Math.PI<.001?0:1),v=["A",D,A,0,g,ve(j.clockwise,1),J+D*f,te+A*a];v.params={start:P,end:_,cx:J,cy:te},F.push(["M",J+D*G,te+A*O],v),ne(m)&&((v=["A",m,m,0,g,ne(j.clockwise)?1-j.clockwise:0,J+m*G,te+m*O]).params={start:_,end:P,cx:J,cy:te},F.push(w?["M",J+m*f,te+m*a]:["L",J+m*f,te+m*a],v)),w||F.push(["Z"])}return F}function pe(J,te,X,E,j){return j&&j.r?ue(J,te,X,E,j):[["M",J,te],["L",J+X,te],["L",J+X,te+E],["L",J,te+E],["Z"]]}function ue(J,te,X,E,j){let F=j?.r||0;return[["M",J+F,te],["L",J+X-F,te],["A",F,F,0,0,1,J+X,te+F],["L",J+X,te+E-F],["A",F,F,0,0,1,J+X-F,te+E],["L",J+F,te+E],["A",F,F,0,0,1,J,te+E-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,X,E,j){let F=Math.min(j&&j.r||0,X,E),P=F+6,D=j&&j.anchorX,A=j&&j.anchorY||0,I=ue(J,te,X,E,{r:F});if(!re(D)||D0&&A0)return I;if(J+D>X-P)if(A>te+P&&Ate+P&&A0){let _=AE&&DP&&I.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",X-F,te]);return I},circle:function(J,te,X,E){return le(J+X/2,te+E/2,X/2,E/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E/2],["L",J+X/2,te+E],["L",J,te+E/2],["Z"]]},rect:pe,roundedRect:ue,square:pe,triangle:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E],["L",J,te+E],["Z"]]},"triangle-down":function(J,te,X,E){return[["M",J,te],["L",J+X,te],["L",J+X/2,te+E],["Z"]]}}}),Le(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{doc:ve,SVG_NS:le,win:pe}=ne,{attr:ue,extend:J,fireEvent:te,isString:X,objectEach:E,pick:j}=re;return class{constructor(F){let P=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!(!P||"ellipsis"!==P.textOverflow),this.noWrap=!(!P||"nowrap"!==P.whiteSpace)}buildSVG(){let F=this.svgElement,P=F.element,D=F.renderer,A=j(F.textStr,"").toString(),I=-1!==A.indexOf("<"),_=P.childNodes,m=!F.added&&D.box,w=[A,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(w!==F.textCache){F.textCache=w,delete F.actualWidth;for(let G=_.length;G--;)P.removeChild(_[G]);if(I||this.ellipsis||this.width||F.textPath||-1!==A.indexOf(" ")&&(!this.noWrap||//g.test(A))){if(""!==A){m&&m.appendChild(P);let G=new q(A);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&-1!==(P.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),m&&m.removeChild(P)}}else P.appendChild(ve.createTextNode(this.unescapeEntities(A)));X(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,P=this.svgElement,D=ue(P.element,"x");for(P.firstLineMetrics=void 0;(F=P.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)P.element.removeChild(F);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(m,w)=>{m.nextSibling&&m.previousSibling&&(0===w&&1===m.previousSibling.nodeType&&(P.firstLineMetrics=P.renderer.fontMetrics(m.previousSibling)),ue(m,{dy:this.getLineHeight(m.nextSibling),x:D}))});let A=this.width||0;if(!A)return;let I=(m,w)=>{let G=m.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),a=this.getLineHeight(w),g=0,v=P.actualWidth;if(this.ellipsis)G&&this.truncate(m,G,void 0,0,Math.max(0,A-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;w.firstChild&&w.firstChild!==m;)n.push(w.firstChild),w.removeChild(w.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(m.textContent||""),m.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(m,void 0,O,0===g&&v||0,A,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),v=P.actualWidth,g++;n.forEach(r=>{w.insertBefore(r,m)}),o.forEach(r=>{w.insertBefore(ve.createTextNode(r),m);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",ue(l,{dy:a,x:D}),w.insertBefore(l,m)})}},_=m=>{[].slice.call(m.childNodes).forEach(w=>{w.nodeType===pe.Node.TEXT_NODE?I(w,m):(-1!==w.className.baseVal.indexOf("highcharts-br")&&(P.actualWidth=0),_(w))})};_(P.element)}getLineHeight(F){let P=F.nodeType===pe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(F){let P=(D,A)=>{let{attributes:I={},children:_,style:m={},tagName:w}=D,G=this.renderer.styledMode;if("b"===w||"strong"===w?G?I.class="highcharts-strong":m.fontWeight="bold":("i"===w||"em"===w)&&(G?I.class="highcharts-emphasized":m.fontStyle="italic"),m&&m.color&&(m.fill=m.color),"br"===w){I.class="highcharts-br",D.textContent="\u200b";let O=F[A+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===w&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==w&&"a"!==w&&(D.tagName="tspan"),J(D,{attributes:I,style:m}),_&&_.filter(O=>"#text"!==O.tagName).forEach(P)};F.forEach(P),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,P,D,A,I,_){let m,w,G=this.svgElement,{rotation:O}=G,f=[],a=D?1:0,g=(P||D||"").length,v=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=A+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(G.rotation=0,A+(w=o(F.textContent.length))>I){for(;a<=g;)v=Math.ceil((a+g)/2),D&&(m=_(D,v)),w=o(v,m&&m.length-1),a===g?a=g+1:w>I?g=v-1:a=v;0===g?F.textContent="":P&&g===P.length-1||(F.textContent=m||_(P||D,v))}D&&D.splice(0,v),G.actualWidth=w,G.rotation=O}unescapeEntities(F,P){return E(this.renderer.escapes,function(D,A){P&&-1!==P.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),A))}),F}}}),Le(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let X,{charts:E,deg2rad:j,doc:F,isFirefox:P,isMS:D,isWebKit:A,noop:I,SVG_NS:_,symbolSizes:m,win:w}=re,{addEvent:G,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:v,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:T,uniqueKey:B}=te;class z{constructor(U,se,S,$,H,x,N){let R,Z,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=Y.element;N||Y.css(this.getStyle($||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(se,S,!1),P&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),Z=U.getBoundingClientRect(),a(U,{left:Math.ceil(Z.left)-Z.left+"px",top:Math.ceil(Z.top)-Z.top+"px"})})(),this.unSubPixelFix=G(w,"resize",R))}definition(U){return new q([U]).addToDOM(this.defs.element)}getReferenceURL(){if((P||A)&&F.getElementsByTagName("base").length){if(!g(X)){let U=B(),se=new q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let S=F.elementFromPoint(6,6);X="hitme"===(S&&S.id),F.body.removeChild(se)}if(X)return T(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),v(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map($=>`${$}-${U[$]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),S=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:S.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:S.offsetX,dy:S.offsetY,"flood-color":S.color,"flood-opacity":Math.min(5*S.opacity,1),stdDeviation:S.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ne.parse(U).rgba.map($=>{let H=$/255;return H<=.03928?H/12.92:Math.pow((H+.055)/1.055,2.4)}),S=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(S+.05)>(S+.05)/.05?"#FFFFFF":"#000000"}button(U,se,S,$,H={},x,N,R,Z,Y){let he,ge,_e,Te=this.label(U,se,S,Z,void 0,void 0,Y,void 0,"button"),Oe=this.styledMode,De=H.states||{},Be=0;delete(H=C(H)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},H.style);delete H.style;let ee=q.filterUserAttributes(H);return Te.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},q.filterUserAttributes(x||De.hover||{}))).style,delete x.style,ge=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},q.filterUserAttributes(N||De.select||{}))).style,delete N.style,_e=(R=C(ee,{style:{color:"#cccccc"}},q.filterUserAttributes(R||De.disabled||{}))).style,delete R.style),G(Te.element,D?"mouseover":"mouseenter",function(){3!==Be&&Te.setState(1)}),G(Te.element,D?"mouseout":"mouseleave",function(){3!==Be&&Te.setState(Be)}),Te.setState=function(be){if(1!==be&&(Te.state=Be=be),Te.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][be||0]),!Oe){Te.attr([ee,x,N,R][be||0]);let xe=[oe,he,ge,_e][be||0];l(xe)&&Te.css(xe)}},!Oe&&(Te.attr(ee).css(o({cursor:"default"},oe)),Y&&Te.text.css({pointerEvents:"none"})),Te.on("touchstart",be=>be.stopPropagation()).on("click",function(be){3!==Be&&$.call(Te,be)})}crispLine(U,se,S="round"){let $=U[0],H=U[1];return g($[1])&&$[1]===H[1]&&($[1]=H[1]=Math[S]($[1])-se%2/2),g($[2])&&$[2]===H[2]&&($[2]=H[2]=Math[S]($[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,S){let $=l(U)?U:void 0===U?{}:{x:U,y:se,r:S},H=this.createElement("circle");return H.xSetter=H.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},H.attr($)}arc(U,se,S,$,H,x){let N;l(U)?(se=(N=U).y,S=N.r,$=N.innerR,H=N.start,x=N.end,U=N.x):N={innerR:$,start:H,end:x};let R=this.symbol("arc",U,se,S,S,N);return R.r=S,R}rect(U,se,S,$,H,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:H,width:Math.max(S||0,0),height:Math.max($||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(Z,Y,he){R.r=Z,O(he,{rx:Z,ry:Z})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,S){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(S,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,S,$,H,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(S)&&(N.y=S),r($)&&(N.width=$),r(H)&&(N.height=H);let R=this.createElement("image").attr(N),Z=function(Y){R.attr({href:U}),x.call(R,Y)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new w.Image;G(Y,"load",Z),Y.src=U,Y.complete&&Z({})}else R.attr({href:U});return R}symbol(U,se,S,$,H,x){let N,R,Z,Y,he=this,ge=/^url\((.*?)\)$/,_e=ge.test(U),Te=!_e&&(this.symbols[U]?U:"circle"),Oe=Te&&this.symbols[Te];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(S||0),$||0,H||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Te||void 0,x:se,y:S,width:$,height:H}),x&&o(N,x);else if(_e){Z=U.match(ge)[1];let De=N=this.image(Z);De.imgwidth=k(x&&x.width,m[Z]&&m[Z].width),De.imgheight=k(x&&x.height,m[Z]&&m[Z].height),Y=Be=>Be.attr({width:Be.width,height:Be.height}),["width","height"].forEach(Be=>{De[`${Be}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:be,element:xe,width:Ie,height:we,imgwidth:Ee,imgheight:Me}=this,Xe="width"===ee?Ee:Me,Je=1;x&&"within"===x.backgroundSize&&Ie&&we&&Ee&&Me?(Je=Math.min(Ie/Ee,we/Me),O(xe,{width:Math.round(Ee*Je),height:Math.round(Me*Je)})):xe&&Xe&&xe.setAttribute(ee,Xe),!be&&Ee&&Me&&this.translate(((Ie||0)-Ee*Je)/2,((we||0)-Me*Je)/2)}}),g(se)&&De.attr({x:se,y:S}),De.isImg=!0,g(De.imgwidth)&&g(De.imgheight)?Y(De):(De.attr({width:0,height:0}),f("img",{onload:function(){let Be=E[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),m[Z]={width:this.width,height:this.height},De.imgwidth=this.width,De.imgheight=this.height,De.element&&Y(De),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Be||Be.hasLoaded||Be.onload()},src:Z}),this.imgCount++)}return N}clipRect(U,se,S,$){return this.rect(U,se,S,$,0)}text(U,se,S,$){let H={};if($&&(this.allowHTML||!this.forExport))return this.html(U,se,S);H.x=Math.round(se||0),S&&(H.y=Math.round(S)),g(U)&&(H.text=U);let x=this.createElement("text").attr(H);return $&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,Z){let Y=Z.getElementsByTagName("tspan"),he=Z.getAttribute(R);for(let _e,ge=0;geU.align())}}return o(z.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ue,draw:I}),ve.registerRendererType("svg",z,!0),z}),Le(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{composed:le}=ne,{attr:pe,css:ue,createElement:J,defined:te,extend:X,pInt:E,pushUnique:j}=ve;function F(I,_,m){let w=this.div?.style||m.style;re.prototype[`${_}Setter`].call(this,I,_,m),w&&(w[_]=I)}let P=(I,_)=>{if(!I.div){let m=pe(I.element,"class"),w=I.css,G=J("div",m?{className:m}:void 0,{position:"absolute",left:`${I.translateX||0}px`,top:`${I.translateY||0}px`,...I.styles,display:I.display,opacity:I.opacity,visibility:I.visibility},I.parentGroup?.div||_);I.classSetter=(O,f,a)=>{a.setAttribute("class",O),G.className=O},I.translateXSetter=I.translateYSetter=(O,f)=>{I[f]=O,G.style["translateX"===f?"left":"top"]=`${O}px`,I.doTransform=!0},I.opacitySetter=I.visibilitySetter=F,I.css=O=>(w.call(I,O),O.cursor&&(G.style.cursor=O.cursor),O.pointerEvents&&(G.style.pointerEvents=O.pointerEvents),I),I.on=function(){return re.prototype.on.apply({element:G,onEvents:I.onEvents},arguments),I},I.div=G}return I.div};class D extends re{static compose(_){j(le,this.compose)&&(_.prototype.html=function(m,w,G){return new D(this,"span").attr({text:m,x:Math.round(w),y:Math.round(G)})})}constructor(_,m){super(_,m),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,m,w){this.xCorr=-_*w,this.yCorr=-m}css(_){let m,{element:w}=this,G="SPAN"===w.tagName&&_&&"width"in _,O=G&&_.width;return G&&(delete _.width,this.textWidth=E(O)||void 0,m=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),X(this.styles,_),ue(w,_),m&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:m,rotation:w,rotationOriginX:G,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:v=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(ue(_,{marginLeft:`${v}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[w,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(ue(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(ue(_,{width:U>se||w?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=m.fontMetrics(_).b,te(w)&&(w!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(w,C,C),this.getSpanCorrection(!te(w)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:T=0,yCorr:B=0}=this;ue(_,{left:`${n+T}px`,top:`${r+B}px`,transformOrigin:`${(G??n)-T-n-C}px ${(O??r)-B-r-C}px`}),this.cTT=d,this.oldRotation=w,this.oldAlign=a}}setSpanRotation(_,m,w){ue(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${m}% ${w}px`})}add(_){let m,w=this.renderer.box.parentNode,G=[];if(this.parentGroup=_,_&&!(m=_.div)){let O=_;for(;O;)G.push(O),O=O.parentGroup;for(let f of G.reverse())m=P(f,w)}return(m||w).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,q.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,m){this[m]=_,this.doTransform=!0}}let A=D.prototype;return A.visibilitySetter=A.opacitySetter=F,A.ySetter=A.rotationSetter=A.rotationOriginXSetter=A.rotationOriginYSetter=A.xSetter,D}),Le(V,"Core/Axis/AxisDefaults.js",[],function(){var q,ne;return(ne=q||(q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ne.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},q}),Le(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(q){var ne;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:pe}=q;return(ne||(ne={})).registerEventOptions=function(ue,J){ue.eventOptions=ue.eventOptions||{},le(J.events,function(te,X){ue.eventOptions[X]!==te&&(ue.eventOptions[X]&&(pe(ue,X,ue.eventOptions[X]),delete ue.eventOptions[X]),ve(te)&&(ue.eventOptions[X]=te,re(ue,X,te,{order:0})))})},ne}),Le(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{deg2rad:ve}=ne,{clamp:le,correctFloat:pe,defined:ue,destroyObjectProperties:J,extend:te,fireEvent:X,isNumber:E,merge:j,objectEach:F,pick:P}=re;return class{constructor(D,A,I,_,m){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=A,this.type=I||"",this.parameters=m||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,X(this,"init"),I||_||this.addLabel()}addLabel(){let l,d,C,D=this,A=D.axis,I=A.options,_=A.chart,m=A.categories,w=A.logarithmic,G=A.names,O=D.pos,f=P(D.options&&D.options.labels,I.labels),a=A.tickPositions,g=O===a[0],v=O===a[a.length-1],o=(!f.step||1===f.step)&&1===A.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(m?P(m[O],G[O],O):O);w&&E(k)&&(k=pe(w.lin2log(k))),A.dateTime&&(n?l=(d=_.time.resolveDTLFormat(I.dateTimeLabelFormats[!I.grid&&n.higherRanks[O]||n.unitName])).main:E(k)&&(l=A.dateTime.getXDateFormat(k,I.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=v;let p={axis:A,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:v,pos:O,tick:D,tickPositionInfo:n,value:k};X(this,"labelFormat",p);let T=K=>f.formatter?f.formatter.call(K,K):f.format?(K.text=A.defaultLabelFormatter.call(K),q.format(f.format,K,_)):A.defaultLabelFormatter.call(K),B=T.call(p,p),z=d&&d.list;D.shortenLabel=z?function(){for(C=0;C0&&_+g*v>O&&(k=Math.round((m-_)/Math.cos(a*ve))):(d=_-g*v,C=_+(1-g)*v,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||A.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(I.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,A){let G,I=this,_=I.label,m=I.axis,w=!1;_&&_.textStr===D?(I.movedLabel=_,w=!0,delete I.label):F(m.ticks,function(O){w||O.isNew||O===I||!O.label||O.label.textStr!==D||(I.movedLabel=O.label,w=!0,O.labelPos=I.movedLabel.xy,delete O.label)}),!w&&(I.labelPos||_)&&(G=I.labelPos||_.xy,I.movedLabel=I.createLabel(D,A,G),I.movedLabel&&I.movedLabel.attr({opacity:0}))}render(D,A,I){let _=this.axis,m=_.horiz,w=this.pos,G=P(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(m,w,G,A),f=O.x,a=O.y,g=_.pos,v=g+_.len,o=m&&f===v||!m&&a===g?-1:1,n=m?f:a;!_.chart.polar&&this.isNew&&(pe(n)v)&&(I=0);let r=P(I,this.label&&this.label.newOpacity,1);I=P(I,1),this.isActive=!0,this.renderGridLine(A,I,o),this.renderMark(O,I,o),this.renderLabel(O,A,r,D),this.isNew=!1,X(this,"afterRender")}renderGridLine(D,A,I){let v,_=this.axis,m=_.options,w={},G=this.pos,O=this.type,f=P(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=m.gridLineWidth,n=m.gridLineColor,r=m.gridLineDashStyle;"minor"===this.type&&(o=m.minorGridLineWidth,n=m.minorGridLineColor,r=m.minorGridLineDashStyle),g||(_.chart.styledMode||(w.stroke=n,w["stroke-width"]=o||0,w.dashstyle=r),O||(w.zIndex=1),D&&(A=0),this.gridLine=g=a.path().attr(w).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(v=_.getPlotLinePath({value:G+f,lineWidth:g.strokeWidth()*I,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:v,opacity:A})}renderMark(D,A,I){let _=this.axis,m=_.options,w=_.chart.renderer,G=this.type,O=_.tickSize(G?G+"Tick":"tick"),f=D.x,a=D.y,g=P(m["minor"!==G?"tickWidth":"minorTickWidth"],!G&&_.isXAxis?1:0),v=m["minor"!==G?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=w.path().addClass("highcharts-"+(G?G+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:v,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*I,_.horiz,w),opacity:A}))}renderLabel(D,A,I,_){let m=this.axis,w=m.horiz,G=m.options,O=this.label,f=G.labels,a=f.step,g=P(this.tickmarkOffset,m.tickmarkOffset),v=D.x,o=D.y,n=!0;O&&E(v)&&(O.xy=D=this.getLabelPosition(v,o,O,w,f,g,_,a),this.isFirst&&!this.isLast&&!G.showFirstLabel||this.isLast&&!this.isFirst&&!G.showLastLabel?n=!1:!w||f.step||f.rotation||A||0===I||this.handleOverflow(D),a&&_%a&&(n=!1),n&&E(D.y)?(D.opacity=I,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,A=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),A.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Le(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{animObject:te}=q,{xAxis:X,yAxis:E}=ne,{defaultOptions:j}=ve,{registerEventOptions:F}=le,{deg2rad:P}=pe,{arrayMax:D,arrayMin:A,clamp:I,correctFloat:_,defined:m,destroyObjectProperties:w,erase:G,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:v,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:T,splat:B,syncTimeout:z}=J,K=(se,S)=>d(S,void 0,void 0,k(se.options.allowDecimals,S<.5||void 0!==se.tickAmount),!!se.tickAmount);f(j,{xAxis:X,yAxis:l(X,E)});class U{constructor(S,$,H){this.init(S,$,H)}init(S,$,H=this.coll){let x="xAxis"===H,N=this.isZAxis||(S.inverted?!x:x);this.chart=S,this.horiz=N,this.isXAxis=x,this.coll=H,a(this,"init",{userOptions:$}),this.opposite=k($.opposite,this.opposite),this.side=k($.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions($);let R=this.options,Z=R.labels,Y=R.type;this.userOptions=$,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===Y||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=m(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,B(S.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===S.axes.indexOf(this)&&(x?S.axes.splice(S.xAxis.length,0,this):S.axes.push(this),v(this,S[this.coll])),S.orderItems(this.coll),this.series=this.series||[],S.inverted&&!this.isZAxis&&x&&!m(this.reversed)&&(this.reversed=!0),this.labelRotation=n(Z.rotation)?Z.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(S){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},j[this.coll],S),a(this,"afterSetOptions",{userOptions:S})}defaultLabelFormatter(){let Te,Oe,S=this.axis,{numberFormatter:$}=this.chart,H=n(this.value)?this.value:NaN,x=S.chart.time,N=S.categories,R=this.dateTimeLabelFormat,Z=j.lang,Y=Z.numericSymbols,he=Z.numericSymbolMagnitude||1e3,ge=S.logarithmic?Math.abs(H):S.tickInterval,_e=Y&&Y.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,H);else if(_e&&Y&&ge>=1e3)for(;_e--&&void 0===Oe;)ge>=(Te=Math.pow(he,_e+1))&&10*H%Te==0&&null!==Y[_e]&&0!==H&&(Oe=$(H/Te,-1)+Y[_e]);return void 0===Oe&&(Oe=Math.abs(H)>=1e4?$(H,-1):$(H,-1,void 0,"")),Oe}getSeriesExtremes(){let S,$=this;a(this,"getSeriesExtremes",null,function(){$.hasVisibleSeries=!1,$.dataMin=$.dataMax=$.threshold=void 0,$.softThreshold=!$.isXAxis,$.series.forEach(H=>{if(H.reserveSpace()){let N,Z,Y,x=H.options,R=x.threshold;if($.hasVisibleSeries=!0,$.positiveValuesOnly&&0>=(R||0)&&(R=void 0),$.isXAxis)(N=H.xData)&&N.length&&(N=$.logarithmic?N.filter(he=>he>0):N,Z=(S=H.getXExtremes(N)).min,Y=S.max,n(Z)||Z instanceof Date||(N=N.filter(n),Z=(S=H.getXExtremes(N)).min,Y=S.max),N.length&&($.dataMin=Math.min(k($.dataMin,Z),Z),$.dataMax=Math.max(k($.dataMax,Y),Y)));else{let he=H.applyExtremes();n(he.dataMin)&&(Z=he.dataMin,$.dataMin=Math.min(k($.dataMin,Z),Z)),n(he.dataMax)&&(Y=he.dataMax,$.dataMax=Math.max(k($.dataMax,Y),Y)),m(R)&&($.threshold=R),(!x.softThreshold||$.positiveValuesOnly)&&($.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(S,$,H,x,N,R){let Z=this.linkedParent||this,Y=x&&Z.old?Z.old.min:Z.min;if(!n(Y))return NaN;let he=Z.minPixelPadding,ge=(Z.isOrdinal||Z.brokenAxis?.hasBreaks||Z.logarithmic&&N)&&Z.lin2val,_e=1,Te=0,Oe=x&&Z.old?Z.old.transA:Z.transA,De=0;if(Oe||(Oe=Z.transA),H&&(_e*=-1,Te=Z.len),Z.reversed&&(_e*=-1,Te-=_e*(Z.sector||Z.len)),$)De=(S=S*_e+Te-he)/Oe+Y,ge&&(De=Z.lin2val(De));else{ge&&(S=Z.val2lin(S));let Be=_e*(S-Y)*Oe;De=(Z.isRadial?Be:_(Be))+Te+_e*he+(n(R)?Oe*R:0)}return De}toPixels(S,$){return this.translate(S,!1,!this.horiz,void 0,!0)+($?0:this.pos)}toValue(S,$){return this.translate(S-($?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(S){let De,Be,oe,ee,be,$=this,H=$.chart,x=$.left,N=$.top,R=S.old,Z=S.value,Y=S.lineWidth,he=R&&H.oldChartHeight||H.chartHeight,ge=R&&H.oldChartWidth||H.chartWidth,_e=$.transB,Te=S.translatedValue,Oe=S.force;function xe(we,Ee,Me){return"pass"!==Oe&&(weMe)&&(Oe?we=I(we,Ee,Me):be=!0),we}let Ie={value:Z,lineWidth:Y,old:R,force:Oe,acrossPanes:S.acrossPanes,translatedValue:Te};return a(this,"getPlotLinePath",Ie,function(we){De=oe=Math.round((Te=I(Te=k(Te,$.translate(Z,void 0,void 0,R)),-1e5,1e5))+_e),Be=ee=Math.round(he-Te-_e),n(Te)?$.horiz?(Be=N,ee=he-$.bottom+(H.scrollablePixelsY||0),De=oe=xe(De,x,x+$.width)):(De=x,oe=ge-$.right+(H.scrollablePixelsX||0),Be=ee=xe(Be,N,N+$.height)):(be=!0,Oe=!1),we.path=be&&!Oe?void 0:H.renderer.crispLine([["M",De,Be],["L",oe,ee]],Y||1)}),Ie.path}getLinearTickPositions(S,$,H){let x,N,R,Z=_(Math.floor($/S)*S),Y=_(Math.ceil(H/S)*S),he=[];if(_(Z+S)===Z&&(R=20),this.single)return[$];for(x=Z;x<=Y&&(he.push(x),(x=_(x+S,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:S,minorTickInterval:$}=this.options;return!0===S?k($,"auto"):!1!==S?$:void 0}getMinorTickPositions(){let he,S=this.options,$=this.tickPositions,H=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,Z=R-N,Y=[];if(Z&&Z/H(ge.xIncrement?ge.xData?.slice(0,2):ge.xData)||[]))||0),this.dataMax-this.dataMin)),n(H)&&n(x)&&n(N)&&H-x=N,R=(N-H+x)/2,Y=[x-R,k(S.min,x-R)],Z&&(Y[2]=$?$.log2lin(this.dataMin):this.dataMin),he=[(x=D(Y))+N,k(S.max,x+N)],Z&&(he[2]=$?$.log2lin(this.dataMax):this.dataMax),(H=A(he))-xx-N),S=g([H]))}return S&&$?Math.min(S,$):S||$}nameToX(S){let N,$=o(this.options.categories),H=$?this.categories:this.names,x=S.options.x;return S.series.requireSorting=!1,m(x)||(x=this.options.uniqueNames&&H?$?H.indexOf(S.name):k(H.keys[S.name],-1):S.series.autoIncrement()),-1===x?!$&&H&&(N=H.length):N=x,void 0!==N?(this.names[N]=S.name,this.names.keys[S.name]=N):S.x&&(N=S.x),N}updateNames(){let S=this,$=this.names;$.length>0&&(Object.keys($.keys).forEach(function(H){delete $.keys[H]}),$.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(H=>{H.xIncrement=null,(!H.points||H.isDirtyData)&&(S.max=Math.max(S.max,H.xData.length-1),H.processData(),H.generatePoints()),H.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=S.nameToX(x))&&R!==x.x&&(x.x=R,H.xData[N]=R)})}))}setAxisTranslation(){let Z,ge,S=this,$=S.max-S.min,H=S.linkedParent,x=!!S.categories,N=S.isXAxis,R=S.axisPointRange||0,Y=0,he=0,_e=S.transA;(N||x||R)&&(Z=S.getClosest(),H?(Y=H.minPointOffset,he=H.pointRangePadding):S.series.forEach(function(Te){let Oe=x?1:N?k(Te.options.pointRange,Z,0):S.axisPointRange||0,De=Te.options.pointPlacement;if(R=Math.max(R,Oe),!S.single||x){let Be=Te.is("xrange")?!N:N;Y=Math.max(Y,Be&&r(De)?0:Oe/2),he=Math.max(he,Be&&"on"===De?0:Oe)}}),ge=S.ordinal&&S.ordinal.slope&&Z?S.ordinal.slope/Z:1,S.minPointOffset=Y*=ge,S.pointRangePadding=he*=ge,S.pointRange=Math.min(R,S.single&&x?1:$),N&&Z&&(S.closestPointRange=Z)),S.translationSlope=S.transA=_e=S.staticScale||S.len/($+he||1),S.transB=S.horiz?S.left:S.bottom,S.minPixelPadding=_e*Y,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:S,min:$}=this;return n(S)&&n($)&&S-$||void 0}setTickInterval(S){let Me,Je,lt,qe,st,{categories:$,chart:H,dataMax:x,dataMin:N,dateTime:R,isXAxis:Z,logarithmic:Y,options:he,softThreshold:ge}=this,_e=n(this.threshold)?this.threshold:void 0,Te=this.minRange||0,{ceiling:Oe,floor:De,linkedTo:Be,softMax:oe,softMin:ee}=he,be=n(Be)&&H[this.coll]?.[Be],xe=he.tickPixelInterval,Ie=he.maxPadding,we=he.minPadding,Ee=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||$||be||this.getTickAmount(),qe=k(this.userMin,he.min),st=k(this.userMax,he.max),be?(this.linkedParent=be,Me=be.getExtremes(),this.min=k(Me.min,Me.dataMin),this.max=k(Me.max,Me.dataMax),he.type!==be.options.type&&O(11,!0,H)):(ge&&m(_e)&&n(x)&&n(N)&&(N>=_e?(Je=_e,we=0):x<=_e&&(lt=_e,Ie=0)),this.min=k(qe,Je,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(Y&&(this.positiveValuesOnly&&!S&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,H),this.min=_(Y.log2lin(this.min),16),this.max=_(Y.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),$||this.axisPointRange||this.stacking?.usePercentage||be||!(Ee=this.max-this.min)||(!m(qe)&&we&&(this.min-=Ee*we),m(st)||!Ie||(this.max+=Ee*Ie)),!n(this.userMin)&&n(De)&&(this.min=Math.max(this.min,De)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),ge&&n(N)&&n(x)){let pt=_e||0;!m(qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Te):pt:!m(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Te):pt)}!H.polar&&this.min>this.max&&(m(he.min)?this.max=this.min:m(he.max)&&(this.min=this.max)),Ee=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?be&&!Xe&&xe===be.options.tickPixelInterval?Xe=be.tickInterval:k(Xe,this.tickAmount?Ee/Math.max(this.tickAmount-1,1):void 0,$?1:Ee*xe/Math.max(this.len,xe)):1,Z&&!S){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Tt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))Y=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)Y=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,S.units),this.min,this.max,S.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)Y=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let ge=this.tickInterval,_e=ge;for(;_e<=2*ge&&(Y=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&Y.length>this.tickAmount);)this.tickInterval=K(this,_e*=1.1)}Y.length>this.len&&(Y=[Y[0],Y[Y.length-1]])[0]===Y[1]&&(Y.length=1),H&&(this.tickPositions=Y,(he=H.apply(this,[this.min,this.max]))&&(Y=he))}this.tickPositions=Y,this.paddedTicks=Y.slice(0),this.trimTicks(Y,R,Z),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&Y.length<2&&!this.categories&&!this.series.some(ge=>ge.is("heatmap")&&"between"===ge.options.pointPlacement)&&(this.min-=.5,this.max+=.5),$||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(S,$,H){let x=S[0],N=S[S.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if($&&x!==-1/0)this.min=x;else for(;this.min-R>S[0];)S.shift();if(H)this.max=N;else for(;this.max+R{let{horiz:Te,options:Oe}=_e;return[Te?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},ge=he(this);H[this.coll].forEach(function(_e){let{series:Te}=_e;Te.length&&Te.some(Oe=>Oe.visible)&&_e!==$&&he(_e)===ge&&(S=!0,x.push(_e))})}if(S&&Z){x.forEach(ge=>{let _e=ge.getThresholdAlignment($);n(_e)&&Y.push(_e)});let he=Y.length>1?Y.reduce((ge,_e)=>ge+_e,0)/Y.length:void 0;x.forEach(ge=>{ge.thresholdAlignment=he})}return S}getThresholdAlignment(S){if((!n(this.dataMin)||this!==S&&this.series.some($=>$.isDirty||$.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let $=I((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&($=1-$),$}}getTickAmount(){let S=this.options,$=S.tickPixelInterval,H=S.tickAmount;m(S.tickInterval)||H||!(this.len<$)||this.isRadial||this.logarithmic||!S.startOnTick||!S.endOnTick||(H=2),!H&&this.alignToOthers()&&(H=Math.ceil(this.len/$)+1),H<4&&(this.finalTickAmt=H,H=5),this.tickAmount=H}adjustTickAmount(){let _e,Te,De,S=this,{finalTickAmt:$,max:H,min:x,options:N,tickPositions:R,tickAmount:Z,thresholdAlignment:Y}=S,he=R?.length,ge=k(S.threshold,S.softThreshold?0:null),Oe=S.tickInterval,Be=()=>R.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(Y)&&(De=Y<.5?Math.ceil(Y*(Z-1)):Math.floor(Y*(Z-1)),N.reversed&&(De=Z-1-De)),S.hasData()&&n(x)&&n(H)){let ee=()=>{S.transA*=(he-1)/(Z-1),S.min=N.startOnTick?R[0]:Math.min(x,R[0]),S.max=N.endOnTick?R[R.length-1]:Math.max(H,R[R.length-1])};if(n(De)&&n(S.threshold)){for(;R[De]!==ge||R.length!==Z||R[0]>x||R[R.length-1]S.threshold?oe():Be();if(Oe>8*S.tickInterval)break;Oe*=2}ee()}else if(he0&&Te<_e-1)&&R.splice(Te,1);S.finalTickAmt=void 0}}}setScale(){let{coll:S,stacking:$}=this,H=!1,x=!1;this.series.forEach(R=>{H=H||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||H||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?($&&"yAxis"===S&&$.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),$&&"xAxis"===S&&$.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):$&&$.cleanStacks(),H&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(S,$,H=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:S,max:$}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,H&&this.chart.redraw(x)})}setAxisSize(){let S=this.chart,$=this.options,H=$.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k($.width,S.plotWidth-H[3]+H[1]),S.plotWidth)),R=this.height=Math.round(p(k($.height,S.plotHeight-H[0]+H[2]),S.plotHeight)),Z=this.top=Math.round(p(k($.top,S.plotTop+H[0]),S.plotHeight,S.plotTop)),Y=this.left=Math.round(p(k($.left,S.plotLeft+H[3]),S.plotWidth,S.plotLeft));this.bottom=S.chartHeight-R-Z,this.right=S.chartWidth-N-Y,this.len=Math.max(x?N:R,0),this.pos=x?Y:Z}getExtremes(){let S=this.logarithmic;return{min:S?_(S.lin2log(this.min)):this.min,max:S?_(S.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(S){let $=this.logarithmic,H=$?$.lin2log(this.min):this.min,x=$?$.lin2log(this.max):this.max;return null===S||S===-1/0?S=H:S===1/0?S=x:H>S?S=H:x15&&$<165?x.align="right":$>195&&$<345&&(x.align="left")}),H.align}tickSize(S){let N,$=this.options,H=k($["tick"===S?"tickWidth":"minorTickWidth"],"tick"===S&&this.isXAxis&&!this.categories?1:0),x=$["tick"===S?"tickLength":"minorTickLength"];H&&x&&("inside"===$[S+"Position"]&&(x=-x),N=[x,H]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let S=this.chart.renderer,$=this.ticks,H=$[Object.keys($)[0]]||{};return this.chart.renderer.fontMetrics(H.label||H.movedLabel||S.box)}unsquish(){let ge,Te,S=this.options.labels,$=this.horiz,H=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/H),N=S.rotation,R=this.labelMetrics().h,Z=Math.max(this.max-this.min,0),Y=function(Oe){let De=Oe/(x||1);return(De=De>1?Math.ceil(De):1)*H>Z&&Oe!==1/0&&x!==1/0&&Z&&(De=Math.ceil(Z/H)),_(De*H)},he=H,_e=Number.MAX_VALUE;if($){if(!S.staggerLines&&(n(N)?Te=[N]:x=-90&&Be<=90)&&(De=(Oe=Y(Math.abs(R/Math.sin(P*Be))))+Math.abs(Be/360))<_e&&(_e=De,ge=Be,he=Oe)}}else he=Y(.75*R);return this.autoRotation=Te,this.labelRotation=k(ge,n(N)?N:0),S.step?H:he}getSlotWidth(S){let $=this.chart,H=this.horiz,x=this.options.labels,N=Math.max(this.tickPositions.length-(this.categories?0:1),1),R=$.margin[3];if(S&&n(S.slotWidth))return S.slotWidth;if(H&&x.step<2)return x.rotation?0:(this.staggerLines||1)*this.len/N;if(!H){let Z=x.style.width;if(void 0!==Z)return parseInt(String(Z),10);if(R)return R-$.spacing[3]}return.33*$.chartWidth}renderUnsquish(){let Oe,De,oe,ee,S=this.chart,$=S.renderer,H=this.tickPositions,x=this.ticks,N=this.options.labels,R=N.style,Z=this.horiz,Y=this.getSlotWidth(),he=Math.max(1,Math.round(Y-2*N.padding)),ge={},_e=this.labelMetrics(),Te=R.textOverflow,Be=0;if(r(N.rotation)||(ge.rotation=N.rotation||0),H.forEach(function(be){let xe=x[be];xe.movedLabel&&xe.replaceMovedLabel(),xe&&xe.label&&xe.label.textPxLength>Be&&(Be=xe.label.textPxLength)}),this.maxLabelLength=Be,this.autoRotation)Be>he&&Be>_e.h?ge.rotation=this.labelRotation:this.labelRotation=0;else if(Y&&(Oe=he,!Te))for(De="clip",ee=H.length;!Z&&ee--;)(oe=x[H[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>Y&&oe.css({width:Y+"px"}),oe.getBBox().height>this.len/H.length-(_e.h-_e.f)&&(oe.specificTextOverflow="ellipsis"));ge.rotation&&(Oe=Be>.5*S.chartHeight?.33*S.chartHeight:Be,Te||(De="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(ge.align=this.labelAlign),H.forEach(function(be){let xe=x[be],Ie=xe&&xe.label,we=R.width,Ee={};Ie&&(Ie.attr(ge),xe.shortenLabel?xe.shortenLabel():Oe&&!we&&"nowrap"!==R.whiteSpace&&(OeN.g(Z).attr({zIndex:he}).addClass(`highcharts-${H.toLowerCase()}${Y} `+(this.isRadial?`highcharts-radial-axis${Y} `:"")+(x.className||"")).add(S);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,xe,Ee,Me,S=this,{chart:$,horiz:H,options:x,side:N,ticks:R,tickPositions:Z,coll:Y}=S,he=$.inverted&&!S.isZAxis?[1,0,3,2][N]:N,ge=S.hasData(),_e=x.title,Te=x.labels,Oe=n(x.crossing),De=$.axisOffset,Be=$.clipOffset,oe=[-1,1,1,-1][N],be=0,Ie=0,we=0;if(S.showAxis=ee=ge||x.showEmpty,S.staggerLines=S.horiz&&Te.staggerLines||void 0,S.createGroups(),ge||S.isLinked?(Z.forEach(function(Xe){S.generateTick(Xe)}),S.renderUnsquish(),S.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===S.labelAlign,k(Te.reserveSpace,!Oe&&null,"center"===S.labelAlign||null,S.reserveSpaceDefault)&&Z.forEach(function(Xe){we=Math.max(R[Xe].getLabelSize(),we)}),S.staggerLines&&(we*=S.staggerLines),S.labelOffset=we*(S.opposite?-1:1)):C(R,function(Xe,Je){Xe.destroy(),delete R[Je]}),_e?.text&&!1!==_e.enabled&&(S.addTitle(ee),ee&&!Oe&&!1!==_e.reserveSpace&&(S.titleOffset=be=S.axisTitle.getBBox()[H?"height":"width"],Ie=m(xe=_e.offset)?0:k(_e.margin,H?5:10))),S.renderLine(),S.offset=oe*k(x.offset,De[N]?De[N]+(x.margin||0):0),S.tickRotCorr=S.tickRotCorr||{x:0,y:0},Me=0===N?-S.labelMetrics().h:2===N?S.tickRotCorr.y:0,Ee=Math.abs(we)+Ie,we&&(Ee-=Me,Ee+=oe*(H?k(Te.y,S.tickRotCorr.y+oe*Te.distance):k(Te.x,oe*Te.distance))),S.axisTitleMargin=k(xe,Ee),S.getMaxLabelDimensions&&(S.maxLabelDimensions=S.getMaxLabelDimensions(R,Z)),"colorAxis"!==Y){let Xe=this.tickSize("tick");De[N]=Math.max(De[N],(S.axisTitleMargin||0)+be+oe*S.offset,Ee,Z&&Z.length&&Xe?Xe[0]+oe*S.offset:0);let Je=!S.axisLine||x.offset?0:2*Math.floor(S.axisLine.strokeWidth()/2);Be[he]=Math.max(Be[he],Je)}a(this,"afterGetOffset")}getLinePath(S){let $=this.chart,H=this.opposite,x=this.offset,N=this.horiz,R=this.left+(H?this.width:0)+x,Z=$.chartHeight-this.bottom-(H?this.height:0)+x;return H&&(S*=-1),$.renderer.crispLine([["M",N?this.left:R,N?Z:this.top],["L",N?$.chartWidth-this.right:R,N?Z:$.chartHeight-this.bottom]],S)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(S){let $=this.horiz,H=this.left,x=this.top,N=this.len,R=this.options.title,Z=$?H:x,Y=this.opposite,he=this.offset,ge=R.x,_e=R.y,Te=this.chart.renderer.fontMetrics(S),Oe=S?Math.max(S.getBBox(!1,0).height-Te.h-1,0):0,De={low:Z+($?0:N),middle:Z+N/2,high:Z+($?N:0)}[R.align],Be=($?x+this.height:H)+($?1:-1)*(Y?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Te.f,-Oe][this.side],oe={x:$?De+ge:Be+(Y?this.width:0)+he+ge,y:$?Be+_e-(Y?this.height:0)+he:De+_e};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(S,$){let H=this.minorTicks;H[S]||(H[S]=new ue(this,S,"minor")),$&&H[S].isNew&&H[S].render(null,!0),H[S].render(null,!1,1)}renderTick(S,$,H){let N=this.ticks;(!this.isLinked||S>=this.min&&S<=this.max||this.grid&&this.grid.isColumn)&&(N[S]||(N[S]=new ue(this,S)),H&&N[S].isNew&&N[S].render($,!0,-1),N[S].render($))}render(){let S,$,H=this,x=H.chart,N=H.logarithmic,Z=H.options,Y=H.isLinked,he=H.tickPositions,ge=H.axisTitle,_e=H.ticks,Te=H.minorTicks,Oe=H.alternateBands,De=Z.stackLabels,Be=Z.alternateGridColor,oe=Z.crossing,ee=H.tickmarkOffset,be=H.axisLine,xe=H.showAxis,Ie=te(x.renderer.globalAnimation);if(H.labelEdge.length=0,H.overlap=!1,[_e,Te,Oe].forEach(function(we){C(we,function(Ee){Ee.isActive=!1})}),n(oe)){let we=this.isXAxis?x.yAxis[0]:x.xAxis[0],Ee=[1,-1,-1,1][this.side];if(we){let Me=we.toPixels(oe,!0);H.horiz&&(Me=we.len-Me),H.offset=Ee*Me}}if(H.hasData()||Y){let we=H.chart.hasRendered&&H.old&&n(H.old.min);H.minorTickInterval&&!H.categories&&H.getMinorTickPositions().forEach(function(Ee){H.renderMinorTick(Ee,we)}),he.length&&(he.forEach(function(Ee,Me){H.renderTick(Ee,Me,we)}),ee&&(0===H.min||H.single)&&(_e[-1]||(_e[-1]=new ue(H,-1,null,!0)),_e[-1].render(-1))),Be&&he.forEach(function(Ee,Me){$=void 0!==he[Me+1]?he[Me+1]+ee:H.max-ee,Me%2==0&&Ee=.5)E=Math.round(E),_=D.getLinearTickPositions(E,j,F);else if(E>=.08){let m,w,G,O,f,a,g;for(m=E>.3?[1,2,4]:E>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],w=Math.floor(j);wj&&(!P||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let m=this.lin2log(j),w=this.lin2log(F),G=P?D.getMinorTickInterval():I.tickInterval;E=ve(E=le("auto"===G?null:G,this.minorAutoInterval,I.tickPixelInterval/(P?5:1)*(w-m)/((P?A/D.tickPositions.length:A)||1))),_=D.getLinearTickPositions(E,m,w).map(this.log2lin),P||(this.minorAutoInterval=E/5)}return P||(D.tickInterval=E),_}lin2log(E){return Math.pow(10,E)}log2lin(E){return Math.log(E)/Math.LN10}}pe.Additions=te}(ne||(ne={})),ne}),Le(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(q){var ne;let{erase:re,extend:ve,isNumber:le}=q;return function(pe){let ue;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,A){let I=this.userOptions,_=new ue(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(I.plotLines||[]).concat(I.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),A){let m=I[A]||[];m.push(D),I[A]=m}this.plotLinesAndBands.push(_)}return _}function X(D){return this.addPlotBandOrLine(D,"plotLines")}function E(D,A,I){let f,g,_=this.getPlotLinePath({value:A,force:!0,acrossPanes:(I=I||this.options).acrossPanes}),m=[],w=this.horiz,G=!le(this.min)||!le(this.max)||Dthis.max&&A>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:I.acrossPanes}),a=1;if(O&&_)for(G&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(K,U=>{m[K].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&P.width>0&&P.height>0&&!l.isFlat?(o=te({align:A&&C&&"center",x:A?!C&&4:10,verticalAlign:!A&&C&&"middle",y:A?C?16:10:C?6:-4,rotation:A&&!C&&90},o),this.renderLabel(o,l,C,w)):n&&n.hide(),this}renderLabel(P,D,A,I){let _=this.axis,w=this.label;w||(this.label=w=_.chart.renderer.text(this.getLabelText(P),0,0,P.useHTML).attr({align:P.textAlign||P.align,rotation:P.rotation,class:"highcharts-plot-"+(A?"band":"line")+"-label"+(P.className||""),zIndex:I}),_.chart.styledMode||w.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},P.style)),w.add());let G=D.xBounds||[D[0][1],D[1][1],A?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],A?D[2][2]:D[0][2]],f=ve(G),a=ve(O);w.align(P,!1,{x:f,y:a,width:re(G)-f,height:re(O)-a}),w.alignValue&&"left"!==w.alignValue||w.css({width:(90===w.rotation?_.height-(w.alignAttr.y-_.top):(P.clip?_.width:_.chart.chartWidth)-(w.alignAttr.x-_.left))+"px"}),w.show(!0)}getLabelText(P){return le(P.formatter)?P.formatter.call(this):P.text}destroy(){ue(this.axis.plotLinesAndBands,this),delete this.axis,pe(this)}}return j}),Le(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{format:ue}=q,{composed:J,doc:te,isSafari:X}=ne,{distribute:E}=re,{addEvent:j,clamp:F,css:P,discardElement:D,extend:A,fireEvent:I,isArray:_,isNumber:m,isString:w,merge:G,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class v{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,T=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-T,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let B=0,z=0;n.forEach(function(K){let U=K.pos(!0);U&&(B+=U[0],z+=U[1])}),B/=n.length,z/=n.length,this.shared&&n.length>1&&r&&(k?B=r.chartX:z=r.chartY),l=[B-T,z-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(w).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,T=ve.getRendererType();this.container=C=ne.doc.createElement("div"),C.className="highcharts-tooltip-container",P(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new T(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:T,ySetter:B}=p;p.xSetter=function(z){T.call(p,n.distance),C&&(C.style.left=z+"px")},p.ySetter=function(z){B.call(p,n.distance),C&&(C.style.top=z+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ne.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let _e,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:T,plotLeft:B,plotTop:z,polar:K}=C,{plotX:U=0,plotY:se=0}=l,S={},$=T&&l.h||0,{height:H,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=be=>be*N.scaleX,Z=be=>be*N.scaleY,Y=be=>{let xe="x"===be;return[be,xe?x:H,xe?n:r].concat(k?[xe?R(n):Z(r),xe?N.left-d+R(U+B):N.top-d+Z(se+z),0,xe?x:H]:[xe?n:r,xe?U+B:se+z,xe?B:z,xe?B+C.plotWidth:z+C.plotHeight])},he=Y("y"),ge=Y("x"),Te=!!l.negative;!K&&C.hoverSeries?.yAxis?.reversed&&(Te=!Te);let Oe=!this.followPointer&&O(l.ttBelow,!K&&!T===Te),De=function(be,xe,Ie,we,Ee,Me,Xe){let Je=k?"y"===be?Z(d):R(d):d,lt=(Ie-we)/2,qe=wexe?pt:pt+$)}},Be=function(be,xe,Ie,we,Ee){if(Eexe-d)return!1;S[be]=Eexe-we/2?xe-we-2:Ee-Ie/2},oe=function(be){[he,ge]=[ge,he],_e=be},ee=()=>{!1!==De.apply(0,he)?!1!==Be.apply(0,ge)||_e||(oe(!0),ee()):_e?S.x=S.y=0:(oe(!0),ee())};return(T&&!K||this.len>1)&&oe(),ee(),S}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),T=C.followPointer||C.len>1;A(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:T?void 0:p?(2*k.anchorX+l)/3:l,anchorY:T?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),T=p[0],B=[],z=d.format,K=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!T.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&T.series.tooltipOptions.followPointer;let S=this.getAnchor(n,r),$=S[0],H=S[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),B.push(R.getLabelConfig())}),(se=T.getLabelConfig()).points=B):se=T.getLabelConfig(),this.len=B.length;let x=w(z)?ue(z,se,l):K.call(se,this),N=T.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=$,Z=H;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,Z=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(Y=>C.isDirectTouch||Y.series.shouldShowTooltip(R,Z)))return void this.hide();{let Y=this.getLabel();(!d.style.width||U)&&Y.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),Y.attr({text:x&&x.join?x.join(""):x}),Y.addClass(this.getClassName(T),!0),U||Y.attr({stroke:d.borderColor||T.color||N.color||"#666666"}),this.updatePosition({plotX:$,plotY:H,negative:T.negative,ttBelow:T.ttBelow,h:S[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}I(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:T,plotTop:B,scrollablePixelsY:z=0,scrollablePixelsX:K,styledMode:U},distance:se,options:S,options:{positioner:$},pointer:H}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof K?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},Z=l.getLabel(),Y=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:ge,top:_e}=H.getChartPosition(),Te=B+N,Oe=0,De=p-z;function Be(we,Ee,Me,Xe,Je=!0){let lt,qe;return Me?(lt=he?0:De,qe=F(we-Xe/2,R.left,R.right-Xe-(l.outside?ge:0))):(lt=Ee-Te,qe=F(qe=Je?we-Xe-se:we+se,Je?qe:R.left,R.right)),{x:qe,y:lt}}w(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(we,Ee,Me){if(!1!==Ee&&""!==Ee){let Xe=r[Me-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Je=Xe.isHeader,lt=Je?l:Xe.series,qe=lt.tt=function(Pt,Gt,ti){let Dt=Pt,{isHeader:It,series:xt}=Gt;if(!Dt){let wt={padding:S.padding,r:S.borderRadius};U||(wt.fill=S.backgroundColor,wt["stroke-width"]=S.borderWidth??1),Dt=Y.label("",0,0,S[It?"headerShape":"shape"],void 0,void 0,S.useHTML).addClass(l.getClassName(Gt,!0,It)).attr(wt).add(Z)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(S.style).attr({stroke:S.borderColor||Gt.color||xt.color||"#333333"}),Dt}(lt.tt,Xe,Ee.toString()),st=qe.getBBox(),Tt=st.width+qe.strokeWidth();Je&&(Oe=st.height,De+=Oe,he&&(Te-=Oe));let{anchorX:pt,anchorY:ht}=function(Pt){let Gt,ti,{isHeader:Dt,plotX:It=0,plotY:xt=0,series:wt}=Pt;if(Dt)Gt=Math.max(T+It,T),ti=B+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(It,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-B+xt,{ignoreX:!0})&&(ti=di.pos+xt)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Pt=st.height+1,Gt=$?$.call(l,Tt,Pt,Xe):Be(pt,ht,Je,Tt);we.push({align:$?0:void 0,anchorX:pt,anchorY:ht,boxWidth:Tt,point:Xe,rank:O(Gt.rank,Je?1:0),size:Pt,target:Gt.y,tt:qe,x:Gt.x})}else qe.isActive=!1}return we},[]);!$&&oe.some(we=>{let{outside:Ee}=l,Me=(Ee?ge:0)+we.anchorX;return MeMe})&&(oe=oe.map(we=>{let{x:Ee,y:Me}=Be(we.anchorX,we.anchorY,we.point.isHeader,we.boxWidth,!1);return A(we,{target:Me,x:Ee})})),l.cleanSplit(),E(oe,De);let ee={left:ge,right:ge};oe.forEach(function(we){let{x:Ee,boxWidth:Me,isHeader:Xe}=we;!Xe&&(l.outside&&ge+Eeee.right&&(ee.right=ge+Ee))}),oe.forEach(function(we){let{x:Ee,anchorX:Me,anchorY:Xe,pos:Je,point:{isHeader:lt}}=we,qe={visibility:void 0===Je?"hidden":"inherit",x:Ee,y:(Je||0)+Te,anchorX:Me,anchorY:Xe};if(l.outside&&Ee0&&(lt||(qe.x=Ee+st,qe.anchorX=Me+st),lt&&(qe.x=(ee.right-ee.left)/2,qe.anchorX=Me+st))}we.tt.attr(qe)});let{container:be,outside:xe,renderer:Ie}=l;if(xe&&be&&Ie){let{width:we,height:Ee,x:Me,y:Xe}=Z.getBBox();Ie.setSize(we+Me,Ee+Xe,!1),be.style.left=ee.left+"px",be.style.top=_e+"px"}X&&Z.attr({opacity:1===Z.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},T=d.xDateFormat,B=d[r?"footerFormat":"headerFormat"];return I(this,"headerFormatter",p,function(z){k&&!T&&m(n.key)&&(T=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&T&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(K){B=B.replace("{point."+K+"}","{point."+K+":"+T+"}")}),l.chart.styledMode&&(B=this.styledModeFormat(B)),z.text=ue(B,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,G(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:T=0,width:B=0}=this.getLabel(),{left:z,top:K,scaleX:U,scaleY:se}=k.getChartPosition(),S=(C.positioner||this.getPosition).call(this,B,T,n),$=(n.plotX||0)+r.plotLeft,H=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(S.x+=z-d,S.y+=K-d),x=(C.borderWidth||0)+2*d+2,p.setSize(B+x,T+x,!1),(1!==U||1!==se)&&(P(l,{transform:`scale(${U}, ${se})`}),$*=U,H*=se),$+=z-S.x,H+=K-S.y),this.move(Math.round(S.x),Math.round(S.y||0),$,H)}}return(pe=v||(v={})).compose=function(o){f(J,"Core.Tooltip")&&j(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new pe(n,n.options.tooltip,this))})},v}),Le(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{animObject:pe}=ne,{defaultOptions:ue}=re,{format:J}=ve,{addEvent:te,erase:X,extend:E,fireEvent:j,getNestedProperty:F,isArray:P,isFunction:D,isNumber:A,isObject:I,pick:_,syncTimeout:m,removeEvent:w,uniqueKey:G}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},v=a.getGraphicalProps();v.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),v.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(E({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let v=this.series,o=v.options.pointValKey||v.pointValKey;return E(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?E(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&v.xAxis&&v.xAxis.hasNames&&(this.x=v.xAxis.nameToX(this)),void 0===this.x&&v?this.x=void 0===g?v.autoIncrement():g:A(a.x)&&v.options.relativeXValue&&(this.x=v.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,v=g.chart,o=g.options.dataSorting,n=v.hoverPoints,r=pe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(w(a),a.destroyElements()),a)delete a[d]};a.legendItem&&v.legend.destroyItem(a),n&&(a.setState(),X(n,a),n.length||(v.hoverPoints=null)),a===v.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),m(l,r.duration)):l(),v.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,v=g.getGraphicalProps(a);v.singular.forEach(function(o){g[o]=g[o].destroy()}),v.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,v){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(v=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),j(o,a,g,v)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,v,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),v=n.length;v--;)o[g=n[v]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,v=a.zoneAxis||"y",n=0;for(o=g[0];this[v]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,v){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,v),this.id??(this.id=G()),this.resolveColor(),a.chart.pointCount++,j(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(a){let l,g=this.series,v=g.options.keys,o=v||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(A(a)||null===a)r[o[0]]=a;else if(P(a))for(!v&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:v,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(A(v)&&A(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-v+d]:[v+d,g+C]}}resolveColor(){let o,n,l,a=this.series,v=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(v||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(v||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,v){return v.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:I(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,v=g.tooltipOptions,o=_(v.valueDecimals,""),n=v.valuePrefix||"",r=v.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,v,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let T=d&&r.hasMockGraphic;d&&(null===r.y?!T:T)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),I(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=I(k.data[n],!0)||I(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(v)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let v=this,o=v.series,n=o.chart;a=_(a,!v.selected),this.selectedStaging=a,v.firePointEvent(a?"select":"unselect",{accumulate:g},function(){v.selected=v.options.selected=a,o.options.data[o.data.indexOf(v)]=v.options,v.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==v&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:v}=this.series.chart;v&&(a=a?v.normalize(a):v.getChartCoordinatesFromPoint(this,g),v.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},v=g.events?.[a];!D(v)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(v)?this.hasImportedEvents&&!v&&this.hcEvents?.[a]&&(w(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,v),this.hasImportedEvents=!0)}setState(a,g){let z,K,U,S,v=this.series,o=this.state,n=v.options.states[a||"normal"]||{},r=ue.plotOptions[v.type].marker&&v.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=v.chart,T=r&&v.markerAttribs,B=v.halo,se=v.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,T&&(z=v.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){K=v.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=K.opacity;v.options.inactiveOtherPoints&&A(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(K,U)}z&&this.graphic.animate(z,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(S=k.symbol||v.symbol,se&&se.currentSymbol!==S&&(se=se.destroy()),z&&(se?se[g?"animate":"attr"]({x:z.x,y:z.y}):S&&(v.stateMarkerGraphic=se=p.renderer.symbol(S,z.x,z.y,z.width,z.height).add(v.markerGroup),se.currentSymbol=S)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(v.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let $=n.halo,H=this.graphic||se,x=H&&H.visibility||"inherit";$&&$.size&&H&&"hidden"!==x&&!this.isCluster?(B||(v.halo=B=p.renderer.path().add(H.parentGroup)),B.show()[g?"animate":"attr"]({d:this.haloPath($.size)}),B.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,v.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),B.point=this,p.styledMode||B.attr(E({fill:this.color||v.color,"fill-opacity":$.opacity},q.filterUserAttributes($.attributes||{})))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide),j(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Le(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{parse:le}=q,{charts:pe,composed:ue}=ne,{addEvent:J,attr:te,css:X,extend:E,find:j,fireEvent:F,isNumber:P,isObject:D,objectEach:A,offset:I,pick:_,pushUnique:m,splat:w}=re;class G{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(v){g=v.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(v){-1===a.indexOf(v)?v.setState("inactive",!0):v.options.inactiveOtherPoints&&v.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ne.chartCount&&(G.unbindDocumentMouseUp&&(G.unbindDocumentMouseUp=G.unbindDocumentMouseUp()),G.unbindDocumentTouchEnd&&(G.unbindDocumentTouchEnd=G.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),A(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,v=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=v.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let K,{chart:a}=this,{mouseDownX:g=0,mouseDownY:v=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,T=n&&f[`${n}Key`],B=f.chartX,z=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(Bl+C&&(B=l+C),zd+k&&(z=d+k),this.hasDragged=Math.sqrt(Math.pow(g-B,2)+Math.pow(v-z,2)),this.hasDragged>10)){K=a.isInsidePlot(g-l,v-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:S}=this.getSelectionMarkerAttrs(B,z);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&K&&!T&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(S),K&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:v}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),v&&f){if(this.hasDragged){let o=this.getSelectionBox(v);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}P(g.index)&&(this.selectionMarker=v.destroy())}g&&P(g.index)&&(X(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let v;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(v,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(v,r)>0)&&(v=r)}),v}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:v}=f.series,o=f.shapeArgs;if(g&&v){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&P(o.x)&&P(o.y)&&(n=o.x,r=o.y),a?{chartX:v.len+v.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+v.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=I(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:v}=f;return v>2&&g>2&&(this.chartPosition.scaleX=a.width/v,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,v,o,n){let C,r=[],l=function(T){return T.visible&&!(!o&&T.directTouch)&&_(T.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(T=>T.stickyTracking&&(k.filter||l)(T));let p=v&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(T){return k.filter?k.filter(T):l(T)&&!T.noSharedTooltip})).forEach(function(T){let B=j(T.points,function(z){return z.x===p.x&&!z.isNull});D(B)&&(T.boosted&&T.boost&&(B=T.boost.getPoint(B)),r.push(B))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,v=this.chart.hoverSeries;this.isDirectTouch=!1,!v||!g||v.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+v.index)&&this.inClass(g,"highcharts-tracker")||v.onMouseOut()}inClass(f,a){let v,g=f;for(;g;){if(v=te(g,"class")){if(-1!==v.indexOf(a))return!0;if(-1!==v.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,v=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=v.pageX-a.left,n=v.pageY-a.top;return E(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,v=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(v.target,"highcharts-tracker")?(F(g.series,"click",E(v,{point:g})),a.hoverPoint&&g.firePointEvent("click",v)):(E(v,this.getCoordinates(v)),a.isInsidePlot(v.chartX-o,v.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",v)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ne.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=pe[_(G.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,v=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(v))&&this.drag(v),!a.openMenu&&(this.inClass(v.target,"highcharts-tracker")||a.isInsidePlot(v.chartX-a.plotLeft,v.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(v))&&(this.inClass(v.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(v))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,v=this.chartPosition,o=this.normalize(f,v);!v||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){pe[_(G.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:v,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),v&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let T=p[0],B=p[1]||T;return{x:T.chartX,y:T.chartY,width:B.chartX-T.chartX,height:B.chartY-T.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,v=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&w(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&w(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),v&&v.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let v=this.chart,n=v.tooltip&&v.tooltip.options.enabled?v.tooltip:void 0,r=!!n&&n.shared,l=a||v.hoverPoint,d=l&&l.series||v.hoverSeries,k=this.getHoverData(l,d,v.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,T=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,B=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==v.hoverPoint||n&&n.isHidden)){if((v.hoverPoints||[]).forEach(function(z){-1===p.indexOf(z)&&z.setState()}),v.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(z){z.setState("hover")}),v.hoverPoint&&v.hoverPoint.firePointEvent("mouseOut"),!l.series)return;v.hoverPoints=p,v.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(B?p:l,f)})}else if(T&&n&&!n.isHidden){let z=n.getAnchor([{}],f);v.isInsidePlot(z[0],z[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:z[0],plotY:z[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(v.container.ownerDocument,"mousemove",z=>pe[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(z)),this.eventsToUnbind.push(this.unDocMouseMove)),v.axes.forEach(function(z){let K,U=_((z.crosshair||{}).snap,!0);!U||(K=v.hoverPoint)&&K.series[z.coll]===z||(K=j(p,se=>se.series&&se.series[z.coll]===z)),K||!U?z.drawCrosshair(f,K):z.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp||(G.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||(G.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ne.charts[_(G.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(G.hoverChartIndex=a.index)}touch(f,a){let g,{chart:v,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),v.isInsidePlot(f.chartX-v.plotLeft,f.chartY-v.plotTop,{visiblePlotOnly:!0})&&!v.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,v=a.zooming.type||"";/touch/.test(f.type)&&(v=_(a.zooming.pinchType,v)),this.zoomX=o=/x/.test(v),this.zoomY=n=/y/.test(v),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=G||(G={})).compose=function(O){m(ue,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},G}),Le(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){var ue;let{animObject:J,setAnimation:te}=q,{format:X}=ne,{composed:E,marginNames:j}=re,{distribute:F}=le,{addEvent:P,createElement:D,css:A,defined:I,discardElement:_,find:m,fireEvent:w,isNumber:G,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:v,syncTimeout:o}=pe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),P(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),P(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),w(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:T,symbol:B}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:z={}}=this,K=z.color,{fillColor:U,fillOpacity:se,lineColor:S,marker:$}=l.options,H=x=>(!d&&(x.fill&&(x.fill=K),x.stroke&&(x.stroke=K)),x);p?.css(O(d?this.itemStyle:z)),T?.attr(H({stroke:S||l.color})),B&&B.attr(H($&&B.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(H({fill:U||l.color,"fill-opacity":U?1:se??.75}))}w(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,z=l.checkbox;if(d&&d.element){let K={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[I(d.translateY)?"animate":"attr"](K,void 0,()=>{w(this,"afterPositionItem",{item:l})})}z&&(z.x=C,z.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let T,B=p.checkbox;B&&(T=l+k+B.y+(this.scrollOffset||0)+3,A(B,{left:d.translateX+p.checkboxOffset+B.x-20+"px",top:T+"px",display:this.proximate||T>l-6&&T1.5*_e?ge.height:_e))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,T=this.itemMarginBottom,B=this.itemMarginTop,z=k?f(d.itemDistance,20):0,K=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>K?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>K&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=B+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=B+this.itemY+T,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=B+p+T,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:z):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!I(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),w(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,B){T.test(p)&&!I(l[B])&&(C[j[B]]=Math.max(C[j[B]],C.legend[(B+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][B]*k[B%2?"x":"y"]+f(k.margin,12)+d[B]+(C.titleOffset[B]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(T){let B,z,U,se,K=k;T.yAxis&&(T.xAxis.options.reversed&&(K=!K),T.points&&(B=m(K?T.points:T.points.slice(0).reverse(),function(S){return G(S.plotY)})),z=this.itemMarginTop+T.legendItem.label.getBBox().height+this.itemMarginBottom,se=T.yAxis.top-d.plotTop,U=T.visible?(B?B.plotY:T.yAxis.height)+(se-.3*z):se+T.yAxis.height,C.push({target:U,size:z,item:T}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},G(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let T,B,z,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),K=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,K||(this.group=K=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(K),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),v(p,(S,$)=>(S.options&&S.options.legendIndex||0)-($.options&&$.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=T=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),B=(this.widthOption||this.offsetWidth)+k,z=this.lastItemY+this.lastLineHeight+this.titleHeight,z=this.handleOverflow(z)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(K)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),B>0&&z>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:B,height:z},se.strokeWidth())),K[T?"show":"hide"](),l.styledMode&&"none"===K.getStyle("display")&&(B=z=0),this.legendWidth=B,this.legendHeight=z,T&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,Z,Y,d=this,C=this.chart,k=C.renderer,p=this.options,T=p.y,B="top"===p.verticalAlign,z=this.padding,K=p.maxHeight,U=p.navigation,se=f(U.animation,!0),S=U.arrowSize||12,$=this.pages,H=this.allItems,x=function(Te){"number"==typeof Te?_e.attr({height:Te}):_e&&(d.clipRect=_e.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Te?"rect("+z+"px,9999px,"+(z+Te)+"px,0)":"auto")},N=function(Te){return d[Te]=k.circle(0,0,1.3*S).translate(S/2,S/2).add(ge),C.styledMode||d[Te].attr("fill","rgba(0,0,0,0.0001)"),d[Te]},he=C.spacingBox.height+(B?-T:T)-z,ge=this.nav,_e=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),K&&(he=Math.min(he,K)),$.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-z,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,H.forEach((Te,Oe)=>{let De=(Y=Te.legendItem||{}).y||0,Be=Math.round(Y.label.getBBox().height),oe=$.length;(!oe||De-$[oe-1]>R&&(Z||De)!==$[oe-1])&&($.push(Z||De),oe++),Y.pageIx=oe-1,Z&&((H[Oe-1].legendItem||{}).pageIx=oe-1),Oe===H.length-1&&De+Be-$[oe-1]>R&&De>$[oe-1]&&($.push(De),Y.pageIx=oe),De!==Z&&(Z=De)}),_e||(_e=d.clipRect=k.clipRect(0,z-2,9999,0),d.contentGroup.clip(_e)),x(R),ge||(this.nav=ge=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,S,S).add(ge),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(ge),this.down=k.symbol("triangle-down",0,0,S,S).add(ge),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):ge&&(x(),this.nav=ge.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,T=this.clipHeight,B=this.options.navigation,z=this.pager,K=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:K,translateY:T+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),z.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?B.inactiveColor:B.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?B.inactiveColor:B.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{w(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},T=k.chart.renderer.boxWrapper,B=l instanceof ve,z="highcharts-legend-"+(B?"point":"series")+"-active",K=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=S=>{k.allItems.forEach($=>{l!==$&&[$].concat($.linkedSeries||[]).forEach(H=>{H.setState(S,!B)})})};for(let S of U)S&&S.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&T.addClass(z),K||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),T.removeClass(z),l.setState()}).on("click",function($){let H="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};T.removeClass(z),$={browserEvent:$},l.firePointEvent?l.firePointEvent(H,$,x):w(l,H,$,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),P(l.checkbox,"click",function(d){w(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(ue=n||(n={})).compose=function(r){a(E,"Core.Legend")&&P(r,"beforeMargins",function(){this.legend=new ue(this,this.options.legend)})},n}),Le(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(q){var ne;let{extend:re,merge:ve,pick:le}=q;return function(pe){function ue(J,te,X){let f,E=this.legendItem=this.legendItem||{},{chart:j,options:F}=this,{baseline:P=0,symbolWidth:D,symbolHeight:A}=J,I=this.symbol||"circle",_=A/2,m=j.renderer,w=E.group,G=P-Math.round(A*(X?.4:.3)),O={},a=F.marker,g=0;if(j.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),E.line=m.path().addClass("highcharts-graph").attr(O).add(w),X&&(E.area=m.path().addClass("highcharts-area").add(w)),O["stroke-linecap"]&&(g=Math.min(E.line.strokeWidth(),D)/2),D){let v=[["M",g,G],["L",D-g,G]];E.line.attr({d:v}),E.area?.attr({d:[...v,["L",D-g,P],["L",g,P]]})}if(a&&!1!==a.enabled&&D){let v=Math.min(le(a.radius,_),_);0===I.indexOf("url")&&(a=ve(a,{width:A,height:A}),v=0),E.symbol=f=m.symbol(I,D/2-v,G-v,2*v,2*v,re({context:"legend"},a)).addClass("highcharts-point").add(w),f.isMarker=!0}}pe.areaMarker=function(J,te){ue.call(this,J,te,!0)},pe.lineMarker=ue,pe.rectangle=function(J,te){let X=te.legendItem||{},j=J.symbolHeight,F=J.options.squareSymbol;X.symbol=this.chart.renderer.rect(F?(J.symbolWidth-j)/2:0,J.baseline-j+1,F?j:J.symbolWidth,j,le(J.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(X.group)}}(ne||(ne={})),ne}),Le(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:q}=this.series.chart;return"number"!=typeof this.y?"":q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Le(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{defaultOptions:pe}=ne,{extend:ue,extendClass:J,merge:te}=ve;return function(X){function E(j,F){let P=pe.plotOptions||{},D=F.defaultOptions,A=F.prototype;return A.type=j,A.pointClass||(A.pointClass=re),!X.seriesTypes[j]&&(D&&(P[j]=D),X.seriesTypes[j]=F,!0)}X.seriesTypes=q.seriesTypes,X.registerSeriesType=E,X.seriesType=function(j,F,P,D,A){let I=pe.plotOptions||{};if(I[j]=te(I[F=F||""],P),delete X.seriesTypes[j],E(j,J(X.seriesTypes[F]||function(){},D)),X.seriesTypes[j].prototype.type=j,A){class _ extends re{}ue(_.prototype,A),X.seriesTypes[j].prototype.pointClass=_}return X.seriesTypes[j]}}(le||(le={})),le}),Le(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,setAnimation:j}=q,{defaultOptions:F}=ne,{registerEventOptions:P}=re,{svg:D,win:A}=ve,{seriesTypes:I}=J,{arrayMax:_,arrayMin:m,clamp:w,correctFloat:G,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:v,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:T,merge:B,objectEach:z,pick:K,removeEvent:U,splat:se,syncTimeout:S}=X;class ${constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let Z=this,Y=x.series;this.eventsToUnbind=[],Z.chart=x,Z.options=Z.setOptions(N);let he=Z.options,ge=!1!==he.visible;Z.linkedSeries=[],Z.bindAxes(),o(Z,{name:he.name,state:"",visible:ge,selected:!0===he.selected}),P(this,he);let _e=he.events;(_e&&_e.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),Z.getColor(),Z.getSymbol(),Z.parallelArrays.forEach(function(Te){Z[Te+"Data"]||(Z[Te+"Data"]=[])}),Z.isCartesian&&(x.hasCartesianSeries=!0),Y.length&&(R=Y[Y.length-1]),Z._i=K(R&&R._i,-1)+1,Z.opacity=Z.options.opacity,x.orderItems("series",C(this,Y)),he.dataSorting&&he.dataSorting.enabled?Z.setDataSortingOptions():Z.points||Z.data||Z.setData(he.data,!1),r(this,"afterInit")}is(x){return I[x]&&this instanceof I[x]}bindAxes(){let x,N=this,R=N.options,Z=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(Y){Z[Y].forEach(function(he){x=he.options,(K(R[Y],0)===he.index||void 0!==R[Y]&&R[Y]===x.id)&&(C(N,he.series),N[Y]=he,he.isDirty=!0)}),N[Y]||N.optionalAxis===Y||v(18,!0,Z)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let Z=x.series,Y=p(N)?function(he){let ge="y"===he&&Z.toYData?Z.toYData(x):x[he];Z[he+"Data"][N]=ge}:function(he){Array.prototype[N].apply(Z[he+"Data"],R)};Z.parallelArrays.forEach(Y)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,Z=N.marker||{};return R&&(Z.enabled&&!R.enabled||Z.symbol!==R.symbol||Z.height!==R.height||Z.width!==R.width)}autoIncrement(x){let ge,_e,N=this.options,R=N.pointIntervalUnit,Z=N.relativeXValue,Y=this.chart.time,he=this.xIncrement;return he=K(he,N.pointStart,0),this.pointInterval=_e=K(this.pointInterval,N.pointInterval,1),Z&&p(x)&&(_e*=x),R&&(ge=new Y.Date(he),"day"===R?Y.set("Date",ge,Y.get("Date",ge)+_e):"month"===R?Y.set("Month",ge,Y.get("Month",ge)+_e):"year"===R&&Y.set("FullYear",ge,Y.get("FullYear",ge)+_e),_e=ge.getTime()-he),Z&&p(x)?he+_e:(this.xIncrement=he+_e,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,Z=R.options.plotOptions,Y=R.userOptions||{},he=B(x),ge=R.styledMode,_e={plotOptions:Z,userOptions:he};r(this,"setOptions",_e);let Te=_e.plotOptions[this.type],Oe=Y.plotOptions||{},De=Oe.series||{},Be=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=_e.userOptions;let ee=B(Te,Z.series,oe,he);this.tooltipOptions=B(F.tooltip,F.plotOptions.series?.tooltip,Be?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=K(he.stickyTracking,oe.stickyTracking,De.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Te.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let be=this.zones=(ee.zones||[]).map(xe=>({...xe}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},ge||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),be.push(N)),be.length&&O(be[be.length-1].value)&&be.push(ge?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return K(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let Z,Y,he=this.chart,ge=`${x}Index`,_e=`${x}Counter`,Te=R?.length||he.options.chart.colorCount;!N&&(O(Y=K("color"===x?this.options.colorIndex:void 0,this[ge]))?Z=Y:(he.series.length||(he[_e]=0),Z=he[_e]%Te,he[_e]+=1),R&&(N=R[Z])),void 0!==Z&&(this[ge]=Z),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,Z,Y,he=x.id,ge=x.x,_e=this.points,Te=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof pe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=De=>!De.touched&&De.index===x.index;if(Te&&Te.matchByName?Oe=De=>!De.touched&&De.name===x.name:this.options.relativeXValue&&(Oe=De=>!De.touched&&De.options.x===x.x),!(R=n(_e,Oe)))return}return R&&void 0!==(Y=R&&R.index)&&(Z=!0),void 0===Y&&p(ge)&&(Y=this.xData.indexOf(ge,N)),-1!==Y&&void 0!==Y&&this.cropped&&(Y=Y>=this.cropStart?Y-this.cropStart:Y),!Z&&p(Y)&&_e[Y]&&_e[Y].touched&&(Y=void 0),Y}updateData(x,N){let Te,Oe,De,Be,R=this.options,Z=R.dataSorting,Y=this.points,he=[],ge=this.requireSorting,_e=x.length===Y.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,be){let xe,Ie=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Ie.id||p(Ie.x)?(-1===(xe=this.findPointIndex(Ie,Be))||void 0===xe?he.push(ee):Y[xe]&&ee!==R.data[xe]?(Y[xe].update(ee,!1,null,!1),Y[xe].touched=!0,ge&&(Be=xe+1)):Y[xe]&&(Y[xe].touched=!0),(!_e||be!==xe||Z&&Z.enabled||this.hasDerivedData)&&(Te=!0)):he.push(ee)},this),Te)for(Oe=Y.length;Oe--;)(De=Y[Oe])&&!De.touched&&De.remove&&De.remove(!1,N);else!_e||Z&&Z.enabled?oe=!1:(x.forEach(function(ee,be){ee===Y[be].y||Y[be].destroyed||Y[be].update(ee,!1,null,!1)}),he.length=0);return Y.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,Z){let we,Ee,Me,qe,Y=this,he=Y.points,ge=he&&he.length||0,_e=Y.options,Te=Y.chart,Oe=_e.dataSorting,De=Y.xAxis,Be=_e.turboThreshold,oe=this.xData,ee=this.yData,be=Y.pointArrayMap,xe=be&&be.length,Ie=_e.keys,Xe=0,Je=1,lt=null;Te.options.chart.allowMutatingData||(_e.data&&delete Y.options.data,Y.userOptions.data&&delete Y.userOptions.data,qe=B(!0,x));let st=(x=qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Te.options.chart.allowMutatingData&&!1!==Z&&st&&ge&&!Y.cropped&&!Y.hasGroupedData&&Y.visible&&!Y.boosted&&(Me=this.updateData(x,R)),!Me){if(Y.xIncrement=null,Y.colorCounter=0,this.parallelArrays.forEach(function(Tt){Y[Tt+"Data"].length=0}),Be&&st>Be)if(p(lt=Y.getFirstValidPoint(x)))for(we=0;we=0?Xe:0,Je=Je>=0?Je:1),1===lt.length&&(Je=0),Xe===Je)for(we=0;we{let ge=d(R,Y),_e=d(R,he);return _ege?1:0}).forEach(function(Y,he){Y.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(Y){let he=Y.options,ge=he.data;he.dataSorting&&he.dataSorting.enabled||!ge||(ge.forEach(function(_e,Te){ge[Te]=Z(Y,_e),x[Te]&&(ge[Te].x=x[Te].x,ge[Te].index=Te)}),Y.setData(ge,!1))}),x}getProcessedData(x){let Te,Oe,Be,oe,ee,N=this,R=N.xAxis,Z=N.options,Y=Z.cropThreshold,he=x||N.getExtremesFromAll||Z.getExtremesFromAll,ge=R?.logarithmic,_e=N.isCartesian,De=0,be=N.xData,xe=N.yData,Ie=!1,we=be.length;R&&(oe=(Be=R.getExtremes()).min,ee=Be.max,Ie=!(!R.categories||R.names.length)),_e&&N.sorted&&!he&&(!Y||we>Y||N.forceCrop)&&(be[we-1]ee?(be=[],xe=[]):N.yData&&(be[0]ee)&&(be=(Te=this.cropData(N.xData,N.yData,oe,ee)).xData,xe=Te.yData,De=Te.start,Oe=!0));let Ee=l([ge?be.map(ge.log2lin):be],()=>N.requireSorting&&!Ie&&v(15,!1,N.chart));return{xData:be,yData:xe,cropped:Oe,cropStart:De,closestPointRange:Ee}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,Z){let he,ge,Y=x.length,_e=0,Te=Y;for(he=0;he=R){_e=Math.max(0,he-1);break}for(ge=he;geZ){Te=ge+1;break}return{xData:x.slice(_e,Te),yData:N.slice(_e,Te),start:_e,end:Te}}generatePoints(){let Be,oe,ee,be,x=this.options,N=this.processedData||x.data,R=this.processedXData,Z=this.processedYData,Y=this.pointClass,he=R.length,ge=this.cropStart||0,_e=this.hasGroupedData,Te=x.keys,Oe=[],De=x.dataGrouping&&x.dataGrouping.groupAll?ge:0,xe=this.data;if(!xe&&!_e){let Ie=[];Ie.length=N.length,xe=this.data=Ie}for(Te&&_e&&(this.options.keys=!1),be=0;be0:oe.length)||!_e),De=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(Y[ee+ge]||Be)>=xe&&(Y[ee-ge]||Be)<=Ie,Oe&&De)if(be=oe.length)for(;be--;)p(oe[be])&&(he[we++]=oe[be]);else he[we++]=oe;let Me={activeYData:he,dataMin:m(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Me}),Me}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,Z=null;for(;null===Z&&R1)&&(he.step=function(Be,oe){De&&De.apply(oe,arguments),"width"===oe.prop&&Te?.element&&Te.attr(Y?"height":"width",Be+99)}),_e.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,Z,Y,he,ge,_e,Te=this.chart,Oe=Te.styledMode,{colorAxis:De,options:Be}=this,oe=Be.marker,ee=this[this.specialGroup||"markerGroup"],be=this.xAxis,xe=K(oe.enabled,!be||!!be.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=Z=Te.renderer.symbol(Ie,_e.x,_e.y,_e.width,_e.height,ge?he:oe).add(ee),this.enabledDataSorting&&Te.hasRendered&&(Z.attr({x:R.startXPos}),Y="animate")),Z&&"animate"===Y&&Z[we?"show":"hide"](we).animate(_e),Z){let Ee=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?De&&Z.css({fill:Ee.fill}):Z[Y](Ee)}Z&&Z.addClass(R.getClassName(),!0)}else Z&&(R.graphic=Z.destroy())}markerAttribs(x,N){let _e,Te,R=this.options,Z=R.marker,Y=x.marker||{},he=Y.symbol||Z.symbol,ge={},Oe=K(Y.radius,Z&&Z.radius);N&&(_e=Z.states[N],Oe=K((Te=Y.states&&Y.states[N])&&Te.radius,_e&&_e.radius,Oe&&Oe+(_e&&_e.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let De=x.pos();return p(Oe)&&De&&(ge.x=De[0]-Oe,ge.y=De[1]-Oe,R.crisp&&(ge.x=Math.floor(ge.x))),Oe&&(ge.width=ge.height=2*Oe),ge}pointAttribs(x,N){let Te,Oe,Be,oe,R=this.options.marker,Z=x&&x.options,Y=Z&&Z.marker||{},he=Z&&Z.color,ge=x&&x.color,_e=x&&x.zone&&x.zone.color,De=this.color,ee=K(Y.lineWidth,R.lineWidth),be=1;return De=he||_e||ge||De,Be=Y.fillColor||R.fillColor||De,oe=Y.lineColor||R.lineColor||De,Te=R.states[N=N||"normal"]||{},ee=K((Oe=Y.states&&Y.states[N]||{}).lineWidth,Te.lineWidth,ee+K(Oe.lineWidthPlus,Te.lineWidthPlus,0)),Be=Oe.fillColor||Te.fillColor||Be,{stroke:oe=Oe.lineColor||Te.lineColor||oe,"stroke-width":ee,fill:Be,opacity:be=K(Oe.opacity,Te.opacity,be)}}destroy(x){let N,R,Z,Y=this,he=Y.chart,ge=/AppleWebKit\/533/.test(A.navigator.userAgent),_e=Y.data||[];for(r(Y,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(Y.axisTypes||[]).forEach(function(Te){(Z=Y[Te])&&Z.series&&(g(Z.series,Y),Z.isDirty=Z.forceRedraw=!0)}),Y.legendItem&&Y.chart.legend.destroyItem(Y),N=_e.length;N--;)(R=_e[N])&&R.destroy&&R.destroy();for(let Te of Y.zones)f(Te,void 0,!0);X.clearTimeout(Y.animationTimeout),z(Y,function(Te,Oe){Te instanceof te&&!Te.survive&&Te[ge&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===Y&&(he.hoverSeries=void 0),g(he.series,Y),he.orderItems("series"),z(Y,function(Te,Oe){x&&"hcEvents"===Oe||delete Y[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:Z,points:Y,xAxis:he,yAxis:ge,zoneAxis:_e}=this,{inverted:Te,renderer:Oe}=N,De=this[`${_e}Axis`],{isXAxis:Be,len:oe=0}=De||{},ee=(R?.strokeWidth()||0)/2+1,be=(xe,Ie=0,we=0)=>{Te&&(we=oe-we);let{translated:Ee=0,lineClip:Me}=xe,Xe=we-Ee;Me?.push(["L",Ie,Math.abs(Xe){Me.forEach((Xe,Je)=>{("M"===Xe[0]||"L"===Xe[0])&&(Me[Je]=[Xe[0],Be?oe-Xe[1]:Xe[1],Be?Xe[2]:oe-Xe[2]])})};if(Z.forEach(Me=>{Me.lineClip=[],Me.translated=w(De.toPixels(K(Me.value,xe),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===_e&&Y.length{let Xe=Me.lineClip||[],Je=Math.round(Me.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:qe}=Me,st=0,Tt=0,pt=he.len,ht=ge.len;Be?(st=Je,pt=Ee):(Tt=Je,ht=Ee);let Pt=[["M",st,Tt],["L",pt,Tt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Pt[0],...Xe,Pt[1],Pt[2],...we,Pt[3],Pt[4]];we=Xe.reverse(),Ee=Je,Te&&(Ie(Gt),x&&Ie(Pt)),lt?(lt.animate({d:Gt}),qe?.animate({d:Pt})):(lt=Me.clip=Oe.path(Gt),x&&(qe=Me.simpleClip=Oe.path(Pt))),R&&Me.graph?.clip(lt),x&&Me.area?.clip(qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,Z,Y){let he=this[x],ge=!he,_e={visibility:R,zIndex:Z||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(_e.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(Y)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(_e)[ge?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,Z=this.chart,Y=Z.inverted&&!Z.polar&&N&&this.invertible&&"series"===x;return Z.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:Z.plotLeft,translateY:R?R.top:Z.plotTop,rotation:Y?90:0,rotationOriginX:Y?(N.len-R.len)/2:0,rotationOriginY:Y?(N.len+R.len)/2:0,scaleX:Y?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:Z}=x,Y=E(R.animation),he=x.visible?"inherit":"hidden",ge=R.zIndex,_e=N.seriesGroup,Te=x.finishedAnimating?0:Y.duration;r(this,"render"),x.plotGroup("group","series",he,ge,_e),x.markerGroup=x.plotGroup("markerGroup","markers",he,ge,_e),!1!==R.clip&&x.setClip(),Te&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Te&&x.animate?.(),Z||(Te&&Y.defer&&(Te+=Y.defer),x.animationTimeout=S(()=>{x.afterAnimate()},Te||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:Z}=this,Y=this.chart.inverted;return this.searchKDTree({clientX:Y?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:Y?Z.len-x.chartX+Z.pos:x.chartY-Z.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,S(function(){N.kdTree=function Z(Y,he,ge){let _e,Te,Oe=Y?.length;if(Oe)return _e=N.kdAxisArray[he%ge],Y.sort((De,Be)=>(De[_e]||0)-(Be[_e]||0)),{point:Y[Te=Math.floor(Oe/2)],left:Z(Y.slice(0,Te),he+1,ge),right:Z(Y.slice(Te+1),he+1,ge)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let Z=this,[Y,he]=this.kdAxisArray,ge=N?"distX":"dist",_e=(Z.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Te=!!Z.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(De,Be,oe,ee){let Ie,we,be=Be.point,xe=Z.kdAxisArray[oe%ee],Ee=be;!function(lt,qe){let st=lt[Y],Tt=qe[Y],pt=O(st)&&O(Tt)?st-Tt:null,ht=lt[he],Pt=qe[he],Gt=O(ht)&&O(Pt)?ht-Pt:0,ti=Te&&qe.marker?.radius||0;qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(De,be);let Me=(De[xe]||0)-(be[xe]||0)+(Te&&be.marker?.radius||0),Xe=Me<0?"left":"right",Je=Me<0?"right":"left";return Be[Xe]&&(Ee=(Ie=Oe(De,Be[Xe],oe+1,ee))[ge]=0&&he<=(Z?Z.len:N.plotHeight)&&Y>=0&&Y<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,Z=[].concat((R?x.areaPath:x.graphPath)||[]),Y=x.chart,he=Y.pointer,ge=Y.renderer,_e=Y.options.tooltip?.snap||0,Te=()=>{N.enableMouseTracking&&Y.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",De=x.tracker;De?De.attr({d:Z}):x.graph&&(x.tracker=De=ge.path(Z).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),Y.styledMode||De.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*_e)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Be=>{Be&&(Be.addClass("highcharts-tracker").on("mouseover",Te).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!Y.styledMode&&Be.css({cursor:N.cursor}),Be.on("touchstart",Te))})),r(this,"afterDrawTracker")}addPoint(x,N,R,Z,Y){let he,ge,_e=this.options,Te=this.data,Oe=this.chart,De=this.xAxis,Be=De&&De.hasNames&&De.names,oe=_e.data,ee=this.xData;N=K(N,!0);let be={series:this};this.pointClass.prototype.applyOptions.apply(be,[x]);let xe=be.x;if(ge=ee.length,this.requireSorting&&xexe;)ge--;this.updateParallelArrays(be,"splice",[ge,0,0]),this.updateParallelArrays(be,ge),Be&&be.name&&(Be[xe]=be.name),oe.splice(ge,0,x),(he||this.processedData)&&(this.data.splice(ge,0,null),this.processData()),"point"===_e.legendType&&this.generatePoints(),R&&(Te[0]&&Te[0].remove?Te[0].remove(!1):(Te.shift(),this.updateParallelArrays(be,"shift"),oe.shift())),!1!==Y&&r(this,"addPoint",{point:be}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(Z)}removePoint(x,N,R){let Z=this,Y=Z.data,he=Y[x],ge=Z.points,_e=Z.chart,Te=function(){ge&&ge.length===Y.length&&ge.splice(x,1),Y.splice(x,1),Z.options.data.splice(x,1),Z.updateParallelArrays(he||{series:Z},"splice",[x,1]),he&&he.destroy(),Z.isDirty=!0,Z.isDirtyData=!0,N&&_e.redraw()};j(R,_e),N=K(N,!0),he?he.firePointEvent("remove",null,Te):Te()}remove(x,N,R,Z){let Y=this,he=Y.chart;function ge(){Y.destroy(Z),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(Z),K(x,!0)&&he.redraw(N)}!1!==R?r(Y,"remove",null,ge):ge()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let De,Be,R=this,Z=R.chart,Y=R.userOptions,he=R.initialType||R.type,ge=Z.options.plotOptions,_e=I[he].prototype,Te=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||Y.type||Z.options.chart.type,be=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Ie=>R.hasOptionChanged(Ie)));ee=ee||he,be&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Ie){oe.push(Ie+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=B(Y,{index:void 0===Y.index?R.index:Y.index,pointStart:ge?.series?.pointStart??Y.pointStart??R.xData?.[0]},!be&&{data:R.options.data},x,Te),be&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Ie){oe[Ie]=R[Ie],delete R[Ie]});let xe=!1;if(I[ee]){if(xe=ee!==R.type,R.remove(!1,!1,!1,!0),xe)if(Z.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,I[ee].prototype);else{let Ie=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Be in _e)R[Be]=void 0;o(R,I[ee].prototype),Ie?R.hcEvents=Ie:delete R.hcEvents}}else v(17,!0,Z,{missingModuleFor:ee});if(oe.forEach(function(Ie){R[Ie]=oe[Ie]}),R.init(Z,x),be&&this.points)for(let Ie of(!1===(De=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(De,Y)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Ie&&Ie.series&&(Ie.resolveColor(),Object.keys(Oe).length&&Ie.destroyElements(Oe),!1===De.showInLegend&&Ie.legendItem&&Z.legend.destroyItem(Ie));R.initialType=he,Z.linkSeries(),Z.setSortedData(),xe&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),K(N,!0)&&Z.redraw(!!be&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],Z=this.chart.options.plotOptions,Y=this.userOptions[x],he=K(Z?.[this.type]?.[x],Z?.series?.[x]);return Y&&!O(he)?R!==Y:R!==K(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,Z=N.hoverPoint;N.hoverSeries=null,Z&&Z.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(Y){Y.setState("",!0)})}setState(x,N){let R=this,Z=R.options,Y=R.graph,he=Z.inactiveOtherPoints,ge=Z.states,_e=K(ge[x||"normal"]&&ge[x||"normal"].animation,R.chart.options.chart.animation),Te=Z.lineWidth,Oe=Z.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(De){De&&(R.state&&De.removeClass("highcharts-series-"+R.state),x&&De.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(ge[x]&&!1===ge[x].enabled)return;if(x&&(Te=ge[x].lineWidth||Te+(ge[x].lineWidthPlus||0),Oe=K(ge[x].opacity,Oe)),Y&&!Y.dashstyle&&p(Te))for(let De of[Y,...this.zones.map(Be=>Be.graph)])De?.animate({"stroke-width":Te},_e);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(De){De&&De.animate({opacity:Oe},_e)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,Z=R.chart,Y=Z.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let ge=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_e=>{R[_e]?.[ge]()}),(Z.hoverSeries===R||Z.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&Z.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&Z.series.forEach(_e=>{_e.options.stacking&&_e.visible&&(_e.isDirty=!0)}),R.linkedSeries.forEach(_e=>{_e.setVisible(x,!1)}),Y&&(Z.isDirtyBox=!0),r(R,ge),!1!==N&&Z.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return $.defaultOptions=ue,$.types=J.seriesTypes,$.registerType=J.registerSeriesType,o($.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),J.series=$,$}),Le(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P){let{animate:D,animObject:A,setAnimation:I}=q,{defaultOptions:_,defaultTime:m}=re,{numberFormat:w}=ve,{registerEventOptions:G}=le,{charts:O,doc:f,marginNames:a,svg:g,win:v}=pe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:T,error:B,extend:z,find:K,fireEvent:U,getStyle:se,isArray:S,isNumber:$,isObject:H,isString:x,merge:N,objectEach:R,pick:Z,pInt:Y,relativeLength:he,removeEvent:ge,splat:_e,syncTimeout:Te,uniqueKey:Oe}=j;class De{static chart(oe,ee,be){return new De(oe,ee,be)}constructor(oe,ee,be){this.sharedClips={};let xe=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=xe.shift()),this.init(xe[0],xe[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:Z(oe.zoomType,ee.type),key:Z(oe.zoomKey,ee.key),pinchType:Z(oe.pinchType,ee.pinchType),singleTouch:Z(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let be=N(_,oe),xe=be.chart;this.userOptions=z({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=be,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new E(oe.time):pe.time,this.numberFormatter=xe.numberFormatter||w,this.styledMode=xe.styledMode,this.hasCartesianSeries=xe.showAxes,this.index=O.length,O.push(this),pe.chartCount++,G(this,xe),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let be=oe.type||this.options.chart.type,xe=o[be];xe||B(17,!0,this,{missingModuleFor:be});let Ie=new xe;return"function"==typeof Ie.init&&Ie.init(this,oe),Ie}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let be=this[oe],xe=this.options[oe]=_e(this.options[oe]).slice(),Ie=this.userOptions[oe]=this.userOptions[oe]?_e(this.userOptions[oe]).slice():[];if(this.hasRendered&&(xe.splice(ee),Ie.splice(ee)),be)for(let we=ee,Ee=be.length;we=Math.max(Xe+we,ht.pos)&&Pt<=Math.min(Xe+we+qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!be.ignoreY&&pt.isInsidePlot){let ht=!xe&&be.axis&&!be.axis.isXAxis&&be.axis||lt&&(xe?lt.xAxis:lt.yAxis)||{pos:Ee,len:1/0},Pt=be.paneCoordinates?ht.pos+Tt:Ee+Tt;Pt>=Math.max(Je+Ee,ht.pos)&&Pt<=Math.min(Je+Ee+qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Je,lt,qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],be=this.series,xe=this.pointer,Ie=this.legend,we=this.userOptions.legend,Ee=this.renderer,Me=Ee.isHidden(),Xe=[],st=this.isDirtyBox,Tt=this.isDirtyLegend;for(Ee.rootFontSize=Ee.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),I(!!this.hasRendered&&oe,this),Me&&this.temporaryDisplay(),this.layOutTitles(!1),qe=be.length;qe--;)if(((pt=be[qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Je=!0;break}if(Je)for(qe=be.length;qe--;)(pt=be[qe]).options.stacking&&(pt.isDirty=!0);be.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),Tt=!0):we&&(we.labelFormatter||we.labelFormat)&&(Tt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),Tt&&Ie&&Ie.options.enabled&&(Ie.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Pt=ht.min+","+ht.max;ht.extKey!==Pt&&(ht.extKey=Pt,Xe.push(function(){U(ht,"afterSetExtremes",z(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),be.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),xe&&xe.reset(!0),Ee.draw(),U(this,"redraw"),U(this,"render"),Me&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function be(Ie){return Ie.id===oe||Ie.options&&Ie.options.id===oe}let xe=K(this.axes,be)||K(this.series,be);for(let Ie=0;!xe&&Ie(ee.getPointsCollection().forEach(be=>{Z(be.selectedStaging,be.selected)&&oe.push(be)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,be){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(be)}applyDescription(oe,ee){let be=this,xe=this.options[oe]=N(this.options[oe],ee),Ie=this[oe];Ie&&ee&&(this[oe]=Ie=Ie.destroy()),xe&&!Ie&&((Ie=this.renderer.text(xe.text,0,0,xe.useHTML).attr({align:xe.align,class:"highcharts-"+oe,zIndex:xe.zIndex||4}).add()).update=function(we,Ee){be.applyDescription(oe,we),be.layOutTitles(Ee)},this.styledMode||Ie.css(z("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},xe.style)),this[oe]=Ie)}layOutTitles(oe=!0){let ee=[0,0,0],be=this.renderer,xe=this.spacingBox;["title","subtitle","caption"].forEach(function(we){let Ee=this[we],Me=this.options[we],Xe=Me.verticalAlign||"top",Je="title"===we?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Ee){Ee.css({width:(Me.width||xe.width+(Me.widthAdjust||0))+"px"});let lt=be.fontMetrics(Ee).b,qe=Math.round(Ee.getBBox(Me.useHTML).height);Ee.align(z({y:"bottom"===Xe?lt:Je+lt,height:qe},Me),!1,"spacingBox"),Me.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Ie=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Ie&&(this.isDirtyBox=this.isDirtyLegend=Ie,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,be=oe.height,xe=this.getContainerBox();this.chartWidth=Math.max(0,ee||xe.width||600),this.chartHeight=Math.max(0,he(be,this.chartWidth)||(xe.height>1?xe.height:400)),this.containerBox=xe}temporaryDisplay(oe){let be,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},be={display:"block",overflow:"hidden"},ee!==this.renderTo&&(be.height=0),d(ee,be),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Ie,oe=this.options,ee=oe.chart,be="data-highcharts-chart",xe=Oe(),we=this.renderTo;we||(this.renderTo=we=ee.renderTo),x(we)&&(this.renderTo=we=f.getElementById(we)),we||B(13,!0,this);let Ee=Y(r(we,be));$(Ee)&&O[Ee]&&O[Ee].hasRendered&&O[Ee].destroy(),r(we,be,this.index),we.innerHTML=F.emptyHTML,ee.skipClone||we.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Me=this.chartHeight,Xe=this.chartWidth;d(we,{overflow:"hidden"}),this.styledMode||(Ie=z({position:"relative",overflow:"hidden",width:Xe+"px",height:Me+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Je=l("div",{id:xe},Ie,we);this.container=Je,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Je,{width:Z(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Je.style.cursor;let lt=ee.renderer||!g?ue.getRendererType(ee.renderer):X;if(this.renderer=new lt(Je,Xe,Me,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),I(void 0,this),this.setClassName(ee.className),this.styledMode)for(let qe in oe.defs)this.renderer.definition(oe.defs[qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:be,titleOffset:xe}=this;this.resetMargins(),xe[0]&&!C(be[0])&&(this.plotTop=Math.max(this.plotTop,xe[0]+ee[0])),xe[2]&&!C(be[2])&&(this.marginBottom=Math.max(this.marginBottom,xe[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(be,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],be=oe.colorAxis,xe=oe.margin,Ie=function(we){we.forEach(function(Ee){Ee.visible&&Ee.getOffset()})};oe.hasCartesianSeries?Ie(oe.axes):be&&be.length&&Ie(be),a.forEach(function(we,Ee){C(xe[Ee])||(oe[we]+=ee[Ee])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,be=ee.containerBox,xe=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&be&&xe.width&&((xe.width!==be.width||xe.height!==be.height)&&(j.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Te(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=xe)}setReflow(){let oe=this,ee=be=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(be)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let be=n(v,"resize",ee);n(this,"destroy",be)}}setSize(oe,ee,be){let xe=this,Ie=xe.renderer;xe.isResizing+=1,I(be,xe);let we=Ie.globalAnimation;xe.oldChartHeight=xe.chartHeight,xe.oldChartWidth=xe.chartWidth,void 0!==oe&&(xe.options.chart.width=oe),void 0!==ee&&(xe.options.chart.height=ee),xe.getChartSize();let{chartWidth:Ee,chartHeight:Me,scrollablePixelsX:Xe=0,scrollablePixelsY:Je=0}=xe;(xe.isDirtyBox||Ee!==xe.oldChartWidth||Me!==xe.oldChartHeight)&&(xe.styledMode||(we?D:d)(xe.container,{width:`${Ee+Xe}px`,height:`${Me+Je}px`},we),xe.setChartSize(!0),Ie.setSize(Ee,Me,we),xe.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),xe.isDirtyLegend=!0,xe.isDirtyBox=!0,xe.layOutTitles(),xe.getMargins(),xe.redraw(we),xe.oldChartHeight=void 0,U(xe,"resize"),setTimeout(()=>{xe&&U(xe,"endResize",void 0,()=>{xe.isResizing-=1})},A(we).duration))}setChartSize(oe){let ee,be,xe,Ie,we=this.inverted,Ee=this.renderer,Me=this.chartWidth,Xe=this.chartHeight,Je=this.options.chart,lt=this.spacing,qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=be=Math.round(this.plotTop),this.plotWidth=xe=Math.max(0,Math.round(Me-ee-this.marginRight)),this.plotHeight=Ie=Math.max(0,Math.round(Xe-be-this.marginBottom)),this.plotSizeX=we?Ie:xe,this.plotSizeY=we?xe:Ie,this.plotBorderWidth=Je.plotBorderWidth||0,this.spacingBox=Ee.spacingBox={x:lt[3],y:lt[0],width:Me-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Ee.plotBox={x:ee,y:be,width:xe,height:Ie};let st=2*Math.floor(this.plotBorderWidth/2),Tt=Math.ceil(Math.max(st,qe[3])/2),pt=Math.ceil(Math.max(st,qe[0])/2);this.clipBox={x:Tt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,qe[1])/2-Tt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Ee.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(be){let xe=ee[be],Ie=H(xe)?xe:[xe,xe,xe,xe];["Top","Right","Bottom","Left"].forEach(function(we,Ee){oe[be][Ee]=Z(ee[be+we],Ie[Ee])})}),a.forEach(function(be,xe){oe[be]=Z(oe.margin[xe],oe.spacing[xe])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,It,xt,oe=this.options.chart,ee=this.renderer,be=this.chartWidth,xe=this.chartHeight,Ie=this.styledMode,we=this.plotBGImage,Ee=oe.backgroundColor,Me=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Je=this.plotLeft,lt=this.plotTop,qe=this.plotWidth,st=this.plotHeight,Tt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Pt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Pt||(this.chartBackground=Pt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Ie?Dt=It=Pt.strokeWidth():(It=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),xt={fill:Ee||"none"},(Dt||Pt["stroke-width"])&&(xt.stroke=oe.borderColor,xt["stroke-width"]=Dt),Pt.attr(xt).shadow(oe.shadow)),Pt[wt]({x:It/2,y:It/2,width:be-It-Dt%2,height:xe-It-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](Tt),!Ie&&(Gt.attr({fill:Me||"none"}).shadow(oe.plotShadow),Xe&&(we?(Xe!==we.attr("href")&&we.attr("href",Xe),we.animate(Tt)):this.plotBGImage=ee.image(Xe,Je,lt,qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Ie||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Je,y:lt,width:qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,be,xe=this,Ie=xe.options.chart,we=xe.options.series;["inverted","angular","polar"].forEach(function(Ee){for(ee=o[Ie.type],be=Ie[Ee]||ee&&ee.prototype[Ee],oe=we&&we.length;!be&&oe--;)(ee=o[we[oe].type])&&ee.prototype[Ee]&&(be=!0);xe[Ee]=be})}linkSeries(oe){let ee=this,be=ee.series;be.forEach(function(xe){xe.linkedSeries.length=0}),be.forEach(function(xe){let{linkedTo:Ie}=xe.options;if(x(Ie)){let we;(we=":previous"===Ie?ee.series[xe.index-1]:ee.get(Ie))&&we.linkedParent!==xe&&(we.linkedSeries.push(xe),xe.linkedParent=we,we.enabledDataSorting&&xe.setDataSortingOptions(),xe.visible=Z(xe.options.visible,we.options.visible,xe.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Me,oe=this.axes,ee=this.colorAxis,be=this.renderer,xe=this.options.chart.axisLayoutRuns||2,Ie=Je=>{Je.forEach(lt=>{lt.visible&<.render()})},we=0,Ee=!0,Xe=0;for(let Je of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Je,{labels:qe}=lt;if(Je.horiz&&Je.visible&&qe.enabled&&Je.series.length&&"colorAxis"!==Je.coll&&!this.polar){we=lt.tickLength,Je.createGroups();let st=new P(Je,0,"",!0),Tt=st.createLabel("x",qe);if(st.destroy(),Tt&&Z(qe.reserveSpace,!$(lt.crossing))&&(we=Tt.getBBox().height+qe.distance+Math.max(lt.offset||0,0)),we){Tt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-we,0);(Ee||Me||xe>1)&&Xe(Xe?1:1.1),Me=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Ie(oe):ee&&ee.length&&Ie(ee),this.seriesGroup||(this.seriesGroup=be.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,be=N(!0,this.options.credits,oe);be.enabled&&!this.credits&&(this.credits=this.renderer.text(be.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){be.href&&(v.location.href=be.href)}).attr({align:be.position.align,zIndex:8}),ee.styledMode||this.credits.css(be.style),this.credits.add().align(be.position),this.credits.update=function(xe){ee.credits=ee.credits.destroy(),ee.addCredits(xe)})}destroy(){let oe,ee=this,be=ee.axes,xe=ee.series,Ie=ee.container,we=Ie&&Ie.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?T(O,ee):O[ee.index]=void 0,pe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),ge(ee),oe=be.length;oe--;)be[oe]=be[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=xe.length;oe--;)xe[oe]=xe[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Ee){let Me=ee[Ee];Me&&Me.destroy&&(ee[Ee]=Me.destroy())}),Ie&&(Ie.innerHTML=F.emptyHTML,ge(Ie),we&&p(Ie)),R(ee,function(Ee,Me){delete ee[Me]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let be=S(ee.series)?ee.series:[];ee.series=[],be.forEach(function(xe){oe.initSeries(xe)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let be=this,xe="object"==typeof ee?ee:{enabled:ee,type:"x"},Ie=xe.type,we=Ie&&be[{x:"xAxis",xy:"axes",y:"yAxis"}[Ie]].filter(Me=>Me.options.panningEnabled&&!Me.options.isInternal),Ee=be.options.chart;Ee?.panning&&(Ee.panning=xe),U(this,"pan",{originalEvent:oe},()=>{be.transform({axes:we,event:oe,to:{x:oe.chartX-(be.mouseDownX||0),y:oe.chartY-(be.mouseDownY||0)},trigger:"pan"}),d(be.container,{cursor:"move"})})}transform(oe){let qe,{axes:ee=this.axes,event:be,from:xe={},reset:Ie,selection:we,to:Ee={},trigger:Me}=oe,{inverted:Xe,resetZoomButton:Je}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(Tt=>Tt.setState()),ee)){let{horiz:Tt,len:pt,minPointOffset:ht=0,options:Pt,reversed:Gt}=st,ti=Tt?"width":"height",Dt=Tt?"x":"y",It=Ee[ti]||st.len,xt=xe[ti]||st.len,wt=10>Math.abs(It)?1:It/xt,Qt=(xe[Dt]||0)+xt/2-st.pos,di=Qt-((Ee[Dt]??st.pos)+It/2-st.pos)/wt,Ni=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Ie&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Ni,vi=st.toValue(di+pt/wt,!0)-(ht*Ni||0),zi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Ie&&"yAxis"===st.coll&&!zi){for(let js of st.series){let On=js.getExtremes(js.getProcessedData(!0).yData,!0);zi??(zi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),$(On.dataMin)&&$(On.dataMax)&&(zi.dataMin=Math.min(On.dataMin,zi.dataMin),zi.dataMax=Math.max(On.dataMax,zi.dataMax))}st.allExtremes=zi}let{dataMin:gs,dataMax:Fn,min:as,max:ms}=z(st.getExtremes(),zi||{}),Ln=gs??Pt.min,fn=Fn??Pt.max,ki=vi-mi,Cs=st.categories?0:Math.min(ki,fn-Ln),Kn=Ln-Cs*(C(Pt.min)?0:Pt.minPadding),In=fn+Cs*(C(Pt.max)?0:Pt.maxPadding),Bs=st.allowZoomOutside||1===wt||"zoom"!==Me&&wt>1,qn=Math.min(Pt.min??Kn,Kn,Bs?as:Kn),Wi=Math.max(Pt.max??In,In,Bs?ms:In);(!st.isOrdinal||1!==wt||Ie)&&(mi=1&&(vi=mi+ki)),vi>Wi&&(vi=Wi,wt>=1&&(mi=vi-ki)),(Ie||st.series.length&&(mi!==as||vi!==ms)&&mi>=qn&&vi<=Wi)&&(we?we[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Me,st.setExtremes(Ie?void 0:mi,Ie?void 0:vi,!1,!1,{move:di,trigger:Me,scale:wt}),!Ie&&(mi>qn||vi{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(qe&&!Je?this.showResetZoom():!qe&&Je&&(this.resetZoomButton=Je.destroy()),this.redraw("zoom"===Me&&(this.options.chart.animation??this.pointCount<100)))),lt}}return z(De.prototype,{callbacks:[],collectionsWithInit:{xAxis:[De.prototype.addAxis,[!0]],yAxis:[De.prototype.addAxis,[!1]],series:[De.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),De}),Le(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{stop:le}=q,{composed:pe}=ne,{addEvent:ue,createElement:J,css:te,defined:X,merge:E,pushUnique:j}=ve;function F(){let A=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!A&&(this.scrollablePlotArea=A=new D(this)),A?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(I,_,m){j(pe,this.compose)&&(ue(I,"afterInit",P),ue(_,"afterSetChartSize",w=>this.afterSetSize(w.target,w)),ue(_,"render",F),ue(m,"show",P))}static afterSetSize(I,_){let m,w,G,{minWidth:O,minHeight:f}=I.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:v,renderer:o}=I;if(!o.forExport&&(O?(I.scrollablePixelsX=m=Math.max(0,O-I.chartWidth),m&&(I.scrollablePlotBox=E(I.plotBox),g.width=I.plotWidth+=m,a[v?"height":"width"]+=m,G=!0)):f&&(I.scrollablePixelsY=w=Math.max(0,f-I.chartHeight),X(w)&&(I.scrollablePlotBox=E(I.plotBox),g.height=I.plotHeight+=w,a[v?"width":"height"]+=w,G=!1)),X(G)&&!_.skipAxes))for(let n of I.axes)n.horiz===G&&(n.setAxisSize(),n.setAxisTranslation())}constructor(I){let _,m=I.options.chart,w=re.getRendererType(),G=m.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};I.scrollablePixelsX&&(f.overflowX="auto"),I.scrollablePixelsY&&(f.overflowY="auto"),this.chart=I;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},I.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),v=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(m.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new w(o,I.chartWidth,I.chartHeight,m.style);this.mask=n.path().attr({fill:m.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(I.renderTo,{overflow:"visible"}),ue(I,"afterShowResetZoom",O),ue(I,"afterApplyDrilldown",O),ue(I,"afterLayOutTitles",O),ue(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=I;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),v.appendChild(I.container)}applyFixed(){let{chart:I,fixedRenderer:_,isDirty:m,scrollingContainer:w}=this,{axisOffset:G,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:v,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=I,{scrollPositionX:d=0,scrollPositionY:C=0}=I.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(m??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(I.container),te(a,{width:`${k}px`,height:`${p}px`}),I.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),I.chartBackground?.attr({width:k,height:p}),te(w,{width:`${O}px`,height:`${f}px`}),X(m)||(w.scrollLeft=r*d,w.scrollTop=l*C);let T=o-G[0]-1,B=v-G[3]-1,z=o+g+G[2]+1,K=v+n+G[1]+1,U=v+n-r,se=o+g-l,S=[["M",0,0]];r?S=[["M",0,T],["L",v-1,T],["L",v-1,z],["L",0,z],["Z"],["M",U,T],["L",O,T],["L",O,z],["L",U,z],["Z"]]:l&&(S=[["M",B,0],["L",B,o-1],["L",K,o-1],["L",K,0],["Z"],["M",B,se],["L",B,f],["L",K,f],["L",K,se],["Z"]]),"adjustHeight"!==I.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let I,{container:_,inverted:m,scrollablePixelsX:w,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(w&&!m?I=".highcharts-yaxis":w&&m||G&&!m?I=".highcharts-xaxis":G&&m&&(I=".highcharts-yaxis"),I&&f.push(`${I}:not(.highcharts-radial-axis)`,`${I}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Le(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{format:ve}=q,{series:le}=ne,{destroyObjectProperties:pe,fireEvent:ue,isNumber:J,pick:te}=re;return class{constructor(X,E,j,F,P){let D=X.chart.inverted,A=X.reversed;this.axis=X;let I=this.isNegative=!!j!=!!A;this.options=E=E||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:E.align||(D?I?"left":"right":"center"),verticalAlign:E.verticalAlign||(D?"middle":I?"bottom":"top"),y:E.y,x:E.x},this.textAlign=E.textAlign||(D?I?"right":"left":"center")}destroy(){pe(this,this.axis)}render(X){let E=this.axis.chart,j=this.options,F=j.format,P=F?ve(F,this,E):j.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=E.renderer.label(P,null,void 0,j.shape,void 0,void 0,j.useHTML,!1,"stack-labels");let D={r:j.borderRadius||0,text:P,padding:te(j.padding,5),visibility:"hidden"};E.styledMode||(D.fill=j.backgroundColor,D.stroke=j.borderColor,D["stroke-width"]=j.borderWidth,this.label.css(j.style||{})),this.label.attr(D),this.label.added||this.label.add(X)}this.label.labelrank=E.plotSizeY,ue(this,"afterRender")}setOffset(X,E,j,F,P,D){let{alignOptions:A,axis:I,label:_,options:m,textAlign:w}=this,G=I.chart,O=this.getStackBox({xOffset:X,width:E,boxBottom:j,boxTop:F,defaultX:P,xAxis:D}),{verticalAlign:f}=A;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,v="justify"===te(m.overflow,"justify");A.x=m.x||0,A.y=m.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:w});O.x-=n,O.y-=r,_.align(A,!1,O),(o=G.isInsidePlot(_.alignAttr.x+A.x+n,_.alignAttr.y+A.y+r))||(v=!1),v&&le.prototype.justifyDataLabel.call(I,_,A,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:m.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[m.textAlign||"center"],rotationOriginY:a.height/2}),te(!v&&m.crop,!0)&&(o=J(_.x)&&J(_.y)&&G.isInsidePlot(_.x-g+(_.width||0),_.y)&&G.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}ue(this,"afterSetOffset",{xOffset:X,width:E})}adjustStackPosition({labelBox:X,verticalAlign:E,textAlign:j}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:X.width/2+X.width/2*F[j],y:X.height/2*F[E]}}getStackBox(X){let E=this.axis,j=E.chart,{boxTop:F,defaultX:P,xOffset:D,width:A,boxBottom:I}=X,_=E.stacking.usePercentage?100:te(F,this.total,0),m=E.toPixels(_),w=X.xAxis||j.xAxis[0],G=te(P,w.translate(this.x))+D,O=Math.abs(m-E.toPixels(I||J(E.min)&&E.logarithmic&&E.logarithmic.lin2log(E.min)||0)),a=this.isNegative;return j.inverted?{x:(a?m:m-O)-j.plotLeft,y:w.height-G-A,width:O,height:A}:{x:G+w.transB-j.plotLeft,y:(a?m-O:m)-j.plotTop,width:A,height:O}}}}),Le(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{getDeferredAnimation:ue}=q,{series:{prototype:J}}=re,{addEvent:te,correctFloat:X,defined:E,destroyObjectProperties:j,fireEvent:F,isArray:P,isNumber:D,objectEach:A,pick:I}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,I(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function m(){let o=this.stacking;if(o){let n=o.stacks;A(n,(r,l)=>{j(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function w(){this.stacking||(this.stacking=new v(this))}function G(o,n,r,l){return!E(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(T=>{let z,K,U,B=C.length;for(;B--;)z=C[B],o=n.getStackIndicator(o,z,n.index,T),K=d[T]?.[z],(U=K?.points[o.key||""])&&p.call(n,U,K,B)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=X(o[0]*l),o[1]=X(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,T,B,z,K=n||this.options.stacking;if(!K||!this.reserveSpace()||({group:"xAxis"}[K]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,S=[],$=se.length,H=this.options,x=H.threshold||0,N=H.startFromThreshold?x:0,R=H.stack,Z=n?`${this.type},${K}`:this.stackKey||"",Y="-"+Z,he=this.negStacks,ge=o.stacking,_e=ge.stacks,Te=ge.oldStacks;for(ge.stacksTouched+=1,T=0;T<$;T++){B=U[T],z=se[T],p=(r=this.getStackIndicator(r,B,this.index)).key||"",_e[k=(l=he&&z<(N?0:x))?Y:Z]||(_e[k]={}),_e[k][B]||(Te[k]?.[B]?(_e[k][B]=Te[k][B],_e[k][B].total=null):_e[k][B]=new ve(o,o.options.stackLabels,!!l,B,R)),d=_e[k][B],null!==z?(d.points[p]=d.points[this.index]=[I(d.cumulative,N)],E(d.cumulative)||(d.base=p),d.touched=ge.stacksTouched,r.index>0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+B+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===K?(C=l?Z:Y,Oe=he&&_e[C]?.[B]?(C=_e[C][B]).total=Math.max(C.total||0,Oe)+Math.abs(z)||0:X(Oe+(Math.abs(z)||0))):"group"===K?(P(z)&&(z=z[0]),null!==z&&Oe++):Oe=X(Oe+(z||0)),d.cumulative="group"===K?(Oe||1)-1:X(I(d.cumulative,N)+(z||0)),d.total=Oe,null!==z&&(d.points[p].push(d.cumulative),S[T]=d.cumulative,d.hasValidPoints=!0)}"percent"===K&&(ge.usePercentage=!0),"group"!==K&&(this.stackedYData=S),ge.oldStacks={}}class v{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{A(n,r=>{r.cumulative=r.total})}))}resetStacks(){A(this.stacks,n=>{A(n,(r,l)=>{D(r.touched)&&r.touched{A(p,T=>{T.render(k)})}),k.animate({opacity:1},C)}}return(pe||(pe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",w),te(o,"destroy",m),l.getStacks=_,d.getStackIndicator=G,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},pe}),Le(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defined:ve,merge:le,isObject:pe}=re;class ue extends q{drawGraph(){let te=this.options,X=(this.gappedPath||this.getGraphPath).call(this),E=this.chart.styledMode;[this,...this.zones].forEach((j,F)=>{let P,D=j.graph,A=D?"animate":"attr",I=j.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:X.xMap,D.animate({d:X})):X.length&&(j.graph=D=this.chart.renderer.path(X).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&j.className||"")).attr({zIndex:1}).add(this.group)),D&&!E&&(P={stroke:!F&&te.lineColor||j.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},I?P.dashstyle=I:"square"!==te.linecap&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),D[A](P).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},pe(te.shadow)?te.shadow:{}))),D&&(D.startX=X.xMap,D.isArea=X.isArea)})}getGraphPath(te,X,E){let A,j=this,F=j.options,P=[],D=[],I=F.step,_=(te=te||j.points).reversed;return _&&te.reverse(),(I={right:1,center:2}[I]||I&&3)&&_&&(I=4-I),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!X&&!E))).forEach(function(m,w){let G,O=m.plotX,f=m.plotY,a=te[w-1],g=m.isNull||"number"!=typeof f;(m.leftCliff||a&&a.rightCliff)&&!E&&(A=!0),g&&!ve(X)&&w>0?A=!F.connectNulls:g&&!X?A=!0:(0===w||A?G=[["M",m.plotX,m.plotY]]:j.getPointSpline?G=[j.getPointSpline(te,m,w)]:I?(G=1===I?[["L",a.plotX,f]]:2===I?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):G=[["L",O,f]],D.push(m.x),I&&(D.push(m.x),2===I&&D.push(m.x)),P.push.apply(P,G),A=!1)}),P.xMap=D,j.graphPath=P,P}}return ue.defaultOptions=le(q.defaultOptions,{legendSymbol:"lineMarker"}),ne.registerSeriesType("line",ue),ue}),Le(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{seriesTypes:{line:re}}=q,{extend:ve,merge:le,objectEach:pe,pick:ue}=ne;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:X,options:E}=this;[this,...this.zones].forEach((j,F)=>{let P={},D=j.fillColor||E.fillColor,A=j.area,I=A?"animate":"attr";A?(A.endX=this.preventGraphAnimation?null:X.xMap,A.animate({d:X})):(P.zIndex=0,(A=j.area=this.chart.renderer.path(X).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(P.fill=D||j.color||this.color,P["fill-opacity"]=D?1:E.fillOpacity??.75,A.css({pointerEvents:this.stickyTracking?"none":"auto"})),A[I](P),A.startX=X.xMap,A.shiftUnit=E.step?2:1})}getGraphPath(X){let E,j,F,P=re.prototype.getGraphPath,D=this.options,A=D.stacking,I=this.yAxis,_=[],m=[],w=this.index,G=I.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(I.getThreshold(D.threshold)),a=ue(D.connectNulls,"percent"===A),g=function(d,C,k){let K,U,p=X[d],T=A&&G[p.x].points[w],B=p[k+"Null"]||0,z=p[k+"Cliff"]||0,se=!0;z||B?(K=(B?T[0]:T[1])+z,U=T[0]+z,se=!!B):!A&&X[C]&&X[C].isNull&&(K=U=O),void 0!==K&&(m.push({plotX:E,plotY:null===K?f:I.getThreshold(K),isNull:se,isCliff:!0}),_.push({plotX:E,plotY:null===U?f:I.getThreshold(U),doCurve:!1}))};X=X||this.points,A&&(X=this.getStackPoints(X));for(let d=0,C=X.length;df.visible);F.forEach(function(f,a){let v,o,g=0;if(I[f]&&!I[f].isNull)j.push(I[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=A[F[a+n]],d=0;if(l){let C=G;for(;C>=0&&C=0&&nO&&j>A?(j=Math.max(O,A),P=2*A-j):ja&&P>A?(P=Math.max(a,A),j=2*A-P):P=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let v=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;m(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==v.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,v=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,T=O.dataMax,B=O.barW=Math.max(C,1+2*v),z=O.translatedThreshold=n.getThreshold(r);f.inverted&&(z-=.5),a.pointPadding&&(B=Math.ceil(B)),le.prototype.translate.apply(O),O.points.forEach(function(K){let H,U=_(K.yBottom,z),se=999+Math.abs(U),S=K.plotX||0,$=E(K.plotY,-se,n.len+se),x=Math.min($,U),N=Math.max($,U)-x,R=C,Z=S+k,Y=B;l&&Math.abs(N)l?U-l:z-(H?l:0)),j(K.options.pointWidth)&&(Z-=Math.round(((R=Y=Math.ceil(K.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(Z=O.adjustForMissingColumns(Z,R,K,d)),K.barX=Z,K.pointWidth=R,K.tooltipPos=f.inverted?[E(n.len+n.pos-f.plotLeft-$,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-Z-Y/2,N]:[o.left-f.plotLeft+Z+Y/2,E($+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],K.shapeType=O.pointClass.prototype.shapeType||"roundedRect",K.shapeArgs=O.crispCol(Z,K.isNull?z:x,Y,K.isNull?0:N)}),P(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},v=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[v]||a[v]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,T=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=I(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[v]||C,p=n[o]||p,k=n.dashStyle||k,T=_(n.opacity,T));let B={fill:d,stroke:C,"stroke-width":p,opacity:T};return k&&(B.dashstyle=k),B}drawPoints(O=this.points){let f,a=this,g=this.chart,v=a.options,o=g.renderer,n=v.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function m(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,T=o.plotX,B=o.plotY,z=r.rotation||0,K=ue(T)&&ue(B)&&C.isInsidePlot(T,Math.round(B),{inverted:k,paneCoordinates:!0,series:this}),U=0===z&&"justify"===P(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&ue(T)&&(o.series.forceDL||p&&!U||K||P(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(T,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),S=o.pos();if(se&&S){let H=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:S[0],y:Math.round(S[1]),width:0,height:0},l||{}),J(r,{width:H.width,height:H.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,K,l),n.align(j(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-H.width),n.alignAttr.y+=R*(x.height-H.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(H.width-x.width)/2,y:n.alignAttr.y+(H.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,H,l,d);else if(P(r.crop,!0)){let{x:Z,y:Y}=n.alignAttr;se=C.isInsidePlot(Z,Y,{paneCoordinates:!0,series:this})&&C.isInsidePlot(Z+H.width-1,Y+H.height-1,{paneCoordinates:!0,series:this})}r.shape&&!z&&n[d?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function w(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,T=C.getContrast(E(p)&&p||E(k)&&k||"#000000"),B=g(r),{animation:z,defer:K}=B[0],U=K?le(l,z,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let S=se.dataLabels||[];A(a(B,se.dlOptions||se.options?.dataLabels)).forEach((H,x)=>{let ge,_e,Te,Oe,ee,N=H.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(be,xe){let Ie=xe.filter;if(Ie){let we=Ie.operator,Ee=be[Ie.property],Me=Ie.value;return">"===we&&Ee>Me||"<"===we&&Ee="===we&&Ee>=Me||"<="===we&&Ee<=Me||"=="===we&&Ee==Me||"==="===we&&Ee===Me||"!="===we&&Ee!=Me||"!=="===we&&Ee!==Me}return!0}(se,H),{backgroundColor:R,borderColor:Z,distance:Y,style:he={}}=H,De={},Be=S[x],oe=!Be;if(N&&(_e=P(H[se.formatPrefix+"Format"],H.format),ge=se.getLabelConfig(),Te=ue(_e)?pe(_e,ge,l):(H[se.formatPrefix+"Formatter"]||H.formatter).call(ge,H),Oe=H.rotation,!l.styledMode&&(he.color=P(H.color,he.color,E(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!ue(Y)&&H.inside||0>D(Y||0)||d.stacking?se.contrastColor:T):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),De={r:H.borderRadius||0,rotation:Oe,padding:H.padding,zIndex:1},l.styledMode||(De.fill="auto"===R?se.color:R,De.stroke="auto"===Z?se.color:Z,De["stroke-width"]=H.borderWidth),F(De,(be,xe)=>{void 0===be&&delete De[xe]})),!Be||N&&ue(Te)&&!!Be.div==!!H.useHTML&&(Be.rotation&&H.rotation||Be.rotation===H.rotation)||(Be=void 0,oe=!0),N&&ue(Te)&&(Be?De.text=Te:(Be=C.label(Te,0,0,H.shape,void 0,void 0,H.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(H.className||"")+(H.useHTML?" highcharts-tracker":"")),Be)){Be.options=H,Be.attr(De),l.styledMode||Be.css(he).shadow(H.shadow);let be=H[se.formatPrefix+"TextPath"]||H.textPath;be&&!H.useHTML&&(Be.setTextPath(se.getDataLabelPath?.(Be)||se.graphic,be),se.dataLabelPath&&!be.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Be.added||Be.add(n),r.alignDataLabel(se,Be,H,void 0,oe),Be.isActive=!0,S[x]&&S[x]!==Be&&S[x].destroy(),S[x]=Be}});let $=S.length;for(;$--;)S[$]&&S[$].isActive?S[$].isActive=!1:(S[$]?.destroy(),S.splice($,1));se.dataLabel=S[0],se.dataLabels=S})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,T=n.verticalAlign,B=o.box?0:o.padding||0,{x:z=0,y:K=0}=n;return(U=(r.x||0)+B)<0&&("right"===p&&z>=0?(n.align="left",n.inside=!0):z-=U,se=!0),(U=(r.x||0)+l.width-B)>k.plotWidth&&("left"===p&&z<=0?(n.align="right",n.inside=!0):z+=k.plotWidth-U,se=!0),(U=r.y+B)<0&&("bottom"===T&&K>=0?(n.verticalAlign="top",n.inside=!0):K-=U,se=!0),(U=(r.y||0)+l.height-B)>k.plotHeight&&("top"===T&&K<=0?(n.verticalAlign="bottom",n.inside=!0):K+=k.plotHeight-U,se=!0),se&&(n.x=z,n.y=K,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if(X(o)&&!X(n))r=o.map(function(d){return j(d,n)});else if(X(n)&&!X(o))r=n.map(function(d){return j(o,d)});else if(X(o)||X(n)){if(X(o)&&X(n))for(l=Math.max(o.length,n.length);l--;)r[l]=j(o[l],n[l])}else r=j(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return A(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function v(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,T=p.reversed,B=((k?n.height:n.width)||0)/2,z=o.pointWidth,K=z?z/2:0;n.startXPos=k?d.x:T?-B-K:p.width-B+K,n.startYPos=k?T?this.yAxis.height-B+K:-B-K:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}I.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=G,n.initDataLabelsGroup=w,n.alignDataLabel=m,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=v,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Le(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{series:ue}=re,{merge:J,pick:te,pushUnique:X}=ve;return function(E){function j(F,P,D,A,I){let _=this.chart.inverted,m=F.series,w=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||0,G=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,G)),a=te(D.inside,!!this.options.stacking);if(O){if(A=J(O),"allow"!==D.overflow||!1!==D.crop){A.y<0&&(A.height+=A.y,A.y=0);let g=A.y+A.height-G;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Le(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{column:ve,line:le}=ne.seriesTypes,{addEvent:pe,extend:ue,merge:J}=re;class te extends le{applyJitter(){let E=this,j=this.options.jitter,F=this.points.length;j&&this.points.forEach(function(P,D){["x","y"].forEach(function(A,I){let _,w,G,O,m="plot"+A.toUpperCase();j[A]&&!P.isNull&&(_=E[A+"Axis"],O=j[A]*_.transA,_&&!_.isLog&&(w=Math.max(0,P[m]-O),G=Math.min(_.len,P[m]+O),P[m]=w+(G-w)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+I*F),"x"===A&&(P.clientX=P.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,q),ue(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),pe(te,"afterTranslate",function(){this.applyJitter()}),ne.registerSeriesType("scatter",te),te}),Le(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve,le;let{deg2rad:pe}=q,{fireEvent:ue,isNumber:J,pick:te,relativeLength:X}=re;return(le=ve||(ve={})).getCenter=function(){let m,O,f,E=this.options,j=this.chart,F=2*(E.slicedOffset||0),P=j.plotWidth-2*F,D=j.plotHeight-2*F,A=E.center,I=Math.min(P,D),_=E.thickness,w=E.size,G=E.innerSize||0;"string"==typeof w&&(w=parseFloat(w)),"string"==typeof G&&(G=parseFloat(G));let a=[te(A[0],"50%"),te(A[1],"50%"),te(w&&w<0?void 0:E.size,"100%"),te(G&&G<0?void 0:E.innerSize||0,"0%")];for(!j.angular||this instanceof ne||(a[3]=0),O=0;O<4;++O)f=a[O],m=O<2||2===O&&/%$/.test(f),a[O]=X(f,[P,D,I,a[2]][O])+(m?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),ue(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(E,j){let F=J(E)?E:0,P=J(j)&&j>F&&j-F<360?j:F+360;return{start:pe*(F+-90),end:pe*(P+-90)}},ve}),Le(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re){let{setAnimation:ve}=q,{addEvent:le,defined:pe,extend:ue,isNumber:J,pick:te,relativeLength:X}=re;class E extends ne{getConnectorPath(F){let P=F.dataLabelPosition,D=F.options||{},A=D.connectorShape;return P&&(this.connectorShapes[A]||A).call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+F,P.r+F,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(F,P,D){super(F,P,D),this.half=0,this.name??(this.name="Slice");let A=I=>{this.slice("select"===I.type)};le(this,"select",A),le(this,"unselect",A)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,P=!0){F!==this.visible&&this.update({visible:F??!this.visible},P,void 0,!1)}slice(F,P,D){let A=this.series;ve(D,A.chart),P=te(P,!0),this.sliced=this.options.sliced=F=pe(F)?F:!this.sliced,A.options.data[A.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ue(E.prototype,{connectorShapes:{fixedOffset:function(j,F,P){let D=F.breakAt,A=F.touchingSliceAt;return[["M",j.x,j.y],P.softConnector?["C",j.x+("left"===j.alignment?-5:5),j.y,2*D.x-A.x,2*D.y-A.y,D.x,D.y]:["L",D.x,D.y],["L",A.x,A.y]]},straight:function(j,F){let P=F.touchingSliceAt;return[["M",j.x,j.y],["L",P.x,P.y]]},crookedLine:function(j,F,P){let{breakAt:D,touchingSliceAt:A}=F,{series:I}=this,[_,m,w]=I.center,G=w/2,{plotLeft:O,plotWidth:f}=I.chart,a="left"===j.alignment,{x:g,y:v}=j,o=D.x;if(P.crookDistance){let r=X(P.crookDistance,1);o=a?_+G+(f+O-_-G)*(1-r):O+(_-G)*r}else o=_+(m-v)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,v]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,v]),n.push(["L",D.x,D.y],["L",A.x,A.y]),n}}}),E}),Le(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Le(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{getStartAndEndRadians:X}=q,{noop:E}=re,{clamp:j,extend:F,fireEvent:P,merge:D,pick:A}=te;class I extends pe{animate(m){let w=this,O=w.startAngleRad;m||w.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:A(f.startR,w.center&&w.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},w.options.animation))})}drawEmpty(){let m,w,G=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(m=this.center[0],w=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(m,w,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(m,w,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let m=this.chart.renderer;this.points.forEach(function(w){w.graphic&&w.hasNewShapeType()&&(w.graphic=w.graphic.destroy()),w.graphic||(w.graphic=m[w.shapeType](w.shapeArgs).add(w.series.group),w.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(m,w,G,O){let f=this.center,a=this.radii?this.radii[G.index]||0:f[2]/2,g=O.dataLabelPosition,v=g?.distance||0,o=Math.asin(j((m-f[1])/(a+v),-1,1));return f[0]+Math.cos(o)*(a+v)*(w?-1:1)+(v>0?(w?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let m,w,G,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let v={};w=g.graphic,!g.isNull&&w?(O=g.shapeArgs,m=g.getTranslate(),a.styledMode||(G=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(w.setRadialReference(f.center).attr(O).attr(m),a.styledMode||w.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(w.setRadialReference(f.center),a.styledMode||D(!0,v,G),D(!0,v,O,m),w.animate(v)),w.attr({visibility:g.visible?"inherit":"hidden"}),w.addClass(g.getClassName(),!0)):w&&(g.graphic=w.destroy())})}sortByAngle(m,w){m.sort(function(G,O){return void 0!==G.angle&&(O.angle-G.angle)*w})}translate(m){P(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,w=this.options,G=w.slicedOffset,O=X(w.startAngle,w.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,v=w.ignoreHiddenPoint,o=g.length,T=0;for(m||(this.center=m=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*G),translateY:Math.round(Math.sin(l)*G)},d=Math.cos(l)*m[2]/2,C=Math.sin(l)*m[2]/2,p.tooltipPos=[m[0]+.7*d,m[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}P(this,"afterTranslate")}updateTotals(){let O,f,m=this.points,w=m.length,G=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!G)?f.y/a*100:0,f.total=a}}return I.defaultOptions=D(pe.defaultOptions,le),F(I.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ne.prototype.drawTracker,getCenter:q.getCenter,getSymbol:E,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ne.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:E,trackerGroups:["group","dataLabelsGroup"]}),ue.registerSeriesType("pie",I),I}),Le(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{composed:ue,noop:J}=ne,{distribute:te}=re,{series:X}=ve,{arrayMax:E,clamp:j,defined:F,pick:P,pushUnique:D,relativeLength:A}=le;return function(I){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,v,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?v:g,a.half,a,o)},justify:function(f,a,g,v){return v[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,v){let o=f.getBBox().width;return a?o+v:g-o-v},alignToConnectors:function(f,a,g,v){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+v:g-o-v}};function m(f,a){let{center:g,options:v}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((v.slicedOffset||0)+(v.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function w(){let B,z,K,f=this,a=f.points,g=f.chart,v=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],T=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),X.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((S,$)=>{let H=l[2]/2,x=S.options,N=A(x?.distance||0,H);0===$&&k[se.half].push(se),!F(x?.style?.width)&&S.getBBox().width>r&&(S.css({width:Math.round(.7*r)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,S)=>{let x,N,Z,H=[],R=0;se.length&&(f.sortByAngle(se,S-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.dataLabelPosition;ge&&ge.distance>0&&(ge.top=Math.max(0,C-d-ge.distance),ge.bottom=Math.min(C+d+ge.distance,g.plotHeight),R=he.getBBox().height||21,Y.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-ge.top+R/2,size:R,rank:Y.y},H.push(Y.distributeBox))})}),te(H,Z=N+R-x,Z/5)),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.options||{},_e=Y.distributeBox,Te=he.dataLabelPosition,Oe=Te?.natural.y||0,De=ge.connectorPadding||0,Be=0,oe=Oe,ee="inherit";if(Te){if(H&&F(_e)&&Te.distance>0&&(void 0===_e.pos?ee="hidden":(K=_e.size,oe=T.radialDistributionY(Y,he))),ge.justify)Be=T.justify(Y,he,d,l);else switch(ge.alignTo){case"connectors":Be=T.alignToConnectors(se,S,v,n);break;case"plotEdges":Be=T.alignToPlotEdges(he,S,v,n);break;default:Be=T.radialDistributionX(f,Y,oe,Oe,he)}if(Te.attribs={visibility:ee,align:Te.alignment},Te.posAttribs={x:Be+(ge.x||0)+({left:De,right:-De}[Te.alignment]||0),y:oe+(ge.y||0)-he.getBBox().height/2},Te.computed.x=Be,Te.computed.y=oe,P(ge.crop,!0)){let be;Be-(z=he.getBBox().width)v-De&&0===S&&(be=Math.round(Be+z-v+De),p[1]=Math.max(be,p[1])),oe-K/2<0?p[0]=Math.max(Math.round(K/2-oe),p[0]):oe+K/2>o&&(p[2]=Math.max(Math.round(oe+K/2-o),p[2])),Te.sideOverflow=be}}})}))}),(0===E(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(S=>{let{connectorColor:$,connectorWidth:H=1}=S.options||{},x=S.dataLabelPosition;if(H){let N;B=S.connector,x&&x.distance>0?(N=!B,B||(S.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||B.attr({"stroke-width":H,stroke:$||se.color||"#666666"}),B[N?"attr":"animate"]({d:se.getConnectorPath(S)}),B.attr({visibility:x.attribs?.visibility})):B&&(S.connector=B.destroy())}})})))}function G(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,v=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==v[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==v[1]?n=j(n,o,a[2]-Math.max(f[0],f[2])):(n=j(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(m.x>=_.x+_.width||m.x+m.width<=_.x||m.y>=_.y+_.height||m.y+m.height<=_.y),I=!1;for(let _=0;_(m.labelrank||0)-(_.labelrank||0));for(let _=0;_{ve(j,F=>{F.label&&X.push(F.label)})});for(let E of te.series||[])if(E.visible&&E.hasDataLabels?.()){let j=F=>{for(let P of F)P.visible&&(P.dataLabels||[]).forEach(D=>{let A=D.options||{};D.labelrank=le(A.labelrank,P.labelrank,P.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,ue(D,te)):X.push(D)})};j(E.nodes||[]),j(E.points)}this.hideOverlappingLabels(X)}return{compose:function(te){let X=te.prototype;X.hideOverlappingLabels||(X.hideOverlappingLabels=pe,ne(te,"render",J))}}}),Le(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defaultOptions:ve}=q,{noop:le}=ne,{addEvent:pe,extend:ue,isObject:J,merge:te,relativeLength:X}=re,E={radius:0,scope:"stack",where:void 0},j=le,F=le;function P(m,w,G,O,f={}){let a=j(m,w,G,O,f),{innerR:g=0,r:v=G,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min(X(f.borderRadius||0,v-g),(v-g)/2,v*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,T,B){let z,K,U,se=p[T],S=p[T+1];if("Z"===S[0]&&(S=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==S[0]?"A"===se[0]&&("M"===S[0]||"L"===S[0])&&(z=S,K=se):(z=se,K=S,U=!0),z&&K&&K.params){let $=K[1],H=K[5],x=K.params,{start:N,end:R,cx:Z,cy:Y}=x,he=H?$-B:$+B,ge=he?Math.asin(B/he):0,_e=H?ge:-ge,Te=Math.cos(ge)*he;U?(x.start=N+_e,z[1]=Z+Te*Math.cos(N),z[2]=Y+Te*Math.sin(N),p.splice(T+1,0,["A",B,B,0,0,1,Z+$*Math.cos(x.start),Y+$*Math.sin(x.start)])):(x.end=R-_e,K[6]=Z+$*Math.cos(x.end),K[7]=Y+$*Math.sin(x.end),p.splice(T+1,0,["A",B,B,0,0,1,Z+Te*Math.cos(R),Y+Te*Math.sin(R)])),K[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:m,yAxis:w}=this,G="percent"===m.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=A(m.borderRadius,J(O)?O:{}),a=w.options.reversed;for(let g of this.points){let{shapeArgs:v}=g;if("roundedRect"===g.shapeType&&v){let{width:o=0,height:n=0,y:r=0}=v,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let T=w.translate(G?100:g.stackTotal,!1,!0,!1,!0),B=w.translate(m.threshold||0,!1,!0,!1,!0),z=this.crispCol(0,Math.min(T,B),0,Math.abs(T-B));l=z.y,d=z.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min(X(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),ue(v,{brBoxHeight:d,brBoxY:l,r:p})}}}}function A(m,w){return J(m)||(m={radius:m||0}),te(E,w,m)}function I(){let m=A(this.options.borderRadius);for(let w of this.points){let G=w.shapeArgs;G&&(G.borderRadius=X(m.radius,(G.r||0)-(G.innerR||0)))}}function _(m,w,G,O,f={}){let a=F(m,w,G,O,f),{r:g=0,brBoxHeight:v=O,brBoxY:o=w}=f,n=w-o,r=o+v-(w+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[m+l,w],T=[m+G-l,w],B=[m+G,w+l],z=[m+G,w+O-d],K=[m+G-d,w+O],U=[m+d,w+O],se=[m,w+O-d],S=[m,w+l],$=(H,x)=>Math.sqrt(Math.pow(H,2)-Math.pow(x,2));if(C){let H=$(l,l-C);p[0]-=H,T[0]+=H,B[1]=S[1]=w+l-C}if(O=ue(P.minWidth,0)&&this.chartHeight>=ue(P.minHeight,0)}).call(this)&&F.push(j._id)}function E(j,F){let I,P=this.options.responsive,D=this.currentResponsive,A=[];!F&&P&&P.rules&&P.rules.forEach(w=>{void 0===w._id&&(w._id=J()),this.matchResponsiveRule(w,A)},this);let _=pe(...A.map(w=>le((P||{}).rules||[],G=>G._id===w)).map(w=>w&&w.chartOptions));_.isResponsiveOptions=!0,A=A.toString()||void 0,A!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,j,!0),A?((I=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:A,mergedOptions:_,undoOptions:I},this.update(_,j,!0)):this.currentResponsive=void 0)}te.compose=function(j){let F=j.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:X,setResponsive:E}),j}}(ne||(ne={})),ne}),Le(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P,D,A,I,_,m,w,G,O,f,a,g,v,o,n,r,l,d,C,k,p,T,B){return q.AST=pe,q.Axis=F,q.Chart=f,q.Color=T,q.DataLabel=d,q.Fx=ve,q.HTMLElement=j,q.Legend=G,q.LegendSymbol=O,q.OverlappingDataLabels=q.OverlappingDataLabels||C,q.PlotLineOrBand=A,q.Point=m,q.Pointer=w,q.RendererRegistry=J,q.Series=o,q.SeriesRegistry=n,q.StackItem=v,q.SVGElement=X,q.SVGRenderer=E,q.Templating=ue,q.Tick=I,q.Time=B,q.Tooltip=_,q.animate=le.animate,q.animObject=le.animObject,q.chart=f.chart,q.color=T.parse,q.dateFormat=ue.dateFormat,q.defaultOptions=re.defaultOptions,q.distribute=te.distribute,q.format=ue.format,q.getDeferredAnimation=le.getDeferredAnimation,q.getOptions=re.getOptions,q.numberFormat=ue.numberFormat,q.seriesType=n.seriesType,q.setAnimation=le.setAnimation,q.setOptions=re.setOptions,q.stop=le.stop,q.time=re.defaultTime,q.timers=ve.timers,k.compose(q.Series,q.SVGElement,q.SVGRenderer),r.compose(q.Series.types.column),d.compose(q.Series),P.compose(q.Axis),j.compose(q.SVGRenderer),G.compose(q.Chart),D.compose(q.Axis),C.compose(q.Chart),l.compose(q.Series.types.pie),A.compose(q.Axis),w.compose(q.Chart),p.compose(q.Chart),a.compose(q.Axis,q.Chart,q.Series),g.compose(q.Axis,q.Chart,q.Series),_.compose(q.Pointer),ne.extend(q,ne),q}),Le(V,"Extensions/ArrowSymbols.js",[],function(){function q(le,pe,ue,J){return[["M",le,pe+J/2],["L",le+ue,pe],["L",le,pe+J/2],["L",le+ue,pe+J]]}function ne(le,pe,ue,J){return q(le,pe,ue/2,J)}function re(le,pe,ue,J){return[["M",le+ue,pe],["L",le,pe+J/2],["L",le+ue,pe+J],["Z"]]}function ve(le,pe,ue,J){return re(le,pe,ue/2,J)}return{compose:function(le){let pe=le.prototype.symbols;pe.arrow=q,pe["arrow-filled"]=re,pe["arrow-filled-half"]=ve,pe["arrow-half"]=ne,pe["triangle-left"]=re,pe["triangle-left-half"]=ve}}}),Le(V,"Gantt/Connection.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,error:ve,merge:le,objectEach:pe}=ne,ue=q.deg2rad,J=Math.max,te=Math.min;return class{constructor(X,E,j){this.init(X,E,j)}init(X,E,j){this.fromPoint=X,this.toPoint=E,this.options=j,this.chart=X.series.chart,this.pathfinder=this.chart.pathfinder}renderPath(X,E){let j=this.chart,F=j.styledMode,P=this.pathfinder,D={},A=this.graphics&&this.graphics.path;P.group||(P.group=j.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(j.seriesGroup)),P.group.translate(j.plotLeft,j.plotTop),A&&A.renderer||(A=j.renderer.path().add(P.group),F||A.attr({opacity:0})),A.attr(E),D.d=X,F||(D.opacity=1),A.animate(D),this.graphics=this.graphics||{},this.graphics.path=A}addMarker(X,E,j){let F,P,D,A,I,_,m,w,G=this.fromPoint.series.chart,O=G.pathfinder,f=G.renderer,a="start"===X?this.fromPoint:this.toPoint,g=a.getPathfinderAnchorPoint(E);E.enabled&&((w="start"===X?j[1]:j[j.length-2])&&"M"===w[0]||"L"===w[0])&&(m={x:w[1],y:w[2]},P=a.getRadiansToVector(m,g),F=a.getMarkerVector(P,E.radius,g),D=-P/ue,E.width&&E.height?(I=E.width,_=E.height):I=_=2*E.radius,this.graphics=this.graphics||{},A={x:F.x-I/2,y:F.y-_/2,width:I,height:_,rotation:D,rotationOriginX:F.x,rotationOriginY:F.y},this.graphics[X]?this.graphics[X].animate(A):(this.graphics[X]=f.symbol(E.symbol).addClass("highcharts-point-connecting-path-"+X+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(A).add(O.group),f.styledMode||this.graphics[X].attr({fill:E.color||this.fromPoint.color,stroke:E.lineColor,"stroke-width":E.lineWidth,opacity:0}).animate({opacity:1},a.series.options.animation)))}getPath(X){let E=this.pathfinder,j=this.chart,F=E.algorithms[X.type],P=E.chartObstacles;return"function"!=typeof F?(ve('"'+X.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(F.requiresObstacles&&!P&&(P=E.chartObstacles=E.getChartObstacles(X),j.options.connectors.algorithmMargin=X.algorithmMargin,E.chartObstacleMetrics=E.getObstacleMetrics(P)),F(this.fromPoint.getPathfinderAnchorPoint(X.startMarker),this.toPoint.getPathfinderAnchorPoint(X.endMarker),le({chartObstacles:P,lineObstacles:E.lineObstacles||[],obstacleMetrics:E.chartObstacleMetrics,hardBounds:{xMin:0,xMax:j.plotWidth,yMin:0,yMax:j.plotHeight},obstacleOptions:{margin:X.algorithmMargin},startDirectionX:E.getAlgorithmStartDirection(X.startMarker)},X)))}render(){let X=this.fromPoint,E=X.series,j=E.chart,F=j.pathfinder,P={},D=le(j.options.connectors,E.options.connectors,X.options.connectors,this.options);!j.styledMode&&(P.stroke=D.lineColor||X.color,P["stroke-width"]=D.lineWidth,D.dashStyle&&(P.dashstyle=D.dashStyle)),P.class="highcharts-point-connecting-path highcharts-color-"+X.colorIndex,re((D=le(P,D)).marker.radius)||(D.marker.radius=te(J(Math.ceil((D.algorithmMargin||8)/2)-1,1),5));let A=this.getPath(D),I=A.path;A.obstacles&&(F.lineObstacles=F.lineObstacles||[],F.lineObstacles=F.lineObstacles.concat(A.obstacles)),this.renderPath(I,P),this.addMarker("start",le(D.marker,D.startMarker),I),this.addMarker("end",le(D.marker,D.endMarker),I)}destroy(){this.graphics&&(pe(this.graphics,function(X){X.destroy()}),delete this.graphics)}}}),Le(V,"Extensions/CurrentDateIndication.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{composed:re}=q,{addEvent:ve,merge:le,pushUnique:pe,wrap:ue}=ne,J={color:"#ccd3ff",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(j,F){return this.axis.chart.time.dateFormat(F||"",j)},rotation:0,style:{fontSize:"0.7em"}}};function te(){let j=this.options,F=j.currentDateIndicator;if(F){let P="object"==typeof F?le(J,F):le(J);P.value=Date.now(),P.className="highcharts-current-date-indicator",j.plotLines||(j.plotLines=[]),j.plotLines.push(P)}}function X(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}function E(j,F){let P=this.options;return P&&P.className&&-1!==P.className.indexOf("highcharts-current-date-indicator")&&P.label&&"function"==typeof P.label.formatter?(P.value=Date.now(),P.label.formatter.call(this,P.value,P.label.format)):j.call(this,F)}return{compose:function(j,F){pe(re,"CurrentDateIndication")&&(ve(j,"afterSetOptions",te),ve(F,"render",X),ue(F.prototype,"getLabelText",E))}}}),Le(V,"Core/Chart/GanttChart.js",[V["Core/Chart/Chart.js"],V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{defaultOptions:le}=ne,{isArray:pe,merge:ue,splat:J}=re;class te extends q{init(E,j){let F,P=E.xAxis,D=E.yAxis;E.xAxis=E.yAxis=void 0;let A=ue(!0,{chart:{type:"gantt"},title:{text:""},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},E,{isGantt:!0});E.xAxis=P,E.yAxis=D,A.xAxis=(pe(E.xAxis)?E.xAxis:[E.xAxis||{},{}]).map((I,_)=>(1===_&&(F=0),ue({grid:{borderColor:"#cccccc",enabled:!0},opposite:le.xAxis?.opposite??I.opposite??!0,linkedTo:F},I,{type:"datetime"}))),A.yAxis=J(E.yAxis||{}).map(I=>ue({grid:{borderColor:"#cccccc",enabled:!0},staticScale:50,reversed:!0,type:I.categories?I.type:"treegrid"},I)),super.init(A,j)}}return(ve=te||(te={})).ganttChart=function(X,E,j){return new ve(X,E,j)},te}),Le(V,"Stock/Navigator/ChartNavigatorComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let re,{isTouchDevice:ve}=q,{addEvent:le,merge:pe,pick:ue}=ne,J=[];function te(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function X(){let A,I,_,m=this.legend,w=this.navigator;if(w){A=m&&m.options,I=w.xAxis,_=w.yAxis;let{scrollbarHeight:G,scrollButtonSize:O}=w;this.inverted?(w.left=w.opposite?this.chartWidth-G-w.height:this.spacing[3]+G,w.top=this.plotTop+O):(w.left=ue(I.left,this.plotLeft+O),w.top=w.navigatorOptions.top||this.chartHeight-w.height-G-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(A&&"bottom"===A.verticalAlign&&"proximate"!==A.layout&&A.enabled&&!A.floating?m.legendHeight+ue(A.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),I&&_&&(this.inverted?I.options.left=_.options.left=w.left:I.options.top=_.options.top=w.top,I.setAxisSize(),_.setAxisSize())}}function E(A){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this),ue(A.redraw,!0)&&this.redraw(A.animation))}function j(){let A=this.options;(A.navigator.enabled||A.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this))}function F(){let A=this.options,I=A.navigator,_=A.rangeSelector;if((I&&I.enabled||_&&_.enabled)&&(!ve&&"x"===this.zooming.type||ve&&"x"===this.zooming.pinchType))return!1}function P(A){let I=A.navigator;if(I&&A.xAxis[0]){let _=A.xAxis[0].getExtremes();I.render(_.min,_.max)}}function D(A){let I=A.options.navigator||{},_=A.options.scrollbar||{};!this.navigator&&!this.scroller&&(I.enabled||_.enabled)&&(pe(!0,this.options.navigator,I),pe(!0,this.options.scrollbar,_),delete A.options.navigator,delete A.options.scrollbar)}return{compose:function(A,I){ne.pushUnique(J,A)&&(re=I,A.prototype.callbacks.push(P),le(A,"afterAddSeries",te),le(A,"afterSetChartSize",X),le(A,"afterUpdate",E),le(A,"beforeRender",j),le(A,"beforeShowResetZoom",F),le(A,"update",D))}}}),Le(V,"Core/Axis/NavigatorAxisComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isTouchDevice:re}=q,{addEvent:ve,correctFloat:le,defined:pe,isNumber:ue,pick:J}=ne;function te(){this.navigatorAxis||(this.navigatorAxis=new E(this))}function X(j){let F,P=this.chart,D=P.options,A=D.navigator,I=this.navigatorAxis,_=P.zooming.pinchType,m=D.rangeSelector,w=P.zooming.type;if(this.isXAxis&&(A?.enabled||m?.enabled))if("y"===w&&"zoom"===j.trigger)F=!1;else if(("zoom"===j.trigger&&"xy"===w||re&&"xy"===_)&&this.options.range){let G=I.previousZoom;pe(j.min)?I.previousZoom=[this.min,this.max]:G&&(j.min=G[0],j.max=G[1],I.previousZoom=void 0)}void 0!==F&&j.preventDefault()}class E{static compose(F){F.keepProps.includes("navigatorAxis")||(F.keepProps.push("navigatorAxis"),ve(F,"init",te),ve(F,"setExtremes",X))}constructor(F){this.axis=F}destroy(){this.axis=void 0}toFixedRange(F,P,D,A){let I=this.axis,_=I.chart,m=J(I.ordinal?.convertOverscroll(I.options.overscroll),0),w=J(D,I.translate(F,!0,!I.horiz)),G=J(A,I.translate(P,!0,!I.horiz)),O=_&&_.fixedRange,f=(I.pointRange||0)/2;if(pe(D)||(w=le(w+f)),pe(A)||(G=le(G-f)),O&&I.dataMin&&I.dataMax){let a=I.dataMax+m;G>=a&&(w=le(a-O),G=le(a)),w<=I.dataMin&&(G=le(I.dataMin+O))}return ue(w)&&ue(G)||(w=G=void 0),{min:w,max:G}}}return E}),Le(V,"Stock/Navigator/NavigatorDefaults.js",[V["Core/Color/Color.js"],V["Core/Series/SeriesRegistry.js"]],function(q,ne){let{parse:re}=q,{seriesTypes:ve}=ne;return{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:re("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===ve.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),Le(V,"Stock/Navigator/NavigatorSymbols.js",[],function(){return{"navigator-handle":function(q,ne,re,ve,le={}){let pe=le.width?le.width/2:re,ue=Math.round(pe/3)+.5;return[["M",-pe-1,.5],["L",pe,.5],["L",pe,(ve=le.height||ve)+.5],["L",-pe-1,ve+.5],["L",-pe-1,.5],["M",-ue,4],["L",-ue,ve-3],["M",ue-1,4],["L",ue-1,ve-3]]}}}),Le(V,"Stock/Utilities/StockUtilities.js",[V["Core/Utilities.js"]],function(q){let{defined:ne}=q;return{setFixedRange:function(re){let ve=this.xAxis[0];this.fixedRange=ne(ve.dataMax)&&ne(ve.dataMin)&&re?Math.min(re,ve.dataMax-ve.dataMin):re}}}),Le(V,"Stock/Navigator/NavigatorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorDefaults.js"],V["Stock/Navigator/NavigatorSymbols.js"],V["Core/Renderer/RendererRegistry.js"],V["Stock/Utilities/StockUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{setOptions:te}=q,{composed:X}=ne,{getRendererType:E}=pe,{setFixedRange:j}=ue,{addEvent:F,extend:P,pushUnique:D}=J;function A(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(I,_,m){re.compose(_),D(X,"Navigator")&&(I.prototype.setFixedRange=j,P(E().prototype.symbols,le),F(m,"afterUpdate",A),te({navigator:ve}))}}}),Le(V,"Core/Axis/ScrollbarAxis.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{composed:ve}=q,{addEvent:le,defined:pe,pick:ue,pushUnique:J}=ne;return function(te){let X;function E(D){let A=ue(D.options&&D.options.min,D.min),I=ue(D.options&&D.options.max,D.max);return{axisMin:A,axisMax:I,scrollMin:pe(D.dataMin)?Math.min(A,D.min,D.dataMin,ue(D.threshold,1/0)):A,scrollMax:pe(D.dataMax)?Math.max(I,D.max,D.dataMax,ue(D.threshold,-1/0)):I}}function j(){let D=this.scrollbar,I=this.horiz?2:D&&!D.options.opposite?3:1;D&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[I]+=D.size+(D.options.margin||0))}function F(){let D=this;D.options&&D.options.scrollbar&&D.options.scrollbar.enabled&&(D.options.scrollbar.vertical=!D.horiz,D.options.startOnTick=D.options.endOnTick=!1,D.scrollbar=new X(D.chart.renderer,D.options.scrollbar,D.chart),le(D.scrollbar,"changed",function(A){let I,_,{axisMin:m,axisMax:w,scrollMin:G,scrollMax:O}=E(D),f=O-G;pe(m)&&pe(w)&&(D.horiz&&!D.reversed||!D.horiz&&D.reversed?(I=G+f*this.to,_=G+f*this.from):(I=G+f*(1-this.from),_=G+f*(1-this.to)),this.shouldUpdateExtremes(A.DOMType)?D.setExtremes(_,I,!0,"mousemove"!==A.DOMType&&"touchmove"!==A.DOMType&&void 0,A):this.setRange(this.from,this.to))}))}function P(){let D,A,I,{scrollMin:_,scrollMax:m}=E(this),w=this.scrollbar,G=this.axisTitleMargin+(this.titleOffset||0),O=this.chart.scrollbarsOffsets,f=this.options.margin||0;if(w&&O){if(this.horiz)this.opposite||(O[1]+=G),w.position(this.left,this.top+this.height+2+O[1]-(this.opposite?f:0),this.width,this.height),this.opposite||(O[1]+=f),D=1;else{let a;this.opposite&&(O[0]+=G),a=w.options.opposite?this.left+this.width+2+O[0]-(this.opposite?0:f):this.opposite?0:f,w.position(a,this.top,this.width,this.height),this.opposite&&(O[0]+=f),D=0}O[D]+=w.size+(w.options.margin||0),isNaN(_)||isNaN(m)||!pe(this.min)||!pe(this.max)||this.min===this.max?w.setRange(0,1):(A=(this.min-_)/(m-_),I=(this.max-_)/(m-_),this.horiz&&!this.reversed||!this.horiz&&this.reversed?w.setRange(A,I):w.setRange(1-I,1-A))}}te.compose=function(D,A){J(ve,"Axis.Scrollbar")&&(X=A,le(D,"afterGetOffset",j),le(D,"afterInit",F),le(D,"afterRender",P))}}(re||(re={})),re}),Le(V,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),Le(V,"Stock/Scrollbar/Scrollbar.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/ScrollbarAxis.js"],V["Stock/Scrollbar/ScrollbarDefaults.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{defaultOptions:pe}=q,{addEvent:ue,correctFloat:J,defined:te,destroyObjectProperties:X,fireEvent:E,merge:j,pick:F,removeEvent:P}=le;class D{static compose(I){re.compose(I,D)}static swapXY(I,_){return _&&I.forEach(m=>{let w,G=m.length;for(let O=0;Othis.calculatedWidth?_.minWidth:0;return{chartX:(I.chartX-this.x-this.xOffset)/(this.barWidth-m),chartY:(I.chartY-this.y-this.yOffset)/(this.barWidth-m)}}destroy(){let I=this,_=I.chart.scroller;I.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(m){I[m]&&I[m].destroy&&(I[m]=I[m].destroy())}),_&&I===_.scrollbar&&(_.scrollbar=null,X(_.scrollbarButtons))}drawScrollbarButton(I){let _=this.renderer,m=this.scrollbarButtons,w=this.options,G=this.size,O=_.g().add(this.group);if(m.push(O),w.buttonsEnabled){let f=_.rect().addClass("highcharts-scrollbar-button").add(O);this.chart.styledMode||f.attr({stroke:w.buttonBorderColor,"stroke-width":w.buttonBorderWidth,fill:w.buttonBackgroundColor}),f.attr(f.crisp({x:-.5,y:-.5,width:G+1,height:G+1,r:w.buttonBorderRadius},f.strokeWidth()));let a=_.path(D.swapXY([["M",G/2+(I?-1:1),G/2-3],["L",G/2+(I?-1:1),G/2+3],["L",G/2+(I?2:-2),G/2]],w.vertical)).addClass("highcharts-scrollbar-arrow").add(m[I]);this.chart.styledMode||a.attr({fill:w.buttonArrowColor})}}init(I,_,m){this.scrollbarButtons=[],this.renderer=I,this.userOptions=_,this.options=j(ve,pe.scrollbar,_),this.options.margin=F(this.options.margin,10),this.chart=m,this.size=F(this.options.size,this.options.height),_.enabled&&(this.render(),this.addEvents())}mouseDownHandler(I){let _=this.chart.pointer?.normalize(I)||I,m=this.cursorToScrollbarPosition(_);this.chartX=m.chartX,this.chartY=m.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(I){let _,m=this.chart.pointer?.normalize(I)||I,w=this.options.vertical?"chartY":"chartX",G=this.initPositions||[];this.grabbedCenter&&(!I.touches||0!==I.touches[0][w])&&(_=this.cursorToScrollbarPosition(m)[w]-this[w],this.hasDragged=!0,this.updatePosition(G[0]+_,G[1]+_),this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:I.type,DOMEvent:I}))}mouseUpHandler(I){this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:I.type,DOMEvent:I}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(I,_,m,w){let{buttonsEnabled:G,margin:O=0,vertical:f}=this.options,a=this.rendered?"animate":"attr",g=w,v=0;this.group.show(),this.x=I,this.y=_+this.trackBorderWidth,this.width=m,this.height=w,this.xOffset=g,this.yOffset=v,f?(this.width=this.yOffset=m=v=this.size,this.xOffset=g=0,this.yOffset=v=G?this.size:0,this.barWidth=w-(G?2*m:0),this.x=I+=O):(this.height=w=this.size,this.xOffset=g=G?this.size:0,this.barWidth=m-(G?2*w:0),this.y=this.y+O),this.group[a]({translateX:I,translateY:this.y}),this.track[a]({width:m,height:w}),this.scrollbarButtons[1][a]({translateX:f?0:m-g,translateY:f?w-v:0})}removeEvents(){this._events.forEach(function(I){P.apply(null,I)}),this._events.length=0}render(){let I=this.renderer,_=this.options,m=this.size,w=this.chart.styledMode,G=I.g("scrollbar").attr({zIndex:_.zIndex}).hide().add();this.group=G,this.track=I.rect().addClass("highcharts-scrollbar-track").attr({r:_.trackBorderRadius||0,height:m,width:m}).add(G),w||this.track.attr({fill:_.trackBackgroundColor,stroke:_.trackBorderColor,"stroke-width":_.trackBorderWidth});let O=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-O%2/2,y:-O%2/2}),this.scrollbarGroup=I.g().add(G),this.scrollbar=I.rect().addClass("highcharts-scrollbar-thumb").attr({height:m-O,width:m-O,r:_.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=I.path(D.swapXY([["M",-3,m/4],["L",-3,2*m/3],["M",0,m/4],["L",0,2*m/3],["M",3,m/4],["L",3,2*m/3]],_.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),w||(this.scrollbar.attr({fill:_.barBackgroundColor,stroke:_.barBorderColor,"stroke-width":_.barBorderWidth}),this.scrollbarRifles.attr({stroke:_.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(I,_){let m,w,G=this.options,O=G.vertical,f=G.minWidth,a=this.barWidth,g=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!te(a))return;let v=a*Math.min(_,1);m=Math.ceil(a*(I=Math.max(I,0))),this.calculatedWidth=w=J(v-m),w=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(I){return F(this.options.liveRedraw,ne.svg&&!ne.isTouchDevice&&!this.chart.boosted)||"mouseup"===I||"touchend"===I||!te(I)}trackClick(I){let _=this.chart.pointer?.normalize(I)||I,m=this.to-this.from;this.options.vertical&&_.chartY>this.y+this.scrollbarTop||!this.options.vertical&&_.chartX>this.x+this.scrollbarLeft?this.updatePosition(this.from+m,this.to+m):this.updatePosition(this.from-m,this.to-m),E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:I})}update(I){this.destroy(),this.init(this.chart.renderer,j(!0,this.options,I),this.chart)}updatePosition(I,_){_>1&&(I=J(1-J(_-I)),_=1),I<0&&(_=J(_-I),I=0),this.from=I,this.to=_}}return D.defaultOptions=ve,pe.scrollbar=j(!0,D.defaultOptions,pe.scrollbar),D}),Le(V,"Stock/Navigator/Navigator.js",[V["Core/Axis/Axis.js"],V["Stock/Navigator/ChartNavigatorComposition.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorComposition.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{defaultOptions:te}=re,{isTouchDevice:X}=ve,{addEvent:E,clamp:j,correctFloat:F,defined:P,destroyObjectProperties:D,erase:A,extend:I,find:_,fireEvent:m,isArray:w,isNumber:G,merge:O,pick:f,removeEvent:a,splat:g}=J;function v(n,...r){let l=[].filter.call(r,G);if(l.length)return Math[n].apply(0,l)}class o{static compose(r,l,d){ne.compose(r,o),pe.compose(r,l,d)}constructor(r){this.scrollbarHeight=0,this.init(r)}drawHandle(r,l,d,C){let k=this.navigatorOptions.handles.height;this.handles[l][C](d?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(r,10)+.5-k)}:{translateX:Math.round(this.left+parseInt(r,10)),translateY:Math.round(this.top+this.height/2-k/2-1)})}drawOutline(r,l,d,C){let x,N,k=this.navigatorOptions.maskInside,p=this.outline.strokeWidth(),T=p/2,B=p%2/2,z=this.scrollButtonSize,K=this.size,U=this.top,se=this.height,S=U-T,$=U+se,H=this.left;d?(x=U+l+B,N=[["M",H+se,U-z-B],["L",H+se,x],["L",H,x],["M",H,l=U+r+B],["L",H+se,l],["L",H+se,U+K+z]],k&&N.push(["M",H+se,x-T],["L",H+se,l+T])):(H-=z,N=[["M",H,S],["L",r+=H+z-B,S],["L",r,$],["M",l+=H+z-B,$],["L",l,S],["L",H+K+2*z,U+T]],k&&N.push(["M",r-T,S],["L",l+T,S])),this.outline[C]({d:N})}drawMasks(r,l,d,C){let k,p,T,B,z=this.left,K=this.top,U=this.height;d?(T=[z,z,z],B=[K,K+r,K+l],p=[U,U,U],k=[r,l-r,this.size-l]):(T=[z,z+r,z+l],B=[K,K,K],p=[r,l-r,this.size-l],k=[U,U,U]),this.shades.forEach((se,S)=>{se[C]({x:T[S],y:B[S],width:p[S],height:k[S]})})}renderElements(){let r=this,l=r.navigatorOptions,d=l.maskInside,C=r.chart,p=C.renderer,T={cursor:C.inverted?"ns-resize":"ew-resize"},B=r.navigatorGroup=p.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();if([!d,d,!d].forEach((z,K)=>{let U=p.rect().addClass("highcharts-navigator-mask"+(1===K?"-inside":"-outside")).add(B);C.styledMode||(U.attr({fill:z?l.maskFill:"rgba(0,0,0,0)"}),1===K&&U.css(T)),r.shades[K]=U}),r.outline=p.path().addClass("highcharts-navigator-outline").add(B),C.styledMode||r.outline.attr({"stroke-width":l.outlineWidth,stroke:l.outlineColor}),l.handles&&l.handles.enabled){let z=l.handles,{height:K,width:U}=z;[0,1].forEach(se=>{r.handles[se]=p.symbol(z.symbols[se],-U/2-1,0,U,K,z),C.inverted&&r.handles[se].attr({rotation:90,rotationOriginX:Math.floor(-U/2),rotationOriginY:(K+U)/2}),r.handles[se].attr({zIndex:7-se}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][se]).add(B),C.styledMode||r.handles[se].attr({fill:z.backgroundColor,stroke:z.borderColor,"stroke-width":z.lineWidth}).css(T)})}}update(r){(this.series||[]).forEach(l=>{l.baseSeries&&delete l.baseSeries.navigatorSeries}),this.destroy(),O(!0,this.chart.options.navigator,r),this.init(this.chart)}render(r,l,d,C){let H,x,N,Z,Y,k=this.chart,p=this.xAxis,T=p.pointRange||0,B=p.navigatorAxis.fake?k.xAxis[0]:p,z=this.navigatorEnabled,K=this.rendered,U=k.inverted,se=k.xAxis[0].minRange,S=k.xAxis[0].options.maxRange,$=this.scrollButtonSize,R=this.scrollbarHeight;if(this.hasDragged&&!P(d))return;if(r=F(r-T/2),l=F(l+T/2),!G(r)||!G(l)){if(!K)return;d=0,C=f(p.width,B.width)}this.left=f(p.left,k.plotLeft+$+(U?k.plotWidth:0));let he=this.size=Z=f(p.len,(U?k.plotHeight:k.plotWidth)-2*$);H=U?R:Z+2*$,d=f(d,p.toPixels(r,!0)),C=f(C,p.toPixels(l,!0)),G(d)&&Math.abs(d)!==1/0||(d=0,C=H);let ge=p.toValue(d,!0),_e=p.toValue(C,!0),Te=Math.abs(F(_e-ge));TeS&&(this.grabbedLeft?d=p.toPixels(_e-S-T,!0):this.grabbedRight&&(C=p.toPixels(ge+S+T,!0))),this.zoomedMax=j(Math.max(d,C),0,he),this.zoomedMin=j(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,C),0,he),this.range=this.zoomedMax-this.zoomedMin,he=Math.round(this.zoomedMax);let Oe=Math.round(this.zoomedMin);z&&(this.navigatorGroup.attr({visibility:"inherit"}),Y=K&&!this.hasDragged?"animate":"attr",this.drawMasks(Oe,he,U,Y),this.drawOutline(Oe,he,U,Y),this.navigatorOptions.handles.enabled&&(this.drawHandle(Oe,0,U,Y),this.drawHandle(he,1,U,Y))),this.scrollbar&&(U?(N=this.top-$,x=this.left-R+(z||!B.opposite?0:(B.titleOffset||0)+B.axisTitleMargin),R=Z+2*$):(N=this.top+(z?this.height:-R),x=this.left-$),this.scrollbar.position(x,N,H,R),this.scrollbar.setRange(this.zoomedMin/(Z||1),this.zoomedMax/(Z||1))),this.rendered=!0,m(this,"afterRender")}addMouseEvents(){let k,p,r=this,l=r.chart,d=l.container,C=[];r.mouseMoveHandler=k=function(T){r.onMouseMove(T)},r.mouseUpHandler=p=function(T){r.onMouseUp(T)},(C=r.getPartsEvents("mousedown")).push(E(l.renderTo,"mousemove",k),E(d.ownerDocument,"mouseup",p),E(l.renderTo,"touchmove",k),E(d.ownerDocument,"touchend",p)),C.concat(r.getPartsEvents("touchstart")),r.eventsToUnbind=C,r.series&&r.series[0]&&C.push(E(r.series[0].xAxis,"foundExtremes",function(){l.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(r){let l=this,d=[];return["shades","handles"].forEach(function(C){l[C].forEach(function(k,p){d.push(E(k.element,r,function(T){l[C+"Mousedown"](T,p)}))})}),d}shadesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let K,U,se,S,C=this.xAxis,k=this.zoomedMin,p=this.size,T=this.range,B=this.left,z=r.chartX;this.chart.inverted&&(z=r.chartY,B=this.top),1===l?(this.grabbedCenter=z,this.fixedWidth=T,this.dragOffset=z-k):(S=z-B-T/2,0===l?S=Math.max(0,S):2===l&&S+T>=p&&(S=p-T,this.reversedExtremes?(S-=T,U=this.getUnionExtremes().dataMin):K=this.getUnionExtremes().dataMax),S!==k&&(this.fixedWidth=T,P((se=C.navigatorAxis.toFixedRange(S,S+T,U,K)).min)&&m(this,"setRange",{min:Math.min(se.min,se.max),max:Math.max(se.min,se.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let d=this.chart,C=d.xAxis[0],k=this.reversedExtremes;0===l?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=k?C.min:C.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=k?C.max:C.min),d.setFixedRange(void 0)}onMouseMove(r){let z,l=this,d=l.chart,C=l.navigatorSize,k=l.range,p=l.dragOffset,T=d.inverted,B=l.left;(!r.touches||0!==r.touches[0].pageX)&&(z=(r=d.pointer?.normalize(r)||r).chartX,T&&(B=l.top,z=r.chartY),l.grabbedLeft?(l.hasDragged=!0,l.render(0,0,z-B,l.otherHandlePos)):l.grabbedRight?(l.hasDragged=!0,l.render(0,0,l.otherHandlePos,z-B)):l.grabbedCenter&&(l.hasDragged=!0,zC+p-k&&(z=C+p-k),l.render(0,0,z-p,z-p+k)),l.hasDragged&&l.scrollbar&&f(l.scrollbar.options.liveRedraw,!X&&!this.chart.boosted)&&(r.DOMType=r.type,setTimeout(function(){l.onMouseUp(r)},0)))}onMouseUp(r){let l,d,C,k,p,T,z=this.xAxis,K=this.scrollbar,U=r.DOMEvent||r,se=this.chart.inverted,S=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!K||!K.hasDragged)||"scrollbar"===r.trigger)&&(C=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?k=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(p=this.fixedExtreme),this.zoomedMax===this.size&&(p=this.reversedExtremes?C.dataMin:C.dataMax),0===this.zoomedMin&&(k=this.reversedExtremes?C.dataMax:C.dataMin),P((T=z.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,k,p)).min)&&m(this,"setRange",{min:Math.min(T.min,T.max),max:Math.max(T.min,T.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:U}})),"mousemove"!==r.DOMType&&"touchmove"!==r.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&G(this.zoomedMin)&&G(this.zoomedMax)&&(d=Math.round(this.zoomedMin),l=Math.round(this.zoomedMax),this.shades&&this.drawMasks(d,l,se,S),this.outline&&this.drawOutline(d,l,se,S),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(d,0,se,S),this.drawHandle(l,1,se,S)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(r){r()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let r=this.baseSeries||[];this.navigatorEnabled&&r[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&r.forEach(function(l){a(l,"updatedData",this.updatedDataHandler)},this),r[0].xAxis&&a(r[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(r){let l=r.options,d=l.navigator||{},C=d.enabled,k=l.scrollbar||{},p=k.enabled,T=C&&d.height||0,B=p&&k.height||0,z=k.buttonsEnabled&&B||0;this.handles=[],this.shades=[],this.chart=r,this.setBaseSeries(),this.height=T,this.scrollbarHeight=B,this.scrollButtonSize=z,this.scrollbarEnabled=p,this.navigatorEnabled=C,this.navigatorOptions=d,this.scrollbarOptions=k,this.opposite=f(d.opposite,!(C||!r.inverted));let K=this,U=K.baseSeries,se=r.xAxis.length,S=r.yAxis.length,$=U&&U[0]&&U[0].xAxis||r.xAxis[0]||{options:{}};if(r.isDirtyBox=!0,K.navigatorEnabled?(K.xAxis=new q(r,O({breaks:$.options.breaks,ordinal:$.options.ordinal,overscroll:$.options.overscroll},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:se,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},r.inverted?{offsets:[z,0,-z,0],width:T}:{offsets:[0,-z,0,z],height:T}),"xAxis"),K.yAxis=new q(r,O(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:S,isInternal:!0,reversed:f(d.yAxis&&d.yAxis.reversed,r.yAxis[0]&&r.yAxis[0].reversed,!1),zoomEnabled:!1},r.inverted?{width:T}:{height:T}),"yAxis"),U||d.series.data?K.updateNavigatorSeries(!1):0===r.series.length&&(K.unbindRedraw=E(r,"beforeRedraw",function(){r.series.length>0&&!K.series&&(K.setBaseSeries(),K.unbindRedraw())})),K.reversedExtremes=r.inverted&&!K.xAxis.reversed||!r.inverted&&K.xAxis.reversed,K.renderElements(),K.addMouseEvents()):(K.xAxis={chart:r,navigatorAxis:{fake:!0},translate:function(H,x){let N=r.xAxis[0],R=N.getExtremes(),Z=N.len-2*z,Y=v("min",N.options.min,R.dataMin),he=v("max",N.options.max,R.dataMax)-Y;return x?H*he/Z+Y:Z*(H-Y)/he},toPixels:function(H){return this.translate(H)},toValue:function(H){return this.translate(H,!0)}},K.xAxis.navigatorAxis.axis=K.xAxis,K.xAxis.navigatorAxis.toFixedRange=le.prototype.toFixedRange.bind(K.xAxis.navigatorAxis)),r.options.scrollbar.enabled){let H=O(r.options.scrollbar,{vertical:r.inverted});!G(H.margin)&&K.navigatorEnabled&&(H.margin=r.inverted?-3:3),r.scrollbar=K.scrollbar=new ue(r.renderer,H,r),E(K.scrollbar,"changed",function(x){let N=K.size,R=N*this.to,Z=N*this.from;K.hasDragged=K.scrollbar.hasDragged,K.render(0,0,Z,R),this.shouldUpdateExtremes(x.DOMType)&&setTimeout(function(){K.onMouseUp(x)})})}K.addBaseSeriesEvents(),K.addChartEvents()}getUnionExtremes(r){let l,d=this.chart.xAxis[0],C=this.xAxis,k=C.options,p=d.options;return r&&null===d.dataMin||(l={dataMin:f(k&&k.min,v("min",p.min,d.dataMin,C.dataMin,C.min)),dataMax:f(k&&k.max,v("max",p.max,d.dataMax,C.dataMax,C.max))}),l}setBaseSeries(r,l){let d=this.chart,C=this.baseSeries=[];r=r||d.options&&d.options.navigator.baseSeries||(d.series.length?_(d.series,k=>!k.options.isInternal).index:0),(d.series||[]).forEach((k,p)=>{!k.options.isInternal&&(k.options.showInNavigator||(p===r||k.options.id===r)&&!1!==k.options.showInNavigator)&&C.push(k)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,l)}updateNavigatorSeries(r,l){let B,z,U,d=this,C=d.chart,k=d.baseSeries,p={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},T=d.series=(d.series||[]).filter(se=>{let S=se.baseSeries;return!(0>k.indexOf(S)&&(S&&(a(S,"updatedData",d.updatedDataHandler),delete S.navigatorSeries),se.chart&&se.destroy(),1))}),K=d.navigatorOptions.series;k&&k.length&&k.forEach(se=>{let S=se.navigatorSeries,$=I({color:se.color,visible:se.visible},w(K)?te.navigator.series:K);if(S&&!1===d.navigatorOptions.adaptToUpdatedData)return;p.name="Navigator "+k.length,U=(B=se.options||{}).navigatorOptions||{},$.dataLabels=g($.dataLabels),(z=O(B,p,$,U)).pointRange=f($.pointRange,U.pointRange,te.plotOptions[z.type||"line"].pointRange);let H=U.data||$.data;d.hasNavigatorData=d.hasNavigatorData||!!H,z.data=H||B.data&&B.data.slice(0),S&&S.options?S.update(z,l):(se.navigatorSeries=C.initSeries(z),C.setSortedData(),se.navigatorSeries.baseSeries=se,T.push(se.navigatorSeries))}),(K.data&&!(k&&k.length)||w(K))&&(d.hasNavigatorData=!1,(K=g(K)).forEach((se,S)=>{p.name="Navigator "+(T.length+1),(z=O(te.navigator.series,{color:C.series[S]&&!C.series[S].options.isInternal&&C.series[S].color||C.options.colors[S]||C.options.colors[0]},p,se)).data=se.data,z.data&&(d.hasNavigatorData=!0,T.push(C.initSeries(z)))})),r&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let r=this,l=r.baseSeries||[];l[0]&&l[0].xAxis&&l[0].eventsToUnbind.push(E(l[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),l.forEach(d=>{d.eventsToUnbind.push(E(d,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),d.eventsToUnbind.push(E(d,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&d.xAxis&&d.eventsToUnbind.push(E(d,"updatedData",this.updatedDataHandler)),d.eventsToUnbind.push(E(d,"remove",function(){this.navigatorSeries&&(A(r.series,this.navigatorSeries),P(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(r){return this.baseSeries.reduce(function(l,d){return Math.min(l,d.xData&&d.xData.length?d.xData[0]:l)},r)}modifyNavigatorAxisExtremes(){let r=this.xAxis;if(void 0!==r.getExtremes){let l=this.getUnionExtremes(!0);l&&(l.dataMin!==r.min||l.dataMax!==r.max)&&(r.min=l.dataMin,r.max=l.dataMax)}}modifyBaseAxisExtremes(){let r,l,d=this.chart.navigator,C=this.getExtremes(),T=C.dataMin,B=C.dataMax,z=C.max-C.min,K=d.stickToMin,U=d.stickToMax,se=f(this.ordinal?.convertOverscroll(this.options.overscroll),0),S=d.series&&d.series[0],$=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(K&&(r=(l=T)+z),U&&(r=B+se,K||(l=Math.max(T,r-z,d.getBaseSeriesMin(S&&S.xData?S.xData[0]:-Number.MAX_VALUE)))),$&&(K||U)&&G(l)&&(this.min=this.userMin=l,this.max=this.userMax=r)),d.stickToMin=d.stickToMax=null}updatedDataHandler(){let r=this.chart.navigator,l=this.navigatorSeries,d=r.reversedExtremes?0===Math.round(r.zoomedMin):Math.round(r.zoomedMax)>=Math.round(r.size);r.stickToMax=f(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,d),r.stickToMin=r.shouldStickToMin(this,r),l&&!r.hasNavigatorData&&(l.options.pointStart=this.xData[0],l.setData(this.options.data,!1,null,!1))}shouldStickToMin(r,l){let d=l.getBaseSeriesMin(r.xData[0]),C=r.xAxis,k=C.max,p=C.min,T=C.options.range;return!(!G(k)||!G(p))&&(T&&k-d>0?k-d{r.destroy&&r.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(r=>{this[r]&&this[r].destroy&&this[r].destroy(),this[r]=null}),[this.handles].forEach(r=>{D(r)})}}return o}),Le(V,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),Le(V,"Stock/RangeSelector/RangeSelectorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorDefaults.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let le,{defaultOptions:pe}=q,{composed:ue}=ne,{addEvent:J,defined:te,extend:X,find:E,isNumber:j,merge:F,pick:P,pushUnique:D}=ve,A=[];function I(){let g,v,o=this.range,n=o.type,r=this.max,l=this.chart.time,d=function(k,p){let T="year"===n?"FullYear":"Month",B=new l.Date(k),z=l.get(T,B);return l.set(T,B,z+p),z===l.get(T,B)&&l.set("Date",B,0),B.getTime()-k};j(o)?(g=r-o,v=o):o&&(g=r+d(r,-(o.count||1)),this.chart&&this.chart.setFixedRange(r-g));let C=P(this.dataMin,Number.MIN_VALUE);return j(g)||(g=C),g<=C&&(g=C,void 0===v&&(v=d(g,o.count)),this.newMax=Math.min(g+v,P(this.dataMax,Number.MAX_VALUE))),j(r)?!j(o)&&o&&o._offsetMin&&(g+=o._offsetMin):g=void 0,g}function _(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new le(this))}function m(){let g=this.axes,v=this.rangeSelector;if(v){j(v.deferredYTDClick)&&(v.clickButton(v.deferredYTDClick),delete v.deferredYTDClick),g.forEach(n=>{n.updateNames(),n.setScale()}),this.getAxisMargins(),v.render();let o=v.options.verticalAlign;v.options.floating||("bottom"===o?this.extraBottomMargin=!0:"middle"===o||(this.extraTopMargin=!0))}}function w(g){let v,o,n,r,l=g.rangeSelector,d=()=>{l&&(v=g.xAxis[0].getExtremes(),o=g.legend,r=l&&l.options.verticalAlign,j(v.min)&&l.render(v.min,v.max),o.display&&"top"===r&&r===o.options.verticalAlign&&(n=F(g.spacingBox),"vertical"===o.options.layout?n.y=g.plotTop:n.y+=l.getHeight(),o.group.placed=!1,o.align(n)))};l&&(E(A,C=>C[0]===g)||A.push([g,[J(g.xAxis[0],"afterSetExtremes",function(C){l&&l.render(C.min,C.max)}),J(g,"redraw",d)]]),d())}function G(){for(let g=0,v=A.length;gn()),void A.splice(g,1)}}function O(){let g=this.rangeSelector;if(g){let v=g.getHeight();this.extraTopMargin&&(this.plotTop+=v),this.extraBottomMargin&&(this.marginBottom+=v)}}function f(){let g=this.rangeSelector;if(g&&!g.options.floating){g.render();let v=g.options.verticalAlign;"bottom"===v?this.extraBottomMargin=!0:"middle"!==v&&(this.extraTopMargin=!0)}}function a(g){let v=g.options.rangeSelector,o=this.extraBottomMargin,n=this.extraTopMargin,r=this.rangeSelector;if(v&&v.enabled&&!te(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new le(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){w(this);let l=v&&v.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===l?this.extraBottomMargin=!0:"middle"===l||(this.extraTopMargin=!0)),(this.extraBottomMargin!==o||this.extraTopMargin!==n)&&(this.isDirtyBox=!0)}}return{compose:function(g,v,o){if(le=o,D(ue,"RangeSelector")){let n=v.prototype;g.prototype.minFromRange=I,J(v,"afterGetContainer",_),J(v,"beforeRender",m),J(v,"destroy",G),J(v,"getMargins",O),J(v,"render",f),J(v,"update",a),n.callbacks.push(w),X(pe,{rangeSelector:re.rangeSelector}),X(pe.lang,re.lang)}}}}),Le(V,"Stock/RangeSelector/RangeSelector.js",[V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorComposition.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{defaultOptions:ue}=ne,{addEvent:J,createElement:te,css:X,defined:E,destroyObjectProperties:j,discardElement:F,extend:P,fireEvent:D,isNumber:A,merge:I,objectEach:_,pad:m,pick:w,pInt:G,splat:O}=pe;class f{static compose(g,v){ve.compose(g,v,f)}constructor(g){this.buttonOptions=f.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.chart=g,this.init(g)}clickButton(g,v){let T,z,U,se,S,$,H,o=this.chart,n=this.buttonOptions[g],r=o.xAxis[0],l=o.scroller&&o.scroller.getUnionExtremes()||r||{},d=n.type,C=n.dataGrouping,k=l.dataMin,p=l.dataMax,B=r&&Math.round(Math.min(r.max,w(p,r.max))),K=n._range,x=!0;if(null!==k&&null!==p){if(this.setSelected(g),C&&(this.forcedDataGrouping=!0,q.prototype.setDataGrouping.call(r||{chart:this.chart},C,!1),this.frozenStates=n.preserveDataGrouping),"month"===d||"year"===d)r?($={range:n,max:B,chart:o,dataMin:k,dataMax:p},T=r.minFromRange.call($),A($.newMax)&&(B=$.newMax),x=!1):K=n;else if(K)B=Math.min((T=Math.max(B-K,k))+K,p),x=!1;else if("ytd"===d){if(!r)return void(this.deferredYTDClick=g);(void 0===p||void 0===k)&&(k=Number.MAX_VALUE,p=Number.MIN_VALUE,o.series.forEach(N=>{let R=N.xData;R&&(k=Math.min(R[0],k),p=Math.max(R[R.length-1],p))}),v=!1),T=U=(H=this.getYTDExtremes(p,k,o.time.useUTC)).min,B=H.max}else"all"===d&&r&&(o.navigator&&o.navigator.baseSeries[0]&&(o.navigator.baseSeries[0].xAxis.options.range=void 0),T=k,B=p);x&&n._offsetMin&&E(T)&&(T+=n._offsetMin),n._offsetMax&&E(B)&&(B+=n._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=g+1),r?(r.setExtremes(T,B,w(v,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:n}),o.setFixedRange(n._range)):(S=(z=O(o.options.xAxis)[0]).range,z.range=K,se=z.min,z.min=U,J(o,"load",function(){o.setFixedRange(n._range),z.range=S,z.min=se})),D(this,"afterBtnClick")}}setSelected(g){this.selected=this.options.selected=g}init(g){let v=this,o=g.options.rangeSelector,n=o.buttons||v.defaultButtons.slice(),r=o.selected,l=function(){let d=v.minInput,C=v.maxInput;d&&d.blur&&D(d,"blur"),C&&C.blur&&D(C,"blur")};v.chart=g,v.options=o,v.buttons=[],v.buttonOptions=n,this.eventsToUnbind=[],this.eventsToUnbind.push(J(g.container,"mousedown",l)),this.eventsToUnbind.push(J(g,"resize",l)),n.forEach(v.computeButtonRange),void 0!==r&&n[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(J(g,"load",function(){g.xAxis&&g.xAxis[0]&&J(g.xAxis[0],"setExtremes",function(d){A(this.max)&&A(this.min)&&this.max-this.min!==g.fixedRange&&"rangeSelectorButton"!==d.trigger&&"updatedData"!==d.trigger&&v.forcedDataGrouping&&!v.frozenStates&&this.setDataGrouping(!1,!1)})}))}updateButtonStates(){let g=this,v=this.chart,o=this.dropdown,n=v.xAxis[0],r=Math.round(n.max-n.min),l=!n.hasVisibleSeries,d=864e5,C=v.scroller&&v.scroller.getUnionExtremes()||n,k=C.dataMin,p=C.dataMax,T=g.getYTDExtremes(p,k,v.time.useUTC),B=T.min,z=T.max,K=g.selected,U=g.options.allButtonsEnabled,se=g.buttons,S=A(K),$=!1;g.buttonOptions.forEach((H,x)=>{let N=H._range,R=H.type,Z=H.count||1,Y=se[x],he=H._offsetMax-H._offsetMin,ge=x===K,_e=N>p-k,Te=NN&&(oe=!0)}else("month"===R||"year"===R)&&r+36e5>={month:28,year:365}[R]*d*Z-he&&r-36e5<={month:31,year:366}[R]*d*Z+he?oe=!0:"ytd"===R?(oe=z-B+he===r,De=!ge):"all"===R&&(oe=n.max-n.min>=p-k,Be=!ge&&S&&oe);let ee=!U&&!($&&"all"===R)&&(_e||Te||Be||l);ee?Oe=3:($&&"all"===R||ge&&oe||oe&&!S&&!De||ge&&g.frozenStates)&&(S=!0,Oe=2),Y.state!==Oe&&(Y.setState(Oe),o&&(o.options[x+1].disabled=ee,2===Oe&&(o.selectedIndex=x+1)),0===Oe&&K===x?g.setSelected():(2===Oe&&!E(K)||$)&&g.setSelected(x))})}computeButtonRange(g){let v=g.type,o=g.count||1,n={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};n[v]?g._range=n[v]*o:("month"===v||"year"===v)&&(g._range=24*{month:30,year:365}[v]*36e5*o),g._offsetMin=w(g.offsetMin,0),g._offsetMax=w(g.offsetMax,0),g._range+=g._offsetMax-g._offsetMin}getInputValue(g){let v="min"===g?this.minInput:this.maxInput,n=this.chart.time;return v?("text"===v.type&&this.chart.options.rangeSelector.inputDateParser||this.defaultInputDateParser)(v.value,n.useUTC,n):0}setInputValue(g,v){let o=this.options,n=this.chart.time,r="min"===g?this.minInput:this.maxInput,l="min"===g?this.minDateBox:this.maxDateBox;if(r){let d=r.getAttribute("data-hc-time"),C=E(d)?Number(d):void 0;if(E(v)){let k=C;E(k)&&r.setAttribute("data-hc-time-previous",k),r.setAttribute("data-hc-time",v),C=v}r.value=n.dateFormat(this.inputTypeFormats[r.type]||o.inputEditDateFormat,C),l&&l.attr({text:n.dateFormat(o.inputDateFormat,C)})}}setInputExtremes(g,v,o){let n="min"===g?this.minInput:this.maxInput;if(n){let r=this.inputTypeFormats[n.type],l=this.chart.time;if(r){let d=l.dateFormat(r,v);n.min!==d&&(n.min=d);let C=l.dateFormat(r,o);n.max!==C&&(n.max=C)}}}showInput(g){let v="min"===g?this.minDateBox:this.maxDateBox,o="min"===g?this.minInput:this.maxInput;if(o&&v&&this.inputGroup){let n="text"===o.type,{translateX:r=0,translateY:l=0}=this.inputGroup,{x:d=0,width:C=0,height:k=0}=v,{inputBoxWidth:p}=this.options;X(o,{width:n?C+(p?-2:20)+"px":"auto",height:k-2+"px",border:"2px solid silver"}),X(o,n&&p?{left:r+d+"px",top:l+"px"}:{left:Math.min(Math.round(d+r-(o.offsetWidth-C)/2),this.chart.chartWidth-o.offsetWidth)+"px",top:l-(o.offsetHeight-k)/2+"px"})}}hideInput(g){let v="min"===g?this.minInput:this.maxInput;v&&X(v,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(g,v,o){let n=g.split("/").join("-").split(" ").join("T");if(-1===n.indexOf("T")&&(n+="T00:00"),v)n+="Z";else{let l;if(re.isSafari&&(!((l=n).length>6)||l.lastIndexOf("-")!==l.length-6&&l.lastIndexOf("+")!==l.length-6)){let d=new Date(n).getTimezoneOffset()/60;n+=d<=0?`+${m(-d)}:00`:`-${m(d)}:00`}}let r=Date.parse(n);if(!A(r)){let l=g.split("-");r=Date.UTC(G(l[0]),G(l[1])-1,G(l[2]))}return o&&v&&A(r)&&(r+=o.getTimezoneOffset(r)),r}drawInput(g){let{chart:v,div:o,inputGroup:n}=this,r=this,l=v.renderer.style||{},d=v.renderer,C=v.options.rangeSelector,p="min"===g;function T(){let{maxInput:S,minInput:$}=r,H=v.xAxis[0],x=v.scroller&&v.scroller.getUnionExtremes()||H,N=x.dataMin,R=x.dataMax,Z=r.getInputValue(g);Z!==Number(U.getAttribute("data-hc-time-previous"))&&A(Z)&&(U.setAttribute("data-hc-time-previous",Z),p&&S&&A(N)?Z>Number(S.getAttribute("data-hc-time"))?Z=void 0:ZR&&(Z=R)),void 0!==Z&&H.setExtremes(p?Z:H.min,p?H.max:Z,void 0,void 0,{trigger:"rangeSelectorInput"}))}let B=ue.lang[p?"rangeSelectorFrom":"rangeSelectorTo"]||"",z=d.label(B,0).addClass("highcharts-range-label").attr({padding:B?2:0,height:B?C.inputBoxHeight:0}).add(n),K=d.label("",0).addClass("highcharts-range-input").attr({padding:2,width:C.inputBoxWidth,height:C.inputBoxHeight,"text-align":"center"}).on("click",function(){r.showInput(g),r[g+"Input"].focus()});v.styledMode||K.attr({stroke:C.inputBoxBorderColor,"stroke-width":1}),K.add(n);let U=te("input",{name:g,className:"highcharts-range-selector"},void 0,o);U.setAttribute("type",function(S){if(-1!==S.indexOf("%L"))return"text";let $=["a","A","d","e","w","b","B","m","o","y","Y"].some(x=>-1!==S.indexOf("%"+x)),H=["H","k","I","l","M","S"].some(x=>-1!==S.indexOf("%"+x));return $&&H?"datetime-local":$?"date":H?"time":"text"}(C.inputDateFormat||"%e %b %Y")),v.styledMode||(z.css(I(l,C.labelStyle)),K.css(I({color:"#333333"},l,C.inputStyle)),X(U,P({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:l.fontSize,fontFamily:l.fontFamily,top:"-9999em"},C.inputStyle))),U.onfocus=()=>{r.showInput(g)},U.onblur=()=>{U===re.doc.activeElement&&T(),r.hideInput(g),r.setInputValue(g),U.blur()};let se=!1;return U.onchange=()=>{se||(T(),r.hideInput(g),U.blur())},U.onkeypress=S=>{13===S.keyCode&&T()},U.onkeydown=S=>{se=!0,(38===S.keyCode||40===S.keyCode)&&T()},U.onkeyup=()=>{se=!1},{dateBox:K,input:U,label:z}}getPosition(){let g=this.chart,v=g.options.rangeSelector,o="top"===v.verticalAlign?g.plotTop-g.axisOffset[0]:0;return{buttonTop:o+v.buttonPosition.y,inputTop:o+v.inputPosition.y-10}}getYTDExtremes(g,v,o){let n=this.chart.time,r=new n.Date(g),l=n.get("FullYear",r),d=Math.max(v,o?n.Date.UTC(l,0,1):+new n.Date(l,0,1)),C=r.getTime();return{max:Math.min(g||C,C),min:d}}render(g,v){let o=this.chart,n=o.renderer,r=o.container,l=o.options,d=l.rangeSelector,C=w(l.chart.style&&l.chart.style.zIndex,0)+1,k=d.inputEnabled;if(!1!==d.enabled){if(!this.rendered&&(this.group=n.g("range-selector-group").attr({zIndex:7}).add(),this.div=te("div",void 0,{position:"relative",height:0,zIndex:C}),this.buttonOptions.length&&this.renderButtons(),r.parentNode&&r.parentNode.insertBefore(this.div,r),k)){this.inputGroup=n.g("input-group").add(this.group);let T=this.drawInput("min");this.minDateBox=T.dateBox,this.minLabel=T.label,this.minInput=T.input;let B=this.drawInput("max");this.maxDateBox=B.dateBox,this.maxLabel=B.label,this.maxInput=B.input}if(k){this.setInputValue("min",g),this.setInputValue("max",v);let T=o.scroller&&o.scroller.getUnionExtremes()||o.xAxis[0]||{};if(E(T.dataMin)&&E(T.dataMax)){let B=o.xAxis[0].minRange||0;this.setInputExtremes("min",T.dataMin,Math.min(T.dataMax,this.getInputValue("max"))-B),this.setInputExtremes("max",Math.max(T.dataMin,this.getInputValue("min"))+B,T.dataMax)}if(this.inputGroup){let B=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(z=>{if(z){let{width:K}=z.getBBox();K&&(z.attr({x:B}),B+=K+d.inputSpacing)}})}}this.alignElements(),this.rendered=!0}}renderButtons(){let{buttons:g,chart:v,options:o}=this,n=ue.lang,r=v.renderer,l=I(o.buttonTheme),d=l&&l.states,C=l.width||28;delete l.width,delete l.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group);let k=this.dropdown=te("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);J(k,"touchstart",()=>{k.style.fontSize="16px"}),[[re.isMS?"mouseover":"mouseenter"],[re.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(([p,T])=>{J(k,p,()=>{let B=g[this.currentButtonIndex()];B&&D(B.element,T||p)})}),this.zoomText=r.label(n&&n.rangeSelectorZoom||"",0).attr({padding:o.buttonTheme.padding,height:o.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(o.labelStyle),l["stroke-width"]=w(l["stroke-width"],0)),te("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,k),this.buttonOptions.forEach((p,T)=>{te("option",{textContent:p.title||p.text},void 0,k),g[T]=r.button(p.text,0,0,B=>{let z,K=p.events&&p.events.click;K&&(z=K.call(p,B)),!1!==z&&this.clickButton(T),this.isActive=!0},l,d&&d.hover,d&&d.select,d&&d.disabled).attr({"text-align":"center",width:C}).add(this.buttonGroup),p.title&&g[T].attr("title",p.title)})}alignElements(){let{buttonGroup:g,buttons:v,chart:o,group:n,inputGroup:r,options:l,zoomText:d}=this,C=o.options,k=C.exporting&&!1!==C.exporting.enabled&&C.navigation&&C.navigation.buttonOptions,{buttonPosition:p,inputPosition:T,verticalAlign:B}=l,z=(U,se)=>k&&this.titleCollision(o)&&"top"===B&&"right"===se.align&&se.y-U.getBBox().height-12<(k.y||0)+(k.height||0)+o.spacing[0]?-40:0,K=o.plotLeft;if(n&&p&&T){let U=p.x-o.spacing[3];if(g){if(this.positionButtons(),!this.initialButtonGroupWidth){let Y=0;d&&(Y+=d.getBBox().width+5),v.forEach((he,ge)=>{Y+=he.width||0,ge!==v.length-1&&(Y+=l.buttonSpacing)}),this.initialButtonGroupWidth=Y}K-=o.spacing[3],this.updateButtonStates();let Z=z(g,p);this.alignButtonGroup(Z),n.placed=g.placed=o.hasLoaded}let se=0;r&&(se=z(r,T),"left"===T.align?U=K:"right"===T.align&&(U=-Math.max(o.axisOffset[1],-se)),r.align({y:T.y,width:r.getBBox().width,align:T.align,x:T.x+U-2},!0,o.spacingBox),r.placed=o.hasLoaded),this.handleCollision(se),n.align({verticalAlign:B},!0,o.spacingBox);let S=n.alignAttr.translateY,$=n.getBBox().height+20,H=0;if("bottom"===B){let Z=o.legend&&o.legend.options;H=S-($=$+(Z&&"bottom"===Z.verticalAlign&&Z.enabled&&!Z.floating?o.legend.legendHeight+w(Z.margin,10):0)-20)-(l.floating?0:l.y)-(o.titleOffset?o.titleOffset[2]:0)-10}"top"===B?(l.floating&&(H=0),o.titleOffset&&o.titleOffset[0]&&(H=o.titleOffset[0]),H+=o.margin[0]-o.spacing[0]||0):"middle"===B&&(T.y===p.y?H=S:(T.y||p.y)&&(T.y<0||p.y<0?H-=Math.min(T.y,p.y):H=S-$)),n.translate(l.x,l.y+Math.floor(H));let{minInput:x,maxInput:N,dropdown:R}=this;l.inputEnabled&&x&&N&&(x.style.marginTop=n.translateY+"px",N.style.marginTop=n.translateY+"px"),R&&(R.style.marginTop=n.translateY+"px")}}alignButtonGroup(g,v){let{chart:o,options:n,buttonGroup:r}=this,{buttonPosition:l}=n,d=o.plotLeft-o.spacing[3],C=l.x-o.spacing[3];"right"===l.align?C+=g-d:"center"===l.align&&(C-=d/2),r&&r.align({y:l.y,width:w(v,this.initialButtonGroupWidth),align:l.align,x:C},!0,o.spacingBox)}positionButtons(){let{buttons:g,chart:v,options:o,zoomText:n}=this,r=v.hasLoaded?"animate":"attr",{buttonPosition:l}=o,d=v.plotLeft,C=d;n&&"hidden"!==n.visibility&&(n[r]({x:w(d+l.x,d)}),C+=l.x+n.getBBox().width+5);for(let k=0,p=this.buttonOptions.length;k{let T=0;return this.buttons.forEach(B=>{let z=B.getBBox();z.width>T&&(T=z.width)}),T},k=T=>{if(n&&o){let B=n.alignAttr.translateX+n.alignOptions.x-g+n.getBBox().x+2,z=n.alignOptions.width,K=o.alignAttr.translateX+o.getBBox().x;return K+T>B&&B+z>K&&r.y{n&&o&&n.attr({translateX:n.alignAttr.translateX+(v.axisOffset[1]>=-g?0:-g),translateY:n.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===l)return this.collapseButtons(g),void(k(C())&&p());"never"===l&&this.expandButtons()}n&&o?d.align===r.align||k(this.initialButtonGroupWidth+20)?"responsive"===l?(this.collapseButtons(g),k(C())&&p()):p():"responsive"===l&&this.expandButtons():o&&"responsive"===l&&(this.initialButtonGroupWidth>v.plotWidth?this.collapseButtons(g):this.expandButtons())}collapseButtons(g){let{buttons:v,buttonOptions:o,chart:n,dropdown:r,options:l,zoomText:d}=this;if(!0===this.isCollapsed)return;this.isCollapsed=!0;let C=n.userOptions.rangeSelector&&n.userOptions.rangeSelector.buttonTheme||{},k=B=>({text:B?`${B} \u25be`:"\u25be",width:"auto",paddingLeft:w(l.buttonTheme.paddingLeft,C.padding,8),paddingRight:w(l.buttonTheme.paddingRight,C.padding,8)});d&&d.hide();let p=!1;o.forEach((B,z)=>{let K=v[z];2!==K.state?K.hide():(K.show(),K.attr(k(B.text)),p=!0)}),p||(r&&(r.selectedIndex=0),v[0].show(),v[0].attr(k(this.zoomText&&this.zoomText.textStr)));let{align:T}=l.buttonPosition;this.positionButtons(),("right"===T||"center"===T)&&this.alignButtonGroup(g,v[this.currentButtonIndex()].getBBox().width),this.showDropdown()}expandButtons(){let{buttons:g,buttonOptions:v,options:o,zoomText:n}=this;this.hideDropdown(),!1!==this.isCollapsed&&(this.isCollapsed=!1,n&&n.show(),v.forEach((r,l)=>{let d=g[l];d.show(),d.attr({text:r.text,width:o.buttonTheme.width||28,paddingLeft:w(o.buttonTheme.paddingLeft,"unset"),paddingRight:w(o.buttonTheme.paddingRight,"unset")}),d.state<2&&d.setState(0)}),this.positionButtons())}currentButtonIndex(){let{dropdown:g}=this;return g&&g.selectedIndex>0?g.selectedIndex-1:0}showDropdown(){let{buttonGroup:g,buttons:v,chart:o,dropdown:n}=this;if(g&&n){let{translateX:r=0,translateY:l=0}=g,d=v[this.currentButtonIndex()].getBBox();X(n,{left:o.plotLeft+r+"px",top:l+.5+"px",width:d.width+"px",height:d.height+"px"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:g}=this;g&&(X(g,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let g=this.options,v=this.group,r=g.y,l=g.buttonPosition.y,d=g.inputPosition.y,C=0;if(g.height)return g.height;this.alignElements(),C=v?v.getBBox(!0).height+13+r:0;let k=Math.min(d,l);return(d<0&&l<0||d>0&&l>0)&&(C+=Math.abs(k)),C}titleCollision(g){return!(g.options.title.text||g.options.subtitle.text)}update(g){let v=this.chart;I(!0,v.options.rangeSelector,g),this.destroy(),this.init(v),this.render()}destroy(){let g=this,v=g.minInput,o=g.maxInput;g.eventsToUnbind&&(g.eventsToUnbind.forEach(n=>n()),g.eventsToUnbind=void 0),j(g.buttons),v&&(v.onfocus=v.onblur=v.onchange=null),o&&(o.onfocus=o.onblur=o.onchange=null),_(g,function(n,r){n&&"chart"!==r&&(n instanceof le?n.destroy():n instanceof e.HTMLElement&&F(n)),n!==f.prototype[r]&&(g[r]=null)},this)}}return P(f.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),f}),Le(V,"Series/PathUtilities.js",[],function(){function q(ne,re){let ve=[];for(let le=0;le>1].xMin)>0)I=m+1;else{if(!(w<0))return m;_=m-1}return I>0?I-1:0}function J(F,P){let D=ue(F,P.x+1)+1;for(;D--;){var A;if(F[D].xMax>=P.x&&P.x<=(A=F[D]).xMax&&P.x>=A.xMin&&P.y<=A.yMax&&P.y>=A.yMin)return D}return-1}function te(F){let P=[];if(F.length){P.push(["M",F[0].start.x,F[0].start.y]);for(let D=0;Dpe(P.y-F.y))?"x":"y";function v(l,d,C,k,p){let T={x:l.x,y:l.y};return T[d]=C[k||d]+(p||0),T}function o(l,d,C){let k=pe(d[C]-l[C+"Min"])>pe(d[C]-l[C+"Max"]);return v(d,C,l,C+(k?"Max":"Min"),k?1:-1)}m>-1?(w={start:f=o(I[m],P,G),end:P},g=f):g=P,_>-1&&(f=o(O=I[_],F,G),A.push({start:F,end:f}),f[G]>=F[G]==f[G]>=g[G]&&(a=F[G="y"===G?"x":"y"]pe(P.y-F.y)),I=A?"x":"y",_=[],m=D.obstacleMetrics,w=ve(F.x,P.x)-m.maxWidth-10,G=le(F.x,P.x)+m.maxWidth+10,O=ve(F.y,P.y)-m.maxHeight-10,f=le(F.y,P.y)+m.maxHeight+10,o=!1,n=D.chartObstacles,r=ue(n,G),l=ue(n,w);function d(k,p,T){let B,z,K,U,se=k.x0&&n[S].xMin<=z.x||se<0&&n[S].xMax>=B.x);){if(n[S].xMin<=z.x&&n[S].xMax>=B.x&&n[S].yMin<=K.y&&n[S].yMax>=U.y)return T?{y:k.y,x:k.x=K[se+"Max"],x=k[se+"Min"]<=K[se+"Min"],N=k[se+"Max"]>=U[se+"Max"],R=k[se+"Min"]<=U[se+"Min"],Z=pe(k[se+"Min"]-p[se]),Y=pe(k[se+"Max"]-p[se]),he=10>pe(Z-Y)?p[se]-1&&(v=function(k,p,T){let B=ve(k.xMax-p.x,p.x-k.xMin)-1;)g=P[I]-F[I]<0,(v={x:P.x,y:P.y})[I]=n[r][g?I+"Max":I+"Min"]+(g?1:-1),_.push({end:P,start:v}),P=v;return{path:te(a=(a=function k(p,T,B){let z,K,U,se,S,$,H;if(p.x===T.x&&p.y===T.y)return[];let x=B?"x":"y",N=D.obstacleOptions.margin,R={soft:{xMin:w,xMax:G,yMin:O,yMax:f},hard:D.hardBounds};return(S=J(n,p))>-1?(se=C(S=n[S],p,T,B,R),X(S,D.hardBounds),H=B?{y:p.y,x:S[se?"xMax":"xMin"]+(se?1:-1)}:{x:p.x,y:S[se?"yMax":"yMin"]+(se?1:-1)},($=J(n,H))>-1&&(X($=n[$],D.hardBounds),H[x]=se?le(S[x+"Max"]-N+1,($[x+"Min"]+S[x+"Max"])/2):ve(S[x+"Min"]+N-1,($[x+"Max"]+S[x+"Min"])/2),p.x===H.x&&p.y===H.y?(o&&(H[x]=se?le(S[x+"Max"],$[x+"Max"])+1:ve(S[x+"Min"],$[x+"Min"])-1),o=!o):o=!1),K=[{start:p,end:H}]):(z=d(p,{x:B?T.x:p.x,y:B?p.y:T.y},B),K=[{start:p,end:{x:z.x,y:z.y}}],z[B?"x":"y"]!==T[B?"x":"y"]&&(se=C(z.obstacle,z,T,!B,R),X(z.obstacle,D.hardBounds),U={x:B?z.x:z.obstacle[se?"xMax":"xMin"]+(se?1:-1),y:B?z.obstacle[se?"yMax":"yMin"]+(se?1:-1):z.y},K=K.concat(k({x:z.x,y:z.y},U,B=!B)))),K.concat(k(K[K.length-1].end,T,!B))}(F,P,A)).concat(_.reverse())),obstacles:a}}return E.requiresObstacles=!0,j.requiresObstacles=!0,{fastAvoid:j,straight:function(F,P){return{path:[["M",F.x,F.y],["L",P.x,P.y]],obstacles:[{start:F,end:P}]}},simpleConnect:E}}),Le(V,"Gantt/ConnectorsDefaults.js",[],function(){return{connectors:{type:"straight",radius:0,lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}}}),Le(V,"Gantt/PathfinderComposition.js",[V["Gantt/ConnectorsDefaults.js"],V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{setOptions:le}=ne,{defined:pe,error:ue,merge:J}=re;function te(X){let E=X.shapeArgs;if(E)return{xMin:E.x||0,xMax:(E.x||0)+(E.width||0),yMin:E.y||0,yMax:(E.y||0)+(E.height||0)};let j=X.graphic&&X.graphic.getBBox();return j?{xMin:X.plotX-j.width/2,xMax:X.plotX+j.width/2,yMin:X.plotY-j.height/2,yMax:X.plotY+j.height/2}:null}return function(X){function E(P){let D,A,I=te(this);switch(P.align){case"right":D="xMax";break;case"left":D="xMin"}switch(P.verticalAlign){case"top":A="yMin";break;case"bottom":A="yMax"}return{x:D?I[D]:(I.xMin+I.xMax)/2,y:A?I[A]:(I.yMin+I.yMax)/2}}function j(P,D){let A;return!pe(D)&&(A=te(this))&&(D={x:(A.xMin+A.xMax)/2,y:(A.yMin+A.yMax)/2}),Math.atan2(D.y-P.y,P.x-D.x)}function F(P,D,A){let I=2*Math.PI,_=te(this),m=_.xMax-_.xMin,w=_.yMax-_.yMin,G=Math.atan2(w,m),O=m/2,f=w/2,a=_.xMin+O,g=_.yMin+f,v={x:a,y:g},o=P,n=1,r=!1,l=1,d=1;for(;o<-Math.PI;)o+=I;for(;o>Math.PI;)o-=I;return n=Math.tan(o),o>-G&&o<=G?(d=-1,r=!0):o>G&&o<=Math.PI-G?d=-1:o>Math.PI-G||o<=-(Math.PI-G)?(l=-1,r=!0):l=-1,r?(v.x+=l*O,v.y+=d*O*n):(v.x+=w/(2*n)*l,v.y+=d*f),A.x!==a&&(v.x=A.x),A.y!==g&&(v.y=A.y),{x:v.x+D*Math.cos(o),y:v.y-D*Math.sin(o)}}X.compose=function(P,D,A){let I=A.prototype;I.getPathfinderAnchorPoint||(P.prototype.callbacks.push(function(_){!1!==_.options.connectors.enabled&&((_.options.pathfinder||_.series.reduce(function(m,w){return w.options&&J(!0,w.options.connectors=w.options.connectors||{},w.options.pathfinder),m||w.options&&w.options.pathfinder},!1))&&(J(!0,_.options.connectors=_.options.connectors||{},_.options.pathfinder),ue('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')),this.pathfinder=new D(this),this.pathfinder.update(!0))}),I.getMarkerVector=F,I.getPathfinderAnchorPoint=E,I.getRadiansToVector=j,le(q))}}(ve||(ve={})),ve}),Le(V,"Gantt/Pathfinder.js",[V["Gantt/Connection.js"],V["Gantt/PathfinderAlgorithms.js"],V["Gantt/PathfinderComposition.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{addEvent:pe,defined:ue,pick:J,splat:te}=le,X=Math.max,E=Math.min;class j{static compose(P,D){re.compose(P,j,D)}constructor(P){this.init(P)}init(P){this.chart=P,this.connections=[],pe(P,"redraw",function(){this.pathfinder.update()})}update(P){let D=this.chart,A=this,I=A.connections;A.connections=[],D.series.forEach(function(_){_.visible&&!_.options.isInternal&&_.points.forEach(function(m){let w,G=m.options;G&&G.dependency&&(G.connect=G.dependency);let O=m.options?.connect&&te(m.options.connect);m.visible&&!1!==m.isInside&&O&&O.forEach(function(f){(w=D.get("string"==typeof f?f:f.to))instanceof ve&&w.series.visible&&w.visible&&!1!==w.isInside&&A.connections.push(new q(m,w,"string"==typeof f?{}:f))})})});for(let m,w,_=0,G=I.length,O=A.connections.length;_o.yMin-r&&v.yMin-ro.xMin-r&&v.xMin-ro.xMax?v.xMin-o.xMax:o.xMin-v.xMax:1/0,k=d?v.yMin>o.yMax?v.yMin-o.yMax:o.yMin-v.yMax:1/0;return d&&l?r?g(v,o,Math.floor(r/2)):1/0:E(C,k)}(m[f],m[a]))<80&&O.push(w);return O.push(80),X(Math.floor(O.sort(function(f,a){return f-a})[Math.floor(O.length/10)]/2-1),1)}(I),I.forEach(function(m){m.xMin-=_,m.xMax+=_,m.yMin-=_,m.yMax+=_})),I}getObstacleMetrics(P){let I,_,D=0,A=0,m=P.length;for(;m--;)I=P[m].xMax-P[m].xMin,_=P[m].yMax-P[m].yMin,D=1&&(te.plotHeight=j,te.redrawTrigger="adjustHeight",te.setSize(void 0,te.chartHeight+F,X)),J.series.forEach(function(P){let D=P.sharedClipKey&&te.sharedClips[P.sharedClipKey];D&&D.attr(te.inverted?{width:te.plotHeight}:{height:te.plotHeight})})}}this.initiatedScale=!0}this.redrawTrigger=null}return{compose:function(J,te){let X=te.prototype;X.adjustHeight||(ne(J,"afterSetOptions",pe),X.adjustHeight=ue,ne(te,"render",X.adjustHeight))}}}),Le(V,"masters/modules/static-scale.src.js",[V["Core/Globals.js"],V["Extensions/StaticScale.js"]],function(q,ne){return ne.compose(q.Axis,q.Chart),q}),Le(V,"Series/XRange/XRangeSeriesDefaults.js",[V["Core/Utilities.js"]],function(q){let{correctFloat:ne,isNumber:re,isObject:ve}=q;return{colorByPoint:!0,dataLabels:{formatter:function(){let le=this.point.partialFill;if(ve(le)&&(le=le.amount),re(le)&&le>0)return ne(100*le)+"%"},inside:!0,verticalAlign:"middle",style:{whiteSpace:"nowrap"}},tooltip:{headerFormat:'{point.x} - {point.x2}
',pointFormat:'\u25cf {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}}),Le(V,"Series/XRange/XRangePoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{column:{prototype:{pointClass:re}}}=q.seriesTypes,{extend:ve}=ne;class le extends re{static getColorByCategory(ue,J){let te=ue.options.colors||ue.chart.options.colors,E=J.y%(te?te.length:ue.chart.options.chart.colorCount);return{colorIndex:E,color:te&&te[E]}}resolveColor(){let ue=this.series;if(ue.options.colorByPoint&&!this.options.color){let J=le.getColorByCategory(ue,this);ue.chart.styledMode||(this.color=J.color),this.options.colorIndex||(this.colorIndex=J.colorIndex)}else this.color=this.options.color||ue.color}constructor(ue,J){super(ue,J),this.y||(this.y=0)}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}getLabelConfig(){let ue=super.getLabelConfig.call(this),J=this.series.yAxis.categories;return ue.x2=this.x2,ue.yCategory=this.yCategory=J&&J[this.y],ue.key=this.category||this.name,ue}isValid(){return"number"==typeof this.x&&"number"==typeof this.x2}}return ve(le.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]}),le}),Le(V,"Series/XRange/XRangeSeries.js",[V["Core/Globals.js"],V["Core/Color/Color.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"],V["Series/XRange/XRangeSeriesDefaults.js"],V["Series/XRange/XRangePoint.js"]],function(q,ne,re,ve,le,pe){let{composed:ue,noop:J}=q,{parse:te}=ne,{column:X}=re.seriesTypes,{addEvent:E,clamp:j,defined:F,extend:P,find:D,isNumber:A,isObject:I,merge:_,pick:m,pushUnique:w,relativeLength:G}=ve;function O(){let a,g;if(this.isXAxis){for(let v of(a=m(this.dataMax,-Number.MAX_VALUE),this.series))if(v.x2Data)for(let o of v.x2Data)o&&o>a&&(a=o,g=!0);g&&(this.dataMax=a)}}class f extends X{static compose(g){w(ue,"Series.XRange")&&E(g,"afterGetSeriesExtremes",O)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){let g=()=>{for(let o of this.chart.series){let n=o.xAxis;o.xAxis=o.yAxis,o.yAxis=n}};g();let v=super.getColumnMetrics();return g(),v}cropData(g,v,o,n){let r=super.cropData(this.x2Data,v,o,n);return r.xData=g.slice(r.start,r.end),r}findPointIndex(g){let v,{cropStart:o,points:n}=this,{id:r}=g;if(r){let l=D(n,d=>d.id===r);v=l?l.index:void 0}if(void 0===v){let l=D(n,d=>d.x===g.x&&d.x2===g.x2&&!d.touched);v=l?l.index:void 0}return this.cropped&&A(v)&&A(o)&&v>=o&&(v-=o),v}alignDataLabel(g){let v=g.plotX;g.plotX=m(g.dlBox&&g.dlBox.centerX,g.plotX),g.dataLabel&&g.shapeArgs?.width&&g.dataLabel.css({width:`${g.shapeArgs.width}px`}),super.alignDataLabel.apply(this,arguments),g.plotX=v}translatePoint(g){let $,H,R,Z,Y,he,v=this.xAxis,o=this.yAxis,n=this.columnMetrics,r=this.options,l=r.minPointLength||0,d=(g.shapeArgs&&g.shapeArgs.width||0)/2,C=this.pointXOffset=n.offset,k=m(g.x2,g.x+(g.len||0)),p=r.borderRadius,T=this.chart.plotTop,B=this.chart.plotLeft,z=g.plotX,K=v.translate(k,0,0,0,1),U=Math.abs(K-z),se=this.chart.inverted,S=m(r.borderWidth,1)%2/2,x=n.offset,N=Math.round(n.width);l&&(($=l-U)<0&&($=0),z-=$/2,K+=$/2),z=Math.max(z,-10),K=j(K,-10,v.len+10),F(g.options.pointWidth)&&(x-=(Math.ceil(g.options.pointWidth)-N)/2,N=Math.ceil(g.options.pointWidth)),r.pointPlacement&&A(g.plotY)&&o.categories&&(g.plotY=o.translate(g.y,0,1,0,1,r.pointPlacement));let ge=Math.floor(Math.min(z,K))+S,_e=Math.floor(Math.max(z,K))+S-ge,Te=Math.min(G("object"==typeof p?p.radius:p||0,N),Math.min(_e,N)/2),Oe={x:ge,y:Math.floor(g.plotY+x)+S,width:_e,height:N,r:Te};g.shapeArgs=Oe,se?g.tooltipPos[1]+=C+d:g.tooltipPos[0]-=d+C-Oe.width/2,Z=(R=Oe.x)+Oe.width,R<0||Z>v.len?(R=j(R,0,v.len),Y=(Z=j(Z,0,v.len))-R,g.dlBox=_(Oe,{x:R,width:Z-R,centerX:Y?Y/2:null})):g.dlBox=null;let De=g.tooltipPos,Be=se?1:0,oe=se?0:1,ee=this.columnMetrics?this.columnMetrics.offset:-n.width/2;se?De[Be]+=Oe.width/2:De[Be]=j(De[Be]+(v.reversed?-1:0)*Oe.width,v.left-B,v.left+v.len-B-1),De[oe]=j(De[oe]+(se?-1:1)*ee,o.top-T,o.top+o.len-T-1),(H=g.partialFill)&&(I(H)&&(H=H.amount),A(H)||(H=0),g.partShapeArgs=_(Oe),he=Math.max(Math.round(U*H+g.plotX-z),0),g.clipRectArgs={x:v.reversed?Oe.x+U-he:Oe.x,y:Oe.y,width:he,height:Oe.height})}translate(){for(let g of(super.translate.apply(this,arguments),this.points))this.translatePoint(g)}drawPoint(g,v){let o=this.options,n=this.chart.renderer,r=g.shapeType,l=g.shapeArgs,d=g.partShapeArgs,C=g.clipRectArgs,k=g.state,p=o.states[k||"normal"]||{},T=void 0===k?"attr":v,B=this.pointAttribs(g,k),z=m(this.chart.options.chart.animation,p.animation),K=g.graphic,U=g.partialFill;if(g.isNull||!1===g.visible)K&&(g.graphic=K.destroy());else if(K?K.rect[v](l):(g.graphic=K=n.g("point").addClass(g.getClassName()).add(g.group||this.group),K.rect=n[r](_(l)).addClass(g.getClassName()).addClass("highcharts-partfill-original").add(K)),d&&(K.partRect?(K.partRect[v](_(d)),K.partialClipRect[v](_(C))):(K.partialClipRect=n.clipRect(C.x,C.y,C.width,C.height),K.partRect=n[r](d).addClass("highcharts-partfill-overlay").add(K).clip(K.partialClipRect))),!this.chart.styledMode&&(K.rect[v](B,z).shadow(o.shadow),d)){I(U)||(U={}),I(o.partialFill)&&(U=_(o.partialFill,U));let se=U.fill||te(B.fill).brighten(-.3).get()||te(g.color||this.color).brighten(-.3).get();B.fill=se,K.partRect[T](B,z).shadow(o.shadow)}}drawPoints(){let g=this.getAnimationVerb();for(let v of this.points)this.drawPoint(v,g)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(g){let v=g.shapeArgs,o=g.plotX,n=g.plotY;return v?void 0!==o&&void 0!==n&&n>=0&&n<=this.yAxis.len&&(v.x||0)+(v.width||0)>=0&&o<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}return f.defaultOptions=_(X.defaultOptions,le),P(f.prototype,{pointClass:pe,pointArrayMap:["x2","y"],getExtremesFromAll:!0,parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:re.series.prototype.animate,autoIncrement:J,buildKDTree:J}),re.registerSeriesType("xrange",f),f}),Le(V,"masters/modules/xrange.src.js",[V["Core/Globals.js"],V["Series/XRange/XRangeSeries.js"]],function(q,ne){return ne.compose(q.Axis),q}),Le(V,"Series/Gantt/GanttPoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{xrange:{prototype:{pointClass:re}}}=q.seriesTypes,{pick:ve}=ne;class le extends re{static setGanttPointAliases(ue){function J(te,X){void 0!==X&&(ue[te]=X)}J("x",ve(ue.start,ue.x)),J("x2",ve(ue.end,ue.x2)),J("partialFill",ve(ue.completed,ue.partialFill))}applyOptions(ue,J){let te=super.applyOptions(ue,J);return le.setGanttPointAliases(te),te}isValid(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)}}return le}),Le(V,"Series/Gantt/GanttSeriesDefaults.js",[V["Core/Utilities.js"]],function(q){let{isNumber:ne}=q;return{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){let re=this.series,ve=re.xAxis,le=re.tooltipOptions.dateTimeLabelFormats,pe=ve.options.startOfWeek,ue=re.tooltipOptions,J=this.options.milestone,te=ue.xDateFormat,X=""+(this.name||this.yCategory)+"";if(ue.pointFormat)return this.tooltipFormatter(ue.pointFormat);!te&&ne(this.start)&&(te=re.chart.time.getDateFormat(ve.closestPointRange,this.start,pe,le||{}));let E=re.chart.time.dateFormat(te,this.start),j=re.chart.time.dateFormat(te,this.end);return X+="
",X+=J?E+"
":"Start: "+E+"
End: "+j+"
",X}},connectors:{type:"simpleConnect",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}}),Le(V,"Core/Axis/BrokenAxis.js",[V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{addEvent:ve,find:le,fireEvent:pe,isArray:ue,isNumber:J,pick:te}=ne;return function(X){function E(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function j(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function F(){let w=this.brokenAxis;if(w?.hasBreaks){let G=this.tickPositions,O=this.tickPositions.info,f=[];for(let a=0;ad.to||f>d.from&&ad.from&&ad.from&&a>d.to&&a0){let v,o;for("value"!==this.options.gapUnit&&(a*=this.basePointRange),G&&G>a&&G>=this.basePointRange&&(a=G);g--;)if(o&&!1!==o.visible||(o=O[g+1]),v=O[g],!1!==o.visible&&!1!==v.visible){if(o.x-v.x>a){let n=(v.x+o.x)/2;O.splice(g+1,0,{isNull:!0,x:n}),f.stacking&&this.options.stacking&&((f.stacking.stacks[this.stackKey][n]=new q(f,f.options.stackLabels,!1,n,this.stack)).total=0)}o=v}}return this.getGraphPath(O)}X.compose=function(w,G){if(!w.keepProps.includes("brokenAxis")){w.keepProps.push("brokenAxis"),ve(w,"init",P),ve(w,"afterInit",E),ve(w,"afterSetTickPositions",F),ve(w,"afterSetOptions",j);let O=G.prototype;O.drawBreaks=I,O.gappedPath=_,ve(G,"afterGeneratePoints",D),ve(G,"afterRender",A)}return w};class m{static isInBreak(G,O){let f=G.repeat||1/0,a=G.from,g=G.to-G.from,v=O>=a?(O-a)%f:f-(a-O)%f;return G.inclusive?v<=g:v=a);v++)(g.to=G)break;if(m.isInBreak(g,G)){a-=G-g.from;break}}return a}constructor(G){this.hasBreaks=!1,this.axis=G}findBreakAt(G,O){return le(O,function(f){return f.fromk;)T-=C;for(;T{se.getOffset()})}K&&B.apply(this)}function w(B){if(!0===(this.options.grid||{}).enabled){let{axisTitle:z,height:K,horiz:U,left:se,offset:S,opposite:$,options:H,top:x,width:N}=this,R=this.tickSize(),Z=z&&z.getBBox().width,Y=H.title.x,he=H.title.y,ge=P(H.title.margin,U?5:10),_e=z?this.chart.renderer.fontMetrics(z).f:0,Te=(U?x+K:se)+(U?1:-1)*($?-1:1)*(R?R[0]/2:0)+(this.side===ve.bottom?_e:0);B.titlePosition.x=U?se-(Z||0)/2-ge+Y:Te+($?N:0)+S+Y,B.titlePosition.y=U?Te-($?K:0)+($?_e:-_e)/2+S+he:x-ge+he}}function G(){let{chart:B,options:{grid:z={}},userOptions:K}=this;if(z.enabled&&function(U){let se=U.options;se.labels.align=P(se.labels.align,"center"),U.categories||(se.showLastLabel=!1),U.labelRotation=0,se.labels.rotation=0,se.minTickInterval=1}(this),z.columns){let U=this.grid.columns=[],se=this.grid.columnIndex=0;for(;++se$.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let $,H,x=this.tickmarkOffset,N=this.tickPositions[this.tickPositions.length-1],R=this.tickPositions[0];for(;($=this.hiddenLabels.pop())&&$.element;)$.show();for(;(H=this.hiddenMarks.pop())&&H.element;)H.show();($=this.ticks[R].label)&&(U-R>x?this.hiddenLabels.push($.hide()):$.show()),($=this.ticks[N].label)&&(N-se>x?this.hiddenLabels.push($.hide()):$.show());let Z=this.ticks[N].mark;Z&&N-se0&&this.ticks[N].isLast&&this.hiddenMarks.push(Z.hide())}}}function f(){let B=this.tickPositions&&this.tickPositions.info,z=this.options,U=this.userOptions.labels||{};(z.grid||{}).enabled&&(this.horiz?(this.series.forEach(se=>{se.options.pointRange=0}),B&&z.dateTimeLabelFormats&&z.labels&&!J(U.align)&&(!1===z.dateTimeLabelFormats[B.unitName].range||B.count>1)&&(z.labels.align="left",J(U.x)||(z.labels.x=3))):"treegrid"!==this.options.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function a(B){let z,K=this.options,U=B.userOptions,se=K&&I(K.grid)?K.grid:{};!0===se.enabled&&(z=F(!0,{className:"highcharts-grid-axis "+(U.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"0.9em"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0,style:{textOverflow:"ellipsis"}},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},U),"xAxis"!==this.coll||(J(U.linkedTo)&&!J(U.tickPixelInterval)&&(z.tickPixelInterval=350),!(!J(U.tickPixelInterval)&&J(U.linkedTo))||J(U.tickPositioner)||J(U.tickInterval)||J(U.units)||(z.tickPositioner=function(S,$){let H=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(H){let N,x=z.units||[],R=1,Z="year";for(let ge=0;geB.setScale())}function o(B){let{horiz:z,maxLabelDimensions:K,options:{grid:U={}}}=this;if(U.enabled&&K){let se=2*this.options.labels.distance,S=z?U.cellHeight||se+K.height:se+K.width;E(B.tickSize)?B.tickSize[0]=S:B.tickSize=[S,0]}}function n(){this.axes.forEach(B=>{(B.grid&&B.grid.columns||[]).forEach(z=>{z.setAxisSize(),z.setAxisTranslation()})})}function r(B){let{grid:z}=this;(z.columns||[]).forEach(K=>K.destroy(B.keepEvents)),z.columns=void 0}function l(B){let z=B.userOptions||{},K=z.grid||{};K.enabled&&J(K.borderColor)&&(z.tickColor=z.lineColor=K.borderColor),this.grid||(this.grid=new T(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function d(B){let z=this.label,K=this.axis,U=K.reversed,se=K.chart,S=K.options.grid||{},$=K.options.labels,H=$.align,x=ve[K.side],N=B.tickmarkOffset,R=K.tickPositions,Z=this.pos-N,Y=j(R[B.index+1])?R[B.index+1]-N:(K.max||0)+N,he=K.tickSize("tick"),ge=he?he[0]:0,_e=he?he[1]/2:0;if(!0===S.enabled){let Te,Oe,De,Be;if("top"===x?Oe=(Te=K.top+K.offset)-ge:"bottom"===x?Te=(Oe=se.chartHeight-K.bottom+K.offset)+ge:(Te=K.top+K.len-(K.translate(U?Y:Z)||0),Oe=K.top+K.len-(K.translate(U?Z:Y)||0)),"right"===x?Be=(De=se.chartWidth-K.right+K.offset)+ge:"left"===x?De=(Be=K.left+K.offset)-ge:(De=Math.round(K.left+(K.translate(U?Y:Z)||0))-_e,Be=Math.min(Math.round(K.left+(K.translate(U?Z:Y)||0))-_e,K.left+K.len)),this.slotWidth=Be-De,B.pos.x="left"===H?De:"right"===H?Be:De+(Be-De)/2,B.pos.y=Oe+(Te-Oe)/2,z){let oe=se.renderer.fontMetrics(z),ee=z.getBBox().height;if($.useHTML)B.pos.y+=oe.b+-ee/2;else{let be=Math.round(ee/oe.h);B.pos.y+=(oe.b-(oe.h-oe.f))/2+-(be-1)*oe.h/2}}B.pos.x+=K.horiz&&$.x||0}}function C(B){let{axis:z,value:K}=B;if(z.options.grid&&z.options.grid.enabled){let U,se=z.tickPositions,S=(z.linkedParent||z).series[0],$=K===se[0],H=K===se[se.length-1],x=S&&X(S.options.data,function(N){return N[z.isXAxis?"x":"y"]===K});x&&S.is("gantt")&&(U=F(x),ne.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(U)),B.isFirst=$,B.isLast=H,B.point=U}}function k(){let B=this.options,z=B.grid||{},K=this.categories,U=this.tickPositions,se=U[0],S=U[1],$=U[U.length-1],H=U[U.length-2],R=this.linkedParent&&this.linkedParent.min||this.min,Z=this.linkedParent&&this.linkedParent.max||this.max,Y=this.tickInterval,he=j(R)&&R>=se+Y&&RR,_e=j(Z)&&$>Z&&$-YH;!0===z.enabled&&!K&&(this.isXAxis||this.isLinked)&&((ge||he)&&!B.startOnTick&&(U[0]=R),(_e||Te)&&!B.endOnTick&&(U[U.length-1]=Z))}function p(B){let{options:{grid:K={}}}=this;return!0===K.enabled&&this.categories?this.tickInterval:B.apply(this,Array.prototype.slice.call(arguments,1))}(le=ve||(ve={}))[le.top=0]="top",le[le.right=1]="right",le[le.bottom=2]="bottom",le[le.left=3]="left";class T{constructor(z){this.axis=z}isOuterAxis(){let z=this.axis,K=z.chart,U=z.grid.columnIndex,se=z.linkedParent?.grid.columns||z.grid.columns||[],S=U?z.linkedParent:z,$=-1,H=0;return 3===z.side&&!K.inverted&&se.length?!z.linkedParent:((K[z.coll]||[]).forEach((x,N)=>{x.side!==z.side||x.options.isInternal||(H=N,x!==S||($=N))}),H===$&&(!j(U)||se.length===U))}renderBorder(z){let K=this.axis,U=K.chart.renderer,se=K.options,S=U.path(z).addClass("highcharts-axis-line").add(K.axisGroup);return U.styledMode||S.attr({stroke:se.lineColor,"stroke-width":se.lineWidth,zIndex:7}),S}}return pe.E=function(B){return this.dateFormat("%a",B,!0).charAt(0)},pe.W=function(B){let z=this,K=new this.Date(B);["Hours","Milliseconds","Minutes","Seconds"].forEach(function($){z.set($,K,0)});let U=(this.get("Day",K)+6)%7,se=new this.Date(K.valueOf());this.set("Date",se,this.get("Date",K)-U+3);let S=new this.Date(this.get("FullYear",se),0,1);return 4!==this.get("Day",S)&&(this.set("Month",K,0),this.set("Date",K,1+(11-this.get("Day",S))%7)),(1+Math.floor((se.valueOf()-S.valueOf())/6048e5)).toString()},{compose:function(B,z,K){return B.keepProps.includes("grid")||(B.keepProps.push("grid"),B.prototype.getMaxLabelDimensions=_,A(B.prototype,"unsquish",p),A(B.prototype,"getOffset",m),ue(B,"init",l),ue(B,"afterGetTitlePosition",w),ue(B,"afterInit",G),ue(B,"afterRender",O),ue(B,"afterSetAxisTranslation",f),ue(B,"afterSetOptions",a),ue(B,"afterSetOptions",g),ue(B,"afterSetScale",v),ue(B,"afterTickSize",o),ue(B,"trimTicks",k),ue(B,"destroy",r),ue(z,"afterSetChartSize",n),ue(K,"afterGetLabelPosition",d),ue(K,"labelFormat",C)),B}}}),Le(V,"Gantt/Tree.js",[V["Core/Utilities.js"]],function(q){let{extend:ne,isNumber:re,pick:ve}=q;function le(pe,ue,J,te,X,E){let I,_,j=E&&E.after,F=E&&E.before,P={data:te,depth:J-1,id:pe,level:J,parent:ue||""},D=0,A=0;"function"==typeof F&&F(P,E);let m=(X[pe]||[]).map(w=>{let G=le(w.id,pe,J+1,w,X,E),O=w.start||NaN,f=!0===w.milestone?O:w.end||NaN;return I=!re(I)||O_?f:_,D=D+1+G.descendants,A=Math.max(G.height+1,A),G});return te&&(te.start=ve(te.start,I),te.end=ve(te.end,_)),ne(P,{children:m,descendants:D,height:A}),"function"==typeof j&&j(P,E),P}return{getNode:le,getTree:function(pe,ue){return le("",null,1,null,function(J){let te=[],X=J.reduce((E,j)=>{let{parent:F="",id:P}=j;return void 0===E[F]&&(E[F]=[]),E[F].push(j),P&&te.push(P),E},{});return Object.keys(X).forEach(E=>{if(""!==E&&-1===te.indexOf(E)){let j=X[E].map(function(F){let{...P}=F;return P});X[""].push(...j),delete X[E]}}),X}(pe),ue)}}}),Le(V,"Core/Axis/TreeGrid/TreeGridTick.js",[V["Core/Utilities.js"]],function(q){let{addEvent:ne,removeEvent:re,isObject:ve,isNumber:le,pick:pe,wrap:ue}=q;function J(){this.treeGrid||(this.treeGrid=new E(this))}function te(j,F,P,D,A,I,_,m,w){let G,O,f,a=pe(this.options&&this.options.labels,I),g=this.pos,v=this.axis,o="treegrid"===v.options.type,n=j.apply(this,[F,P,D,A,a,_,m,w]);if(o){let{width:r=0,padding:l=(v.linkedParent?0:5)}=a&&ve(a.symbol,!0)?a.symbol:{},d=a&&le(a.indentation)?a.indentation:0;f=(O=(G=v.treeGrid.mapOfPosToGridNode)&&G[g])&&O.depth||1,n.x+=r+2*l+(f-1)*d}return n}function X(j){let F,P,D,{pos:A,axis:I,label:_,treeGrid:m,options:w}=this,G=m?.labelIcon,O=_?.element,{treeGrid:f,options:a,chart:g,tickPositions:v}=I,o=f.mapOfPosToGridNode,n=pe(w?.labels,a?.labels),r=n&&ve(n.symbol,!0)?n.symbol:{},l=o&&o[A],{descendants:d,depth:C}=l||{},k=l&&d&&d>0,p="treegrid"===a.type&&O,T=v.indexOf(A)>-1,B="highcharts-treegrid-node-",z=B+"level-",K=g.styledMode;p&&l&&_.removeClass(RegExp(z+".*")).addClass(z+C),j.apply(this,Array.prototype.slice.call(arguments,1)),p&&k?(F=f.isCollapsed(l),function(U,se){let S=U.treeGrid,$=!S.labelIcon,H=se.renderer,x=se.xy,N=se.options,R=N.width||0,Z=N.height||0,he={x:x.x-R/2-(N.padding??U.axis.linkedParent?0:5),y:x.y-Z/2},ge=se.collapsed?90:180,_e=se.show&&le(he.y),Te=S.labelIcon;Te||(S.labelIcon=Te=H.path(H.symbols[N.type](N.x||0,N.y||0,R,Z)).addClass("highcharts-label-icon").add(se.group)),Te[_e?"show":"hide"](),H.styledMode||Te.attr({cursor:"pointer",fill:pe(se.color,"#666666"),"stroke-width":1,stroke:N.lineColor,strokeWidth:N.lineWidth||0}),Te[$?"attr":"animate"]({translateX:he.x,translateY:he.y,rotation:ge})}(this,{color:!K&&_.styles.color||"",collapsed:F,group:_.parentGroup,options:r,renderer:_.renderer,show:T,xy:_.xy}),P=B+(F?"collapsed":"expanded"),D=B+(F?"expanded":"collapsed"),_.addClass(P).removeClass(D),K||_.css({cursor:"pointer"}),[_,G].forEach(U=>{U&&!U.attachedTreeGridEvents&&(ne(U.element,"mouseover",function(){_.addClass("highcharts-treegrid-node-active"),_.renderer.styledMode||_.css({textDecoration:"underline"})}),ne(U.element,"mouseout",function(){!function(se,S){let $=ve(S.style)?S.style:{};se.removeClass("highcharts-treegrid-node-active"),se.renderer.styledMode||se.css({textDecoration:$.textDecoration||"none"})}(_,n)}),ne(U.element,"click",function(){m.toggleCollapse()}),U.attachedTreeGridEvents=!0)})):G&&(re(O),_?.css({cursor:"default"}),G.destroy())}class E{static compose(F){let P=F.prototype;P.toggleCollapse||(ne(F,"init",J),ue(P,"getLabelPosition",te),ue(P,"renderLabel",X),P.collapse=function(D){this.treeGrid.collapse(D)},P.expand=function(D){this.treeGrid.expand(D)},P.toggleCollapse=function(D){this.treeGrid.toggleCollapse(D)})}constructor(F){this.tick=F}collapse(F){let P=this.tick,D=P.axis,A=D.brokenAxis;if(A&&D.treeGrid.mapOfPosToGridNode){let m=D.treeGrid.collapse(D.treeGrid.mapOfPosToGridNode[P.pos]);A.setBreaks(m,pe(F,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(F){let{pos:P,axis:D}=this.tick,{treeGrid:A,brokenAxis:I}=D,_=A.mapOfPosToGridNode;if(I&&_){let w=A.expand(_[P]);I.setBreaks(w,pe(F,!0))}}toggleCollapse(F){let P=this.tick,D=P.axis,A=D.brokenAxis;if(A&&D.treeGrid.mapOfPosToGridNode){let m=D.treeGrid.toggleCollapse(D.treeGrid.mapOfPosToGridNode[P.pos]);A.setBreaks(m,pe(F,!0))}}}return E}),Le(V,"Series/TreeUtilities.js",[V["Core/Color/Color.js"],V["Core/Utilities.js"]],function(q,ne){let{extend:re,isArray:ve,isNumber:le,isObject:pe,merge:ue,pick:J,relativeLength:te}=ne;return{getColor:function(X,E){let j,F,P,D,A,I,_=E.index,w=E.parentColor,G=E.parentColorIndex,O=E.series,f=E.colors,a=E.siblings;return X&&(j=O.points[X.i],F=E.mapOptionsToLevel[X.level]||{},j&&F.colorByPoint&&(D=j.index%(f?f.length:O.chart.options.chart.colorCount),P=f&&f[D]),O.chart.styledMode||(A=J(j&&j.options.color,F&&F.color,P,w&&(o=>{let n=F&&F.colorVariation;return n&&"brightness"===n.key&&_&&a?q.parse(o).brighten(n.to*(_/a)).get():o})(w),O.color)),I=J(j&&j.options.colorIndex,F&&F.colorIndex,D,G,E.colorIndex)),{color:A,colorIndex:I}},getLevelOptions:function(X){let j,F,P,D,A,I,E={};if(pe(X))for(D=le(X.from)?X.from:1,I=X.levels,F={},j=pe(X.defaults)?X.defaults:{},ve(I)&&(F=I.reduce((_,m)=>{let w,G,O;return pe(m)&&le(m.level)&&(G=J((O=ue({},m)).levelIsConstant,j.levelIsConstant),delete O.levelIsConstant,delete O.level,pe(_[w=m.level+(G?0:D-1)])?ue(!0,_[w],O):_[w]=O),_},{})),A=le(X.to)?X.to:1,P=0;P<=A;P++)E[P]=ue({},j,pe(F[P])?F[P]:{});return E},getNodeWidth:function(X,E){let{chart:j,options:F}=X,{nodeDistance:P=0,nodeWidth:D=0}=F,{plotSizeX:A=1}=j;if("auto"===D){if("string"==typeof P&&/%$/.test(P))return A/(E+parseFloat(P)/100*(E-1));let I=Number(P);return(A+I)/(E||1)-I}return te(D,A)},setTreeValues:function X(E,j){let F=j.before,P=j.idRoot,I=j.points[E.i],_=I&&I.options||{},m=[],w=0;E.levelDynamic=E.level-(!1!==j.levelIsConstant?0:j.mapIdToNode[P].level),E.name=J(I&&I.name,""),E.visible=P===E.id||!0===j.visible,"function"==typeof F&&(E=F(E,j)),E.children.forEach((O,f)=>{let a=re({},j);re(a,{index:f,siblings:E.children.length,visible:E.visible}),O=X(O,a),m.push(O),O.visible&&(w+=O.val)});let G=J(_.value,w);return E.visible=G>=0&&(w>0||E.visible),E.children=m,E.childrenTotal=w,E.isLeaf=E.visible&&!w,E.val=G,E},updateRootId:function(X){let E,j;return pe(X)&&(j=pe(X.options)?X.options:{},E=J(X.rootNode,j.rootId,""),pe(X.userOptions)&&(X.userOptions.rootId=E),X.rootNode=E),E}}}),Le(V,"Core/Axis/TreeGrid/TreeGridAxis.js",[V["Core/Axis/BrokenAxis.js"],V["Core/Axis/GridAxis.js"],V["Gantt/Tree.js"],V["Core/Axis/TreeGrid/TreeGridTick.js"],V["Series/TreeUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let ue,{getLevelOptions:J}=le,{addEvent:te,find:X,fireEvent:E,isArray:j,isObject:F,isString:P,merge:D,pick:A,removeEvent:I,wrap:_}=pe;function m(o,n){let r=o.collapseEnd||0,l=o.collapseStart||0;return r>=n&&(l-=.5),{from:l,to:r,showPoints:!1}}function w(o,n,r){let l=[],d=[],C={},k="boolean"==typeof n&&n,p={},T=-1,B=re.getTree(o,{after:function(z){let K=p[z.pos],U=0,se=0;K.children.forEach(function(S){se+=(S.descendants||0)+1,U=Math.max((S.height||0)+1,U)}),K.descendants=se,K.height=U,K.collapsed&&d.push(K)},before:function(z){let K,U,se=F(z.data,!0)?z.data:{},S=P(se.name)?se.name:"",$=C[z.parent],H=F($,!0)?p[$.pos]:null;k&&F(H,!0)&&(K=X(H.children,function(x){return x.name===S}))?(U=K.pos,K.nodes.push(z)):U=T++,!p[U]&&(p[U]=K={depth:H?H.depth+1:0,name:S,id:se.id,nodes:[z],children:[],pos:U},-1!==U&&l.push(S),F(H,!0)&&H.children.push(K)),P(z.id)&&(C[z.id]=z),K&&!0===se.collapsed&&(K.collapsed=!0),z.pos=U}});return{categories:l,mapOfIdToNode:C,mapOfPosToGridNode:p=function(z,K){let U=function(se,S,$){let x=S+(-1===S?0:K-1),N=(x-S)/2,R=S+N;return se.nodes.forEach(function(Z){let Y=Z.data;F(Y,!0)&&(Y.y=S+(Y.seriesIndex||0),delete Y.seriesIndex),Z.pos=R}),$[R]=se,se.pos=R,se.tickmarkOffset=N+.5,se.collapseStart=x+.5,se.children.forEach(function(Z){U(Z,x+1,$),x=(Z.collapseEnd||0)-.5}),se.collapseEnd=x+.5,$};return U(z[-1],-1,{})}(p,r),collapsedNodes:d,tree:B}}function G(o){o.target.axes.filter(function(n){return"treegrid"===n.options.type}).forEach(function(n){let T,B,r=n.options||{},l=r.labels,d=r.uniqueNames,C=r.max,k=!n.treeGrid.mapOfPosToGridNode||n.series.some(function(z){return!z.hasRendered||z.isDirtyData||z.isDirty}),p=0;if(k){if(T=n.series.reduce(function(z,K){return K.visible&&((K.options.data||[]).forEach(function(U){K.options.keys&&K.options.keys.length&&(U=K.pointClass.prototype.optionsToObject.call({series:K},U),K.pointClass.setGanttPointAliases(U)),F(U,!0)&&(U.seriesIndex=p,z.push(U))}),!0===d&&p++),z},[]),C&&T.length=0&&U.indexOf(se.x2)>=0&&(U=se)}),F(U,!0)?D(U):U});z.visible&&z.setData(K,!1)}),n.treeGrid.mapOptionsToLevel=J({defaults:l,from:1,levels:l&&l.levels,to:n.treeGrid.tree&&n.treeGrid.tree.height}),"beforeRender"===o.type&&(n.treeGrid.collapsedNodes=B.collapsedNodes)}})}function O(o,n){let k,p,T,d=this.ticks,C=d[n];"treegrid"===this.options.type&&this.treeGrid.mapOfPosToGridNode?((k=(this.treeGrid.mapOptionsToLevel||{})[(T=this.treeGrid.mapOfPosToGridNode[n]).depth])&&(p={labels:k}),!C&&ue?d[n]=C=new ue(this,n,void 0,void 0,{category:T.name,tickmarkOffset:T.tickmarkOffset,options:p}):(C.parameters.category=T.name,C.options=p,C.addLabel())):o.apply(this,Array.prototype.slice.call(arguments,1))}function f(o,n,r,l){let d=this,C="treegrid"===r.type;d.treeGrid||(d.treeGrid=new v(d)),C&&(te(n,"beforeRender",G),te(n,"beforeRedraw",G),te(n,"addSeries",function(k){if(k.options.data){let p=w(k.options.data,r.uniqueNames||!1,1);d.treeGrid.collapsedNodes=(d.treeGrid.collapsedNodes||[]).concat(p.collapsedNodes)}}),te(d,"foundExtremes",function(){d.treeGrid.collapsedNodes&&d.treeGrid.collapsedNodes.forEach(function(k){let p=d.treeGrid.collapse(k);d.brokenAxis&&(d.brokenAxis.setBreaks(p,!1),d.treeGrid.collapsedNodes&&(d.treeGrid.collapsedNodes=d.treeGrid.collapsedNodes.filter(T=>k.collapseStart!==T.collapseStart||k.collapseEnd!==T.collapseEnd)))})}),te(d,"afterBreaks",function(){"yAxis"===d.coll&&!d.staticScale&&d.chart.options.chart.height&&(d.isDirty=!0)}),r=D({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10}},uniqueNames:!1},r,{reversed:!0})),o.apply(d,[n,r,l]),C&&(d.hasNames=!0,d.options.showLastLabel=!0)}function a(o){let n=this.options,r="number"==typeof n.linkedTo?this.chart[this.coll]?.[n.linkedTo]:void 0;if("treegrid"===n.type){if(this.min=A(this.userMin,n.min,this.dataMin),this.max=A(this.userMax,n.max,this.dataMax),E(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],r){let l=r.getExtremes();this.min=A(l.min,l.dataMin),this.max=A(l.max,l.dataMax),this.tickPositions=r.tickPositions}this.linkedParent=r}else o.apply(this,Array.prototype.slice.call(arguments,1))}function g(o){let n=this;"treegrid"===n.options.type&&n.visible&&n.tickPositions.forEach(function(r){let l=n.ticks[r];l.label&&l.label.attachedTreeGridEvents&&(I(l.label.element),l.label.attachedTreeGridEvents=!1)}),o.apply(n,Array.prototype.slice.call(arguments,1))}class v{static compose(n,r,l,d){if(!n.keepProps.includes("treeGrid")){let C=n.prototype;n.keepProps.push("treeGrid"),_(C,"generateTick",O),_(C,"init",f),_(C,"setTickInterval",a),_(C,"redraw",g),C.utils={getNode:re.getNode},ue||(ue=d)}return ne.compose(n,r,d),q.compose(n,l),ve.compose(d),n}constructor(n){this.axis=n}setCollapsedStatus(n){let r=this.axis,l=r.chart;r.series.forEach(function(d){let C=d.options.data;if(n.id&&C){let k=l.get(n.id),p=C[d.data.indexOf(k)];k&&p&&(k.collapsed=n.collapsed,p.collapsed=n.collapsed)}})}collapse(n){let r=this.axis,l=r.options.breaks||[],d=m(n,r.max);return l.push(d),n.collapsed=!0,r.treeGrid.setCollapsedStatus(n),l}expand(n){let r=this.axis,l=r.options.breaks||[],d=m(n,r.max);return n.collapsed=!1,r.treeGrid.setCollapsedStatus(n),l.reduce(function(C,k){return(k.to!==d.to||k.from!==d.from)&&C.push(k),C},[])}getTickPositions(){let n=this.axis,r=Math.floor(n.min/n.tickInterval)*n.tickInterval,l=Math.ceil(n.max/n.tickInterval)*n.tickInterval;return Object.keys(n.treeGrid.mapOfPosToGridNode||{}).reduce(function(d,C){let k=+C;return k>=r&&k<=l&&!(n.brokenAxis&&n.brokenAxis.isInAnyBreak(k))&&d.push(k),d},[])}isCollapsed(n){let r=this.axis,l=r.options.breaks||[],d=m(n,r.max);return l.some(function(C){return C.from===d.from&&C.to===d.to})}toggleCollapse(n){return this.isCollapsed(n)?this.expand(n):this.collapse(n)}}return v}),Le(V,"Series/Gantt/GanttSeries.js",[V["Series/Gantt/GanttPoint.js"],V["Series/Gantt/GanttSeriesDefaults.js"],V["Gantt/Pathfinder.js"],V["Core/Series/SeriesRegistry.js"],V["Extensions/StaticScale.js"],V["Core/Axis/TreeGrid/TreeGridAxis.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue){let{series:J,seriesTypes:{xrange:te}}=ve,{extend:X,isNumber:E,merge:j}=ue;class F extends te{static compose(D,A,I,_){te.compose(D),A&&(le.compose(D,A),I)&&(re.compose(A,I.prototype.pointClass),_&&pe.compose(D,A,I,_))}drawPoint(D,A){let a,I=this.options,_=this.chart.renderer,m=D.shapeArgs,G=D.selected&&"select",O=I.stacking&&!I.borderRadius,f=D.graphic;D.options.milestone?E(D.plotY)&&null!==D.y&&!1!==D.visible?(a=_.symbols.diamond(m.x||0,m.y||0,m.width||0,m.height||0),f?f[A]({d:a}):D.graphic=f=_.path(a).addClass(D.getClassName(),!0).add(D.group||this.group),this.chart.styledMode||D.graphic.attr(this.pointAttribs(D,G)).shadow(I.shadow,null,O)):f&&(D.graphic=f.destroy()):super.drawPoint(D,A)}translatePoint(D){let A,I;super.translatePoint(D),D.options.milestone&&(I=(A=D.shapeArgs).height||0,D.shapeArgs={x:(A.x||0)-I/2,y:A.y,width:I,height:I})}}return F.defaultOptions=j(te.defaultOptions,ne),X(F.prototype,{pointArrayMap:["start","end","y"],pointClass:q,setData:J.prototype.setData}),ve.registerSeriesType("gantt",F),F}),Le(V,"masters/modules/gantt.src.js",[V["Core/Globals.js"],V["Extensions/ArrowSymbols.js"],V["Gantt/Connection.js"],V["Extensions/CurrentDateIndication.js"],V["Core/Chart/GanttChart.js"],V["Stock/Navigator/Navigator.js"],V["Stock/RangeSelector/RangeSelector.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Series/Gantt/GanttSeries.js"]],function(q,ne,re,ve,le,pe,ue,J,te){return q.Connection=q.Connection||re,q.GanttChart=q.GanttChart||le,q.Navigator=q.Navigator||pe,q.RangeSelector=q.RangeSelector||ue,q.Scrollbar=q.Scrollbar||J,q.ganttChart=q.GanttChart.ganttChart,ne.compose(q.SVGRenderer),ve.compose(q.Axis,q.PlotLineOrBand),te.compose(q.Axis,q.Chart,q.Series,q.Tick),q.Navigator.compose(q.Chart,q.Axis,q.Series),q.RangeSelector.compose(q.Axis,q.Chart),q.Scrollbar.compose(q.Axis),q}),Le(V,"masters/highcharts-gantt.src.js",[V["masters/highcharts.src.js"]],function(q){return q.product="Highcharts Gantt",q}),V["masters/highcharts-gantt.src.js"]._modules=V,V["masters/highcharts-gantt.src.js"]},ri.exports?(V.default=V,ri.exports=e&&e.document?V(e):V):void 0!==(M=function(){return V(e)}.call(Bt,We,Bt,ri))&&(ri.exports=M)},12168:(ri,Bt,We)=>{var M,e,V;V=function(V){"use strict";var Le=V?V._modules:{};function q(ne,re,ve,le){ne.hasOwnProperty(re)||(ne[re]=le.apply(null,ve),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:re,module:ne[re]}})))}q(Le,"Extensions/Pane/PaneComposition.js",[Le["Core/Utilities.js"]],function(ne){const{addEvent:re,correctFloat:ve,defined:le,pick:pe}=ne;function ue(P){const D=this;let A;return P&&D.pane.forEach(I=>{te(P.chartX-D.plotLeft,P.chartY-D.plotTop,I.center)&&(A=I)}),A}function te(P,D,A,I,_){let m=!0;const w=A[0],G=A[1],O=Math.sqrt(Math.pow(P-w,2)+Math.pow(D-G,2));if(le(I)&&le(_)){const f=Math.atan2(ve(D-G,8),ve(P-w,8));_!==I&&(m=I>_?f>=I&&f<=Math.PI||f<=_&&f>=-Math.PI:f>=I&&f<=ve(_,8))}return O<=Math.ceil(A[2]/2)&&m}function X(P){this.polar&&(P.options.inverted&&([P.x,P.y]=[P.y,P.x]),P.isInsidePlot=this.pane.some(A=>te(P.x,P.y,A.center,A.axis&&A.axis.normalizedStartAngleRad,A.axis&&A.axis.normalizedEndAngleRad)))}function E(P){const D=this.chart;P.hoverPoint&&P.hoverPoint.plotX&&P.hoverPoint.plotY&&D.hoverPane&&!te(P.hoverPoint.plotX,P.hoverPoint.plotY,D.hoverPane.center)&&(P.hoverPoint=void 0)}function j(P){const D=this.chart;D.polar?(D.hoverPane=D.getHoverPane(P),P.filter=function(A){return A.visible&&!(!P.shared&&A.directTouch)&&pe(A.options.enableMouseTracking,!0)&&(!D.hoverPane||A.xAxis.pane===D.hoverPane)}):D.hoverPane=void 0}return{compose:function J(P,D){const A=P.prototype;A.getHoverPane||(A.collectionsWithUpdate.push("pane"),A.getHoverPane=ue,re(P,"afterIsInsidePlot",X),re(D,"afterGetHoverData",E),re(D,"beforeGetHoverData",j))}}}),q(Le,"Extensions/Pane/PaneDefaults.js",[],function(){return{pane:{center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0},background:{shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}}}),q(Le,"Extensions/Pane/Pane.js",[Le["Series/CenteredUtilities.js"],Le["Extensions/Pane/PaneComposition.js"],Le["Extensions/Pane/PaneDefaults.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{extend:pe,merge:ue,splat:J}=le;class te{constructor(E,j){this.coll="pane",this.init(E,j)}init(E,j){this.chart=j,this.background=[],j.pane.push(this),this.setOptions(E)}setOptions(E){this.options=E=ue(ve.pane,this.chart.angular?{background:{}}:void 0,E)}render(){const E=this.options;this.group||(this.group=this.chart.renderer.g("pane-group").attr({zIndex:E.zIndex||0}).add()),this.updateCenter();let F=this.options.background;if(F){F=J(F);const P=Math.max(F.length,this.background.length||0);for(let D=0;Dd,v.y=v.high,v._plotY=v.plotY,v.plotY=l,O[g]=v.dataLabel,v.dataLabel=v.dataLabelUpper,v.below=o,a?n.align||(n.align=o?"right":"left"):n.verticalAlign||(n.verticalAlign=o?"top":"bottom")}for(this.options.dataLabels=n,J.drawDataLabels&&J.drawDataLabels.apply(this,arguments),g=G;g--;)v=w[g],v&&(v.dataLabelUpper=v.dataLabel,v.dataLabel=O[g],delete v.dataLabels,v.y=v.low,v.plotY=v._plotY)}if(r.enabled||this.hasDataLabels?.()){for(g=G;g--;)if(v=w[g],v){const{plotHigh:l=0,plotLow:d=0}=v;o=r.inside?ld,v.below=!o,a?r.align||(r.align=o?"left":"right"):r.verticalAlign||(r.verticalAlign=o?"bottom":"top")}this.options.dataLabels=r,J.drawDataLabels&&J.drawDataLabels.apply(this,arguments)}if(n.enabled)for(g=G;g--;)v=w[g],v&&(v.dataLabels=[v.dataLabelUpper,v.dataLabel].filter(function(l){return!!l}));this.options.dataLabels=f}}alignDataLabel(){te.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){const w=this,G={marker:w.options.marker,symbol:w.symbol};if(w.options.lowMarker){const{options:{marker:O,lowMarker:f}}=w;w.options.marker=A(O,f),f.symbol&&(w.symbol=f.symbol)}return G}restoreMarkerSettings(w){this.options.marker=w.marker,this.symbol=w.symbol}drawPoints(){const w=this,G=w.points.length;let O,f;const a=w.modifyMarkerSettings();for(J.drawPoints.apply(w,arguments),w.restoreMarkerSettings(a),O=0;O=0&&f.plotY<=w.yAxis.len&&f.plotX>=0&&f.plotX<=w.xAxis.len),O++;for(J.drawPoints.apply(w,arguments),O=0;O\u25cf {series.name}: {point.low} - {point.high}
'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),X(_,"afterTranslate",function(){"low,high"===this.pointArrayMap.join(",")&&this.points.forEach(m=>{const w=m.high,G=m.plotY;m.isNull?m.plotY=void 0:(m.plotLow=G,m.plotHigh=P(w)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(w):w,!1,!0,void 0,!0):void 0,this.dataModify&&(m.yBottom=m.plotHigh))})},{order:0}),X(_,"afterTranslate",function(){this.points.forEach(m=>{if(this.chart.polar)this.highToXY(m),m.plotLow=m.plotY,m.tooltipPos=[((m.plotHighX||0)+(m.plotLowX||0))/2,((m.plotHigh||0)+(m.plotLow||0))/2];else{const w=m.pos(!1,m.plotLow),G=m.pos(!1,m.plotHigh);w&&G&&(w[0]=(w[0]+G[0])/2,w[1]=(w[1]+G[1])/2),m.tooltipPos=w}})},{order:3}),j(_.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:ne,pointValKey:"low",setStackedPoints:pe}),ve.registerSeriesType("arearange",_),_}),q(Le,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[Le["Series/AreaRange/AreaRangeSeries.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{spline:{prototype:le}}=re.seriesTypes,{merge:pe,extend:ue}=ve;class J extends ne{}return J.defaultOptions=pe(ne.defaultOptions),ue(J.prototype,{getPointSpline:le.getPointSpline}),re.registerSeriesType("areasplinerange",J),J}),q(Le,"Series/BoxPlot/BoxPlotSeriesDefaults.js",[],function(){return{threshold:null,tooltip:{pointFormat:'\u25cf {series.name}
Maximum: {point.high}
Upper quartile: {point.q3}
Median: {point.median}
Lower quartile: {point.q1}
Minimum: {point.low}
'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}}),q(Le,"Series/BoxPlot/BoxPlotSeries.js",[Le["Series/BoxPlot/BoxPlotSeriesDefaults.js"],Le["Series/Column/ColumnSeries.js"],Le["Core/Globals.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe){const{noop:ue}=ve,{extend:J,merge:te,pick:X}=pe;class E extends re{pointAttribs(){return{}}translate(){const F=this,P=F.yAxis,D=F.pointArrayMap;super.translate.apply(F),F.points.forEach(function(A){D.forEach(function(I){null!==A[I]&&(A[I+"Plot"]=P.translate(A[I],0,1,0,1))}),A.plotHigh=A.highPlot})}drawPoints(){const F=this,P=F.points,D=F.options,A=F.chart,I=A.renderer,_=!1!==F.doQuartiles,m=F.options.whiskerLength;let w,G,O,f,a,v,r,l,d,C,k,p,o=0;for(const T of P){r=T.graphic;const B=r?"animate":"attr",z=T.shapeArgs,K={},U={},se={},S={},$=T.color||F.color;if(typeof T.plotY<"u"){let H;l=Math.round(z.width),d=Math.floor(z.x),C=d+l,k=Math.round(l/2),w=Math.floor(_?T.q1Plot:T.lowPlot),G=Math.floor(_?T.q3Plot:T.lowPlot),O=Math.floor(T.highPlot),f=Math.floor(T.lowPlot),r||(T.graphic=r=I.g("point").add(F.group),T.stem=I.path().addClass("highcharts-boxplot-stem").add(r),m&&(T.whiskers=I.path().addClass("highcharts-boxplot-whisker").add(r)),_&&(T.box=I.path(void 0).addClass("highcharts-boxplot-box").add(r)),T.medianShape=I.path(void 0).addClass("highcharts-boxplot-median").add(r)),A.styledMode||(U.stroke=T.stemColor||D.stemColor||$,U["stroke-width"]=X(T.stemWidth,D.stemWidth,D.lineWidth),U.dashstyle=T.stemDashStyle||D.stemDashStyle||D.dashStyle,T.stem.attr(U),m&&(se.stroke=T.whiskerColor||D.whiskerColor||$,se["stroke-width"]=X(T.whiskerWidth,D.whiskerWidth,D.lineWidth),se.dashstyle=T.whiskerDashStyle||D.whiskerDashStyle||D.dashStyle,T.whiskers.attr(se)),_&&(K.fill=T.fillColor||D.fillColor||$,K.stroke=D.lineColor||$,K["stroke-width"]=D.lineWidth||0,K.dashstyle=T.boxDashStyle||D.boxDashStyle||D.dashStyle,T.box.attr(K)),S.stroke=T.medianColor||D.medianColor||$,S["stroke-width"]=X(T.medianWidth,D.medianWidth,D.lineWidth),S.dashstyle=T.medianDashStyle||D.medianDashStyle||D.dashStyle,T.medianShape.attr(S)),v=T.stem.strokeWidth()%2/2,o=d+k+v,H=[["M",o,G],["L",o,O],["M",o,w],["L",o,f]],T.stem[B]({d:H}),_&&(v=T.box.strokeWidth()%2/2,w=Math.floor(w)+v,G=Math.floor(G)+v,d+=v,C+=v,H=[["M",d,G],["L",d,w],["L",C,w],["L",C,G],["L",d,G],["Z"]],T.box[B]({d:H})),m&&(v=T.whiskers.strokeWidth()%2/2,O+=v,f+=v,p=/%$/.test(m)?k*parseFloat(m)/100:m/2,H=[["M",o-p,O],["L",o+p,O],["M",o-p,f],["L",o+p,f]],T.whiskers[B]({d:H})),a=Math.round(T.medianPlot),v=T.medianShape.strokeWidth()%2/2,a+=v,H=[["M",d,a],["L",C,a]],T.medianShape[B]({d:H})}}}toYData(F){return[F.low,F.q1,F.median,F.q3,F.high]}}return E.defaultOptions=te(re.defaultOptions,ne),J(E.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:ue,setStackedPoints:ue}),le.registerSeriesType("boxplot",E),E}),q(Le,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),q(Le,"Series/Bubble/BubbleLegendItem.js",[Le["Core/Color/Color.js"],Le["Core/Templating.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{parse:pe}=ne,{noop:ue}=ve,{arrayMax:J,arrayMin:te,isNumber:X,merge:E,pick:j,stableSort:F}=le;return class P{constructor(A,I){this.setState=ue,this.init(A,I)}init(A,I){this.options=A,this.visible=!0,this.chart=I.chart,this.legend=I}addToLegend(A){A.splice(this.options.legendIndex,0,this)}drawLegendSymbol(A){const I=j(A.options.itemDistance,20),_=this.legendItem||{},m=this.options,w=m.ranges,G=m.connectorDistance;let O;if(!w||!w.length||!X(w[0].value))return void(A.options.bubbleLegend.autoRanges=!0);F(w,function(v,o){return o.value-v.value}),this.ranges=w,this.setOptions(),this.render();const f=this.getMaxLabelSize(),a=this.ranges[0].radius,g=2*a;O=G-a+f.width,O=O>0?O:0,this.maxLabel=f,this.movementX="left"===m.labels.align?O:0,_.labelWidth=g+O+I,_.labelHeight=g+f.height/2}setOptions(){const A=this.ranges,I=this.options,_=this.chart.series[I.seriesIndex],m=this.legend.baseline,w={zIndex:I.zIndex,"stroke-width":I.borderWidth},G={zIndex:I.zIndex,"stroke-width":I.connectorWidth},O={align:this.legend.options.rtl||"left"===I.labels.align?"right":"left",zIndex:I.zIndex},f=_.options.marker.fillOpacity,a=this.chart.styledMode;A.forEach(function(g,v){a||(w.stroke=j(g.borderColor,I.borderColor,_.color),w.fill=j(g.color,I.color,1!==f?pe(_.color).setOpacity(f).get("rgba"):_.color),G.stroke=j(g.connectorColor,I.connectorColor,_.color)),A[v].radius=this.getRangeRadius(g.value),A[v]=E(A[v],{center:A[0].radius-A[v].radius+m}),a||E(!0,A[v],{bubbleAttribs:E(w),connectorAttribs:E(G),labelAttribs:O})},this)}getRangeRadius(A){const I=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,I.ranges[I.ranges.length-1].value,I.ranges[0].value,I.minSize,I.maxSize,A)}render(){const A=this.legendItem||{},I=this.chart.renderer,_=this.options.zThreshold;this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),A.symbol=I.g("bubble-legend"),A.label=I.g("bubble-legend-item").css(this.legend.itemStyle||{}),A.symbol.translateX=0,A.symbol.translateY=0,A.symbol.add(A.label),A.label.add(A.group);for(const m of this.ranges)m.value>=_&&this.renderRange(m);this.hideOverlappingLabels()}renderRange(A){const I=this.ranges[0],_=this.legend,m=this.options,w=m.labels,G=this.chart,O=G.series[m.seriesIndex],f=G.renderer,a=this.symbols,g=a.labels,v=A.center,o=Math.abs(A.radius),n=m.connectorDistance||0,r=w.align,C=m.connectorWidth,k=I.radius||0,p=v-o-m.borderWidth/2+C/2,T=(p%1?1:.5)-(C%2?0:.5),B=f.styledMode;let z=_.options.rtl||"left"===r?-n:n;"center"===r&&(z=0,m.connectorDistance=0,A.labelAttribs.align="center"),a.bubbleItems.push(f.circle(k,v+T,o).attr(B?{}:A.bubbleAttribs).addClass((B?"highcharts-color-"+O.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(m.className||"")).add(this.legendItem.symbol)),a.connectors.push(f.path(f.crispLine([["M",k,p],["L",k+z,p]],m.connectorWidth)).attr(B?{}:A.connectorAttribs).addClass((B?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(m.connectorClassName||"")).add(this.legendItem.symbol));const K=f.text(this.formatLabel(A)).attr(B?{}:A.labelAttribs).css(B?{}:w.style).addClass("highcharts-bubble-legend-labels "+(m.labels.className||"")).add(this.legendItem.symbol),U={x:k+z+m.labels.x,y:p+m.labels.y+.4*K.getBBox().height};K.attr(U),g.push(K),K.placed=!0,K.alignAttr=U}getMaxLabelSize(){let I,_;return this.symbols.labels.forEach(function(m){_=m.getBBox(!0),I=I?_.width>I.width?_:I:_}),I||{}}formatLabel(A){const I=this.options,_=I.labels.formatter,m=I.labels.format,{numberFormatter:w}=this.chart;return m?re.format(m,A):_?_.call(A):w(A.value,1)}hideOverlappingLabels(){const _=this.symbols;!this.options.labels.allowOverlap&&_&&(this.chart.hideOverlappingLabels(_.labels),_.labels.forEach(function(m,w){m.newOpacity?m.newOpacity!==m.oldOpacity&&_.connectors[w].show():_.connectors[w].hide()}))}getRanges(){const A=this.legend.bubbleLegend,_=A.options.ranges;let m,w,G=Number.MAX_VALUE,O=-Number.MAX_VALUE;return A.chart.series.forEach(function(f){f.isBubble&&!f.ignoreSeries&&(w=f.zData.filter(X),w.length&&(G=j(f.options.zMin,Math.min(G,Math.max(te(w),!1===f.options.displayNegative?f.options.zThreshold:-Number.MAX_VALUE))),O=j(f.options.zMax,Math.max(O,J(w)))))}),m=G===O?[{value:O}]:[{value:G},{value:(G+O)/2},{value:O,autoRanges:!0}],_.length&&_[0].radius&&m.reverse(),m.forEach(function(f,a){_&&_[a]&&(m[a]=E(_[a],f))}),m}predictBubbleSizes(){const A=this.chart,I=A.legend.options,_=I.floating,m="horizontal"===I.layout,w=m?A.legend.lastLineHeight:0,G=A.plotSizeX,O=A.plotSizeY,f=A.series[this.options.seriesIndex],a=f.getPxExtremes(),g=Math.ceil(a.minPxSize),v=Math.ceil(a.maxPxSize),o=Math.min(O,G);let n,r=f.options.maxSize;return _||!/%$/.test(r)?n=v:(r=parseFloat(r),n=(o+w)*r/100/(r/100+1),(m&&O-n>=G||!m&&G-n>=O)&&(n=v)),[g,Math.ceil(n)]}updateRanges(A,I){const _=this.legend.options.bubbleLegend;_.minSize=A,_.maxSize=I,_.ranges=this.getRanges()}correctSizes(){const A=this.legend,m=this.chart.series[this.options.seriesIndex].getPxExtremes(),G=this.options.maxSize;Math.abs(Math.ceil(m.maxPxSize)-G)>1&&(this.updateRanges(this.options.minSize,m.maxPxSize),A.render())}}}),q(Le,"Series/Bubble/BubbleLegendComposition.js",[Le["Series/Bubble/BubbleLegendDefaults.js"],Le["Series/Bubble/BubbleLegendItem.js"],Le["Core/Defaults.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe){const{setOptions:ue}=ve,{composed:J}=le,{addEvent:te,objectEach:X,pushUnique:E,wrap:j}=pe;function F(G,O,f){const a=this,g=a.legend,v=D(a)>=0;let o,n,r;g&&g.options.enabled&&g.bubbleLegend&&g.options.bubbleLegend.autoRanges&&v?(o=g.bubbleLegend.options,n=g.bubbleLegend.predictBubbleSizes(),g.bubbleLegend.updateRanges(n[0],n[1]),o.placed||(g.group.placed=!1,g.allItems.forEach(l=>{r=l.legendItem||{},r.group&&(r.group.translateY=void 0)})),g.render(),a.getMargins(),a.axes.forEach(function(l){l.visible&&l.render(),o.placed||(l.setScale(),l.updateNames(),X(l.ticks,function(d){d.isNew=!0,d.isNewLabel=!0}))}),o.placed=!0,a.getMargins(),G.call(a,O,f),g.bubbleLegend.correctSizes(),m(g,A(g))):(G.call(a,O,f),g&&g.options.enabled&&g.bubbleLegend&&(g.render(),m(g,A(g))))}function D(G){const O=G.series;let f=0;for(;fg.height&&(g.height=O[r].itemHeight);g.step=n}return f}function I(G){const O=this,f=O.bubbleLegend,a=O.options,g=a.bubbleLegend,v=D(O.chart);f&&f.ranges&&f.ranges.length&&(g.ranges.length&&(g.autoRanges=!!g.ranges[0].autoRanges),O.destroyItem(f)),v>=0&&a.enabled&&g.enabled&&(g.seriesIndex=v,O.bubbleLegend=new re(g,O),O.bubbleLegend.addToLegend(G.allItems))}function _(G){if(G.defaultPrevented)return!1;const O=this,f=O.chart,a=O.visible,g=O.chart.legend;let v;g&&g.bubbleLegend&&(O.visible=!a,O.ignoreSeries=a,v=D(f)>=0,g.bubbleLegend.visible!==v&&(g.update({bubbleLegend:{enabled:v}}),g.bubbleLegend.visible=v),O.visible=a)}function m(G,O){const a=G.options.rtl;let g,v,o,n,r=0;G.allItems.forEach((l,d)=>{n=l.legendItem||{},n.group&&(g=n.group.translateX||0,v=n.y||0,o=l.movementX,(o||a&&l.ranges)&&(o=a?g-l.options.maxSize/2:g+o,n.group.attr({translateX:o})),d>O[r].step&&r++,n.group.attr({translateY:Math.round(v+O[r].height/2)}),n.y=v+O[r].height/2)})}return{compose:function P(G,O,f){E(J,"Series.BubbleLegend")&&(ue({legend:{bubbleLegend:ne}}),j(G.prototype,"drawChartBox",F),te(O,"afterGetAllItems",I),te(f,"legendItemClick",_))}}}),q(Le,"Series/Bubble/BubblePoint.js",[Le["Core/Series/Point.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{seriesTypes:{scatter:{prototype:{pointClass:le}}}}=re,{extend:pe}=ve;class ue extends le{haloPath(te){return ne.prototype.haloPath.call(this,0===te?0:(this.marker&&this.marker.radius||0)+te)}}return pe(ue.prototype,{ttBelow:!1}),ue}),q(Le,"Series/Bubble/BubbleSeries.js",[Le["Series/Bubble/BubbleLegendComposition.js"],Le["Series/Bubble/BubblePoint.js"],Le["Core/Color/Color.js"],Le["Core/Globals.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe,ue){const{parse:J}=ve,{composed:te,noop:X}=le,{series:E,seriesTypes:{column:{prototype:j},scatter:F}}=pe,{addEvent:P,arrayMax:D,arrayMin:A,clamp:I,extend:_,isNumber:m,merge:w,pick:G,pushUnique:O}=ue;function f(){const g=this.len,{coll:v,isXAxis:o,min:n}=this,r=o?"xData":"yData",l=(this.max||0)-(n||0);let p,d=0,C=g,k=g/l;"xAxis"!==v&&"yAxis"!==v||(this.series.forEach(T=>{if(T.bubblePadding&&T.reserveSpace()){this.allowZoomOutside=!0,p=!0;const B=T[r];if(o&&((T.onPoint||T).getRadii(0,0,T),T.onPoint&&(T.radii=T.onPoint.radii)),l>0){let z=B.length;for(;z--;)if(m(B[z])&&this.dataMin<=B[z]&&B[z]<=this.max){const K=T.radii&&T.radii[z]||0;d=Math.min((B[z]-n)*k-K,d),C=Math.max((B[z]-n)*k+K,C)}}}}),p&&l>0&&!this.logarithmic&&(C-=g,k*=(g+Math.max(0,d)-Math.min(C,g))/g,[["min","userMin",d],["max","userMax",C]].forEach(T=>{typeof G(this.options[T[0]],this[T[1]])>"u"&&(this[T[0]]+=T[2]/k)})))}class a extends F{static compose(v,o,n,r){ne.compose(o,n,r),O(te,"Series.Bubble")&&P(v,"foundExtremes",f)}animate(v){!v&&this.points.length{if(K.bubblePadding&&K.reserveSpace()){const U=(K.onPoint||K).getZExtremes();U&&(T=Math.min(G(T,U.zMin),U.zMin),B=Math.max(G(B,U.zMax),U.zMax),z=!0)}}),z?(C={zMin:T,zMax:B},this.chart.bubbleZExtremes=C):C={zMin:0,zMax:0}}for(l=0,r=v.length;l0&&(B=(l-v)/T)}return k&&B>=0&&(B=Math.sqrt(B)),Math.ceil(n+B*(r-n))/2}hasData(){return!!this.processedXData.length}pointAttribs(v,o){const r=this.options.marker.fillOpacity,l=E.prototype.pointAttribs.call(this,v,o);return 1!==r&&(l.fill=J(l.fill).setOpacity(r).get("rgba")),l}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){const{data:v,options:o,radii:n}=this,{minPxSize:r}=this.getPxExtremes();let l=v.length;for(;l--;){const d=v[l],C=n?n[l]:0;"z"===this.zoneAxis&&(d.negative=(d.z||0)<(o.zThreshold||0)),m(C)&&C>=r/2?(d.marker=_(d.marker,{radius:C,width:2*C,height:2*C}),d.dlBox={x:d.plotX-C,y:d.plotY-C,width:2*C,height:2*C}):(d.shapeArgs=d.plotY=d.dlBox=void 0,d.isInside=!1)}}getPxExtremes(){const v=Math.min(this.chart.plotWidth,this.chart.plotHeight),o=l=>{let d;return"string"==typeof l&&(d=/%$/.test(l),l=parseInt(l,10)),d?v*l/100:l},n=o(G(this.options.minSize,8));return{minPxSize:n,maxPxSize:Math.max(o(G(this.options.maxSize,"20%")),n)}}getZExtremes(){const v=this.options,o=(this.zData||[]).filter(m);if(o.length){const n=G(v.zMin,I(A(o),!1===v.displayNegative?v.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),r=G(v.zMax,D(o));if(m(n)&&m(r))return{zMin:n,zMax:r}}}}return a.defaultOptions=w(F.defaultOptions,{dataLabels:{formatter:function(){const{numberFormatter:g}=this.series.chart,{z:v}=this.point;return m(v)?g(v,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),_(a.prototype,{alignDataLabel:j.alignDataLabel,applyZones:X,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:re,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),P(a,"updatedData",g=>{delete g.target.chart.bubbleZExtremes}),P(a,"remove",g=>{delete g.target.chart.bubbleZExtremes}),pe.registerSeriesType("bubble",a),a}),q(Le,"Series/ColumnRange/ColumnRangePoint.js",[Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re){const{seriesTypes:{column:{prototype:{pointClass:{prototype:ve}}},arearange:{prototype:{pointClass:le}}}}=ne,{extend:pe,isNumber:ue}=re;class J extends le{isValid(){return ue(this.low)}}return pe(J.prototype,{setState:ve.setState}),J}),q(Le,"Series/ColumnRange/ColumnRangeSeries.js",[Le["Series/ColumnRange/ColumnRangePoint.js"],Le["Core/Globals.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{noop:pe}=re,{seriesTypes:{arearange:ue,column:J,column:{prototype:te}}}=ve,{addEvent:X,clamp:E,extend:j,isNumber:F,merge:P,pick:D}=le;class I extends ue{setOptions(){return P(!0,arguments[0],{stacking:void 0}),ue.prototype.setOptions.apply(this,arguments)}translate(){return te.translate.apply(this)}pointAttribs(){return te.pointAttribs.apply(this,arguments)}translate3dPoints(){return te.translate3dPoints.apply(this,arguments)}translate3dShapes(){return te.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){const m=this.yAxis,w=this.xAxis,G=w.startAngleRad,O=this.chart,f=this.xAxis.isRadial,a=Math.max(O.chartWidth,O.chartHeight)+999;let g,v,o,n;function r(l){return E(l,-a,a)}this.points.forEach(l=>{const d=l.shapeArgs||{},C=this.options.minPointLength,k=l.plotY,p=m.translate(l.high,0,1,0,1);if(F(p)&&F(k))if(l.plotHigh=r(p),l.plotLow=r(k),n=l.plotHigh,g=D(l.rectPlotY,l.plotY)-l.plotHigh,Math.abs(g)\u25cf {series.name}: {point.low} - {point.high}
'},whiskerWidth:null}}),q(Le,"Series/ErrorBar/ErrorBarSeries.js",[Le["Series/BoxPlot/BoxPlotSeries.js"],Le["Series/Column/ColumnSeries.js"],Le["Series/ErrorBar/ErrorBarSeriesDefaults.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe){const{arearange:ue}=le.seriesTypes,{addEvent:J,merge:te,extend:X}=pe;class E extends ne{getColumnMetrics(){const F=this;return F.linkedParent&&F.linkedParent.columnMetrics||re.prototype.getColumnMetrics.call(F)}drawDataLabels(){const F=this,P=F.pointValKey;if(ue){ue.prototype.drawDataLabels.call(F);for(const D of F.points)D.y=D[P]}}toYData(F){return[F.low,F.high]}}return E.defaultOptions=te(ne.defaultOptions,ve),J(E,"afterTranslate",function(){for(const j of this.points)j.plotLow=j.plotY},{order:0}),X(E.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),le.registerSeriesType("errorbar",E),E}),q(Le,"Series/Gauge/GaugePoint.js",[Le["Core/Series/SeriesRegistry.js"]],function(ne){const{series:{prototype:{pointClass:re}}}=ne;return class ve extends re{setState(pe){this.state=pe}}}),q(Le,"Series/Gauge/GaugeSeries.js",[Le["Series/Gauge/GaugePoint.js"],Le["Core/Globals.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{noop:pe}=re,{series:ue,seriesTypes:{column:J}}=ve,{clamp:te,isNumber:X,extend:E,merge:j,pick:F,pInt:P,defined:D}=le;class A extends ue{translate(){const _=this,m=_.yAxis,w=_.options,G=m.center;_.generatePoints(),_.points.forEach(O=>{const f=j(w.dial,O.dial),a=P(f.radius)*G[2]/200,g=P(f.baseLength)*a/100,v=P(f.rearLength)*a/100,o=f.baseWidth,n=f.topWidth;let r=w.overshoot,l=m.startAngleRad+m.translate(O.y,void 0,void 0,void 0,!0);(X(r)||!1===w.wrap)&&(r=X(r)?r/180*Math.PI:0,l=te(l,m.startAngleRad-r,m.endAngleRad+r)),l=180*l/Math.PI,O.shapeType="path",O.shapeArgs={d:f.path||[["M",-v,-o/2],["L",g,-o/2],["L",a,-n/2],["L",a,n/2],["L",g,o/2],["L",-v,o/2],["Z"]],translateX:G[0],translateY:G[1],rotation:l},O.plotX=G[0],O.plotY=G[1],D(O.y)&&m.max-m.min&&(O.percentage=(O.y-m.min)/(m.max-m.min)*100)})}drawPoints(){const _=this,m=_.chart,w=_.yAxis.center,G=_.pivot,O=_.options,f=O.pivot,a=m.renderer;_.points.forEach(g=>{const v=g.graphic,o=g.shapeArgs,n=o.d,r=j(O.dial,g.dial);v?(v.animate(o),o.d=n):g.graphic=a[g.shapeType](o).addClass("highcharts-dial").add(_.group),m.styledMode||g.graphic[v?"animate":"attr"]({stroke:r.borderColor,"stroke-width":r.borderWidth,fill:r.backgroundColor})}),G?G.animate({translateX:w[0],translateY:w[1]}):f&&(_.pivot=a.circle(0,0,f.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(w[0],w[1]).add(_.group),m.styledMode||_.pivot.attr({fill:f.backgroundColor,stroke:f.borderColor,"stroke-width":f.borderWidth}))}animate(_){const m=this;_||m.points.forEach(w=>{const G=w.graphic;G&&(G.attr({rotation:180*m.yAxis.startAngleRad/Math.PI}),G.animate({rotation:w.shapeArgs.rotation},m.options.animation))})}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),ue.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(_,m){ue.prototype.setData.call(this,_,!1),this.processData(),this.generatePoints(),F(m,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return A.defaultOptions=j(ue.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1}),E(A.prototype,{angular:!0,directTouch:!0,drawGraph:pe,drawTracker:J.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:ne,trackerGroups:["group","dataLabelsGroup"]}),ve.registerSeriesType("gauge",A),A}),q(Le,"Series/DragNodesComposition.js",[Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re){const{composed:ve}=ne,{addEvent:le,pushUnique:pe}=re;function J(){const P=this;let D,A,I;P.container&&(D=le(P.container,"mousedown",_=>{const m=P.hoverPoint;m&&m.series&&m.series.hasDraggableNodes&&m.series.options.draggable&&(m.series.onMouseDown(m,_),A=le(P.container,"mousemove",w=>m&&m.series&&m.series.onMouseMove(m,w)),I=le(P.container.ownerDocument,"mouseup",w=>(A(),I(),m&&m.series&&m.series.onMouseUp(m,w))))})),le(P,"destroy",function(){D()})}return{compose:function ue(P){pe(ve,"DragNodes")&&le(P,"load",J)},onMouseDown:function te(P,D){const A=this.chart.pointer?.normalize(D)||D;P.fixedPosition={chartX:A.chartX,chartY:A.chartY,plotX:P.plotX,plotY:P.plotY},P.inDragMode=!0},onMouseMove:function X(P,D){if(P.fixedPosition&&P.inDragMode){const I=this.chart,_=I.pointer?.normalize(D)||D,m=P.fixedPosition.chartX-_.chartX,w=P.fixedPosition.chartY-_.chartY,G=I.graphLayoutsLookup;let O,f;(Math.abs(m)>5||Math.abs(w)>5)&&(O=P.fixedPosition.plotX-m,f=P.fixedPosition.plotY-w,I.isInsidePlot(O,f)&&(P.plotX=O,P.plotY=f,P.hasDragged=!0,this.redrawHalo(P),G.forEach(a=>{a.restartSimulation()})))}},onMouseUp:function E(P){P.fixedPosition&&(P.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),P.inDragMode=P.hasDragged=!1,this.options.fixedDraggable||delete P.fixedPosition)},redrawHalo:function j(P){P&&this.halo&&this.halo.attr({d:P.haloPath(this.options.states.hover.halo.size)})}}}),q(Le,"Series/GraphLayoutComposition.js",[Le["Core/Animation/AnimationUtilities.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{setAnimation:le}=ne,{composed:pe}=re,{addEvent:ue,pushUnique:J}=ve;function j(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(I=>{I.updateSimulation()}),this.redraw())}function F(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(I=>{I.updateSimulation(!1)}),this.redraw())}function P(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(I=>{I.stop()})}function D(){let I,_=!1;const m=w=>{w.maxIterations--&&isFinite(w.temperature)&&!w.isStable()&&!w.enableSimulation&&(w.beforeStep&&w.beforeStep(),w.step(),I=!1,_=!0)};if(this.graphLayoutsLookup){for(le(!1,this),this.graphLayoutsLookup.forEach(w=>w.start());!I;)I=!0,this.graphLayoutsLookup.forEach(m);_&&this.series.forEach(w=>{w&&w.layout&&w.render()})}}return{compose:function E(I){J(pe,"GraphLayout")&&(ue(I,"afterPrint",j),ue(I,"beforePrint",F),ue(I,"predraw",P),ue(I,"render",D))},integrations:{},layouts:{}}}),q(Le,"Series/PackedBubble/PackedBubblePoint.js",[Le["Core/Chart/Chart.js"],Le["Core/Series/Point.js"],Le["Core/Series/SeriesRegistry.js"]],function(ne,re,ve){const{seriesTypes:{bubble:{prototype:{pointClass:le}}}}=ve;return class pe extends le{destroy(){return this.series.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),re.prototype.destroy.apply(this,arguments)}firePointEvent(){const te=this.series.options;if(this.isParentNode&&te.parentNode){const X=te.allowPointSelect;te.allowPointSelect=te.parentNode.allowPointSelect,re.prototype.firePointEvent.apply(this,arguments),te.allowPointSelect=X}else re.prototype.firePointEvent.apply(this,arguments)}select(){const X=this.series.chart;this.isParentNode?(X.getSelectedPoints=X.getSelectedParentNodes,re.prototype.select.apply(this,arguments),X.getSelectedPoints=ne.prototype.getSelectedPoints):re.prototype.select.apply(this,arguments)}}}),q(Le,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[Le["Core/Utilities.js"]],function(ne){const{isNumber:re}=ne;return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){const{numberFormatter:le}=this.series.chart,{value:pe}=this.point;return re(pe)?le(pe,-1):""},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}}),q(Le,"Series/Networkgraph/VerletIntegration.js",[],function(){return{attractive:function ne(X,E,j){const F=X.getMass(),P=-j.x*E*this.diffTemperature,D=-j.y*E*this.diffTemperature;X.fromNode.fixedPosition||(X.fromNode.plotX-=P*F.fromNode/X.fromNode.degree,X.fromNode.plotY-=D*F.fromNode/X.fromNode.degree),X.toNode.fixedPosition||(X.toNode.plotX+=P*F.toNode/X.toNode.degree,X.toNode.plotY+=D*F.toNode/X.toNode.degree)},attractiveForceFunction:function re(X,E){return(E-X)/X},barycenter:function ve(){let X=this.options.gravitationalConstant,E=this.barycenter.xFactor,j=this.barycenter.yFactor;E=(E-(this.box.left+this.box.width)/2)*X,j=(j-(this.box.top+this.box.height)/2)*X,this.nodes.forEach(function(F){F.fixedPosition||(F.plotX-=E/F.mass/F.degree,F.plotY-=j/F.mass/F.degree)})},getK:function le(X){return Math.pow(X.box.width*X.box.height/X.nodes.length,.5)},integrate:function pe(X,E){let j=-X.options.friction,F=X.options.maxSpeed,A=(E.plotX+E.dispX-E.prevX)*j,I=(E.plotY+E.dispY-E.prevY)*j,_=Math.abs,m=_(A)/(A||1),w=_(I)/(I||1);A=m*Math.min(F,Math.abs(A)),I=w*Math.min(F,Math.abs(I)),E.prevX=E.plotX+E.dispX,E.prevY=E.plotY+E.dispY,E.plotX+=A,E.plotY+=I,E.temperature=X.vectorLength({x:A,y:I})},repulsive:function ue(X,E,j){const F=E*this.diffTemperature/X.mass/X.degree;X.fixedPosition||(X.plotX+=j.x*F,X.plotY+=j.y*F)},repulsiveForceFunction:function J(X,E){return(E-X)/X*(E>X?1:0)}}}),q(Le,"Series/PackedBubble/PackedBubbleIntegration.js",[Le["Core/Globals.js"],Le["Series/Networkgraph/VerletIntegration.js"]],function(ne,re){const{noop:ve}=ne;return{barycenter:function le(){const te=this,X=te.options.gravitationalConstant,E=te.box,j=te.nodes;let F,P;for(const D of j)te.options.splitSeries&&!D.isParentNode?(F=D.series.parentNode.plotX,P=D.series.parentNode.plotY):(F=E.width/2,P=E.height/2),D.fixedPosition||(D.plotX-=(D.plotX-F)*X/(D.mass*Math.sqrt(j.length)),D.plotY-=(D.plotY-P)*X/(D.mass*Math.sqrt(j.length)))},getK:ve,integrate:re.integrate,repulsive:function pe(te,X,E,j){const F=X*this.diffTemperature/te.mass/te.degree,P=E.x*F,D=E.y*F;te.fixedPosition||(te.plotX+=P,te.plotY+=D),j.fixedPosition||(j.plotX-=P,j.plotY-=D)},repulsiveForceFunction:function ue(te,X,E,j){return Math.min(te,(E.marker.radius+j.marker.radius)/2)}}}),q(Le,"Series/Networkgraph/EulerIntegration.js",[],function(){return{attractive:function ne(X,E,j,F){const P=X.getMass(),D=j.x/F*E,A=j.y/F*E;X.fromNode.fixedPosition||(X.fromNode.dispX-=D*P.fromNode/X.fromNode.degree,X.fromNode.dispY-=A*P.fromNode/X.fromNode.degree),X.toNode.fixedPosition||(X.toNode.dispX+=D*P.toNode/X.toNode.degree,X.toNode.dispY+=A*P.toNode/X.toNode.degree)},attractiveForceFunction:function re(X,E){return X*X/E},barycenter:function ve(){const X=this.options.gravitationalConstant,E=this.barycenter.xFactor,j=this.barycenter.yFactor;this.nodes.forEach(function(F){if(!F.fixedPosition){const P=F.getDegree(),D=P*(1+P/2);F.dispX+=(E-F.plotX)*X*D/F.degree,F.dispY+=(j-F.plotY)*X*D/F.degree}})},getK:function le(X){return Math.pow(X.box.width*X.box.height/X.nodes.length,.3)},integrate:function pe(X,E){let j;E.dispX+=E.dispX*X.options.friction,E.dispY+=E.dispY*X.options.friction,j=E.temperature=X.vectorLength({x:E.dispX,y:E.dispY}),0!==j&&(E.plotX+=E.dispX/j*Math.min(Math.abs(E.dispX),X.temperature),E.plotY+=E.dispY/j*Math.min(Math.abs(E.dispY),X.temperature))},repulsive:function ue(X,E,j,F){X.dispX+=j.x/F*E/X.degree,X.dispY+=j.y/F*E/X.degree},repulsiveForceFunction:function J(X,E){return E*E/X}}}),q(Le,"Series/Networkgraph/QuadTreeNode.js",[],function(){class ne{constructor(ve){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=ve,this.boxSize=Math.min(ve.width,ve.height)}divideBox(){const ve=this.box.width/2,le=this.box.height/2;this.nodes[0]=new ne({left:this.box.left,top:this.box.top,width:ve,height:le}),this.nodes[1]=new ne({left:this.box.left+ve,top:this.box.top,width:ve,height:le}),this.nodes[2]=new ne({left:this.box.left+ve,top:this.box.top+le,width:ve,height:le}),this.nodes[3]=new ne({left:this.box.left,top:this.box.top+le,width:ve,height:le})}getBoxPosition(ve){const pe=ve.plotYthis.step())):(this.simulation=!1,this.series.forEach(_=>{j(_,"afterSimulation")}))}}stop(){this.simulation&&J.cancelAnimationFrame(this.simulation)}setArea(A,I,_,m){this.box={left:A,top:I,width:_,height:m}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(A,I){for(const _ of A)-1===I.indexOf(_)&&I.push(_)}removeElementFromCollection(A,I){const _=I.indexOf(A);-1!==_&&I.splice(_,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(A){this.maxIterations=F(A,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(A){this.initialRendering=A}createQuadTree(){this.quadTree=new le(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){const A=this.options.initialPositions;if(E(A)){A.call(this);for(const I of this.nodes)X(I.prevX)||(I.prevX=I.plotX),X(I.prevY)||(I.prevY=I.plotY),I.dispX=0,I.dispY=0}else"circle"===A?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){const A=this.box,I=this.nodes,m=2*Math.PI/(I.length+1),w=I.filter(function(v){return 0===v.linksTo.length}),G={},O=this.options.initialPositionRadius,f=v=>{for(const o of v.linksFrom||[])G[o.toNode.id]||(G[o.toNode.id]=!0,a.push(o.toNode),f(o.toNode))};let g,a=[];for(const v of w)a.push(v),f(v);if(a.length)for(const v of I)-1===a.indexOf(v)&&a.push(v);else a=I;for(let v=0,o=a.length;v{let O=G*G/Math.PI;return O-=Math.floor(O),O};let w;for(let G=0,O=I.length;Gthis.barnesHutApproximation(A,I));else{let A,I,_;for(const m of this.nodes)for(const w of this.nodes)m!==w&&!m.fixedPosition&&(_=this.getDistXY(m,w),I=this.vectorLength(_),0!==I&&(A=this.repulsiveForce(I,this.k),this.force("repulsive",m,A*w.mass,_,I)))}}attractiveForces(){let A,I,_;for(const m of this.links)m.fromNode&&m.toNode&&(A=this.getDistXY(m.fromNode,m.toNode),I=this.vectorLength(A),0!==I&&(_=this.attractiveForce(I,this.k),this.force("attractive",m,_,A,I)))}applyLimits(){const A=this.nodes;for(const I of A){if(I.fixedPosition)return;this.integration.integrate(this,I),this.applyLimitBox(I,this.box),I.dispX=0,I.dispY=0}}applyLimitBox(A,I){const _=A.radius;A.plotX=te(A.plotX,I.left+_,I.width-_),A.plotY=te(A.plotY,I.top+_,I.height-_)}coolDown(A,I,_){return A-I*_}isStable(){return Math.abs(this.systemTemperature-this.prevSystemTemperature)<1e-5||this.temperature<=0}getSystemTemperature(){let A=0;for(const I of this.nodes)A+=I.temperature;return A}vectorLength(A){return Math.sqrt(A.x*A.x+A.y*A.y)}getDistR(A,I){const _=this.getDistXY(A,I);return this.vectorLength(_)}getDistXY(A,I){const _=A.plotX-I.plotX,m=A.plotY-I.plotY;return{x:_,y:m,absX:Math.abs(_),absY:Math.abs(m)}}}return P}),q(Le,"Series/PackedBubble/PackedBubbleLayout.js",[Le["Series/GraphLayoutComposition.js"],Le["Series/PackedBubble/PackedBubbleIntegration.js"],Le["Series/Networkgraph/ReingoldFruchtermanLayout.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{addEvent:pe,pick:ue}=le;function J(){const j=[];return this.series.forEach(F=>{F.parentNode&&F.parentNode.selected&&j.push(F.parentNode)}),j}function te(){this.allDataPoints&&delete this.allDataPoints}class X extends ve{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(j){ve.compose(j),ne.integrations.packedbubble=re,ne.layouts.packedbubble=X;const F=j.prototype;F.getSelectedParentNodes||(pe(j,"beforeRedraw",te),F.getSelectedParentNodes=J)}beforeStep(){this.options.marker&&this.series.forEach(j=>{j&&j.calculateParentRadius()})}isStable(){const j=Math.abs(this.prevSystemTemperature-this.systemTemperature),F=10*this.systemTemperature/Math.sqrt(this.nodes.length);return Math.abs(F)<1&&j<1e-5||this.temperature<=0}setCircularPositions(){const j=this,F=j.box,P=j.nodes,A=2*Math.PI/(P.length+1),I=j.options.initialPositionRadius;let _,m,w=0;for(const G of P)j.options.splitSeries&&!G.isParentNode?(_=G.series.parentNode.plotX,m=G.series.parentNode.plotY):(_=F.width/2,m=F.height/2),G.plotX=G.prevX=ue(G.plotX,_+I*Math.cos(G.index||w*A)),G.plotY=G.prevY=ue(G.plotY,m+I*Math.sin(G.index||w*A)),G.dispX=0,G.dispY=0,w++}repulsiveForces(){const j=this,F=j.options.bubblePadding;let P,D,A;j.nodes.forEach(I=>{I.degree=I.mass,I.neighbours=0,j.nodes.forEach(_=>{P=0,I!==_&&!I.fixedPosition&&(j.options.seriesInteraction||I.series===_.series)&&(A=j.getDistXY(I,_),D=j.vectorLength(A)-(I.marker.radius+_.marker.radius+F),D<0&&(I.degree+=.01,I.neighbours++,P=j.repulsiveForce(-D/Math.sqrt(I.neighbours),j.k,I,_)),j.force("repulsive",I,P*_.mass,A,_,D))})})}applyLimitBox(j,F){const P=this;let A,I;P.options.splitSeries&&!j.isParentNode&&P.options.parentNodeLimit&&(A=P.getDistXY(j,j.series.parentNode),I=j.series.parentNodeRadius-j.marker.radius-P.vectorLength(A),I<0&&I>-2*j.marker.radius&&(j.plotX-=.01*A.x,j.plotY-=.01*A.y)),super.applyLimitBox(j,F)}}return ne.layouts.packedbubble=X,X}),q(Le,"Series/SimulationSeriesUtilities.js",[Le["Core/Utilities.js"],Le["Core/Animation/AnimationUtilities.js"]],function(ne,re){const{merge:ve,syncTimeout:le}=ne,{animObject:pe}=re;return{initDataLabels:function J(){const X=this,E=X.options.dataLabels;if(!X.dataLabelsGroup){const j=this.initDataLabelsGroup();return!X.chart.styledMode&&E?.style&&j.css(E.style),j.attr({opacity:0}),X.visible&&j.show(),j}return X.dataLabelsGroup.attr(ve({opacity:1},this.getPlotBox("data-labels"))),X.dataLabelsGroup},initDataLabelsDefer:function ue(){const X=this.options.dataLabels;X?.defer&&this.options.layoutAlgorithm?.enableSimulation?le(()=>{this.deferDataLabels=!1},X?pe(X.animation).defer:0):this.deferDataLabels=!1}}}),q(Le,"Series/PackedBubble/PackedBubbleSeries.js",[Le["Core/Color/Color.js"],Le["Series/DragNodesComposition.js"],Le["Series/GraphLayoutComposition.js"],Le["Core/Globals.js"],Le["Series/PackedBubble/PackedBubblePoint.js"],Le["Series/PackedBubble/PackedBubbleSeriesDefaults.js"],Le["Series/PackedBubble/PackedBubbleLayout.js"],Le["Core/Series/SeriesRegistry.js"],Le["Series/SimulationSeriesUtilities.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe,ue,J,te,X,E){const{parse:j}=ne,{noop:F}=le,{series:{prototype:P},seriesTypes:{bubble:D}}=te,{initDataLabels:A,initDataLabelsDefer:I}=X,{addEvent:_,clamp:m,defined:w,extend:G,fireEvent:O,isArray:f,isNumber:a,merge:g,pick:v}=E;class o extends D{constructor(){super(...arguments),this.parentNodeMass=0,this.deferDataLabels=!0}static compose(r,l,d,C){D.compose(r,l,d,C),re.compose(l),J.compose(l)}accumulateAllPoints(){const r=this.chart,l=[];let d;for(const C of r.series)if(C.is("packedbubble")&&C.reserveSpace()){d=C.yData||[];for(let k=0;k{T.mass=2,T.degree=1,T.collisionNmb=1}),p.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),p.addElementsToCollection([this],p.series),p.addElementsToCollection(this.points,p.nodes)}addSeriesLayout(){const r=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},l=r.type||"packedbubble",d=this.chart.graphLayoutsStorage,C=this.chart.graphLayoutsLookup,k=g(r,r.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation});let p=d[l+"-series"];p||(d[l+"-series"]=p=new ve.layouts[l],p.init(k),C.splice(p.index,0,p)),this.parentNodeLayout=p,this.createParentNodes()}calculateParentRadius(){const r=this.seriesBox();this.parentNodeRadius=m(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,r?Math.max(Math.sqrt(Math.pow(r.width,2)+Math.pow(r.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20),this.parentNode&&(this.parentNode.marker.radius=this.parentNode.radius=this.parentNodeRadius)}calculateZExtremes(){let d=this.options.zMin,C=this.options.zMax,k=1/0,p=-1/0;return d&&C||(this.chart.series.forEach(T=>{T.yData.forEach(B=>{w(B)&&(B>p&&(p=B),B{this.parentNodeMass+=Math.PI*Math.pow(B.marker.radius,2)}),this.calculateParentRadius(),d.nodes.forEach(B=>{B.seriesIndex===this.index&&(k=!0)}),d.setArea(0,0,l.plotWidth,l.plotHeight),k||(p||(p=new r(this,{mass:this.parentNodeRadius/2,marker:T,dataLabels:{inside:!1},states:{normal:{marker:T},hover:{marker:T}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(p.plotX=this.parentNode.plotX,p.plotY=this.parentNode.plotY),this.parentNode=p,d.addElementsToCollection([this],d.series),d.addElementsToCollection([p],d.nodes))}deferLayout(){const r=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),r.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(r=>{r.removeElementFromCollection(this,r.series)},this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),P.destroy.apply(this,arguments)}drawDataLabels(){this.deferDataLabels||(P.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",P.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){if(!this.layout||!this.layout.options.splitSeries)return;const r=this.chart,l=this.layout.options.parentNodeOptions.marker,d={fill:l.fillColor||j(this.color).brighten(.4).get(),opacity:l.fillOpacity,stroke:l.lineColor||this.color,"stroke-width":v(l.lineWidth,this.options.lineWidth)};let C={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,r.seriesGroup),this.group?.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&w(this.parentNode.plotX)&&w(this.parentNode.plotY)&&w(this.parentNodeRadius)&&(C=g({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},d),this.parentNode.graphic||(this.graph=this.parentNode.graphic=r.renderer.symbol(d.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(C))}drawTracker(){const r=this.parentNode;let l;super.drawTracker(),r&&(l=f(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),l.forEach(d=>{(d.div||d.element).point=r}))}getPointRadius(){const r=this.chart,C=this.options,k=C.useSimulation,p=Math.min(r.plotWidth,r.plotHeight),T={},B=[],z=r.allDataPoints||[],K=z.length;let U,se,S,$;["minSize","maxSize"].forEach(x=>{const N=parseInt(C[x],10),R=/%$/.test(C[x]);T[x]=R?p*N/100:N*Math.sqrt(K)}),r.minRadius=U=T.minSize/Math.sqrt(K),r.maxRadius=se=T.maxSize/Math.sqrt(K);const H=k?this.calculateZExtremes():[U,se];z.forEach((x,N)=>{S=k?m(x[2],H[0],H[1]):x[2],$=this.getRadius(H[0],H[1],U,se,S),0===$&&($=null),z[N][2]=$,B.push($)}),this.radii=B}init(){return P.init.apply(this,arguments),I.call(this),this.eventsToUnbind.push(_(this,"updatedData",function(){this.chart.series.forEach(r=>{r.type===this.type&&(r.isDirty=!0)},this)})),this}onMouseUp(r){const l=r;if(l.fixedPosition&&!l.removed){const d=this.layout,C=this.parentNodeLayout;let k,p;C&&d.options.dragBetweenSeries&&C.nodes.forEach(T=>{l&&l.marker&&T!==l.series.parentNode&&(k=d.getDistXY(l,T),p=d.vectorLength(k)-T.marker.radius-l.marker.radius,p<0&&(T.series.addPoint(g(l.options,{plotX:l.plotX,plotY:l.plotY}),!1),d.removeElementFromCollection(l,d.nodes),l.remove()))}),re.onMouseUp.apply(this,arguments)}}placeBubbles(r){const l=this.checkOverlap,d=this.positionBubble,C=[];let B,K,k=1,p=0,T=0,z=[];const U=r.sort((se,S)=>S[2]-se[2]);if(U.length){if(C.push([[0,0,U[0][2],U[0][3],U[0][4]]]),U.length>1)for(C.push([[0,0-U[1][2]-U[0][2],U[1][2],U[1][3],U[1][4]]]),K=2;K1&&C[k-1][T+1]&&l(B,C[k-1][T+1])?(T++,C[k].push(d(C[k][p],C[k-1][T],U[K])),p++):(p++,C[k].push(B));this.chart.stages=C,this.chart.rawPositions=[].concat.apply([],C),this.resizeRadius(),z=this.chart.rawPositions}return z}pointAttribs(r,l){const d=this.options;let k=d.marker;r&&r.isParentNode&&d.layoutAlgorithm&&d.layoutAlgorithm.parentNodeOptions&&(k=d.layoutAlgorithm.parentNodeOptions.marker);const p=k.fillOpacity,T=P.pointAttribs.call(this,r,l);return 1!==p&&(T["fill-opacity"]=p),T}positionBubble(r,l,d){const C=Math.sqrt,k=Math.asin,p=Math.acos,T=Math.pow,B=Math.abs,z=C(T(r[0]-l[0],2)+T(r[1]-l[1],2)),K=p((T(z,2)+T(d[2]+l[2],2)-T(d[2]+r[2],2))/(2*(d[2]+l[2])*z)),U=k(B(r[0]-l[0])/z),$=(r[1]-l[1]<0?0:Math.PI)+K+U*((r[0]-l[0])*(r[1]-l[1])<0?1:-1),H=Math.cos($),x=Math.sin($);return[l[0]+(l[2]+d[2])*x,l[1]-(l[2]+d[2])*H,d[2],d[3],d[4]]}render(){const r=[];P.render.apply(this,arguments),this.options.dataLabels.allowOverlap||(this.data.forEach(l=>{f(l.dataLabels)&&l.dataLabels.forEach(d=>{r.push(d)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(r))}resizeRadius(){const r=this.chart,l=r.rawPositions,d=Math.min,C=Math.max,k=r.plotLeft,p=r.plotTop,T=r.plotHeight,B=r.plotWidth;let z,K,U,se,S;z=U=Number.POSITIVE_INFINITY,K=se=Number.NEGATIVE_INFINITY;for(const N of l)S=N[2],z=d(z,N[0]-S),K=C(K,N[0]+S),U=d(U,N[1]-S),se=C(se,N[1]+S);const $=[K-z,se-U],x=d.apply([],[(B-k)/$[0],(T-p)/$[1]]);if(Math.abs(x-1)>1e-10){for(const N of l)N[2]*=x;this.placeBubbles(l)}else r.diffY=T/2+p-U-(se-U)/2,r.diffX=B/2+k-z-(K-z)/2}seriesBox(){const r=this.chart,d=Math.max,C=Math.min,k=[r.plotLeft,r.plotLeft+r.plotWidth,r.plotTop,r.plotTop+r.plotHeight];let p;return this.data.forEach(T=>{w(T.plotX)&&w(T.plotY)&&T.marker.radius&&(p=T.marker.radius,k[0]=C(k[0],T.plotX-p),k[1]=d(k[1],T.plotX+p),k[2]=C(k[2],T.plotY-p),k[3]=d(k[3],T.plotY+p))}),a(k.width/k.height)?k:null}setVisible(){const r=this;P.setVisible.apply(r,arguments),r.parentNodeLayout&&r.graph?r.visible?(r.graph.show(),r.parentNode.dataLabel&&r.parentNode.dataLabel.show()):(r.graph.hide(),r.parentNodeLayout.removeElementFromCollection(r.parentNode,r.parentNodeLayout.nodes),r.parentNode.dataLabel&&r.parentNode.dataLabel.hide()):r.layout&&(r.visible?r.layout.addElementsToCollection(r.points,r.layout.nodes):r.points.forEach(l=>{r.layout.removeElementFromCollection(l,r.layout.nodes)}))}translate(){const r=this.chart,l=this.data,d=this.index,C=this.options.useSimulation;let k,p,T;this.processedXData=this.xData,this.generatePoints(),w(r.allDataPoints)||(r.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),C?T=r.allDataPoints:(T=this.placeBubbles(r.allDataPoints),this.options.draggable=!1);for(const B of T)B[3]===d&&(k=l[B[4]],p=v(B[2],void 0),C||(k.plotX=B[0]-r.plotLeft+r.diffX,k.plotY=B[1]-r.plotTop+r.diffY),a(p)&&(k.marker=G(k.marker,{radius:p,width:2*p,height:2*p}),k.radius=p));C&&this.deferLayout(),O(this,"afterTranslate")}}return o.defaultOptions=g(D.defaultOptions,ue),G(o.prototype,{pointClass:pe,axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],hasDraggableNodes:!0,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],initDataLabels:A,alignDataLabel:P.alignDataLabel,indexateNodes:F,onMouseDown:re.onMouseDown,onMouseMove:re.onMouseMove,redrawHalo:re.redrawHalo,searchPoint:F}),te.registerSeriesType("packedbubble",o),o}),q(Le,"Series/Polygon/PolygonSeriesDefaults.js",[],function(){return{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}}),q(Le,"Series/Polygon/PolygonSeries.js",[Le["Core/Globals.js"],Le["Series/Polygon/PolygonSeriesDefaults.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{noop:pe}=ne,{area:ue,line:J,scatter:te}=ve.seriesTypes,{extend:X,merge:E}=le;class j extends te{getGraphPath(){const P=J.prototype.getGraphPath.call(this);let D=P.length+1;for(;D--;)(D===P.length||"M"===P[D][0])&&D>0&&P.splice(D,0,["Z"]);return this.areaPath=P,P}drawGraph(){this.options.fillColor=this.color,ue.prototype.drawGraph.call(this)}}return j.defaultOptions=E(te.defaultOptions,re),X(j.prototype,{type:"polygon",drawTracker:J.prototype.drawTracker,setStackedPoints:pe}),ve.registerSeriesType("polygon",j),j}),q(Le,"Core/Axis/RadialAxis.js",[Le["Core/Defaults.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{defaultOptions:le}=ne,{composed:pe,noop:ue}=re,{addEvent:J,correctFloat:te,defined:X,extend:E,fireEvent:j,isObject:F,merge:P,pick:D,pushUnique:A,relativeLength:I,wrap:_}=ve;var m;return function(w){const G={gridLineWidth:1,labels:{align:void 0,x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},O={endOnTick:!1,gridLineWidth:0,labels:{align:"center",distance:-25,x:0,y:void 0},lineWidth:1,minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickPosition:"inside",tickWidth:2,title:{rotation:0,text:""},zIndex:2},f={gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}};function a(){this.autoConnect=this.isCircular&&typeof D(this.userMax,this.options.max)>"u"&&te(this.endAngleRad-this.startAngleRad)===te(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=(this.categories?1:this.pointRange)||this.closestPointRange||0)}function v(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&!0!==this.options.labels.allowOverlap)return this.tickPositions.map(ge=>this.ticks[ge]&&this.ticks[ge].label).filter(ge=>!!ge)}}function o(){return ue}function n(ge,_e,Te){const Oe=this.pane.center;let Be,oe,ee,be,De=ge.value;return this.isCircular?(X(De)?ge.point&&(Be=ge.point.shapeArgs||{},Be.start&&(De=this.chart.inverted?this.translate(ge.point.rectPlotY,!0):ge.point.x)):(ee=ge.chartX||0,be=ge.chartY||0,De=this.translate(Math.atan2(be-Te,ee-_e)-this.startAngleRad,!0)),oe=this.getPosition(De),ee=oe.x,be=oe.y):(X(De)||(ee=ge.chartX,be=ge.chartY),X(ee)&&X(be)&&(Te=Oe[1]+this.chart.plotTop,De=this.translate(Math.min(Math.sqrt(Math.pow(ee-_e,2)+Math.pow(be-Te,2)),Oe[2]/2)-Oe[3]/2,!0))),[De,ee||0,be||0]}function r(ge,_e,Te){const Oe=this.pane.center,De=this.chart,Be=this.left||0,oe=this.top||0;let ee,xe,be=D(_e,Oe[2]/2-this.offset);return typeof Te>"u"&&(Te=this.horiz?0:this.center&&-this.center[3]/2),Te&&(be+=Te),this.isCircular||typeof _e<"u"?(xe=this.chart.renderer.symbols.arc(Be+Oe[0],oe+Oe[1],be,be,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}),xe.xBounds=[Be+Oe[0]],xe.yBounds=[oe+Oe[1]-be]):(ee=this.postTranslate(this.angleRad,be),xe=[["M",this.center[0]+De.plotLeft,this.center[1]+De.plotTop],["L",ee.x,ee.y]]),xe}function l(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function d(ge,_e,Te){const Oe=this.chart,De=Pt=>{if("string"==typeof Pt){let Gt=parseInt(Pt,10);return we.test(Pt)&&(Gt=Gt*ee/100),Gt}return Pt},Be=this.center,oe=this.startAngleRad,ee=Be[2]/2,be=Math.min(this.offset,0),xe=this.left||0,Ie=this.top||0,we=/%$/,Ee=this.isCircular;let Me,Xe,Je,lt,qe,st,Tt=D(De(Te.outerRadius),ee),pt=De(Te.innerRadius),ht=D(De(Te.thickness),10);if("polygon"===this.options.gridLineInterpolation)st=this.getPlotLinePath({value:ge}).concat(this.getPlotLinePath({value:_e,reverse:!0}));else{ge=Math.max(ge,this.min),_e=Math.min(_e,this.max);const Pt=this.translate(ge),Gt=this.translate(_e);Ee||(Tt=Pt||0,pt=Gt||0),"circle"!==Te.shape&&Ee?(Me=oe+(Pt||0),Xe=oe+(Gt||0)):(Me=-Math.PI/2,Xe=1.5*Math.PI,qe=!0),Tt-=be,ht-=be,st=Oe.renderer.symbols.arc(xe+Be[0],Ie+Be[1],Tt,Tt,{start:Math.min(Me,Xe),end:Math.max(Me,Xe),innerR:D(pt,Tt-ht),open:qe}),Ee&&(Je=(Xe+Me)/2,lt=xe+Be[0]+Be[2]/2*Math.cos(Je),st.xBounds=Je>-Math.PI/2&&Je-Math.PI&&Je<0||Je>Math.PI?-10:10)}return st}function C(ge){const _e=this.pane.center,Te=this.chart,Oe=Te.inverted,De=ge.reverse,Be=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},oe=Be.innerRadius||"0%",ee=Be.outerRadius||"100%",be=_e[0]+Te.plotLeft,xe=_e[1]+Te.plotTop,Ie=this.height,we=ge.isCrosshair,Ee=_e[3]/2;let Xe,Je,lt,qe,st,Tt,pt,ht,Pt,Me=ge.value;const Gt=this.getPosition(Me);let ti=Gt.x,Dt=Gt.y;if(we&&(ht=this.getCrosshairPosition(ge,be,xe),Me=ht[0],ti=ht[1],Dt=ht[2]),this.isCircular)Je=Math.sqrt(Math.pow(ti-be,2)+Math.pow(Dt-xe,2)),lt="string"==typeof oe?I(oe,1):oe/Je,qe="string"==typeof ee?I(ee,1):ee/Je,_e&&Ee&&(Xe=Ee/Je,ltIe)&&(Me=0),"circle"===this.options.gridLineInterpolation)Pt=this.getLinePath(0,Me,Ee);else if(Pt=[],Te[Oe?"yAxis":"xAxis"].forEach(It=>{It.pane===this.pane&&(st=It)}),st){pt=st.tickPositions,st.autoConnect&&(pt=pt.concat([pt[0]])),De&&(pt=pt.slice().reverse()),Me&&(Me+=Ee);for(let It=0;ItMath.PI&&(be-=Be),xe>Math.PI&&(xe-=Be),this.normalizedStartAngleRad=be,this.normalizedEndAngleRad=xe}}function K(ge){this.isRadial&&(ge.align=void 0,ge.preventDefault())}function U(){if(this.chart&&this.chart.labelCollectors){const ge=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;ge>=0&&this.chart.labelCollectors.splice(ge,1)}}function se(ge){const _e=this.chart,Te=_e.angular,Oe=_e.polar,De=this.isXAxis,Be=this.coll,oe=Te&&De,be=this.pane=_e.pane&&_e.pane[ge.userOptions.pane||0];let xe;"colorAxis"!==Be?(Te?(oe?function B(ge){ge.isHidden=!0,ge.createLabelCollector=o,ge.getOffset=ue,ge.redraw=N,ge.render=N,ge.setScale=ue,ge.setCategories=ue,ge.setTitle=ue}(this):T(this),xe=!De):Oe&&(T(this),xe=this.horiz),Te||Oe?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&_e.labelCollectors.push(this.labelCollector)):this.isRadial=!1,be&&xe&&(be.axis=this),this.isCircular=xe):this.isRadial=!1}function S(){this.isRadial&&this.beforeSetTickPositions()}function $(ge){const _e=this.label;if(!_e)return;const Te=this.axis,Oe=_e.getBBox(),De=Te.options.labels,Be=(Te.translate(this.pos)+Te.startAngleRad+Math.PI/2)/Math.PI*180%360,oe=Math.round(Be),ee=X(De.y)?0:.3*-Oe.height;let xe,be=De.y,Ie=20,we=De.align,Ee="end",Me=oe<0?oe+360:oe,Xe=Me,Je=0,lt=0;Te.isRadial&&(xe=Te.getPosition(this.pos,Te.center[2]/2+I(D(De.distance,-25),Te.center[2]/2,-Te.center[2]/2)),"auto"===De.rotation?_e.attr({rotation:Be}):X(be)||(be=Te.chart.renderer.fontMetrics(_e).b-Oe.height/2),X(we)||(Te.isCircular?(Oe.width>Te.len*Te.tickInterval/(Te.max-Te.min)&&(Ie=0),we=Be>Ie&&Be<180-Ie?"left":Be>180+Ie&&Be<360-Ie?"right":"center"):we="center",_e.attr({align:we})),"auto"===we&&2===Te.tickPositions.length&&Te.isCircular&&(Me>90&&Me<180?Me=180-Me:Me>270&&Me<=360&&(Me=540-Me),Xe>180&&Xe<=360&&(Xe=360-Xe),(Te.pane.options.startAngle===oe||Te.pane.options.startAngle===oe+360||Te.pane.options.startAngle===oe-360)&&(Ee="start"),we=oe>=-90&&oe<=90||oe>=-360&&oe<=-270||oe>=270&&oe<=360?"start"===Ee?"right":"left":"start"===Ee?"left":"right",Xe>70&&Xe<110&&(we="center"),Me<15||Me>=180&&Me<195?Je=.3*Oe.height:Me>=15&&Me<=35?Je="start"===Ee?0:.75*Oe.height:Me>=195&&Me<=215?Je="start"===Ee?.75*Oe.height:0:Me>35&&Me<=90?Je="start"===Ee?.25*-Oe.height:Oe.height:Me>215&&Me<=270&&(Je="start"===Ee?Oe.height:.25*-Oe.height),Xe<15?lt="start"===Ee?.15*-Oe.height:.15*Oe.height:Xe>165&&Xe<=180&&(lt="start"===Ee?.15*Oe.height:.15*-Oe.height),_e.attr({align:we}),_e.translate(lt,Je+ee)),ge.pos.x=xe.x+(De.x||0),ge.pos.y=xe.y+(be||0))}function H(ge){this.axis.getPosition&&E(ge.pos,this.axis.getPosition(this.pos))}function x(ge,_e){const Te=this.chart,Oe=this.center;return ge=this.startAngleRad+ge,{x:Te.plotLeft+Oe[0]+Math.cos(ge)*_e,y:Te.plotTop+Oe[1]+Math.sin(ge)*_e}}function N(){this.isDirty=!1}function R(){let _e,Te;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),_e=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(Te=this.postTranslate(this.angleRad,_e[3]/2),_e[0]=Te.x-this.chart.plotLeft,_e[1]=Te.y-this.chart.plotTop),this.len=this.width=this.height=(_e[2]-_e[3])*D(this.sector,1)/2)}function Z(){this.constructor.prototype.setAxisTranslation.call(this),this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)}function Y(ge){const{coll:_e}=this,{angular:Te,inverted:Oe,polar:De}=this.chart;let Be={};Te?this.isXAxis||(Be=P(le.yAxis,O)):De&&(Be=this.horiz?P(le.xAxis,G):P("xAxis"===_e?le.xAxis:le.yAxis,f)),Oe&&"yAxis"===_e&&(Be.stackLabels=F(le.yAxis,!0)?le.yAxis.stackLabels:{},Be.reversedStacks=!0);const oe=this.options=P(Be,ge);oe.plotBands||(oe.plotBands=[]),j(this,"afterSetOptions")}function he(ge,_e,Te,Oe,De,Be,oe){const ee=this.axis;let be,xe;return ee.isRadial?(be=ee.getPosition(this.pos,ee.center[2]/2+Oe),xe=["M",_e,Te,"L",be.x,be.y]):xe=ge.call(this,_e,Te,Oe,De,Be,oe),xe}w.compose=function g(ge,_e){return A(pe,"Axis.Radial")&&(J(ge,"afterInit",z),J(ge,"autoLabelAlign",K),J(ge,"destroy",U),J(ge,"init",se),J(ge,"initialAxisTranslation",S),J(_e,"afterGetLabelPosition",$),J(_e,"afterGetPosition",H),_(_e.prototype,"getMarkPath",he)),ge}}(m||(m={})),m}),q(Le,"Series/PolarComposition.js",[Le["Core/Animation/AnimationUtilities.js"],Le["Core/Globals.js"],Le["Core/Series/Series.js"],Le["Extensions/Pane/Pane.js"],Le["Core/Axis/RadialAxis.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe,ue){const{animObject:J}=ne,{composed:te}=re,{addEvent:X,defined:E,find:j,isNumber:F,merge:P,pick:D,pushUnique:A,relativeLength:I,splat:_,uniqueKey:m,wrap:w}=ue;function f(H,x,N,R){const he=R?1:0;let ge,_e,Te,Oe,De,Be;ge=x>=0&&x<=H.length-1?x:x<0?H.length-1+x:0;const oe=ge-1<0?H.length-(1+he):ge-1,be=H[oe],xe=H[ge+1>H.length-1?he:ge+1],Xe=H[ge].plotX,Je=H[ge].plotY;_e=(1.5*Xe+be.plotX)/2.5,Te=(1.5*Je+be.plotY)/2.5,Oe=(1.5*Xe+xe.plotX)/2.5,De=(1.5*Je+xe.plotY)/2.5;const lt=Math.sqrt(Math.pow(_e-Xe,2)+Math.pow(Te-Je,2)),qe=Math.sqrt(Math.pow(Oe-Xe,2)+Math.pow(De-Je,2)),st=Math.atan2(Te-Je,_e-Xe),Tt=Math.atan2(De-Je,Oe-Xe);Be=Math.PI/2+(st+Tt)/2,Math.abs(st-Be)>Math.PI/2&&(Be-=Math.PI),_e=Xe+Math.cos(Be)*lt,Te=Je+Math.sin(Be)*lt,Oe=Xe+Math.cos(Math.PI+Be)*qe,De=Je+Math.sin(Math.PI+Be)*qe;const pt={rightContX:Oe,rightContY:De,leftContX:_e,leftContY:Te,plotX:Xe,plotY:Je};return N&&(pt.prevPointCont=f(H,oe,!1,R)),pt}function a(){(this.pane||[]).forEach(H=>{H.render()})}function g(H){const x=H.args[0].xAxis,N=H.args[0].yAxis,R=H.args[0].chart;x&&N&&("polygon"===N.gridLineInterpolation?(x.startOnTick=!0,x.endOnTick=!0):"polygon"===x.gridLineInterpolation&&R.inverted&&(N.startOnTick=!0,N.endOnTick=!0))}function v(){this.pane||(this.pane=[]),this.options.pane=_(this.options.pane),this.options.pane.forEach(H=>{new le(H,this)},this)}function o(H){const x=H.args.marker,N=this.chart.xAxis[0],R=this.chart.yAxis[0],Z=this.chart.inverted,Y=Z?R:N,he=Z?N:R;if(this.chart.polar){H.preventDefault();const ge=(x.attr?x.attr("start"):x.start)-Y.startAngleRad,_e=x.attr?x.attr("r"):x.r,Te=(x.attr?x.attr("end"):x.end)-Y.startAngleRad,Oe=x.attr?x.attr("innerR"):x.innerR;H.result.x=ge+Y.pos,H.result.width=Te-ge,H.result.y=he.len+he.pos-_e,H.result.height=_e-Oe}}function n(H){const x=this.chart;if(x.polar&&x.hoverPane&&x.hoverPane.axis){H.preventDefault();const N=x.hoverPane.center,R=x.mouseDownX||0,Z=x.mouseDownY||0,Y=H.args.chartY,he=H.args.chartX,ge=2*Math.PI,_e=x.hoverPane.axis.startAngleRad,Te=x.hoverPane.axis.endAngleRad,Oe=x.inverted?x.xAxis[0]:x.yAxis[0],De={};let Be="arc";if(De.x=N[0]+x.plotLeft,De.y=N[1]+x.plotTop,this.zoomHor){const oe=_e>0?Te-_e:Math.abs(_e)+Math.abs(Te);let ee=Math.atan2(Z-x.plotTop-N[1],R-x.plotLeft-N[0])-_e,be=Math.atan2(Y-x.plotTop-N[1],he-x.plotLeft-N[0])-_e;De.r=N[2]/2,De.innerR=N[3]/2,ee<=0&&(ee+=ge),be<=0&&(be+=ge),beTe+(ge-oe)/2&&(be=ee,ee=_e<=0?_e:0);const xe=De.start=Math.max(ee+_e,_e),Ie=De.end=Math.min(be+_e,Te);if("polygon"===Oe.options.gridLineInterpolation){const we=x.hoverPane.axis,Ee=xe-we.startAngleRad+we.pos,Me=Ie-xe;let Xe=Oe.getPlotLinePath({value:Oe.max}),Je=we.toValue(Ee),lt=we.toValue(Ee+Me);if(JeN[2]/2&&(be=N[2]/2),eex.max?(Z[Y].isNull=!0,Z[Y].plotY=NaN):Z[Y].isNull=Z[Y].isValid&&!Z[Y].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!H.eventsToUnbind.push(X(H,"afterRender",function(){let he;R.polar&&!1!==this.options.clip&&(he=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:he[0],y:he[1],r:he[2]/2,innerR:he[3]/2}):this.clipCircle=function G(H,x,N,R,Z){const Y=m(),he=H.createElement("clipPath").attr({id:Y}).add(H.defs),ge=Z?H.arc(x,N,R,Z,0,2*Math.PI).add(he):H.circle(x,N,R).add(he);return ge.id=Y,ge.clipPath=he,ge}(R.renderer,he[0],he[1],he[2]/2,he[3]/2),this.group.clip(this.clipCircle),this.setClip=re.noop)})))}}function d(H){const x=this,N=x.chart,R=x.xAxis,Y=R.pane&&R.pane.center,_e=N.inverted?{clientX:H.chartX-x.yAxis.pos,plotY:H.chartY-R.pos}:{clientX:180+Math.atan2(H.chartX-(Y&&Y[0]||0)-N.plotLeft,H.chartY-(Y&&Y[1]||0)-N.plotTop)*(-180/Math.PI)};return x.searchKDTree(_e)}function C(H,x,N,R){const Z=R.tickInterval,Y=R.tickPositions;let he=j(Y,_e=>_e>=N),ge=j([...Y].reverse(),_e=>_e<=x);return E(he)||(he=Y[Y.length-1]),E(ge)||(ge=Y[0],he+=Z,H[0][0]="L",H.unshift(H[H.length-3])),(H=H.slice(Y.indexOf(ge),Y.indexOf(he)+1))[0][0]="M",H}function k(H,x){return j(this.pane||[],N=>N.options.id===x)||H.call(this,x)}function p(H,x,N,R,Z,Y){const he=this.chart,ge=D(R.inside,!!this.options.stacking);let _e,Te,Oe;he.polar?(_e=x.rectPlotX/Math.PI*180,he.inverted?(this.forceDL=he.isInsidePlot(x.plotX,x.plotY),ge&&x.shapeArgs?(Te=x.shapeArgs,Oe=this.yAxis.postTranslate(((Te.start||0)+(Te.end||0))/2-this.xAxis.startAngleRad,x.barX+x.pointWidth/2),Z=P(Z,{x:Oe.x-he.plotLeft,y:Oe.y-he.plotTop})):x.tooltipPos&&(Z=P(Z,{x:x.tooltipPos[0],y:x.tooltipPos[1]})),R.align=D(R.align,"center"),R.verticalAlign=D(R.verticalAlign,"middle")):R=function O(H,x){let N,R;return null===x.align&&(N=H>20&&H<160?"left":H>200&&H<340?"right":"center",x.align=N),null===x.verticalAlign&&(R=H<45||H>315?"bottom":H>135&&H<225?"top":"middle",x.verticalAlign=R),x}(_e,R),ve.prototype.alignDataLabel.call(this,x,N,R,Z,Y),this.isRadialBar&&x.shapeArgs&&x.shapeArgs.start===x.shapeArgs.end?N.hide():N.show()):H.call(this,x,N,R,Z,Y)}function T(){const H=this,x=H.options,N=x.stacking,R=H.chart,Z=H.xAxis,Y=H.yAxis,he=Y.reversed,ge=Y.center,_e=Z.startAngleRad,Oe=Z.endAngleRad-_e;let oe,ee,be,xe,Ie,Me,Xe,Je,lt,qe,st,Tt,pt,De=x.threshold,Be=0,we=0,Ee=0;if(Z.isRadial)for(oe=H.points,be=oe.length,xe=Y.translate(Y.min),Ie=Y.translate(Y.max),De=x.threshold||0,R.inverted&&F(De)&&(Be=Y.translate(De),E(Be)&&(Be<0?Be=0:Be>Oe&&(Be=Oe),H.translatedThreshold=Be+_e));be--;){if(ee=oe[be],st=ee.barX,Xe=ee.x,Je=ee.y,ee.shapeType="arc",R.inverted){ee.plotY=Y.translate(Je),N&&Y.stacking?(qe=Y.stacking.stacks[(Je<0?"-":"")+H.stackKey],H.visible&&qe&&qe[Xe]&&(ee.isNull||(lt=qe[Xe].points[H.getStackIndicator(void 0,Xe,H.index).key],we=Y.translate(lt[0]),Ee=Y.translate(lt[1]),E(we)&&(we=ue.clamp(we,0,Oe))))):(we=Be,Ee=ee.plotY),we>Ee&&(Ee=[we,we=Ee][0]),he?Ee>xe?Ee=xe:wexe||EeIe?Ee=Ie:(EeIe)&&(we=Ee=0),Y.min>Y.max&&(we=Ee=he?Oe:0),we+=_e,Ee+=_e,ge&&(ee.barX=st+=ge[3]/2),Tt=Math.max(st,0),pt=Math.max(st+ee.pointWidth,0);const ht=x.borderRadius,Gt=I(("object"==typeof ht?ht.radius:ht)||0,pt-Tt);ee.shapeArgs={x:ge[0],y:ge[1],r:pt,innerR:Tt,start:we,end:Ee,borderRadius:Gt},ee.opacity=we===Ee?0:void 0,ee.plotY=(E(H.translatedThreshold)&&(wege[1])}}function B(H,x){const N=this;let R,Z;if(this.chart.polar){x=x||this.points;for(let he=0;he{typeof he.polarPlotY>"u"&&N.polar.toXY(he)})}const Y=H.apply(this,[].slice.call(arguments,1));return Z&&x.pop(),Y}function z(H,x){const N=this.chart;let R={xAxis:[],yAxis:[]};return N.polar?N.axes.forEach(Z=>{if("colorAxis"===Z.coll)return;const Y=Z.isXAxis,he=Z.center,ge=x.chartX-he[0]-N.plotLeft,_e=x.chartY-he[1]-N.plotTop;R[Y?"xAxis":"yAxis"].push({axis:Z,value:Z.translate(Y?Math.PI-Math.atan2(ge,_e):Math.sqrt(Math.pow(ge,2)+Math.pow(_e,2)),!0)})}):R=H.call(this,x),R}function K(H,x){this.chart.polar||H.call(this,x)}function U(H,x){const N=this,R=this.chart,Z=this.group,Y=this.markerGroup,he=this.xAxis&&this.xAxis.center,ge=R.plotLeft,_e=R.plotTop;let Oe,De,Be,oe,ee,be,Te=this.options.animation;R.polar?N.isRadialBar?x||(N.startAngleRad=D(N.translatedThreshold,N.xAxis.startAngleRad),re.seriesTypes.pie.prototype.animate.call(N,x)):(Te=J(Te),N.is("column")?x||(De=he[3]/2,N.points.forEach(xe=>{Be=xe.graphic,oe=xe.shapeArgs,ee=oe&&oe.r,be=oe&&oe.innerR,Be&&oe&&(Be.attr({r:De,innerR:De}),Be.animate({r:ee,innerR:be},N.options.animation))})):x?(Oe={translateX:he[0]+ge,translateY:he[1]+_e,scaleX:.001,scaleY:.001},Z.attr(Oe),Y&&Y.attr(Oe)):(Oe={translateX:ge,translateY:_e,scaleX:1,scaleY:1},Z.animate(Oe,Te),Y&&Y.animate(Oe,Te))):H.call(this,x)}function se(H,x,N,R){let Z,Y;if(this.chart.polar)if(R){Y=f(x,R,!0,this.connectEnds);const he=Y.prevPointCont&&Y.prevPointCont.rightContX,ge=Y.prevPointCont&&Y.prevPointCont.rightContY;Z=["C",F(he)?he:Y.plotX,F(ge)?ge:Y.plotY,F(Y.leftContX)?Y.leftContX:Y.plotX,F(Y.leftContY)?Y.leftContY:Y.plotY,Y.plotX,Y.plotY]}else Z=["M",N.plotX,N.plotY];else Z=H.call(this,x,N,R);return Z}function S(H,x,N=this.plotY){if(!this.destroyed){const{plotX:R,series:Z}=this,{chart:Y}=Z;return Y.polar&&F(R)&&F(N)?[R+(x?Y.plotLeft:0),N+(x?Y.plotTop:0)]:H.call(this,x,N)}}class ${static compose(x,N,R,Z,Y,he,ge,_e,Te,Oe){if(le.compose(N,R),pe.compose(x,Y),A(te,"Polar")){const De=N.prototype,Be=he.prototype,oe=R.prototype,ee=Z.prototype;if(X(N,"afterDrawChartBox",a),X(N,"getAxes",v),X(N,"init",g),w(De,"get",k),w(oe,"getCoordinates",z),w(oe,"pinch",K),X(R,"getSelectionMarkerAttrs",n),X(R,"getSelectionBox",o),X(Z,"afterInit",r),X(Z,"afterTranslate",l,{order:2}),X(Z,"afterColumnTranslate",T,{order:4}),w(ee,"animate",U),w(Be,"pos",S),_e){const be=_e.prototype;w(be,"alignDataLabel",p),w(be,"animate",U)}if(Te&&w(Te.prototype,"getGraphPath",B),Oe){const be=Oe.prototype;w(be,"getPointSpline",se),ge&&(ge.prototype.getPointSpline=be.getPointSpline)}}}constructor(x){this.series=x}arc(x,N,R,Z){const Y=this.series,he=Y.xAxis.center,ge=Y.yAxis.len,_e=he[3]/2;let Te=ge-N+_e,Oe=ge-D(x,ge)+_e;return Y.yAxis.reversed&&(Te<0&&(Te=_e),Oe<0&&(Oe=_e)),{x:he[0],y:he[1],r:Te,innerR:Oe,start:R,end:Z}}toXY(x){const N=this.series,R=N.chart,Z=N.xAxis,Y=N.yAxis,he=x.plotX,ge=R.inverted,_e=x.y;let De,Te=x.plotY,Oe=ge?he:Y.len-Te;if(ge&&N&&!N.isRadialBar&&(x.plotY=Te=F(_e)?Y.translate(_e):0),x.rectPlotX=he,x.rectPlotY=Te,Y.center&&(Oe+=Y.center[3]/2),F(Te)){const Be=ge?Y.postTranslate(Te,Oe):Z.postTranslate(he,Oe);x.plotX=x.polarPlotX=Be.x-R.plotLeft,x.plotY=x.polarPlotY=Be.y-R.plotTop}N.kdByAngle?(De=(he/Math.PI*180+Z.pane.options.startAngle)%360,De<0&&(De+=360),x.clientX=De):x.clientX=x.plotX}}return $}),q(Le,"Core/Axis/WaterfallAxis.js",[Le["Core/Globals.js"],Le["Core/Axis/Stacking/StackItem.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{composed:le}=ne,{addEvent:pe,objectEach:ue,pushUnique:J}=ve;var te;return function(X){function j(){const _=this.waterfall.stacks;_&&(_.changed=!1,delete _.alreadyChanged)}function F(){const I=this,_=I.options.stackLabels;_&&_.enabled&&I.waterfall.stacks&&I.waterfall.renderStackTotals()}function P(){const I=this;I.waterfall||(I.waterfall=new A(I))}function D(){const I=this.axes,_=this.series;for(const m of _)if(m.options.stacking){for(const w of I)w.isXAxis||(w.waterfall.stacks.changed=!0);break}}X.compose=function E(I,_){J(le,"Axis.Waterfall")&&(pe(I,"init",P),pe(I,"afterBuildStacks",j),pe(I,"afterRender",F),pe(_,"beforeRedraw",D))};class A{constructor(_){this.axis=_,this.stacks={changed:!1}}renderStackTotals(){const _=this.axis,m=_.waterfall.stacks,w=_.stacking&&_.stacking.stackTotalGroup,G=new re(_,_.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=G,w&&ue(m,O=>{ue(O,(f,a)=>{G.total=f.stackTotal,G.x=+a,f.label&&(G.label=f.label),re.prototype.render.call(G,w),f.label=G.label,delete G.label})}),G.total=null}}X.Composition=A}(te||(te={})),te}),q(Le,"Series/Waterfall/WaterfallPoint.js",[Le["Series/Column/ColumnSeries.js"],Le["Core/Series/Point.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{isNumber:le}=ve;return class pe extends ne.prototype.pointClass{getClassName(){let J=re.prototype.getClassName.call(this);return this.isSum?J+=" highcharts-sum":this.isIntermediateSum&&(J+=" highcharts-intermediate-sum"),J}isValid(){return le(this.y)||this.isSum||!!this.isIntermediateSum}}}),q(Le,"Series/Waterfall/WaterfallSeriesDefaults.js",[],function(){return{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}}),q(Le,"Series/Waterfall/WaterfallSeries.js",[Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"],Le["Core/Axis/WaterfallAxis.js"],Le["Series/Waterfall/WaterfallPoint.js"],Le["Series/Waterfall/WaterfallSeriesDefaults.js"]],function(ne,re,ve,le,pe){const{column:ue,line:J}=ne.seriesTypes,{addEvent:te,arrayMax:X,arrayMin:E,correctFloat:j,extend:F,isNumber:P,merge:D,objectEach:A,pick:I}=re;function _(w,G){return Object.hasOwnProperty.call(w,G)}class m extends ue{generatePoints(){ue.prototype.generatePoints.apply(this);for(let G=0,O=this.points.length;G0?f:void 0);const a=ue.prototype.pointAttribs.call(this,G,O);return delete a.dashstyle,a}getGraphPath(){return[["M",0,0]]}getCrispPath(){const G=this.data.filter(l=>P(l.y)),O=this.yAxis,f=G.length,a=Math.round(this.graph.strokeWidth())%2/2,g=Math.round(this.borderWidth)%2/2,v=this.xAxis.reversed,o=this.yAxis.reversed,n=this.options.stacking,r=[];for(let l=1;l0?-p.height:0;if(T&&p&&d){let K;K=n?Math.round(O.translate(T[l-1].connectorThreshold,!1,!0,!1,!0)+(o?B:0))-a:p.y+C.minPointLengthOffset+g-a,r.push(["M",(p.x||0)+(v?0:p.width||0),K],["L",(d.x||0)+(v&&d.width||0),K])}if(p&&r.length&&(!n&&k<0&&!o||k>0&&o)){const z=r[r.length-2];z&&"number"==typeof z[2]&&(z[2]+=p.height||0);const K=r[r.length-1];K&&"number"==typeof K[2]&&(K[2]+=p.height||0)}}return r}drawGraph(){J.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(G){const O=this,f=O.options,a=G.waterfall?.stacks,g=f.threshold||0,v=O.stackKey,o=O.xData,n=o.length;let d,T,B,z,K,U,se,S,$,r=g,l=r,C=0,k=0,p=0;const H=(x,N,R,Z)=>{if(d){if(T)for(;R=0?d.posTotal+=U:d.negTotal+=U,K=f.data[N],B=d.absolutePos=d.posTotal,z=d.absoluteNeg=d.negTotal,d.stackTotal=B+z,T=d.stackState.length,K&&K.isIntermediateSum?(H(p,k,0,p),p=k,k=g,r^=l,l^=r,r^=l):K&&K.isSum?(H(g,C,T,0),r=g):(H(r,U,0,C),K&&(C+=U,k+=U)),d.stateIndex++,d.threshold=r,r+=d.stackTotal;a.changed=!1,a.alreadyChanged||(a.alreadyChanged=[]),a.alreadyChanged.push(v)}}getExtremes(){const G=this.options.stacking;let O,f,a,g;return G?(O=this.yAxis,f=O.waterfall.stacks,a=this.stackedYNeg=[],g=this.stackedYPos=[],A(f[this.stackKey],"overlap"===G?function(v){a.push(E(v.stackState)),g.push(X(v.stackState))}:function(v){a.push(v.negTotal+v.threshold),g.push(v.posTotal+v.threshold)}),{dataMin:E(a),dataMax:X(g)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}return m.defaultOptions=D(ue.defaultOptions,pe),m.compose=ve.compose,F(m.prototype,{pointValKey:"y",showLine:!0,pointClass:le}),te(m,"afterColumnTranslate",function(){const w=this,{options:G,points:O,yAxis:f}=w,a=I(G.minPointLength,5),g=a/2,v=G.threshold||0,o=G.stacking,n=f.waterfall.stacks[w.stackKey];let d,C,k,p,r=v,l=v;for(let T=0;T=0?C:C-S,_(H,"absolutePos")&&delete H.absolutePos,_(H,"absoluteNeg")&&delete H.absoluteNeg):(S>=0?(C=H.threshold+H.posTotal,H.posTotal-=S,d=C):(C=H.threshold+H.negTotal,H.negTotal-=S,d=C-S),H.posTotal||P(H.absolutePos)&&_(H,"absolutePos")&&(H.posTotal=H.absolutePos,delete H.absolutePos),H.negTotal||P(H.absoluteNeg)&&_(H,"absoluteNeg")&&(H.negTotal=H.absoluteNeg,delete H.absoluteNeg)),B.isSum||(H.connectorThreshold=H.threshold+H.stackTotal),f.reversed?(k=S>=0?d-S:d+S,p=d):(k=d,p=d-S),B.below=k<=v,U.y=f.translate(k,!1,!0,!1,!0),U.height=Math.abs(U.y-f.translate(p,!1,!0,!1,!0));const x=f.waterfall.dummyStackItem;x&&(x.x=T,x.label=n[T].label,x.setOffset(w.pointXOffset||0,w.barW||0,w.stackedYNeg[T],w.stackedYPos[T],void 0,this.xAxis))}}else d=Math.max(l,l+S)+se[0],U.y=f.translate(d,!1,!0,!1,!0),B.isSum?(U.y=f.translate(se[1],!1,!0,!1,!0),U.height=Math.min(f.translate(se[0],!1,!0,!1,!0),f.len)-U.y,B.below=se[1]<=v):B.isIntermediateSum?(S>=0?(k=se[1]+r,p=r):(k=r,p=se[1]+r),f.reversed&&(k^=p,p^=k,k^=p),U.y=f.translate(k,!1,!0,!1,!0),U.height=Math.abs(U.y-Math.min(f.translate(p,!1,!0,!1,!0),f.len)),r+=se[1],B.below=k<=v):(U.height=z>0?f.translate(l,!1,!0,!1,!0)-U.y:f.translate(l,!1,!0,!1,!0)-f.translate(l-z,!1,!0,!1,!0),l+=z,B.below=lparseInt(ne.userAgent.split("Firefox/")[1],10),ne.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ne.noop=function(){},ne.supportsPassiveEvents=function(){let re=!1;if(!ne.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ne.win.addEventListener&&ne.win.removeEventListener&&(ne.win.addEventListener("testPassive",ne.noop,ve),ne.win.removeEventListener("testPassive",ne.noop,ve))}return re}(),ne.charts=[],ne.composed=[],ne.dateFormats={},ne.seriesTypes={},ne.symbolSizes={},ne.chartCount=0,q}),Le(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(q){let ne,{charts:re,doc:ve,win:le}=q;function pe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(T,B){p+=`\n - ${B}: ${T}`,C&&(k+=encodeURI(B)+"="+encodeURI(T))}),k+=p}g(q,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===pe.messages.indexOf(k)&&console.warn(k)}),pe.messages.push(k)}function ue(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function X(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function E(o){return X(o)&&"number"==typeof o.nodeType}function j(o){let n=o&&o.constructor;return!(!X(o,!0)||E(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function P(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!P(r),C=(k,p)=>{P(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function A(o){return te(o)?o:[o]}function I(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(pe||(pe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-T.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){q[n]=function(r){return pe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let v=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ne?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(q[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;q.Point&&o instanceof q.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!q.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((T,B)=>T.order-B.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){K=A(K),T[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=ue(d))),d},inArray:function(o,n,r){return pe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return G(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:ue,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:A,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:v,useSerialIds:function(o){return ne=_(o,ne)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Le(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Le(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Le(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{win:re}=q,{defined:ve,error:le,extend:pe,isNumber:ue,isObject:J,merge:te,objectEach:X,pad:E,pick:j,splat:F,timeUnits:P}=ne,D=q.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,A=q.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class I{constructor(m){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(m)}get(m,w){if(this.variableTimezone||this.timezoneOffset){let G=w.getTime(),O=G-this.getTimezoneOffset(w);w.setTime(O);let f=w["getUTC"+m]();return w.setTime(G),f}return this.useUTC?w["getUTC"+m]():w["get"+m]()}set(m,w,G){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===m||"Seconds"===m||"Minutes"===m&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+m](G);let O=this.getTimezoneOffset(w),f=w.getTime()-O;w.setTime(f),w["setUTC"+m](G);let a=this.getTimezoneOffset(w);return f=w.getTime()+a,w.setTime(f)}return this.useUTC||D&&"FullYear"===m?w["setUTC"+m](G):w["set"+m](G)}update(m={}){let w=j(m.useUTC,!0);this.options=m=te(!0,this.options,m),this.Date=m.Date||re.Date||Date,this.useUTC=w,this.timezoneOffset=w&&m.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!m.getTimezoneOffset&&!m.timezone)}makeTime(m,w,G,O,f,a){let g,v,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),v=this.getTimezoneOffset(g),g+=v,v!==(o=this.getTimezoneOffset(g))?g+=o-v:v-36e5!==this.getTimezoneOffset(g-36e5)||A||(g-=36e5)):g=new this.Date(m,w,j(G,1),j(O,0),j(f,0),j(a,0)).getTime(),g}timezoneOffsetFunction(){let m=this,w=this.options,G=w.getTimezoneOffset;return this.useUTC?w.timezone?O=>{try{let f=`shortOffset,${w.timezone||""}`,[a,g,v,o,n=0]=(I.formatCache[f]=I.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:w.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(v+n/60);if(ue(r))return r}catch{le(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(m.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(m,w,G){if(!ve(w)||isNaN(w))return q.defaultOptions.lang&&q.defaultOptions.lang.invalidDate||"";m=j(m,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(w),a=this.get("Hours",f),g=this.get("Day",f),v=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=q.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return X(pe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:E(v),e:E(v,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:E(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:E(a),k:a,I:E(a%12||12),l:a%12||12,M:E(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:E(this.get("Seconds",f)),L:E(Math.floor(w%1e3),3)},q.dateFormats),function(C,k){for(;-1!==m.indexOf("%"+k);)m=m.replace("%"+k,"function"==typeof C?C.call(O,w):C)}),G?m.substr(0,1).toUpperCase()+m.substr(1):m}resolveDTLFormat(m){return J(m,!0)?m:{main:(m=F(m))[0],from:m[1],to:m[2]}}getTimeTicks(m,w,G,O){let f,a,g,v,o=this,r=[],l={},d=new(0,o.Date)(w),C=m.unitRange,k=m.count||1;if(O=j(O,1),ve(w)){o.set("Milliseconds",d,C>=P.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=P.second&&o.set("Seconds",d,C>=P.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=P.minute&&o.set("Minutes",d,C>=P.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=P.hour&&o.set("Hours",d,C>=P.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=P.day&&o.set("Date",d,C>=P.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=P.month&&(o.set("Month",d,C>=P.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=P.year&&(a-=a%k,o.set("FullYear",d,a)),C===P.week&&(v=o.get("Day",d),o.set("Date",d,o.get("Date",d)-v+O+(v4*P.month||o.getTimezoneOffset(w)!==o.getTimezoneOffset(G));let z=d.getTime();for(f=1;z1?z=o.makeTime(a,p,T,B+f*k):z+=C*k:z=o.makeTime(a,p,T+f*k*(C===P.day?1:7)),f++;r.push(z),C<=P.hour&&r.length<1e4&&r.forEach(function(K){K%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",K)&&(l[K]="day")})}return r.info=pe(m,{higherRanks:l,totalRange:C*k}),r}getDateFormat(m,w,G,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",w),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond",o=v;for(v in P){if(m===P.week&&+this.dateFormat("%w",w)===G&&f.substr(6)===a.substr(6)){v="week";break}if(P[v]>m){v=o;break}if(g[v]&&f.substr(g[v])!==a.substr(g[v]))break;"week"!==v&&(o=v)}return this.resolveDTLFormat(O[v]).main}}return I.formatCache={},I}),Le(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{isTouchDevice:pe,svg:ue}=ne,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ue,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:pe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let X=new ve(te.time);return{defaultOptions:te,defaultTime:X,getOptions:function(){return te},setOptions:function(E){return J(!0,te,E),(E.time||E.global)&&(ne.time?ne.time.update(J(te.global,te.time,E.global,E.time)):ne.time=X),te}}}),Le(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isNumber:re,merge:ve,pInt:le}=ne;class pe{static parse(J){return J?new pe(J):pe.None}constructor(J){let te,X,E,j;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=q.Color;if(F&&F!==pe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(P=>new pe(P[1]));else if("string"==typeof J){if(this.input=J=pe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let P=J.length,D=parseInt(J.substr(1),16);7===P?X=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===P&&(X=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!X)for(E=pe.parsers.length;E--&&!X;)(te=(j=pe.parsers[E]).regex.exec(J))&&(X=j.parse(te))}X&&(this.rgba=X)}get(J){let te=this.input,X=this.rgba;if("object"==typeof te&&void 0!==this.stops){let E=ve(te);return E.stops=[].slice.call(E.stops),this.stops.forEach((j,F)=>{E.stops[F]=[E.stops[F][0],j.get(J)]}),E}return X&&re(X[0])?"rgb"===J||!J&&1===X[3]?"rgb("+X[0]+","+X[1]+","+X[2]+")":"a"===J?`${X[3]}`:"rgba("+X.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function(X){X.brighten(J)});else if(re(J)&&0!==J)for(let X=0;X<3;X++)te[X]+=le(255*J),te[X]<0&&(te[X]=0),te[X]>255&&(te[X]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let X=this.rgba,E=J.rgba;if(!re(X[0])||!re(E[0]))return J.input||"none";let j=1!==E[3]||1!==X[3];return(j?"rgba(":"rgb(")+Math.round(E[0]+(X[0]-E[0])*(1-te))+","+Math.round(E[1]+(X[1]-E[1])*(1-te))+","+Math.round(E[2]+(X[2]-E[2])*(1-te))+(j?","+(E[3]+(X[3]-E[3])*(1-te)):"")+")"}}return pe.names={white:"#ffffff",black:"#000000"},pe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),parseFloat(ue[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),1]}}],pe.None=new pe(""),pe}),Le(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{parse:ve}=q,{win:le}=ne,{isNumber:pe,objectEach:ue}=re;class J{constructor(X,E,j){this.pos=NaN,this.options=E,this.elem=X,this.prop=j}dSetter(){let X=this.paths,E=X&&X[0],j=X&&X[1],F=this.now||0,P=[];if(1!==F&&E&&j)if(E.length===j.length&&F<1)for(let D=0;D=I+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,j=!0,ue(_,function(m){!0!==m&&(j=!1)}),j&&A&&A.call(D),E=!1):(this.pos=P.easing((F-this.startTime)/I),this.now=this.start+(this.end-this.start)*this.pos,this.update(),E=!0),E}initPath(X,E,j){let _,m,w,G,F=X.startX,P=X.endX,D=j.slice(),A=X.isArea,I=A?2:1,O=E&&E.slice();if(!O)return[D,D];function f(g,v){for(;g.length{let G=E(w.options.animation);_=ue(P)&&re(P.defer)?A.defer:Math.max(_,G.duration+G.defer),m=Math.min(A.duration,G.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-m),duration:Math.min(_,m)}},setAnimation:function(F,P){P.renderer.globalAnimation=X(F,P.options.chart.animation,!0)},stop:j}}),Le(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{SVG_NS:re,win:ve}=q,{attr:le,createElement:pe,css:ue,error:J,isFunction:te,isString:X,objectEach:E,splat:j}=ne,{trustedTypes:F}=ve,P=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=P?P.createHTML(""):"",A=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class I{static filterUserAttributes(m){return E(m,(w,G)=>{let O=!0;-1===I.allowedAttributes.indexOf(G)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(G)&&(O=X(w)&&I.allowedReferences.some(f=>0===w.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete m[G]),X(w)&&m[G]&&(m[G]=w.replace(/{let O=G.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(w[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),w},{})}static setElementHTML(m,w){m.innerHTML=I.emptyHTML,w&&new I(w).addToDOM(m)}constructor(m){this.nodes="string"==typeof m?this.parseMarkup(m):m}addToDOM(m){return function w(G,O){let f;return j(G).forEach(function(a){let g,v=a.tagName,o=a.textContent?q.doc.createTextNode(a.textContent):void 0,n=I.bypassHTMLFiltering;if(v)if("#text"===v)g=o;else if(-1!==I.allowedTags.indexOf(v)||n){let l=q.doc.createElementNS("svg"===v?re:O.namespaceURI||re,v),d=a.attributes||{};E(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:I.filterUserAttributes(d)),a.style&&ue(l,a.style),o&&l.appendChild(o),w(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":v});g&&O.appendChild(g),f=g}),f}(this.nodes,m)}parseMarkup(m){let w,G=[];if(m=m.trim().replace(/ style=(["'])/g," data-style=$1"),A)w=(new DOMParser).parseFromString(P?P.createHTML(m):m,"text/html");else{let f=pe("div");f.innerHTML=m,w={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),v={tagName:g};"#text"===g&&(v.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?v.style=I.parseStyle(r.value):n[r.name]=r.value}),v.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(v.children=n)}a.push(v)};return[].forEach.call(w.body.childNodes,f=>O(f,G)),G}}return I.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],I.allowedReferences=["https://","http://","mailto:","/","../","./","#"],I.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],I.emptyHTML=D,I.bypassHTMLFiltering=!1,I}),Le(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne){let{defaultOptions:re,defaultTime:ve}=q,{extend:le,getNestedProperty:pe,isArray:ue,isNumber:J,isObject:te,pick:X,pInt:E}=ne,j={add:(D,A)=>D+A,divide:(D,A)=>0!==A?D/A:"",eq:(D,A)=>D==A,each:function(D){let A=arguments[arguments.length-1];return!!ue(D)&&D.map((I,_)=>F(A.body,le(te(I)?I:{"@this":I},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,A)=>D>=A,gt:(D,A)=>D>A,if:D=>!!D,le:(D,A)=>D<=A,lt:(D,A)=>DD*A,ne:(D,A)=>D!=A,subtract:(D,A)=>D-A,unless:D=>!D};function F(D="",A,I){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,m=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,w=[],G=/f$/,O=/\.([0-9])/,f=re.lang,a=I&&I.time||ve,g=I&&I.numberFormatter||P,v=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:pe(d,A))},r=0;for(;null!==(o=_.exec(D));){let d=m.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:A,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");j[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,T=D.substr(p,o.index-p);void 0===n.body?(n.body=T,n.startInner=o.index+o[0].length):n.elseBody=T,n.find+=T+o[0],k||(w.push(n),n=void 0)}else n.isBlock||w.push(n);if(d&&!n?.isBlock)break}return w.forEach(d=>{let C,k,{body:p,elseBody:T,expression:B,fn:z}=d;if(z){let K=[d],U=B.split(" ");for(k=j[z].length;k--;)K.unshift(v(U[k+1]));C=j[z].apply(A,K),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:T,A))}else{let K=B.split(":");if(C=v(K.shift()||""),K.length&&"number"==typeof C){let U=K.join(":");if(G.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,X(C,""))}),l?F(D,A,I):D}function P(D,A,I,_){let m,w;A=+A;let G=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=A;-1===A?A=Math.min(O,20):J(A)?A&&f[1]&&f[1]<0&&((w=A+ +f[1])>=0?(f[0]=(+f[0]).toExponential(w).split("e")[0],A=w):(f[0]=f[0].split(".")[0]||0,D=A<20?(f[0]*Math.pow(10,f[1])).toFixed(A):0,f[1]=0)):A=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(A,O)-1)).toFixed(A),v=String(E(g)),o=v.length>3?v.length%3:0;return I=X(I,G.decimalPoint),_=X(_,G.thousandsSep),m=(D<0?"-":"")+(o?v.substr(0,o)+_:""),0>+f[1]&&!a?m="0":m+=v.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),A&&(m+=I+g.slice(-A)),f[1]&&0!=+m&&(m+="e"+f[1]),m}return{dateFormat:function(D,A,I){return ve.dateFormat(D,A,I)},format:F,helpers:j,numberFormat:P}}),Le(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(q){var ne,re;let ve;return(re=ne||(ne={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,pe,ue){re.rendererTypes[le]=pe,(!ve||ue)&&(ve=le,q.Renderer=pe)},ne}),Le(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(q){var ne;let{clamp:re,pick:ve,pushUnique:le,stableSort:pe}=q;return(ne||(ne={})).distribute=function ue(J,te,X){let _,m,w,O,f,g,E=J,j=E.reducedLen||te,F=(v,o)=>v.target-o.target,P=[],D=J.length,A=[],I=P.push,G=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>j){for(pe(J,(v,o)=>(o.rank||0)-(v.rank||0)),w=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,m=g?w:D-1;w&&a>j;)O=J[_=Math.floor(m)],le(A,_)&&(a-=O.size),m+=w,g&&m>=J.length&&(w/=2,m=w);A.sort((v,o)=>o-v).forEach(v=>I.apply(P,J.splice(v,1)))}for(pe(J,F),J=J.map(v=>({size:v.size,targets:[v.target],align:ve(v.align,.5)}));G;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,G=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),G=!0)}return I.apply(E,P),_=0,J.some(v=>{let o=0;return(v.targets||[]).some(()=>(E[_].pos=v.pos+o,void 0!==X&&Math.abs(E[_].pos-E[_].target)>X?(E.slice(0,_+1).forEach(n=>delete n.pos),E.reducedLen=(E.reducedLen||te)-.1*te,E.reducedLen>.1*te&&ue(E,te,X),!0):(o+=E[_].size,_++,!1)))}),pe(E,F),E},ne}),Le(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{animate:le,animObject:pe,stop:ue}=q,{deg2rad:J,doc:te,svg:X,SVG_NS:E,win:j}=re,{addEvent:F,attr:P,createElement:D,css:A,defined:I,erase:_,extend:m,fireEvent:w,isArray:G,isFunction:O,isObject:f,isString:a,merge:g,objectEach:v,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let T=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(T)&&(T=parseFloat(T)),T}_defaultSetter(p,T,B){B.setAttribute(T,p)}add(p){let T,B=this.renderer,z=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&B.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(T=this.zIndexSetter()),T||(p?p.element:B.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(p,T){let B=T?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(z,K){return-1===B.indexOf(K)&&z.push(K),z},B?[B]:[]).join(" "))!==B&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,T,B,z=!0){let K,U,se,S,$,H={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=T,(!B||a(B))&&(this.alignTo=se=B||"renderer",_(N,this),N.push(this),B=void 0)):(p=this.alignOptions,T=this.alignByTranslate,se=this.alignTo),B=o(B,x[se],x);let R=p.align,Z=p.verticalAlign;return K=(B.x||0)+(p.x||0),U=(B.y||0)+(p.y||0),"right"===R?S=1:"center"===R&&(S=2),S&&(K+=(B.width-(p.width||0))/S),H[T?"translateX":"x"]=Math.round(K),"bottom"===Z?$=1:"middle"===Z&&($=2),$&&(U+=(B.height-(p.height||0))/$),H[T?"translateY":"y"]=Math.round(U),z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(p){let T={left:"start",center:"middle",right:"end"};T[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",T[p]))}animate(p,T,B){let z=pe(o(T,this.renderer.globalAnimation,!0)),K=z.defer;return te.hidden&&(z.duration=0),0!==z.duration?(B&&(z.complete=B),l(()=>{this.element&&le(this,p,z)},K)):(this.attr(p,void 0,B||z.complete),v(p,function(U,se){z.step&&z.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let T=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(T.style.fill)));let B=p.split(" "),z=B[B.length-1],K=B[0];if(K&&"none"!==K&&re.svg){this.fakeTS=!0,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(H,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(E,"tspan");P(U,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":K,"stroke-linejoin":"round"});let se=T.querySelector("textPath")||T;[].forEach.call(se.childNodes,H=>{let x=H.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let S=0;[].forEach.call(se.querySelectorAll("text tspan"),H=>{S+=Number(H.getAttribute("dy"))});let $=te.createElementNS(E,"tspan");$.textContent="\u200b",P($,{x:Number(T.getAttribute("x")),dy:-S}),U.appendChild($),se.insertBefore(U,se.firstChild)}}attr(p,T,B,z){let se,S,H,K=this.element,U=C.symbolCustomAttribs,$=this;return"string"==typeof p&&void 0!==T&&(se=p,(p={})[se]=T),"string"==typeof p?$=(this[p+"Getter"]||this._defaultGetter).call(this,p,K):(v(p,function(x,N){H=!1,z||ue(this,N),this.symbolName&&-1!==U.indexOf(N)&&(S||(this.symbolAttr(p),S=!0),H=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),H||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,K)},this),this.afterSetters()),B&&B.call(this),$}clip(p){if(p&&!p.clipPath){let T=d()+"-",B=this.renderer.createElement("clipPath").attr({id:T}).add(this.renderer.defs);m(p,{clipPath:B,id:T,count:0}),p.add(B)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,T){let B=Math.round(T=T||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+B,p.y=Math.floor(p.y||this.y||0)+B,p.width=Math.floor((p.width||this.width||0)-2*B),p.height=Math.floor((p.height||this.height||0)-2*B),I(p.strokeWidth)&&(p.strokeWidth=T),p}complexColor(p,T,B){let K,U,se,S,$,H,x,N,R,Z,he,z=this.renderer,Y=[];w(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],$=z.gradients,H=p.stops,R=B.radialReference,G(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!I(se.gradientUnits)&&(S=se,se=g(se,z.getRadialAttr(R,S),{gradientUnits:"userSpaceOnUse"})),v(se,function(ge,_e){"id"!==_e&&Y.push(_e,ge)}),v(H,function(ge){Y.push(ge)}),$[Y=Y.join(",")])Z=$[Y].attr("id");else{se.id=Z=d();let ge=$[Y]=z.createElement(U).attr(se).add(z.defs);ge.radAttr=S,ge.stops=[],H.forEach(function(_e){0===_e[1].indexOf("rgba")?(x=(K=ne.parse(_e[1])).get("rgb"),N=K.get("a")):(x=_e[1],N=1);let Te=z.createElement("stop").attr({offset:_e[0],"stop-color":x,"stop-opacity":N}).add(ge);ge.stops.push(Te)})}he="url("+z.url+"#"+Z+")",B.setAttribute(T,he),B.gradient=Y,p.toString=function(){return he}}})}css(p){let K,T=this.styles,B={},z=this.element,U=!T;if(T&&v(p,function(se,S){T&&T[S]!==se&&(B[S]=se,U=!0)}),U){T&&(p=m(T,B)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&p.width&&(K=this.textWidth=n(p.width)),m(this.styles,p),K&&!X&&this.renderer.forExport&&delete p.width;let se=g(p);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(S=>se&&delete se[S]),se.color&&(se.fill=se.color)),A(z,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let T,B=this["stroke-width"];if("inherit"===B&&(B=1),p=p&&p.toLowerCase()){let z=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(T=z.length;T--;)z[T]=""+n(z[T])*o(B,NaN);p=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,T=p.element||{},B=p.renderer,z=T.ownerSVGElement,K="SPAN"===T.nodeName&&p.parentGroup||void 0;if(T.onclick=T.onmouseout=T.onmouseover=T.onmousemove=T.point=null,ue(p),p.clipPath&&z){let S=p.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function($){$.getAttribute("clip-path").indexOf(S.element.id)>-1&&$.removeAttribute("clip-path")}),p.clipPath=S.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seK&&K.join?(U?z+" ":"")+K.join(" "):(K||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[T]!==p&&(B.setAttribute(T,p),this[T]=p)}fillSetter(p,T,B){"string"==typeof p?B.setAttribute(T,p):p&&this.complexColor(p,T,B)}hrefSetter(p,T,B){B.setAttributeNS("http://www.w3.org/1999/xlink",T,p)}getBBox(p,T){let B,z,K,U,{alignValue:se,element:S,renderer:$,styles:H,textStr:x}=this,{cache:N,cacheKeys:R}=$,Z=S.namespaceURI===this.SVG_NS,Y=o(T,this.rotation,0),he=$.styledMode?S&&C.prototype.getStyle.call(S,"font-size"):H.fontSize;if(I(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",$.rootFontSize,he,Y,this.textWidth,se,H.textOverflow,H.fontWeight].join(",")),U&&!p&&(B=N[U]),!B){if(Z||$.forExport){try{K=this.fakeTS&&function(ge){let _e=S.querySelector(".highcharts-text-outline");_e&&A(_e,{display:ge})},O(K)&&K("none"),B=S.getBBox?m({},S.getBBox()):{width:S.offsetWidth,height:S.offsetHeight,x:0,y:0},O(K)&&K("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();z=B.height,Z&&(B.height=z={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(z)}`]||z),Y&&(B=this.getRotatedBox(B,Y))}if(U&&(""===x||B.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=B}return B}getRotatedBox(p,T){let{x:B,y:z,width:K,height:U}=p,{alignValue:se,translateY:S,rotationOriginX:$=0,rotationOriginY:H=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(S?0:z),R=T*J,Z=(T-90)*J,Y=Math.cos(R),he=Math.sin(R),ge=K*Y,_e=K*he,Te=Math.cos(Z),Oe=Math.sin(Z),[[De,Be],[oe,ee]]=[$,H].map(pt=>[pt-pt*Y,pt*he]),be=B+x*(K-ge)+De+ee+N*Te,xe=be+ge,Ie=xe-U*Te,we=Ie-ge,Ee=z+N-x*_e-Be+oe+N*Oe,Me=Ee+_e,Xe=Me-U*Oe,Je=Xe-_e,lt=Math.min(be,xe,Ie,we),qe=Math.min(Ee,Me,Xe,Je);return{x:lt,y:qe,width:Math.max(be,xe,Ie,we)-lt,height:Math.max(Ee,Me,Xe,Je)-qe}}getStyle(p){return j.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,T){this.onEvents={},this.opacity=1,this.SVG_NS=E,this.element="span"===T||"body"===T?D(T):te.createElementNS(this.SVG_NS,T),this.renderer=p,this.styles={},w(this,"afterInit")}on(p,T){let{onEvents:B}=this;return B[p]&&B[p](),B[p]=F(this.element,p,T),this}opacitySetter(p,T,B){let z=Number(Number(p).toFixed(3));this.opacity=z,B.setAttribute(T,z)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let T=p.parentNode;T&&T.removeChild(p)}setRadialReference(p){let T=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,T&&T.radAttr&&T.animate(this.renderer.getRadialAttr(p,T.radAttr)),this}setTextPath(p,T){T=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},T);let B=this.renderer.url,z=this.text||this,K=z.textPath,{attributes:U,enabled:se}=T;if(p=p||K&&K.path,K&&K.undo(),p&&se){let S=F(z,"afterModifyTree",$=>{if(p&&se){let H=p.attr("id");H||p.attr("id",H=d());let x={x:0,y:0};I(U.dx)&&(x.dx=U.dx,delete U.dx),I(U.dy)&&(x.dy=U.dy,delete U.dy),z.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=$.nodes.slice(0);$.nodes.length=0,$.nodes[0]={tagName:"textPath",attributes:m(U,{"text-anchor":U.textAnchor,href:`${B}#${H}`}),children:N}}});z.textPath={path:p,undo:S}}else z.attr({dx:0,dy:0}),delete z.textPath;return this.added&&(z.textCache="",this.renderer.buildText(z)),this}shadow(p){let{renderer:T}=this,B=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),z=T.shadowDefinition(B);return this.attr({filter:p?`url(${T.url}#${z})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,T,B){this[T]=p,B.setAttribute(T,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let B,p=this.getStyle("stroke-width"),T=0;return/px$/.test(p)?T=n(p):""!==p&&(P(B=te.createElementNS(E,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(B),T=B.getBBox().width,B.parentNode.removeChild(B)),T}symbolAttr(p){let T=this;C.symbolCustomAttribs.forEach(function(B){T[B]=o(p[B],T[B])}),T.attr({d:T.renderer.symbols[T.symbolName](T.x,T.y,T.width,T.height,T)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let T=this.element,B=T.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");T.insertBefore?T.insertBefore(B,T.firstChild):T.appendChild(B),B.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,T){return this.attr({translateX:p,translateY:T})}updateTransform(p="transform"){let{element:T,matrix:B,rotation:z=0,rotationOriginX:K,rotationOriginY:U,scaleX:se,scaleY:S,translateX:$=0,translateY:H=0}=this,x=["translate("+$+","+H+")"];I(B)&&x.push("matrix("+B.join(",")+")"),z&&(x.push("rotate("+z+" "+o(K,T.getAttribute("x"),0)+" "+o(U,T.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(K||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(I(se)||I(S))&&x.push("scale("+o(se,1)+" "+o(S,1)+")"),x.length&&!(this.text||this).textPath&&T.setAttribute(p,x.join(" "))}visibilitySetter(p,T,B){"inherit"===p?B.removeAttribute(T):this[T]!==p&&B.setAttribute(T,p),this[T]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,T){let S,$,H,N,Z,B=this.renderer,z=this.parentGroup,K=(z||B).element||B.box,U=this.element,se=K===B.box,x=!1,R=this.added;if(I(p)?(U.setAttribute("data-z-index",p),this[T]===(p=+p)&&(R=!1)):I(this[T])&&U.removeAttribute("data-z-index"),this[T]=p,R){for((p=this.zIndex)&&z&&(z.handleZ=!0),Z=(S=K.childNodes).length-1;Z>=0&&!x;Z--)N=!I(H=($=S[Z]).getAttribute("data-z-index")),$!==U&&(p<0&&N&&!se&&!Z?(K.insertBefore(U,S[Z]),x=!0):(n(H)<=p||N&&(!I(p)||p>=0))&&(K.insertBefore(U,S[Z+1]),x=!0));x||(K.insertBefore(U,S[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Le(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,extend:ve,isNumber:le,merge:pe,pick:ue,removeEvent:J}=ne;class te extends q{constructor(E,j,F,P,D,A,I,_,m,w){let G;super(E,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=j,this.x=F,this.y=P,this.anchorX=A,this.anchorY=I,this.baseline=m,this.className=w,this.addClass("button"===w?"highcharts-no-tooltip":"highcharts-label"),w&&this.addClass("highcharts-"+w),this.text=E.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((G=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=E.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(E){let j={left:0,center:.5,right:1}[E];j!==this.alignFactor&&(this.alignFactor=j,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(E,j){this.anchorX=E,this.boxAttr(j,Math.round(E)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(E,j){this.anchorY=E,this.boxAttr(j,E-this.ySetting)}boxAttr(E,j){this.box?this.box.attr(E,j):this.deferredAttr[E]=j}css(E){if(E){let j={};E=pe(E),te.textProps.forEach(F=>{void 0!==E[F]&&(j[F]=E[F],delete E[F])}),this.text.css(j),"fontSize"in j||"fontWeight"in j?this.updateTextPadding():("width"in j||"textOverflow"in j)&&this.updateBoxSize()}return q.prototype.css.call(this,E)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),q.prototype.destroy.call(this)}fillSetter(E,j){E&&(this.needsBox=!0),this.fill=E,this.boxAttr(j,E)}getBBox(E,j){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:P=0,translateX:D=0,translateY:A=0,width:I=0}=this,_=ue(this.paddingLeft,F),m=j??(this.rotation||0),w={width:I,height:P,x:D+this.bBox.x-_,y:A+this.bBox.y-F+this.baselineOffset};return m&&(w=this.getRotatedBox(w,m)),w}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(E){this.heightSetting=E}onAdd(){this.text.add(this),this.attr({text:ue(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(E,j){le(E)?E!==this[j]&&(this[j]=E,this.updateTextPadding()):this[j]=void 0}rSetter(E,j){this.boxAttr(j,E)}strokeSetter(E,j){this.stroke=E,this.boxAttr(j,E)}"stroke-widthSetter"(E,j){E&&(this.needsBox=!0),this["stroke-width"]=E,this.boxAttr(j,E)}"text-alignSetter"(E){this.textAlign=E}textSetter(E){void 0!==E&&this.text.attr({text:E}),this.updateTextPadding()}updateBoxSize(){let E,j=this.text,F={},P=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(j.textStr)?te.emptyBBox:j.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*P;let A=this.renderer.fontMetrics(j);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||A).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-A.h)/2),this.needsBox&&!j.textPath){if(!this.box){let I=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();I.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),I.add(this)}E=this.getCrispAdjust(),F.x=E,F.y=(this.baseline?-this.baselineOffset:0)+E,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let E=this.text;if(!E.textPath){this.updateBoxSize();let j=this.baseline?0:this.baselineOffset,F=ue(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==E.x||j!==E.y)&&(E.attr("x",F),E.hasBoxWidthChanged&&(this.bBox=E.getBBox(!0)),void 0!==j&&E.attr("y",j)),E.x=F,E.y=j}}widthSetter(E){this.widthSetting=le(E)?E:void 0}getPaddedWidth(){let E=this.padding,j=ue(this.paddingLeft,E),F=ue(this.paddingRight,E);return(this.widthSetting||this.bBox.width||0)+j+F}xSetter(E){this.x=E,this.alignFactor&&(E-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(E),this.attr("translateX",this.xSetting)}ySetter(E){this.ySetting=this.y=Math.round(E),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Le(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(q){let{defined:ne,isNumber:re,pick:ve}=q;function le(J,te,X,E,j){let F=[];if(j){let P=j.start||0,D=ve(j.r,X),A=ve(j.r,E||X),I=.001>Math.abs((j.end||0)-P-2*Math.PI),_=(j.end||0)-.001,m=j.innerR,w=ve(j.open,I),G=Math.cos(P),O=Math.sin(P),f=Math.cos(_),a=Math.sin(_),g=ve(j.longArc,_-P-Math.PI<.001?0:1),v=["A",D,A,0,g,ve(j.clockwise,1),J+D*f,te+A*a];v.params={start:P,end:_,cx:J,cy:te},F.push(["M",J+D*G,te+A*O],v),ne(m)&&((v=["A",m,m,0,g,ne(j.clockwise)?1-j.clockwise:0,J+m*G,te+m*O]).params={start:_,end:P,cx:J,cy:te},F.push(w?["M",J+m*f,te+m*a]:["L",J+m*f,te+m*a],v)),w||F.push(["Z"])}return F}function pe(J,te,X,E,j){return j&&j.r?ue(J,te,X,E,j):[["M",J,te],["L",J+X,te],["L",J+X,te+E],["L",J,te+E],["Z"]]}function ue(J,te,X,E,j){let F=j?.r||0;return[["M",J+F,te],["L",J+X-F,te],["A",F,F,0,0,1,J+X,te+F],["L",J+X,te+E-F],["A",F,F,0,0,1,J+X-F,te+E],["L",J+F,te+E],["A",F,F,0,0,1,J,te+E-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,X,E,j){let F=Math.min(j&&j.r||0,X,E),P=F+6,D=j&&j.anchorX,A=j&&j.anchorY||0,I=ue(J,te,X,E,{r:F});if(!re(D)||D0&&A0)return I;if(J+D>X-P)if(A>te+P&&Ate+P&&A0){let _=AE&&DP&&I.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",X-F,te]);return I},circle:function(J,te,X,E){return le(J+X/2,te+E/2,X/2,E/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E/2],["L",J+X/2,te+E],["L",J,te+E/2],["Z"]]},rect:pe,roundedRect:ue,square:pe,triangle:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E],["L",J,te+E],["Z"]]},"triangle-down":function(J,te,X,E){return[["M",J,te],["L",J+X,te],["L",J+X/2,te+E],["Z"]]}}}),Le(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{doc:ve,SVG_NS:le,win:pe}=ne,{attr:ue,extend:J,fireEvent:te,isString:X,objectEach:E,pick:j}=re;return class{constructor(F){let P=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!(!P||"ellipsis"!==P.textOverflow),this.noWrap=!(!P||"nowrap"!==P.whiteSpace)}buildSVG(){let F=this.svgElement,P=F.element,D=F.renderer,A=j(F.textStr,"").toString(),I=-1!==A.indexOf("<"),_=P.childNodes,m=!F.added&&D.box,w=[A,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(w!==F.textCache){F.textCache=w,delete F.actualWidth;for(let G=_.length;G--;)P.removeChild(_[G]);if(I||this.ellipsis||this.width||F.textPath||-1!==A.indexOf(" ")&&(!this.noWrap||//g.test(A))){if(""!==A){m&&m.appendChild(P);let G=new q(A);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&-1!==(P.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),m&&m.removeChild(P)}}else P.appendChild(ve.createTextNode(this.unescapeEntities(A)));X(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,P=this.svgElement,D=ue(P.element,"x");for(P.firstLineMetrics=void 0;(F=P.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)P.element.removeChild(F);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(m,w)=>{m.nextSibling&&m.previousSibling&&(0===w&&1===m.previousSibling.nodeType&&(P.firstLineMetrics=P.renderer.fontMetrics(m.previousSibling)),ue(m,{dy:this.getLineHeight(m.nextSibling),x:D}))});let A=this.width||0;if(!A)return;let I=(m,w)=>{let G=m.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),a=this.getLineHeight(w),g=0,v=P.actualWidth;if(this.ellipsis)G&&this.truncate(m,G,void 0,0,Math.max(0,A-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;w.firstChild&&w.firstChild!==m;)n.push(w.firstChild),w.removeChild(w.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(m.textContent||""),m.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(m,void 0,O,0===g&&v||0,A,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),v=P.actualWidth,g++;n.forEach(r=>{w.insertBefore(r,m)}),o.forEach(r=>{w.insertBefore(ve.createTextNode(r),m);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",ue(l,{dy:a,x:D}),w.insertBefore(l,m)})}},_=m=>{[].slice.call(m.childNodes).forEach(w=>{w.nodeType===pe.Node.TEXT_NODE?I(w,m):(-1!==w.className.baseVal.indexOf("highcharts-br")&&(P.actualWidth=0),_(w))})};_(P.element)}getLineHeight(F){let P=F.nodeType===pe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(F){let P=(D,A)=>{let{attributes:I={},children:_,style:m={},tagName:w}=D,G=this.renderer.styledMode;if("b"===w||"strong"===w?G?I.class="highcharts-strong":m.fontWeight="bold":("i"===w||"em"===w)&&(G?I.class="highcharts-emphasized":m.fontStyle="italic"),m&&m.color&&(m.fill=m.color),"br"===w){I.class="highcharts-br",D.textContent="\u200b";let O=F[A+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===w&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==w&&"a"!==w&&(D.tagName="tspan"),J(D,{attributes:I,style:m}),_&&_.filter(O=>"#text"!==O.tagName).forEach(P)};F.forEach(P),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,P,D,A,I,_){let m,w,G=this.svgElement,{rotation:O}=G,f=[],a=D?1:0,g=(P||D||"").length,v=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=A+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(G.rotation=0,A+(w=o(F.textContent.length))>I){for(;a<=g;)v=Math.ceil((a+g)/2),D&&(m=_(D,v)),w=o(v,m&&m.length-1),a===g?a=g+1:w>I?g=v-1:a=v;0===g?F.textContent="":P&&g===P.length-1||(F.textContent=m||_(P||D,v))}D&&D.splice(0,v),G.actualWidth=w,G.rotation=O}unescapeEntities(F,P){return E(this.renderer.escapes,function(D,A){P&&-1!==P.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),A))}),F}}}),Le(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let X,{charts:E,deg2rad:j,doc:F,isFirefox:P,isMS:D,isWebKit:A,noop:I,SVG_NS:_,symbolSizes:m,win:w}=re,{addEvent:G,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:v,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:T,uniqueKey:B}=te;class z{constructor(U,se,S,$,H,x,N){let R,Z,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=Y.element;N||Y.css(this.getStyle($||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(se,S,!1),P&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),Z=U.getBoundingClientRect(),a(U,{left:Math.ceil(Z.left)-Z.left+"px",top:Math.ceil(Z.top)-Z.top+"px"})})(),this.unSubPixelFix=G(w,"resize",R))}definition(U){return new q([U]).addToDOM(this.defs.element)}getReferenceURL(){if((P||A)&&F.getElementsByTagName("base").length){if(!g(X)){let U=B(),se=new q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let S=F.elementFromPoint(6,6);X="hitme"===(S&&S.id),F.body.removeChild(se)}if(X)return T(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),v(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map($=>`${$}-${U[$]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),S=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:S.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:S.offsetX,dy:S.offsetY,"flood-color":S.color,"flood-opacity":Math.min(5*S.opacity,1),stdDeviation:S.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ne.parse(U).rgba.map($=>{let H=$/255;return H<=.03928?H/12.92:Math.pow((H+.055)/1.055,2.4)}),S=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(S+.05)>(S+.05)/.05?"#FFFFFF":"#000000"}button(U,se,S,$,H={},x,N,R,Z,Y){let he,ge,_e,Te=this.label(U,se,S,Z,void 0,void 0,Y,void 0,"button"),Oe=this.styledMode,De=H.states||{},Be=0;delete(H=C(H)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},H.style);delete H.style;let ee=q.filterUserAttributes(H);return Te.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},q.filterUserAttributes(x||De.hover||{}))).style,delete x.style,ge=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},q.filterUserAttributes(N||De.select||{}))).style,delete N.style,_e=(R=C(ee,{style:{color:"#cccccc"}},q.filterUserAttributes(R||De.disabled||{}))).style,delete R.style),G(Te.element,D?"mouseover":"mouseenter",function(){3!==Be&&Te.setState(1)}),G(Te.element,D?"mouseout":"mouseleave",function(){3!==Be&&Te.setState(Be)}),Te.setState=function(be){if(1!==be&&(Te.state=Be=be),Te.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][be||0]),!Oe){Te.attr([ee,x,N,R][be||0]);let xe=[oe,he,ge,_e][be||0];l(xe)&&Te.css(xe)}},!Oe&&(Te.attr(ee).css(o({cursor:"default"},oe)),Y&&Te.text.css({pointerEvents:"none"})),Te.on("touchstart",be=>be.stopPropagation()).on("click",function(be){3!==Be&&$.call(Te,be)})}crispLine(U,se,S="round"){let $=U[0],H=U[1];return g($[1])&&$[1]===H[1]&&($[1]=H[1]=Math[S]($[1])-se%2/2),g($[2])&&$[2]===H[2]&&($[2]=H[2]=Math[S]($[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,S){let $=l(U)?U:void 0===U?{}:{x:U,y:se,r:S},H=this.createElement("circle");return H.xSetter=H.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},H.attr($)}arc(U,se,S,$,H,x){let N;l(U)?(se=(N=U).y,S=N.r,$=N.innerR,H=N.start,x=N.end,U=N.x):N={innerR:$,start:H,end:x};let R=this.symbol("arc",U,se,S,S,N);return R.r=S,R}rect(U,se,S,$,H,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:H,width:Math.max(S||0,0),height:Math.max($||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(Z,Y,he){R.r=Z,O(he,{rx:Z,ry:Z})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,S){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(S,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,S,$,H,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(S)&&(N.y=S),r($)&&(N.width=$),r(H)&&(N.height=H);let R=this.createElement("image").attr(N),Z=function(Y){R.attr({href:U}),x.call(R,Y)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new w.Image;G(Y,"load",Z),Y.src=U,Y.complete&&Z({})}else R.attr({href:U});return R}symbol(U,se,S,$,H,x){let N,R,Z,Y,he=this,ge=/^url\((.*?)\)$/,_e=ge.test(U),Te=!_e&&(this.symbols[U]?U:"circle"),Oe=Te&&this.symbols[Te];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(S||0),$||0,H||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Te||void 0,x:se,y:S,width:$,height:H}),x&&o(N,x);else if(_e){Z=U.match(ge)[1];let De=N=this.image(Z);De.imgwidth=k(x&&x.width,m[Z]&&m[Z].width),De.imgheight=k(x&&x.height,m[Z]&&m[Z].height),Y=Be=>Be.attr({width:Be.width,height:Be.height}),["width","height"].forEach(Be=>{De[`${Be}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:be,element:xe,width:Ie,height:we,imgwidth:Ee,imgheight:Me}=this,Xe="width"===ee?Ee:Me,Je=1;x&&"within"===x.backgroundSize&&Ie&&we&&Ee&&Me?(Je=Math.min(Ie/Ee,we/Me),O(xe,{width:Math.round(Ee*Je),height:Math.round(Me*Je)})):xe&&Xe&&xe.setAttribute(ee,Xe),!be&&Ee&&Me&&this.translate(((Ie||0)-Ee*Je)/2,((we||0)-Me*Je)/2)}}),g(se)&&De.attr({x:se,y:S}),De.isImg=!0,g(De.imgwidth)&&g(De.imgheight)?Y(De):(De.attr({width:0,height:0}),f("img",{onload:function(){let Be=E[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),m[Z]={width:this.width,height:this.height},De.imgwidth=this.width,De.imgheight=this.height,De.element&&Y(De),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Be||Be.hasLoaded||Be.onload()},src:Z}),this.imgCount++)}return N}clipRect(U,se,S,$){return this.rect(U,se,S,$,0)}text(U,se,S,$){let H={};if($&&(this.allowHTML||!this.forExport))return this.html(U,se,S);H.x=Math.round(se||0),S&&(H.y=Math.round(S)),g(U)&&(H.text=U);let x=this.createElement("text").attr(H);return $&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,Z){let Y=Z.getElementsByTagName("tspan"),he=Z.getAttribute(R);for(let _e,ge=0;geU.align())}}return o(z.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ue,draw:I}),ve.registerRendererType("svg",z,!0),z}),Le(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{composed:le}=ne,{attr:pe,css:ue,createElement:J,defined:te,extend:X,pInt:E,pushUnique:j}=ve;function F(I,_,m){let w=this.div?.style||m.style;re.prototype[`${_}Setter`].call(this,I,_,m),w&&(w[_]=I)}let P=(I,_)=>{if(!I.div){let m=pe(I.element,"class"),w=I.css,G=J("div",m?{className:m}:void 0,{position:"absolute",left:`${I.translateX||0}px`,top:`${I.translateY||0}px`,...I.styles,display:I.display,opacity:I.opacity,visibility:I.visibility},I.parentGroup?.div||_);I.classSetter=(O,f,a)=>{a.setAttribute("class",O),G.className=O},I.translateXSetter=I.translateYSetter=(O,f)=>{I[f]=O,G.style["translateX"===f?"left":"top"]=`${O}px`,I.doTransform=!0},I.opacitySetter=I.visibilitySetter=F,I.css=O=>(w.call(I,O),O.cursor&&(G.style.cursor=O.cursor),O.pointerEvents&&(G.style.pointerEvents=O.pointerEvents),I),I.on=function(){return re.prototype.on.apply({element:G,onEvents:I.onEvents},arguments),I},I.div=G}return I.div};class D extends re{static compose(_){j(le,this.compose)&&(_.prototype.html=function(m,w,G){return new D(this,"span").attr({text:m,x:Math.round(w),y:Math.round(G)})})}constructor(_,m){super(_,m),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,m,w){this.xCorr=-_*w,this.yCorr=-m}css(_){let m,{element:w}=this,G="SPAN"===w.tagName&&_&&"width"in _,O=G&&_.width;return G&&(delete _.width,this.textWidth=E(O)||void 0,m=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),X(this.styles,_),ue(w,_),m&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:m,rotation:w,rotationOriginX:G,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:v=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(ue(_,{marginLeft:`${v}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[w,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(ue(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(ue(_,{width:U>se||w?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=m.fontMetrics(_).b,te(w)&&(w!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(w,C,C),this.getSpanCorrection(!te(w)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:T=0,yCorr:B=0}=this;ue(_,{left:`${n+T}px`,top:`${r+B}px`,transformOrigin:`${(G??n)-T-n-C}px ${(O??r)-B-r-C}px`}),this.cTT=d,this.oldRotation=w,this.oldAlign=a}}setSpanRotation(_,m,w){ue(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${m}% ${w}px`})}add(_){let m,w=this.renderer.box.parentNode,G=[];if(this.parentGroup=_,_&&!(m=_.div)){let O=_;for(;O;)G.push(O),O=O.parentGroup;for(let f of G.reverse())m=P(f,w)}return(m||w).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,q.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,m){this[m]=_,this.doTransform=!0}}let A=D.prototype;return A.visibilitySetter=A.opacitySetter=F,A.ySetter=A.rotationSetter=A.rotationOriginXSetter=A.rotationOriginYSetter=A.xSetter,D}),Le(V,"Core/Axis/AxisDefaults.js",[],function(){var q,ne;return(ne=q||(q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ne.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},q}),Le(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(q){var ne;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:pe}=q;return(ne||(ne={})).registerEventOptions=function(ue,J){ue.eventOptions=ue.eventOptions||{},le(J.events,function(te,X){ue.eventOptions[X]!==te&&(ue.eventOptions[X]&&(pe(ue,X,ue.eventOptions[X]),delete ue.eventOptions[X]),ve(te)&&(ue.eventOptions[X]=te,re(ue,X,te,{order:0})))})},ne}),Le(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{deg2rad:ve}=ne,{clamp:le,correctFloat:pe,defined:ue,destroyObjectProperties:J,extend:te,fireEvent:X,isNumber:E,merge:j,objectEach:F,pick:P}=re;return class{constructor(D,A,I,_,m){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=A,this.type=I||"",this.parameters=m||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,X(this,"init"),I||_||this.addLabel()}addLabel(){let l,d,C,D=this,A=D.axis,I=A.options,_=A.chart,m=A.categories,w=A.logarithmic,G=A.names,O=D.pos,f=P(D.options&&D.options.labels,I.labels),a=A.tickPositions,g=O===a[0],v=O===a[a.length-1],o=(!f.step||1===f.step)&&1===A.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(m?P(m[O],G[O],O):O);w&&E(k)&&(k=pe(w.lin2log(k))),A.dateTime&&(n?l=(d=_.time.resolveDTLFormat(I.dateTimeLabelFormats[!I.grid&&n.higherRanks[O]||n.unitName])).main:E(k)&&(l=A.dateTime.getXDateFormat(k,I.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=v;let p={axis:A,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:v,pos:O,tick:D,tickPositionInfo:n,value:k};X(this,"labelFormat",p);let T=K=>f.formatter?f.formatter.call(K,K):f.format?(K.text=A.defaultLabelFormatter.call(K),q.format(f.format,K,_)):A.defaultLabelFormatter.call(K),B=T.call(p,p),z=d&&d.list;D.shortenLabel=z?function(){for(C=0;C0&&_+g*v>O&&(k=Math.round((m-_)/Math.cos(a*ve))):(d=_-g*v,C=_+(1-g)*v,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||A.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(I.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,A){let G,I=this,_=I.label,m=I.axis,w=!1;_&&_.textStr===D?(I.movedLabel=_,w=!0,delete I.label):F(m.ticks,function(O){w||O.isNew||O===I||!O.label||O.label.textStr!==D||(I.movedLabel=O.label,w=!0,O.labelPos=I.movedLabel.xy,delete O.label)}),!w&&(I.labelPos||_)&&(G=I.labelPos||_.xy,I.movedLabel=I.createLabel(D,A,G),I.movedLabel&&I.movedLabel.attr({opacity:0}))}render(D,A,I){let _=this.axis,m=_.horiz,w=this.pos,G=P(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(m,w,G,A),f=O.x,a=O.y,g=_.pos,v=g+_.len,o=m&&f===v||!m&&a===g?-1:1,n=m?f:a;!_.chart.polar&&this.isNew&&(pe(n)v)&&(I=0);let r=P(I,this.label&&this.label.newOpacity,1);I=P(I,1),this.isActive=!0,this.renderGridLine(A,I,o),this.renderMark(O,I,o),this.renderLabel(O,A,r,D),this.isNew=!1,X(this,"afterRender")}renderGridLine(D,A,I){let v,_=this.axis,m=_.options,w={},G=this.pos,O=this.type,f=P(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=m.gridLineWidth,n=m.gridLineColor,r=m.gridLineDashStyle;"minor"===this.type&&(o=m.minorGridLineWidth,n=m.minorGridLineColor,r=m.minorGridLineDashStyle),g||(_.chart.styledMode||(w.stroke=n,w["stroke-width"]=o||0,w.dashstyle=r),O||(w.zIndex=1),D&&(A=0),this.gridLine=g=a.path().attr(w).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(v=_.getPlotLinePath({value:G+f,lineWidth:g.strokeWidth()*I,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:v,opacity:A})}renderMark(D,A,I){let _=this.axis,m=_.options,w=_.chart.renderer,G=this.type,O=_.tickSize(G?G+"Tick":"tick"),f=D.x,a=D.y,g=P(m["minor"!==G?"tickWidth":"minorTickWidth"],!G&&_.isXAxis?1:0),v=m["minor"!==G?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=w.path().addClass("highcharts-"+(G?G+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:v,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*I,_.horiz,w),opacity:A}))}renderLabel(D,A,I,_){let m=this.axis,w=m.horiz,G=m.options,O=this.label,f=G.labels,a=f.step,g=P(this.tickmarkOffset,m.tickmarkOffset),v=D.x,o=D.y,n=!0;O&&E(v)&&(O.xy=D=this.getLabelPosition(v,o,O,w,f,g,_,a),this.isFirst&&!this.isLast&&!G.showFirstLabel||this.isLast&&!this.isFirst&&!G.showLastLabel?n=!1:!w||f.step||f.rotation||A||0===I||this.handleOverflow(D),a&&_%a&&(n=!1),n&&E(D.y)?(D.opacity=I,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,A=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),A.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Le(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{animObject:te}=q,{xAxis:X,yAxis:E}=ne,{defaultOptions:j}=ve,{registerEventOptions:F}=le,{deg2rad:P}=pe,{arrayMax:D,arrayMin:A,clamp:I,correctFloat:_,defined:m,destroyObjectProperties:w,erase:G,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:v,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:T,splat:B,syncTimeout:z}=J,K=(se,S)=>d(S,void 0,void 0,k(se.options.allowDecimals,S<.5||void 0!==se.tickAmount),!!se.tickAmount);f(j,{xAxis:X,yAxis:l(X,E)});class U{constructor(S,$,H){this.init(S,$,H)}init(S,$,H=this.coll){let x="xAxis"===H,N=this.isZAxis||(S.inverted?!x:x);this.chart=S,this.horiz=N,this.isXAxis=x,this.coll=H,a(this,"init",{userOptions:$}),this.opposite=k($.opposite,this.opposite),this.side=k($.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions($);let R=this.options,Z=R.labels,Y=R.type;this.userOptions=$,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===Y||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=m(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,B(S.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===S.axes.indexOf(this)&&(x?S.axes.splice(S.xAxis.length,0,this):S.axes.push(this),v(this,S[this.coll])),S.orderItems(this.coll),this.series=this.series||[],S.inverted&&!this.isZAxis&&x&&!m(this.reversed)&&(this.reversed=!0),this.labelRotation=n(Z.rotation)?Z.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(S){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},j[this.coll],S),a(this,"afterSetOptions",{userOptions:S})}defaultLabelFormatter(){let Te,Oe,S=this.axis,{numberFormatter:$}=this.chart,H=n(this.value)?this.value:NaN,x=S.chart.time,N=S.categories,R=this.dateTimeLabelFormat,Z=j.lang,Y=Z.numericSymbols,he=Z.numericSymbolMagnitude||1e3,ge=S.logarithmic?Math.abs(H):S.tickInterval,_e=Y&&Y.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,H);else if(_e&&Y&&ge>=1e3)for(;_e--&&void 0===Oe;)ge>=(Te=Math.pow(he,_e+1))&&10*H%Te==0&&null!==Y[_e]&&0!==H&&(Oe=$(H/Te,-1)+Y[_e]);return void 0===Oe&&(Oe=Math.abs(H)>=1e4?$(H,-1):$(H,-1,void 0,"")),Oe}getSeriesExtremes(){let S,$=this;a(this,"getSeriesExtremes",null,function(){$.hasVisibleSeries=!1,$.dataMin=$.dataMax=$.threshold=void 0,$.softThreshold=!$.isXAxis,$.series.forEach(H=>{if(H.reserveSpace()){let N,Z,Y,x=H.options,R=x.threshold;if($.hasVisibleSeries=!0,$.positiveValuesOnly&&0>=(R||0)&&(R=void 0),$.isXAxis)(N=H.xData)&&N.length&&(N=$.logarithmic?N.filter(he=>he>0):N,Z=(S=H.getXExtremes(N)).min,Y=S.max,n(Z)||Z instanceof Date||(N=N.filter(n),Z=(S=H.getXExtremes(N)).min,Y=S.max),N.length&&($.dataMin=Math.min(k($.dataMin,Z),Z),$.dataMax=Math.max(k($.dataMax,Y),Y)));else{let he=H.applyExtremes();n(he.dataMin)&&(Z=he.dataMin,$.dataMin=Math.min(k($.dataMin,Z),Z)),n(he.dataMax)&&(Y=he.dataMax,$.dataMax=Math.max(k($.dataMax,Y),Y)),m(R)&&($.threshold=R),(!x.softThreshold||$.positiveValuesOnly)&&($.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(S,$,H,x,N,R){let Z=this.linkedParent||this,Y=x&&Z.old?Z.old.min:Z.min;if(!n(Y))return NaN;let he=Z.minPixelPadding,ge=(Z.isOrdinal||Z.brokenAxis?.hasBreaks||Z.logarithmic&&N)&&Z.lin2val,_e=1,Te=0,Oe=x&&Z.old?Z.old.transA:Z.transA,De=0;if(Oe||(Oe=Z.transA),H&&(_e*=-1,Te=Z.len),Z.reversed&&(_e*=-1,Te-=_e*(Z.sector||Z.len)),$)De=(S=S*_e+Te-he)/Oe+Y,ge&&(De=Z.lin2val(De));else{ge&&(S=Z.val2lin(S));let Be=_e*(S-Y)*Oe;De=(Z.isRadial?Be:_(Be))+Te+_e*he+(n(R)?Oe*R:0)}return De}toPixels(S,$){return this.translate(S,!1,!this.horiz,void 0,!0)+($?0:this.pos)}toValue(S,$){return this.translate(S-($?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(S){let De,Be,oe,ee,be,$=this,H=$.chart,x=$.left,N=$.top,R=S.old,Z=S.value,Y=S.lineWidth,he=R&&H.oldChartHeight||H.chartHeight,ge=R&&H.oldChartWidth||H.chartWidth,_e=$.transB,Te=S.translatedValue,Oe=S.force;function xe(we,Ee,Me){return"pass"!==Oe&&(weMe)&&(Oe?we=I(we,Ee,Me):be=!0),we}let Ie={value:Z,lineWidth:Y,old:R,force:Oe,acrossPanes:S.acrossPanes,translatedValue:Te};return a(this,"getPlotLinePath",Ie,function(we){De=oe=Math.round((Te=I(Te=k(Te,$.translate(Z,void 0,void 0,R)),-1e5,1e5))+_e),Be=ee=Math.round(he-Te-_e),n(Te)?$.horiz?(Be=N,ee=he-$.bottom+(H.scrollablePixelsY||0),De=oe=xe(De,x,x+$.width)):(De=x,oe=ge-$.right+(H.scrollablePixelsX||0),Be=ee=xe(Be,N,N+$.height)):(be=!0,Oe=!1),we.path=be&&!Oe?void 0:H.renderer.crispLine([["M",De,Be],["L",oe,ee]],Y||1)}),Ie.path}getLinearTickPositions(S,$,H){let x,N,R,Z=_(Math.floor($/S)*S),Y=_(Math.ceil(H/S)*S),he=[];if(_(Z+S)===Z&&(R=20),this.single)return[$];for(x=Z;x<=Y&&(he.push(x),(x=_(x+S,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:S,minorTickInterval:$}=this.options;return!0===S?k($,"auto"):!1!==S?$:void 0}getMinorTickPositions(){let he,S=this.options,$=this.tickPositions,H=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,Z=R-N,Y=[];if(Z&&Z/H(ge.xIncrement?ge.xData?.slice(0,2):ge.xData)||[]))||0),this.dataMax-this.dataMin)),n(H)&&n(x)&&n(N)&&H-x=N,R=(N-H+x)/2,Y=[x-R,k(S.min,x-R)],Z&&(Y[2]=$?$.log2lin(this.dataMin):this.dataMin),he=[(x=D(Y))+N,k(S.max,x+N)],Z&&(he[2]=$?$.log2lin(this.dataMax):this.dataMax),(H=A(he))-xx-N),S=g([H]))}return S&&$?Math.min(S,$):S||$}nameToX(S){let N,$=o(this.options.categories),H=$?this.categories:this.names,x=S.options.x;return S.series.requireSorting=!1,m(x)||(x=this.options.uniqueNames&&H?$?H.indexOf(S.name):k(H.keys[S.name],-1):S.series.autoIncrement()),-1===x?!$&&H&&(N=H.length):N=x,void 0!==N?(this.names[N]=S.name,this.names.keys[S.name]=N):S.x&&(N=S.x),N}updateNames(){let S=this,$=this.names;$.length>0&&(Object.keys($.keys).forEach(function(H){delete $.keys[H]}),$.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(H=>{H.xIncrement=null,(!H.points||H.isDirtyData)&&(S.max=Math.max(S.max,H.xData.length-1),H.processData(),H.generatePoints()),H.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=S.nameToX(x))&&R!==x.x&&(x.x=R,H.xData[N]=R)})}))}setAxisTranslation(){let Z,ge,S=this,$=S.max-S.min,H=S.linkedParent,x=!!S.categories,N=S.isXAxis,R=S.axisPointRange||0,Y=0,he=0,_e=S.transA;(N||x||R)&&(Z=S.getClosest(),H?(Y=H.minPointOffset,he=H.pointRangePadding):S.series.forEach(function(Te){let Oe=x?1:N?k(Te.options.pointRange,Z,0):S.axisPointRange||0,De=Te.options.pointPlacement;if(R=Math.max(R,Oe),!S.single||x){let Be=Te.is("xrange")?!N:N;Y=Math.max(Y,Be&&r(De)?0:Oe/2),he=Math.max(he,Be&&"on"===De?0:Oe)}}),ge=S.ordinal&&S.ordinal.slope&&Z?S.ordinal.slope/Z:1,S.minPointOffset=Y*=ge,S.pointRangePadding=he*=ge,S.pointRange=Math.min(R,S.single&&x?1:$),N&&Z&&(S.closestPointRange=Z)),S.translationSlope=S.transA=_e=S.staticScale||S.len/($+he||1),S.transB=S.horiz?S.left:S.bottom,S.minPixelPadding=_e*Y,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:S,min:$}=this;return n(S)&&n($)&&S-$||void 0}setTickInterval(S){let Me,Je,lt,qe,st,{categories:$,chart:H,dataMax:x,dataMin:N,dateTime:R,isXAxis:Z,logarithmic:Y,options:he,softThreshold:ge}=this,_e=n(this.threshold)?this.threshold:void 0,Te=this.minRange||0,{ceiling:Oe,floor:De,linkedTo:Be,softMax:oe,softMin:ee}=he,be=n(Be)&&H[this.coll]?.[Be],xe=he.tickPixelInterval,Ie=he.maxPadding,we=he.minPadding,Ee=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||$||be||this.getTickAmount(),qe=k(this.userMin,he.min),st=k(this.userMax,he.max),be?(this.linkedParent=be,Me=be.getExtremes(),this.min=k(Me.min,Me.dataMin),this.max=k(Me.max,Me.dataMax),he.type!==be.options.type&&O(11,!0,H)):(ge&&m(_e)&&n(x)&&n(N)&&(N>=_e?(Je=_e,we=0):x<=_e&&(lt=_e,Ie=0)),this.min=k(qe,Je,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(Y&&(this.positiveValuesOnly&&!S&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,H),this.min=_(Y.log2lin(this.min),16),this.max=_(Y.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),$||this.axisPointRange||this.stacking?.usePercentage||be||!(Ee=this.max-this.min)||(!m(qe)&&we&&(this.min-=Ee*we),m(st)||!Ie||(this.max+=Ee*Ie)),!n(this.userMin)&&n(De)&&(this.min=Math.max(this.min,De)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),ge&&n(N)&&n(x)){let pt=_e||0;!m(qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Te):pt:!m(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Te):pt)}!H.polar&&this.min>this.max&&(m(he.min)?this.max=this.min:m(he.max)&&(this.min=this.max)),Ee=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?be&&!Xe&&xe===be.options.tickPixelInterval?Xe=be.tickInterval:k(Xe,this.tickAmount?Ee/Math.max(this.tickAmount-1,1):void 0,$?1:Ee*xe/Math.max(this.len,xe)):1,Z&&!S){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Tt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))Y=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)Y=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,S.units),this.min,this.max,S.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)Y=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let ge=this.tickInterval,_e=ge;for(;_e<=2*ge&&(Y=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&Y.length>this.tickAmount);)this.tickInterval=K(this,_e*=1.1)}Y.length>this.len&&(Y=[Y[0],Y[Y.length-1]])[0]===Y[1]&&(Y.length=1),H&&(this.tickPositions=Y,(he=H.apply(this,[this.min,this.max]))&&(Y=he))}this.tickPositions=Y,this.paddedTicks=Y.slice(0),this.trimTicks(Y,R,Z),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&Y.length<2&&!this.categories&&!this.series.some(ge=>ge.is("heatmap")&&"between"===ge.options.pointPlacement)&&(this.min-=.5,this.max+=.5),$||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(S,$,H){let x=S[0],N=S[S.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if($&&x!==-1/0)this.min=x;else for(;this.min-R>S[0];)S.shift();if(H)this.max=N;else for(;this.max+R{let{horiz:Te,options:Oe}=_e;return[Te?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},ge=he(this);H[this.coll].forEach(function(_e){let{series:Te}=_e;Te.length&&Te.some(Oe=>Oe.visible)&&_e!==$&&he(_e)===ge&&(S=!0,x.push(_e))})}if(S&&Z){x.forEach(ge=>{let _e=ge.getThresholdAlignment($);n(_e)&&Y.push(_e)});let he=Y.length>1?Y.reduce((ge,_e)=>ge+_e,0)/Y.length:void 0;x.forEach(ge=>{ge.thresholdAlignment=he})}return S}getThresholdAlignment(S){if((!n(this.dataMin)||this!==S&&this.series.some($=>$.isDirty||$.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let $=I((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&($=1-$),$}}getTickAmount(){let S=this.options,$=S.tickPixelInterval,H=S.tickAmount;m(S.tickInterval)||H||!(this.len<$)||this.isRadial||this.logarithmic||!S.startOnTick||!S.endOnTick||(H=2),!H&&this.alignToOthers()&&(H=Math.ceil(this.len/$)+1),H<4&&(this.finalTickAmt=H,H=5),this.tickAmount=H}adjustTickAmount(){let _e,Te,De,S=this,{finalTickAmt:$,max:H,min:x,options:N,tickPositions:R,tickAmount:Z,thresholdAlignment:Y}=S,he=R?.length,ge=k(S.threshold,S.softThreshold?0:null),Oe=S.tickInterval,Be=()=>R.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(Y)&&(De=Y<.5?Math.ceil(Y*(Z-1)):Math.floor(Y*(Z-1)),N.reversed&&(De=Z-1-De)),S.hasData()&&n(x)&&n(H)){let ee=()=>{S.transA*=(he-1)/(Z-1),S.min=N.startOnTick?R[0]:Math.min(x,R[0]),S.max=N.endOnTick?R[R.length-1]:Math.max(H,R[R.length-1])};if(n(De)&&n(S.threshold)){for(;R[De]!==ge||R.length!==Z||R[0]>x||R[R.length-1]S.threshold?oe():Be();if(Oe>8*S.tickInterval)break;Oe*=2}ee()}else if(he0&&Te<_e-1)&&R.splice(Te,1);S.finalTickAmt=void 0}}}setScale(){let{coll:S,stacking:$}=this,H=!1,x=!1;this.series.forEach(R=>{H=H||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||H||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?($&&"yAxis"===S&&$.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),$&&"xAxis"===S&&$.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):$&&$.cleanStacks(),H&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(S,$,H=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:S,max:$}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,H&&this.chart.redraw(x)})}setAxisSize(){let S=this.chart,$=this.options,H=$.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k($.width,S.plotWidth-H[3]+H[1]),S.plotWidth)),R=this.height=Math.round(p(k($.height,S.plotHeight-H[0]+H[2]),S.plotHeight)),Z=this.top=Math.round(p(k($.top,S.plotTop+H[0]),S.plotHeight,S.plotTop)),Y=this.left=Math.round(p(k($.left,S.plotLeft+H[3]),S.plotWidth,S.plotLeft));this.bottom=S.chartHeight-R-Z,this.right=S.chartWidth-N-Y,this.len=Math.max(x?N:R,0),this.pos=x?Y:Z}getExtremes(){let S=this.logarithmic;return{min:S?_(S.lin2log(this.min)):this.min,max:S?_(S.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(S){let $=this.logarithmic,H=$?$.lin2log(this.min):this.min,x=$?$.lin2log(this.max):this.max;return null===S||S===-1/0?S=H:S===1/0?S=x:H>S?S=H:x15&&$<165?x.align="right":$>195&&$<345&&(x.align="left")}),H.align}tickSize(S){let N,$=this.options,H=k($["tick"===S?"tickWidth":"minorTickWidth"],"tick"===S&&this.isXAxis&&!this.categories?1:0),x=$["tick"===S?"tickLength":"minorTickLength"];H&&x&&("inside"===$[S+"Position"]&&(x=-x),N=[x,H]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let S=this.chart.renderer,$=this.ticks,H=$[Object.keys($)[0]]||{};return this.chart.renderer.fontMetrics(H.label||H.movedLabel||S.box)}unsquish(){let ge,Te,S=this.options.labels,$=this.horiz,H=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/H),N=S.rotation,R=this.labelMetrics().h,Z=Math.max(this.max-this.min,0),Y=function(Oe){let De=Oe/(x||1);return(De=De>1?Math.ceil(De):1)*H>Z&&Oe!==1/0&&x!==1/0&&Z&&(De=Math.ceil(Z/H)),_(De*H)},he=H,_e=Number.MAX_VALUE;if($){if(!S.staggerLines&&(n(N)?Te=[N]:x=-90&&Be<=90)&&(De=(Oe=Y(Math.abs(R/Math.sin(P*Be))))+Math.abs(Be/360))<_e&&(_e=De,ge=Be,he=Oe)}}else he=Y(.75*R);return this.autoRotation=Te,this.labelRotation=k(ge,n(N)?N:0),S.step?H:he}getSlotWidth(S){let $=this.chart,H=this.horiz,x=this.options.labels,N=Math.max(this.tickPositions.length-(this.categories?0:1),1),R=$.margin[3];if(S&&n(S.slotWidth))return S.slotWidth;if(H&&x.step<2)return x.rotation?0:(this.staggerLines||1)*this.len/N;if(!H){let Z=x.style.width;if(void 0!==Z)return parseInt(String(Z),10);if(R)return R-$.spacing[3]}return.33*$.chartWidth}renderUnsquish(){let Oe,De,oe,ee,S=this.chart,$=S.renderer,H=this.tickPositions,x=this.ticks,N=this.options.labels,R=N.style,Z=this.horiz,Y=this.getSlotWidth(),he=Math.max(1,Math.round(Y-2*N.padding)),ge={},_e=this.labelMetrics(),Te=R.textOverflow,Be=0;if(r(N.rotation)||(ge.rotation=N.rotation||0),H.forEach(function(be){let xe=x[be];xe.movedLabel&&xe.replaceMovedLabel(),xe&&xe.label&&xe.label.textPxLength>Be&&(Be=xe.label.textPxLength)}),this.maxLabelLength=Be,this.autoRotation)Be>he&&Be>_e.h?ge.rotation=this.labelRotation:this.labelRotation=0;else if(Y&&(Oe=he,!Te))for(De="clip",ee=H.length;!Z&&ee--;)(oe=x[H[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>Y&&oe.css({width:Y+"px"}),oe.getBBox().height>this.len/H.length-(_e.h-_e.f)&&(oe.specificTextOverflow="ellipsis"));ge.rotation&&(Oe=Be>.5*S.chartHeight?.33*S.chartHeight:Be,Te||(De="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(ge.align=this.labelAlign),H.forEach(function(be){let xe=x[be],Ie=xe&&xe.label,we=R.width,Ee={};Ie&&(Ie.attr(ge),xe.shortenLabel?xe.shortenLabel():Oe&&!we&&"nowrap"!==R.whiteSpace&&(OeN.g(Z).attr({zIndex:he}).addClass(`highcharts-${H.toLowerCase()}${Y} `+(this.isRadial?`highcharts-radial-axis${Y} `:"")+(x.className||"")).add(S);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,xe,Ee,Me,S=this,{chart:$,horiz:H,options:x,side:N,ticks:R,tickPositions:Z,coll:Y}=S,he=$.inverted&&!S.isZAxis?[1,0,3,2][N]:N,ge=S.hasData(),_e=x.title,Te=x.labels,Oe=n(x.crossing),De=$.axisOffset,Be=$.clipOffset,oe=[-1,1,1,-1][N],be=0,Ie=0,we=0;if(S.showAxis=ee=ge||x.showEmpty,S.staggerLines=S.horiz&&Te.staggerLines||void 0,S.createGroups(),ge||S.isLinked?(Z.forEach(function(Xe){S.generateTick(Xe)}),S.renderUnsquish(),S.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===S.labelAlign,k(Te.reserveSpace,!Oe&&null,"center"===S.labelAlign||null,S.reserveSpaceDefault)&&Z.forEach(function(Xe){we=Math.max(R[Xe].getLabelSize(),we)}),S.staggerLines&&(we*=S.staggerLines),S.labelOffset=we*(S.opposite?-1:1)):C(R,function(Xe,Je){Xe.destroy(),delete R[Je]}),_e?.text&&!1!==_e.enabled&&(S.addTitle(ee),ee&&!Oe&&!1!==_e.reserveSpace&&(S.titleOffset=be=S.axisTitle.getBBox()[H?"height":"width"],Ie=m(xe=_e.offset)?0:k(_e.margin,H?5:10))),S.renderLine(),S.offset=oe*k(x.offset,De[N]?De[N]+(x.margin||0):0),S.tickRotCorr=S.tickRotCorr||{x:0,y:0},Me=0===N?-S.labelMetrics().h:2===N?S.tickRotCorr.y:0,Ee=Math.abs(we)+Ie,we&&(Ee-=Me,Ee+=oe*(H?k(Te.y,S.tickRotCorr.y+oe*Te.distance):k(Te.x,oe*Te.distance))),S.axisTitleMargin=k(xe,Ee),S.getMaxLabelDimensions&&(S.maxLabelDimensions=S.getMaxLabelDimensions(R,Z)),"colorAxis"!==Y){let Xe=this.tickSize("tick");De[N]=Math.max(De[N],(S.axisTitleMargin||0)+be+oe*S.offset,Ee,Z&&Z.length&&Xe?Xe[0]+oe*S.offset:0);let Je=!S.axisLine||x.offset?0:2*Math.floor(S.axisLine.strokeWidth()/2);Be[he]=Math.max(Be[he],Je)}a(this,"afterGetOffset")}getLinePath(S){let $=this.chart,H=this.opposite,x=this.offset,N=this.horiz,R=this.left+(H?this.width:0)+x,Z=$.chartHeight-this.bottom-(H?this.height:0)+x;return H&&(S*=-1),$.renderer.crispLine([["M",N?this.left:R,N?Z:this.top],["L",N?$.chartWidth-this.right:R,N?Z:$.chartHeight-this.bottom]],S)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(S){let $=this.horiz,H=this.left,x=this.top,N=this.len,R=this.options.title,Z=$?H:x,Y=this.opposite,he=this.offset,ge=R.x,_e=R.y,Te=this.chart.renderer.fontMetrics(S),Oe=S?Math.max(S.getBBox(!1,0).height-Te.h-1,0):0,De={low:Z+($?0:N),middle:Z+N/2,high:Z+($?N:0)}[R.align],Be=($?x+this.height:H)+($?1:-1)*(Y?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Te.f,-Oe][this.side],oe={x:$?De+ge:Be+(Y?this.width:0)+he+ge,y:$?Be+_e-(Y?this.height:0)+he:De+_e};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(S,$){let H=this.minorTicks;H[S]||(H[S]=new ue(this,S,"minor")),$&&H[S].isNew&&H[S].render(null,!0),H[S].render(null,!1,1)}renderTick(S,$,H){let N=this.ticks;(!this.isLinked||S>=this.min&&S<=this.max||this.grid&&this.grid.isColumn)&&(N[S]||(N[S]=new ue(this,S)),H&&N[S].isNew&&N[S].render($,!0,-1),N[S].render($))}render(){let S,$,H=this,x=H.chart,N=H.logarithmic,Z=H.options,Y=H.isLinked,he=H.tickPositions,ge=H.axisTitle,_e=H.ticks,Te=H.minorTicks,Oe=H.alternateBands,De=Z.stackLabels,Be=Z.alternateGridColor,oe=Z.crossing,ee=H.tickmarkOffset,be=H.axisLine,xe=H.showAxis,Ie=te(x.renderer.globalAnimation);if(H.labelEdge.length=0,H.overlap=!1,[_e,Te,Oe].forEach(function(we){C(we,function(Ee){Ee.isActive=!1})}),n(oe)){let we=this.isXAxis?x.yAxis[0]:x.xAxis[0],Ee=[1,-1,-1,1][this.side];if(we){let Me=we.toPixels(oe,!0);H.horiz&&(Me=we.len-Me),H.offset=Ee*Me}}if(H.hasData()||Y){let we=H.chart.hasRendered&&H.old&&n(H.old.min);H.minorTickInterval&&!H.categories&&H.getMinorTickPositions().forEach(function(Ee){H.renderMinorTick(Ee,we)}),he.length&&(he.forEach(function(Ee,Me){H.renderTick(Ee,Me,we)}),ee&&(0===H.min||H.single)&&(_e[-1]||(_e[-1]=new ue(H,-1,null,!0)),_e[-1].render(-1))),Be&&he.forEach(function(Ee,Me){$=void 0!==he[Me+1]?he[Me+1]+ee:H.max-ee,Me%2==0&&Ee=.5)E=Math.round(E),_=D.getLinearTickPositions(E,j,F);else if(E>=.08){let m,w,G,O,f,a,g;for(m=E>.3?[1,2,4]:E>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],w=Math.floor(j);wj&&(!P||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let m=this.lin2log(j),w=this.lin2log(F),G=P?D.getMinorTickInterval():I.tickInterval;E=ve(E=le("auto"===G?null:G,this.minorAutoInterval,I.tickPixelInterval/(P?5:1)*(w-m)/((P?A/D.tickPositions.length:A)||1))),_=D.getLinearTickPositions(E,m,w).map(this.log2lin),P||(this.minorAutoInterval=E/5)}return P||(D.tickInterval=E),_}lin2log(E){return Math.pow(10,E)}log2lin(E){return Math.log(E)/Math.LN10}}pe.Additions=te}(ne||(ne={})),ne}),Le(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(q){var ne;let{erase:re,extend:ve,isNumber:le}=q;return function(pe){let ue;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,A){let I=this.userOptions,_=new ue(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(I.plotLines||[]).concat(I.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),A){let m=I[A]||[];m.push(D),I[A]=m}this.plotLinesAndBands.push(_)}return _}function X(D){return this.addPlotBandOrLine(D,"plotLines")}function E(D,A,I){let f,g,_=this.getPlotLinePath({value:A,force:!0,acrossPanes:(I=I||this.options).acrossPanes}),m=[],w=this.horiz,G=!le(this.min)||!le(this.max)||Dthis.max&&A>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:I.acrossPanes}),a=1;if(O&&_)for(G&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(K,U=>{m[K].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&P.width>0&&P.height>0&&!l.isFlat?(o=te({align:A&&C&&"center",x:A?!C&&4:10,verticalAlign:!A&&C&&"middle",y:A?C?16:10:C?6:-4,rotation:A&&!C&&90},o),this.renderLabel(o,l,C,w)):n&&n.hide(),this}renderLabel(P,D,A,I){let _=this.axis,w=this.label;w||(this.label=w=_.chart.renderer.text(this.getLabelText(P),0,0,P.useHTML).attr({align:P.textAlign||P.align,rotation:P.rotation,class:"highcharts-plot-"+(A?"band":"line")+"-label"+(P.className||""),zIndex:I}),_.chart.styledMode||w.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},P.style)),w.add());let G=D.xBounds||[D[0][1],D[1][1],A?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],A?D[2][2]:D[0][2]],f=ve(G),a=ve(O);w.align(P,!1,{x:f,y:a,width:re(G)-f,height:re(O)-a}),w.alignValue&&"left"!==w.alignValue||w.css({width:(90===w.rotation?_.height-(w.alignAttr.y-_.top):(P.clip?_.width:_.chart.chartWidth)-(w.alignAttr.x-_.left))+"px"}),w.show(!0)}getLabelText(P){return le(P.formatter)?P.formatter.call(this):P.text}destroy(){ue(this.axis.plotLinesAndBands,this),delete this.axis,pe(this)}}return j}),Le(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{format:ue}=q,{composed:J,doc:te,isSafari:X}=ne,{distribute:E}=re,{addEvent:j,clamp:F,css:P,discardElement:D,extend:A,fireEvent:I,isArray:_,isNumber:m,isString:w,merge:G,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class v{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,T=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-T,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let B=0,z=0;n.forEach(function(K){let U=K.pos(!0);U&&(B+=U[0],z+=U[1])}),B/=n.length,z/=n.length,this.shared&&n.length>1&&r&&(k?B=r.chartX:z=r.chartY),l=[B-T,z-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(w).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,T=ve.getRendererType();this.container=C=ne.doc.createElement("div"),C.className="highcharts-tooltip-container",P(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new T(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:T,ySetter:B}=p;p.xSetter=function(z){T.call(p,n.distance),C&&(C.style.left=z+"px")},p.ySetter=function(z){B.call(p,n.distance),C&&(C.style.top=z+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ne.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let _e,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:T,plotLeft:B,plotTop:z,polar:K}=C,{plotX:U=0,plotY:se=0}=l,S={},$=T&&l.h||0,{height:H,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=be=>be*N.scaleX,Z=be=>be*N.scaleY,Y=be=>{let xe="x"===be;return[be,xe?x:H,xe?n:r].concat(k?[xe?R(n):Z(r),xe?N.left-d+R(U+B):N.top-d+Z(se+z),0,xe?x:H]:[xe?n:r,xe?U+B:se+z,xe?B:z,xe?B+C.plotWidth:z+C.plotHeight])},he=Y("y"),ge=Y("x"),Te=!!l.negative;!K&&C.hoverSeries?.yAxis?.reversed&&(Te=!Te);let Oe=!this.followPointer&&O(l.ttBelow,!K&&!T===Te),De=function(be,xe,Ie,we,Ee,Me,Xe){let Je=k?"y"===be?Z(d):R(d):d,lt=(Ie-we)/2,qe=wexe?pt:pt+$)}},Be=function(be,xe,Ie,we,Ee){if(Eexe-d)return!1;S[be]=Eexe-we/2?xe-we-2:Ee-Ie/2},oe=function(be){[he,ge]=[ge,he],_e=be},ee=()=>{!1!==De.apply(0,he)?!1!==Be.apply(0,ge)||_e||(oe(!0),ee()):_e?S.x=S.y=0:(oe(!0),ee())};return(T&&!K||this.len>1)&&oe(),ee(),S}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),T=C.followPointer||C.len>1;A(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:T?void 0:p?(2*k.anchorX+l)/3:l,anchorY:T?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),T=p[0],B=[],z=d.format,K=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!T.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&T.series.tooltipOptions.followPointer;let S=this.getAnchor(n,r),$=S[0],H=S[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),B.push(R.getLabelConfig())}),(se=T.getLabelConfig()).points=B):se=T.getLabelConfig(),this.len=B.length;let x=w(z)?ue(z,se,l):K.call(se,this),N=T.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=$,Z=H;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,Z=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(Y=>C.isDirectTouch||Y.series.shouldShowTooltip(R,Z)))return void this.hide();{let Y=this.getLabel();(!d.style.width||U)&&Y.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),Y.attr({text:x&&x.join?x.join(""):x}),Y.addClass(this.getClassName(T),!0),U||Y.attr({stroke:d.borderColor||T.color||N.color||"#666666"}),this.updatePosition({plotX:$,plotY:H,negative:T.negative,ttBelow:T.ttBelow,h:S[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}I(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:T,plotTop:B,scrollablePixelsY:z=0,scrollablePixelsX:K,styledMode:U},distance:se,options:S,options:{positioner:$},pointer:H}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof K?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},Z=l.getLabel(),Y=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:ge,top:_e}=H.getChartPosition(),Te=B+N,Oe=0,De=p-z;function Be(we,Ee,Me,Xe,Je=!0){let lt,qe;return Me?(lt=he?0:De,qe=F(we-Xe/2,R.left,R.right-Xe-(l.outside?ge:0))):(lt=Ee-Te,qe=F(qe=Je?we-Xe-se:we+se,Je?qe:R.left,R.right)),{x:qe,y:lt}}w(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(we,Ee,Me){if(!1!==Ee&&""!==Ee){let Xe=r[Me-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Je=Xe.isHeader,lt=Je?l:Xe.series,qe=lt.tt=function(Pt,Gt,ti){let Dt=Pt,{isHeader:It,series:xt}=Gt;if(!Dt){let wt={padding:S.padding,r:S.borderRadius};U||(wt.fill=S.backgroundColor,wt["stroke-width"]=S.borderWidth??1),Dt=Y.label("",0,0,S[It?"headerShape":"shape"],void 0,void 0,S.useHTML).addClass(l.getClassName(Gt,!0,It)).attr(wt).add(Z)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(S.style).attr({stroke:S.borderColor||Gt.color||xt.color||"#333333"}),Dt}(lt.tt,Xe,Ee.toString()),st=qe.getBBox(),Tt=st.width+qe.strokeWidth();Je&&(Oe=st.height,De+=Oe,he&&(Te-=Oe));let{anchorX:pt,anchorY:ht}=function(Pt){let Gt,ti,{isHeader:Dt,plotX:It=0,plotY:xt=0,series:wt}=Pt;if(Dt)Gt=Math.max(T+It,T),ti=B+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(It,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-B+xt,{ignoreX:!0})&&(ti=di.pos+xt)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Pt=st.height+1,Gt=$?$.call(l,Tt,Pt,Xe):Be(pt,ht,Je,Tt);we.push({align:$?0:void 0,anchorX:pt,anchorY:ht,boxWidth:Tt,point:Xe,rank:O(Gt.rank,Je?1:0),size:Pt,target:Gt.y,tt:qe,x:Gt.x})}else qe.isActive=!1}return we},[]);!$&&oe.some(we=>{let{outside:Ee}=l,Me=(Ee?ge:0)+we.anchorX;return MeMe})&&(oe=oe.map(we=>{let{x:Ee,y:Me}=Be(we.anchorX,we.anchorY,we.point.isHeader,we.boxWidth,!1);return A(we,{target:Me,x:Ee})})),l.cleanSplit(),E(oe,De);let ee={left:ge,right:ge};oe.forEach(function(we){let{x:Ee,boxWidth:Me,isHeader:Xe}=we;!Xe&&(l.outside&&ge+Eeee.right&&(ee.right=ge+Ee))}),oe.forEach(function(we){let{x:Ee,anchorX:Me,anchorY:Xe,pos:Je,point:{isHeader:lt}}=we,qe={visibility:void 0===Je?"hidden":"inherit",x:Ee,y:(Je||0)+Te,anchorX:Me,anchorY:Xe};if(l.outside&&Ee0&&(lt||(qe.x=Ee+st,qe.anchorX=Me+st),lt&&(qe.x=(ee.right-ee.left)/2,qe.anchorX=Me+st))}we.tt.attr(qe)});let{container:be,outside:xe,renderer:Ie}=l;if(xe&&be&&Ie){let{width:we,height:Ee,x:Me,y:Xe}=Z.getBBox();Ie.setSize(we+Me,Ee+Xe,!1),be.style.left=ee.left+"px",be.style.top=_e+"px"}X&&Z.attr({opacity:1===Z.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},T=d.xDateFormat,B=d[r?"footerFormat":"headerFormat"];return I(this,"headerFormatter",p,function(z){k&&!T&&m(n.key)&&(T=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&T&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(K){B=B.replace("{point."+K+"}","{point."+K+":"+T+"}")}),l.chart.styledMode&&(B=this.styledModeFormat(B)),z.text=ue(B,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,G(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:T=0,width:B=0}=this.getLabel(),{left:z,top:K,scaleX:U,scaleY:se}=k.getChartPosition(),S=(C.positioner||this.getPosition).call(this,B,T,n),$=(n.plotX||0)+r.plotLeft,H=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(S.x+=z-d,S.y+=K-d),x=(C.borderWidth||0)+2*d+2,p.setSize(B+x,T+x,!1),(1!==U||1!==se)&&(P(l,{transform:`scale(${U}, ${se})`}),$*=U,H*=se),$+=z-S.x,H+=K-S.y),this.move(Math.round(S.x),Math.round(S.y||0),$,H)}}return(pe=v||(v={})).compose=function(o){f(J,"Core.Tooltip")&&j(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new pe(n,n.options.tooltip,this))})},v}),Le(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{animObject:pe}=ne,{defaultOptions:ue}=re,{format:J}=ve,{addEvent:te,erase:X,extend:E,fireEvent:j,getNestedProperty:F,isArray:P,isFunction:D,isNumber:A,isObject:I,pick:_,syncTimeout:m,removeEvent:w,uniqueKey:G}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},v=a.getGraphicalProps();v.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),v.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(E({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let v=this.series,o=v.options.pointValKey||v.pointValKey;return E(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?E(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&v.xAxis&&v.xAxis.hasNames&&(this.x=v.xAxis.nameToX(this)),void 0===this.x&&v?this.x=void 0===g?v.autoIncrement():g:A(a.x)&&v.options.relativeXValue&&(this.x=v.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,v=g.chart,o=g.options.dataSorting,n=v.hoverPoints,r=pe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(w(a),a.destroyElements()),a)delete a[d]};a.legendItem&&v.legend.destroyItem(a),n&&(a.setState(),X(n,a),n.length||(v.hoverPoints=null)),a===v.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),m(l,r.duration)):l(),v.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,v=g.getGraphicalProps(a);v.singular.forEach(function(o){g[o]=g[o].destroy()}),v.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,v){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(v=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),j(o,a,g,v)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,v,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),v=n.length;v--;)o[g=n[v]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,v=a.zoneAxis||"y",n=0;for(o=g[0];this[v]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,v){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,v),this.id??(this.id=G()),this.resolveColor(),a.chart.pointCount++,j(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(a){let l,g=this.series,v=g.options.keys,o=v||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(A(a)||null===a)r[o[0]]=a;else if(P(a))for(!v&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:v,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(A(v)&&A(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-v+d]:[v+d,g+C]}}resolveColor(){let o,n,l,a=this.series,v=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(v||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(v||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,v){return v.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:I(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,v=g.tooltipOptions,o=_(v.valueDecimals,""),n=v.valuePrefix||"",r=v.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,v,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let T=d&&r.hasMockGraphic;d&&(null===r.y?!T:T)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),I(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=I(k.data[n],!0)||I(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(v)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let v=this,o=v.series,n=o.chart;a=_(a,!v.selected),this.selectedStaging=a,v.firePointEvent(a?"select":"unselect",{accumulate:g},function(){v.selected=v.options.selected=a,o.options.data[o.data.indexOf(v)]=v.options,v.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==v&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:v}=this.series.chart;v&&(a=a?v.normalize(a):v.getChartCoordinatesFromPoint(this,g),v.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},v=g.events?.[a];!D(v)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(v)?this.hasImportedEvents&&!v&&this.hcEvents?.[a]&&(w(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,v),this.hasImportedEvents=!0)}setState(a,g){let z,K,U,S,v=this.series,o=this.state,n=v.options.states[a||"normal"]||{},r=ue.plotOptions[v.type].marker&&v.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=v.chart,T=r&&v.markerAttribs,B=v.halo,se=v.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,T&&(z=v.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){K=v.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=K.opacity;v.options.inactiveOtherPoints&&A(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(K,U)}z&&this.graphic.animate(z,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(S=k.symbol||v.symbol,se&&se.currentSymbol!==S&&(se=se.destroy()),z&&(se?se[g?"animate":"attr"]({x:z.x,y:z.y}):S&&(v.stateMarkerGraphic=se=p.renderer.symbol(S,z.x,z.y,z.width,z.height).add(v.markerGroup),se.currentSymbol=S)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(v.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let $=n.halo,H=this.graphic||se,x=H&&H.visibility||"inherit";$&&$.size&&H&&"hidden"!==x&&!this.isCluster?(B||(v.halo=B=p.renderer.path().add(H.parentGroup)),B.show()[g?"animate":"attr"]({d:this.haloPath($.size)}),B.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,v.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),B.point=this,p.styledMode||B.attr(E({fill:this.color||v.color,"fill-opacity":$.opacity},q.filterUserAttributes($.attributes||{})))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide),j(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Le(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{parse:le}=q,{charts:pe,composed:ue}=ne,{addEvent:J,attr:te,css:X,extend:E,find:j,fireEvent:F,isNumber:P,isObject:D,objectEach:A,offset:I,pick:_,pushUnique:m,splat:w}=re;class G{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(v){g=v.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(v){-1===a.indexOf(v)?v.setState("inactive",!0):v.options.inactiveOtherPoints&&v.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ne.chartCount&&(G.unbindDocumentMouseUp&&(G.unbindDocumentMouseUp=G.unbindDocumentMouseUp()),G.unbindDocumentTouchEnd&&(G.unbindDocumentTouchEnd=G.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),A(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,v=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=v.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let K,{chart:a}=this,{mouseDownX:g=0,mouseDownY:v=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,T=n&&f[`${n}Key`],B=f.chartX,z=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(Bl+C&&(B=l+C),zd+k&&(z=d+k),this.hasDragged=Math.sqrt(Math.pow(g-B,2)+Math.pow(v-z,2)),this.hasDragged>10)){K=a.isInsidePlot(g-l,v-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:S}=this.getSelectionMarkerAttrs(B,z);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&K&&!T&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(S),K&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:v}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),v&&f){if(this.hasDragged){let o=this.getSelectionBox(v);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}P(g.index)&&(this.selectionMarker=v.destroy())}g&&P(g.index)&&(X(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let v;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(v,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(v,r)>0)&&(v=r)}),v}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:v}=f.series,o=f.shapeArgs;if(g&&v){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&P(o.x)&&P(o.y)&&(n=o.x,r=o.y),a?{chartX:v.len+v.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+v.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=I(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:v}=f;return v>2&&g>2&&(this.chartPosition.scaleX=a.width/v,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,v,o,n){let C,r=[],l=function(T){return T.visible&&!(!o&&T.directTouch)&&_(T.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(T=>T.stickyTracking&&(k.filter||l)(T));let p=v&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(T){return k.filter?k.filter(T):l(T)&&!T.noSharedTooltip})).forEach(function(T){let B=j(T.points,function(z){return z.x===p.x&&!z.isNull});D(B)&&(T.boosted&&T.boost&&(B=T.boost.getPoint(B)),r.push(B))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,v=this.chart.hoverSeries;this.isDirectTouch=!1,!v||!g||v.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+v.index)&&this.inClass(g,"highcharts-tracker")||v.onMouseOut()}inClass(f,a){let v,g=f;for(;g;){if(v=te(g,"class")){if(-1!==v.indexOf(a))return!0;if(-1!==v.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,v=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=v.pageX-a.left,n=v.pageY-a.top;return E(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,v=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(v.target,"highcharts-tracker")?(F(g.series,"click",E(v,{point:g})),a.hoverPoint&&g.firePointEvent("click",v)):(E(v,this.getCoordinates(v)),a.isInsidePlot(v.chartX-o,v.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",v)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ne.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=pe[_(G.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,v=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(v))&&this.drag(v),!a.openMenu&&(this.inClass(v.target,"highcharts-tracker")||a.isInsidePlot(v.chartX-a.plotLeft,v.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(v))&&(this.inClass(v.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(v))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,v=this.chartPosition,o=this.normalize(f,v);!v||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){pe[_(G.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:v,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),v&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let T=p[0],B=p[1]||T;return{x:T.chartX,y:T.chartY,width:B.chartX-T.chartX,height:B.chartY-T.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,v=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&w(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&w(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),v&&v.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let v=this.chart,n=v.tooltip&&v.tooltip.options.enabled?v.tooltip:void 0,r=!!n&&n.shared,l=a||v.hoverPoint,d=l&&l.series||v.hoverSeries,k=this.getHoverData(l,d,v.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,T=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,B=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==v.hoverPoint||n&&n.isHidden)){if((v.hoverPoints||[]).forEach(function(z){-1===p.indexOf(z)&&z.setState()}),v.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(z){z.setState("hover")}),v.hoverPoint&&v.hoverPoint.firePointEvent("mouseOut"),!l.series)return;v.hoverPoints=p,v.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(B?p:l,f)})}else if(T&&n&&!n.isHidden){let z=n.getAnchor([{}],f);v.isInsidePlot(z[0],z[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:z[0],plotY:z[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(v.container.ownerDocument,"mousemove",z=>pe[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(z)),this.eventsToUnbind.push(this.unDocMouseMove)),v.axes.forEach(function(z){let K,U=_((z.crosshair||{}).snap,!0);!U||(K=v.hoverPoint)&&K.series[z.coll]===z||(K=j(p,se=>se.series&&se.series[z.coll]===z)),K||!U?z.drawCrosshair(f,K):z.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp||(G.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||(G.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ne.charts[_(G.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(G.hoverChartIndex=a.index)}touch(f,a){let g,{chart:v,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),v.isInsidePlot(f.chartX-v.plotLeft,f.chartY-v.plotTop,{visiblePlotOnly:!0})&&!v.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,v=a.zooming.type||"";/touch/.test(f.type)&&(v=_(a.zooming.pinchType,v)),this.zoomX=o=/x/.test(v),this.zoomY=n=/y/.test(v),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=G||(G={})).compose=function(O){m(ue,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},G}),Le(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){var ue;let{animObject:J,setAnimation:te}=q,{format:X}=ne,{composed:E,marginNames:j}=re,{distribute:F}=le,{addEvent:P,createElement:D,css:A,defined:I,discardElement:_,find:m,fireEvent:w,isNumber:G,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:v,syncTimeout:o}=pe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),P(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),P(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),w(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:T,symbol:B}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:z={}}=this,K=z.color,{fillColor:U,fillOpacity:se,lineColor:S,marker:$}=l.options,H=x=>(!d&&(x.fill&&(x.fill=K),x.stroke&&(x.stroke=K)),x);p?.css(O(d?this.itemStyle:z)),T?.attr(H({stroke:S||l.color})),B&&B.attr(H($&&B.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(H({fill:U||l.color,"fill-opacity":U?1:se??.75}))}w(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,z=l.checkbox;if(d&&d.element){let K={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[I(d.translateY)?"animate":"attr"](K,void 0,()=>{w(this,"afterPositionItem",{item:l})})}z&&(z.x=C,z.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let T,B=p.checkbox;B&&(T=l+k+B.y+(this.scrollOffset||0)+3,A(B,{left:d.translateX+p.checkboxOffset+B.x-20+"px",top:T+"px",display:this.proximate||T>l-6&&T1.5*_e?ge.height:_e))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,T=this.itemMarginBottom,B=this.itemMarginTop,z=k?f(d.itemDistance,20):0,K=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>K?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>K&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=B+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=B+this.itemY+T,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=B+p+T,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:z):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!I(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),w(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,B){T.test(p)&&!I(l[B])&&(C[j[B]]=Math.max(C[j[B]],C.legend[(B+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][B]*k[B%2?"x":"y"]+f(k.margin,12)+d[B]+(C.titleOffset[B]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(T){let B,z,U,se,K=k;T.yAxis&&(T.xAxis.options.reversed&&(K=!K),T.points&&(B=m(K?T.points:T.points.slice(0).reverse(),function(S){return G(S.plotY)})),z=this.itemMarginTop+T.legendItem.label.getBBox().height+this.itemMarginBottom,se=T.yAxis.top-d.plotTop,U=T.visible?(B?B.plotY:T.yAxis.height)+(se-.3*z):se+T.yAxis.height,C.push({target:U,size:z,item:T}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},G(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let T,B,z,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),K=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,K||(this.group=K=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(K),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),v(p,(S,$)=>(S.options&&S.options.legendIndex||0)-($.options&&$.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=T=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),B=(this.widthOption||this.offsetWidth)+k,z=this.lastItemY+this.lastLineHeight+this.titleHeight,z=this.handleOverflow(z)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(K)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),B>0&&z>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:B,height:z},se.strokeWidth())),K[T?"show":"hide"](),l.styledMode&&"none"===K.getStyle("display")&&(B=z=0),this.legendWidth=B,this.legendHeight=z,T&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,Z,Y,d=this,C=this.chart,k=C.renderer,p=this.options,T=p.y,B="top"===p.verticalAlign,z=this.padding,K=p.maxHeight,U=p.navigation,se=f(U.animation,!0),S=U.arrowSize||12,$=this.pages,H=this.allItems,x=function(Te){"number"==typeof Te?_e.attr({height:Te}):_e&&(d.clipRect=_e.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Te?"rect("+z+"px,9999px,"+(z+Te)+"px,0)":"auto")},N=function(Te){return d[Te]=k.circle(0,0,1.3*S).translate(S/2,S/2).add(ge),C.styledMode||d[Te].attr("fill","rgba(0,0,0,0.0001)"),d[Te]},he=C.spacingBox.height+(B?-T:T)-z,ge=this.nav,_e=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),K&&(he=Math.min(he,K)),$.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-z,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,H.forEach((Te,Oe)=>{let De=(Y=Te.legendItem||{}).y||0,Be=Math.round(Y.label.getBBox().height),oe=$.length;(!oe||De-$[oe-1]>R&&(Z||De)!==$[oe-1])&&($.push(Z||De),oe++),Y.pageIx=oe-1,Z&&((H[Oe-1].legendItem||{}).pageIx=oe-1),Oe===H.length-1&&De+Be-$[oe-1]>R&&De>$[oe-1]&&($.push(De),Y.pageIx=oe),De!==Z&&(Z=De)}),_e||(_e=d.clipRect=k.clipRect(0,z-2,9999,0),d.contentGroup.clip(_e)),x(R),ge||(this.nav=ge=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,S,S).add(ge),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(ge),this.down=k.symbol("triangle-down",0,0,S,S).add(ge),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):ge&&(x(),this.nav=ge.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,T=this.clipHeight,B=this.options.navigation,z=this.pager,K=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:K,translateY:T+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),z.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?B.inactiveColor:B.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?B.inactiveColor:B.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{w(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},T=k.chart.renderer.boxWrapper,B=l instanceof ve,z="highcharts-legend-"+(B?"point":"series")+"-active",K=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=S=>{k.allItems.forEach($=>{l!==$&&[$].concat($.linkedSeries||[]).forEach(H=>{H.setState(S,!B)})})};for(let S of U)S&&S.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&T.addClass(z),K||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),T.removeClass(z),l.setState()}).on("click",function($){let H="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};T.removeClass(z),$={browserEvent:$},l.firePointEvent?l.firePointEvent(H,$,x):w(l,H,$,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),P(l.checkbox,"click",function(d){w(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(ue=n||(n={})).compose=function(r){a(E,"Core.Legend")&&P(r,"beforeMargins",function(){this.legend=new ue(this,this.options.legend)})},n}),Le(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(q){var ne;let{extend:re,merge:ve,pick:le}=q;return function(pe){function ue(J,te,X){let f,E=this.legendItem=this.legendItem||{},{chart:j,options:F}=this,{baseline:P=0,symbolWidth:D,symbolHeight:A}=J,I=this.symbol||"circle",_=A/2,m=j.renderer,w=E.group,G=P-Math.round(A*(X?.4:.3)),O={},a=F.marker,g=0;if(j.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),E.line=m.path().addClass("highcharts-graph").attr(O).add(w),X&&(E.area=m.path().addClass("highcharts-area").add(w)),O["stroke-linecap"]&&(g=Math.min(E.line.strokeWidth(),D)/2),D){let v=[["M",g,G],["L",D-g,G]];E.line.attr({d:v}),E.area?.attr({d:[...v,["L",D-g,P],["L",g,P]]})}if(a&&!1!==a.enabled&&D){let v=Math.min(le(a.radius,_),_);0===I.indexOf("url")&&(a=ve(a,{width:A,height:A}),v=0),E.symbol=f=m.symbol(I,D/2-v,G-v,2*v,2*v,re({context:"legend"},a)).addClass("highcharts-point").add(w),f.isMarker=!0}}pe.areaMarker=function(J,te){ue.call(this,J,te,!0)},pe.lineMarker=ue,pe.rectangle=function(J,te){let X=te.legendItem||{},j=J.symbolHeight,F=J.options.squareSymbol;X.symbol=this.chart.renderer.rect(F?(J.symbolWidth-j)/2:0,J.baseline-j+1,F?j:J.symbolWidth,j,le(J.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(X.group)}}(ne||(ne={})),ne}),Le(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:q}=this.series.chart;return"number"!=typeof this.y?"":q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Le(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{defaultOptions:pe}=ne,{extend:ue,extendClass:J,merge:te}=ve;return function(X){function E(j,F){let P=pe.plotOptions||{},D=F.defaultOptions,A=F.prototype;return A.type=j,A.pointClass||(A.pointClass=re),!X.seriesTypes[j]&&(D&&(P[j]=D),X.seriesTypes[j]=F,!0)}X.seriesTypes=q.seriesTypes,X.registerSeriesType=E,X.seriesType=function(j,F,P,D,A){let I=pe.plotOptions||{};if(I[j]=te(I[F=F||""],P),delete X.seriesTypes[j],E(j,J(X.seriesTypes[F]||function(){},D)),X.seriesTypes[j].prototype.type=j,A){class _ extends re{}ue(_.prototype,A),X.seriesTypes[j].prototype.pointClass=_}return X.seriesTypes[j]}}(le||(le={})),le}),Le(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,setAnimation:j}=q,{defaultOptions:F}=ne,{registerEventOptions:P}=re,{svg:D,win:A}=ve,{seriesTypes:I}=J,{arrayMax:_,arrayMin:m,clamp:w,correctFloat:G,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:v,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:T,merge:B,objectEach:z,pick:K,removeEvent:U,splat:se,syncTimeout:S}=X;class ${constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let Z=this,Y=x.series;this.eventsToUnbind=[],Z.chart=x,Z.options=Z.setOptions(N);let he=Z.options,ge=!1!==he.visible;Z.linkedSeries=[],Z.bindAxes(),o(Z,{name:he.name,state:"",visible:ge,selected:!0===he.selected}),P(this,he);let _e=he.events;(_e&&_e.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),Z.getColor(),Z.getSymbol(),Z.parallelArrays.forEach(function(Te){Z[Te+"Data"]||(Z[Te+"Data"]=[])}),Z.isCartesian&&(x.hasCartesianSeries=!0),Y.length&&(R=Y[Y.length-1]),Z._i=K(R&&R._i,-1)+1,Z.opacity=Z.options.opacity,x.orderItems("series",C(this,Y)),he.dataSorting&&he.dataSorting.enabled?Z.setDataSortingOptions():Z.points||Z.data||Z.setData(he.data,!1),r(this,"afterInit")}is(x){return I[x]&&this instanceof I[x]}bindAxes(){let x,N=this,R=N.options,Z=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(Y){Z[Y].forEach(function(he){x=he.options,(K(R[Y],0)===he.index||void 0!==R[Y]&&R[Y]===x.id)&&(C(N,he.series),N[Y]=he,he.isDirty=!0)}),N[Y]||N.optionalAxis===Y||v(18,!0,Z)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let Z=x.series,Y=p(N)?function(he){let ge="y"===he&&Z.toYData?Z.toYData(x):x[he];Z[he+"Data"][N]=ge}:function(he){Array.prototype[N].apply(Z[he+"Data"],R)};Z.parallelArrays.forEach(Y)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,Z=N.marker||{};return R&&(Z.enabled&&!R.enabled||Z.symbol!==R.symbol||Z.height!==R.height||Z.width!==R.width)}autoIncrement(x){let ge,_e,N=this.options,R=N.pointIntervalUnit,Z=N.relativeXValue,Y=this.chart.time,he=this.xIncrement;return he=K(he,N.pointStart,0),this.pointInterval=_e=K(this.pointInterval,N.pointInterval,1),Z&&p(x)&&(_e*=x),R&&(ge=new Y.Date(he),"day"===R?Y.set("Date",ge,Y.get("Date",ge)+_e):"month"===R?Y.set("Month",ge,Y.get("Month",ge)+_e):"year"===R&&Y.set("FullYear",ge,Y.get("FullYear",ge)+_e),_e=ge.getTime()-he),Z&&p(x)?he+_e:(this.xIncrement=he+_e,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,Z=R.options.plotOptions,Y=R.userOptions||{},he=B(x),ge=R.styledMode,_e={plotOptions:Z,userOptions:he};r(this,"setOptions",_e);let Te=_e.plotOptions[this.type],Oe=Y.plotOptions||{},De=Oe.series||{},Be=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=_e.userOptions;let ee=B(Te,Z.series,oe,he);this.tooltipOptions=B(F.tooltip,F.plotOptions.series?.tooltip,Be?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=K(he.stickyTracking,oe.stickyTracking,De.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Te.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let be=this.zones=(ee.zones||[]).map(xe=>({...xe}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},ge||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),be.push(N)),be.length&&O(be[be.length-1].value)&&be.push(ge?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return K(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let Z,Y,he=this.chart,ge=`${x}Index`,_e=`${x}Counter`,Te=R?.length||he.options.chart.colorCount;!N&&(O(Y=K("color"===x?this.options.colorIndex:void 0,this[ge]))?Z=Y:(he.series.length||(he[_e]=0),Z=he[_e]%Te,he[_e]+=1),R&&(N=R[Z])),void 0!==Z&&(this[ge]=Z),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,Z,Y,he=x.id,ge=x.x,_e=this.points,Te=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof pe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=De=>!De.touched&&De.index===x.index;if(Te&&Te.matchByName?Oe=De=>!De.touched&&De.name===x.name:this.options.relativeXValue&&(Oe=De=>!De.touched&&De.options.x===x.x),!(R=n(_e,Oe)))return}return R&&void 0!==(Y=R&&R.index)&&(Z=!0),void 0===Y&&p(ge)&&(Y=this.xData.indexOf(ge,N)),-1!==Y&&void 0!==Y&&this.cropped&&(Y=Y>=this.cropStart?Y-this.cropStart:Y),!Z&&p(Y)&&_e[Y]&&_e[Y].touched&&(Y=void 0),Y}updateData(x,N){let Te,Oe,De,Be,R=this.options,Z=R.dataSorting,Y=this.points,he=[],ge=this.requireSorting,_e=x.length===Y.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,be){let xe,Ie=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Ie.id||p(Ie.x)?(-1===(xe=this.findPointIndex(Ie,Be))||void 0===xe?he.push(ee):Y[xe]&&ee!==R.data[xe]?(Y[xe].update(ee,!1,null,!1),Y[xe].touched=!0,ge&&(Be=xe+1)):Y[xe]&&(Y[xe].touched=!0),(!_e||be!==xe||Z&&Z.enabled||this.hasDerivedData)&&(Te=!0)):he.push(ee)},this),Te)for(Oe=Y.length;Oe--;)(De=Y[Oe])&&!De.touched&&De.remove&&De.remove(!1,N);else!_e||Z&&Z.enabled?oe=!1:(x.forEach(function(ee,be){ee===Y[be].y||Y[be].destroyed||Y[be].update(ee,!1,null,!1)}),he.length=0);return Y.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,Z){let we,Ee,Me,qe,Y=this,he=Y.points,ge=he&&he.length||0,_e=Y.options,Te=Y.chart,Oe=_e.dataSorting,De=Y.xAxis,Be=_e.turboThreshold,oe=this.xData,ee=this.yData,be=Y.pointArrayMap,xe=be&&be.length,Ie=_e.keys,Xe=0,Je=1,lt=null;Te.options.chart.allowMutatingData||(_e.data&&delete Y.options.data,Y.userOptions.data&&delete Y.userOptions.data,qe=B(!0,x));let st=(x=qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Te.options.chart.allowMutatingData&&!1!==Z&&st&&ge&&!Y.cropped&&!Y.hasGroupedData&&Y.visible&&!Y.boosted&&(Me=this.updateData(x,R)),!Me){if(Y.xIncrement=null,Y.colorCounter=0,this.parallelArrays.forEach(function(Tt){Y[Tt+"Data"].length=0}),Be&&st>Be)if(p(lt=Y.getFirstValidPoint(x)))for(we=0;we=0?Xe:0,Je=Je>=0?Je:1),1===lt.length&&(Je=0),Xe===Je)for(we=0;we{let ge=d(R,Y),_e=d(R,he);return _ege?1:0}).forEach(function(Y,he){Y.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(Y){let he=Y.options,ge=he.data;he.dataSorting&&he.dataSorting.enabled||!ge||(ge.forEach(function(_e,Te){ge[Te]=Z(Y,_e),x[Te]&&(ge[Te].x=x[Te].x,ge[Te].index=Te)}),Y.setData(ge,!1))}),x}getProcessedData(x){let Te,Oe,Be,oe,ee,N=this,R=N.xAxis,Z=N.options,Y=Z.cropThreshold,he=x||N.getExtremesFromAll||Z.getExtremesFromAll,ge=R?.logarithmic,_e=N.isCartesian,De=0,be=N.xData,xe=N.yData,Ie=!1,we=be.length;R&&(oe=(Be=R.getExtremes()).min,ee=Be.max,Ie=!(!R.categories||R.names.length)),_e&&N.sorted&&!he&&(!Y||we>Y||N.forceCrop)&&(be[we-1]ee?(be=[],xe=[]):N.yData&&(be[0]ee)&&(be=(Te=this.cropData(N.xData,N.yData,oe,ee)).xData,xe=Te.yData,De=Te.start,Oe=!0));let Ee=l([ge?be.map(ge.log2lin):be],()=>N.requireSorting&&!Ie&&v(15,!1,N.chart));return{xData:be,yData:xe,cropped:Oe,cropStart:De,closestPointRange:Ee}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,Z){let he,ge,Y=x.length,_e=0,Te=Y;for(he=0;he=R){_e=Math.max(0,he-1);break}for(ge=he;geZ){Te=ge+1;break}return{xData:x.slice(_e,Te),yData:N.slice(_e,Te),start:_e,end:Te}}generatePoints(){let Be,oe,ee,be,x=this.options,N=this.processedData||x.data,R=this.processedXData,Z=this.processedYData,Y=this.pointClass,he=R.length,ge=this.cropStart||0,_e=this.hasGroupedData,Te=x.keys,Oe=[],De=x.dataGrouping&&x.dataGrouping.groupAll?ge:0,xe=this.data;if(!xe&&!_e){let Ie=[];Ie.length=N.length,xe=this.data=Ie}for(Te&&_e&&(this.options.keys=!1),be=0;be0:oe.length)||!_e),De=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(Y[ee+ge]||Be)>=xe&&(Y[ee-ge]||Be)<=Ie,Oe&&De)if(be=oe.length)for(;be--;)p(oe[be])&&(he[we++]=oe[be]);else he[we++]=oe;let Me={activeYData:he,dataMin:m(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Me}),Me}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,Z=null;for(;null===Z&&R1)&&(he.step=function(Be,oe){De&&De.apply(oe,arguments),"width"===oe.prop&&Te?.element&&Te.attr(Y?"height":"width",Be+99)}),_e.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,Z,Y,he,ge,_e,Te=this.chart,Oe=Te.styledMode,{colorAxis:De,options:Be}=this,oe=Be.marker,ee=this[this.specialGroup||"markerGroup"],be=this.xAxis,xe=K(oe.enabled,!be||!!be.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=Z=Te.renderer.symbol(Ie,_e.x,_e.y,_e.width,_e.height,ge?he:oe).add(ee),this.enabledDataSorting&&Te.hasRendered&&(Z.attr({x:R.startXPos}),Y="animate")),Z&&"animate"===Y&&Z[we?"show":"hide"](we).animate(_e),Z){let Ee=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?De&&Z.css({fill:Ee.fill}):Z[Y](Ee)}Z&&Z.addClass(R.getClassName(),!0)}else Z&&(R.graphic=Z.destroy())}markerAttribs(x,N){let _e,Te,R=this.options,Z=R.marker,Y=x.marker||{},he=Y.symbol||Z.symbol,ge={},Oe=K(Y.radius,Z&&Z.radius);N&&(_e=Z.states[N],Oe=K((Te=Y.states&&Y.states[N])&&Te.radius,_e&&_e.radius,Oe&&Oe+(_e&&_e.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let De=x.pos();return p(Oe)&&De&&(ge.x=De[0]-Oe,ge.y=De[1]-Oe,R.crisp&&(ge.x=Math.floor(ge.x))),Oe&&(ge.width=ge.height=2*Oe),ge}pointAttribs(x,N){let Te,Oe,Be,oe,R=this.options.marker,Z=x&&x.options,Y=Z&&Z.marker||{},he=Z&&Z.color,ge=x&&x.color,_e=x&&x.zone&&x.zone.color,De=this.color,ee=K(Y.lineWidth,R.lineWidth),be=1;return De=he||_e||ge||De,Be=Y.fillColor||R.fillColor||De,oe=Y.lineColor||R.lineColor||De,Te=R.states[N=N||"normal"]||{},ee=K((Oe=Y.states&&Y.states[N]||{}).lineWidth,Te.lineWidth,ee+K(Oe.lineWidthPlus,Te.lineWidthPlus,0)),Be=Oe.fillColor||Te.fillColor||Be,{stroke:oe=Oe.lineColor||Te.lineColor||oe,"stroke-width":ee,fill:Be,opacity:be=K(Oe.opacity,Te.opacity,be)}}destroy(x){let N,R,Z,Y=this,he=Y.chart,ge=/AppleWebKit\/533/.test(A.navigator.userAgent),_e=Y.data||[];for(r(Y,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(Y.axisTypes||[]).forEach(function(Te){(Z=Y[Te])&&Z.series&&(g(Z.series,Y),Z.isDirty=Z.forceRedraw=!0)}),Y.legendItem&&Y.chart.legend.destroyItem(Y),N=_e.length;N--;)(R=_e[N])&&R.destroy&&R.destroy();for(let Te of Y.zones)f(Te,void 0,!0);X.clearTimeout(Y.animationTimeout),z(Y,function(Te,Oe){Te instanceof te&&!Te.survive&&Te[ge&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===Y&&(he.hoverSeries=void 0),g(he.series,Y),he.orderItems("series"),z(Y,function(Te,Oe){x&&"hcEvents"===Oe||delete Y[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:Z,points:Y,xAxis:he,yAxis:ge,zoneAxis:_e}=this,{inverted:Te,renderer:Oe}=N,De=this[`${_e}Axis`],{isXAxis:Be,len:oe=0}=De||{},ee=(R?.strokeWidth()||0)/2+1,be=(xe,Ie=0,we=0)=>{Te&&(we=oe-we);let{translated:Ee=0,lineClip:Me}=xe,Xe=we-Ee;Me?.push(["L",Ie,Math.abs(Xe){Me.forEach((Xe,Je)=>{("M"===Xe[0]||"L"===Xe[0])&&(Me[Je]=[Xe[0],Be?oe-Xe[1]:Xe[1],Be?Xe[2]:oe-Xe[2]])})};if(Z.forEach(Me=>{Me.lineClip=[],Me.translated=w(De.toPixels(K(Me.value,xe),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===_e&&Y.length{let Xe=Me.lineClip||[],Je=Math.round(Me.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:qe}=Me,st=0,Tt=0,pt=he.len,ht=ge.len;Be?(st=Je,pt=Ee):(Tt=Je,ht=Ee);let Pt=[["M",st,Tt],["L",pt,Tt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Pt[0],...Xe,Pt[1],Pt[2],...we,Pt[3],Pt[4]];we=Xe.reverse(),Ee=Je,Te&&(Ie(Gt),x&&Ie(Pt)),lt?(lt.animate({d:Gt}),qe?.animate({d:Pt})):(lt=Me.clip=Oe.path(Gt),x&&(qe=Me.simpleClip=Oe.path(Pt))),R&&Me.graph?.clip(lt),x&&Me.area?.clip(qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,Z,Y){let he=this[x],ge=!he,_e={visibility:R,zIndex:Z||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(_e.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(Y)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(_e)[ge?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,Z=this.chart,Y=Z.inverted&&!Z.polar&&N&&this.invertible&&"series"===x;return Z.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:Z.plotLeft,translateY:R?R.top:Z.plotTop,rotation:Y?90:0,rotationOriginX:Y?(N.len-R.len)/2:0,rotationOriginY:Y?(N.len+R.len)/2:0,scaleX:Y?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:Z}=x,Y=E(R.animation),he=x.visible?"inherit":"hidden",ge=R.zIndex,_e=N.seriesGroup,Te=x.finishedAnimating?0:Y.duration;r(this,"render"),x.plotGroup("group","series",he,ge,_e),x.markerGroup=x.plotGroup("markerGroup","markers",he,ge,_e),!1!==R.clip&&x.setClip(),Te&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Te&&x.animate?.(),Z||(Te&&Y.defer&&(Te+=Y.defer),x.animationTimeout=S(()=>{x.afterAnimate()},Te||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:Z}=this,Y=this.chart.inverted;return this.searchKDTree({clientX:Y?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:Y?Z.len-x.chartX+Z.pos:x.chartY-Z.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,S(function(){N.kdTree=function Z(Y,he,ge){let _e,Te,Oe=Y?.length;if(Oe)return _e=N.kdAxisArray[he%ge],Y.sort((De,Be)=>(De[_e]||0)-(Be[_e]||0)),{point:Y[Te=Math.floor(Oe/2)],left:Z(Y.slice(0,Te),he+1,ge),right:Z(Y.slice(Te+1),he+1,ge)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let Z=this,[Y,he]=this.kdAxisArray,ge=N?"distX":"dist",_e=(Z.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Te=!!Z.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(De,Be,oe,ee){let Ie,we,be=Be.point,xe=Z.kdAxisArray[oe%ee],Ee=be;!function(lt,qe){let st=lt[Y],Tt=qe[Y],pt=O(st)&&O(Tt)?st-Tt:null,ht=lt[he],Pt=qe[he],Gt=O(ht)&&O(Pt)?ht-Pt:0,ti=Te&&qe.marker?.radius||0;qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(De,be);let Me=(De[xe]||0)-(be[xe]||0)+(Te&&be.marker?.radius||0),Xe=Me<0?"left":"right",Je=Me<0?"right":"left";return Be[Xe]&&(Ee=(Ie=Oe(De,Be[Xe],oe+1,ee))[ge]=0&&he<=(Z?Z.len:N.plotHeight)&&Y>=0&&Y<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,Z=[].concat((R?x.areaPath:x.graphPath)||[]),Y=x.chart,he=Y.pointer,ge=Y.renderer,_e=Y.options.tooltip?.snap||0,Te=()=>{N.enableMouseTracking&&Y.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",De=x.tracker;De?De.attr({d:Z}):x.graph&&(x.tracker=De=ge.path(Z).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),Y.styledMode||De.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*_e)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Be=>{Be&&(Be.addClass("highcharts-tracker").on("mouseover",Te).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!Y.styledMode&&Be.css({cursor:N.cursor}),Be.on("touchstart",Te))})),r(this,"afterDrawTracker")}addPoint(x,N,R,Z,Y){let he,ge,_e=this.options,Te=this.data,Oe=this.chart,De=this.xAxis,Be=De&&De.hasNames&&De.names,oe=_e.data,ee=this.xData;N=K(N,!0);let be={series:this};this.pointClass.prototype.applyOptions.apply(be,[x]);let xe=be.x;if(ge=ee.length,this.requireSorting&&xexe;)ge--;this.updateParallelArrays(be,"splice",[ge,0,0]),this.updateParallelArrays(be,ge),Be&&be.name&&(Be[xe]=be.name),oe.splice(ge,0,x),(he||this.processedData)&&(this.data.splice(ge,0,null),this.processData()),"point"===_e.legendType&&this.generatePoints(),R&&(Te[0]&&Te[0].remove?Te[0].remove(!1):(Te.shift(),this.updateParallelArrays(be,"shift"),oe.shift())),!1!==Y&&r(this,"addPoint",{point:be}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(Z)}removePoint(x,N,R){let Z=this,Y=Z.data,he=Y[x],ge=Z.points,_e=Z.chart,Te=function(){ge&&ge.length===Y.length&&ge.splice(x,1),Y.splice(x,1),Z.options.data.splice(x,1),Z.updateParallelArrays(he||{series:Z},"splice",[x,1]),he&&he.destroy(),Z.isDirty=!0,Z.isDirtyData=!0,N&&_e.redraw()};j(R,_e),N=K(N,!0),he?he.firePointEvent("remove",null,Te):Te()}remove(x,N,R,Z){let Y=this,he=Y.chart;function ge(){Y.destroy(Z),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(Z),K(x,!0)&&he.redraw(N)}!1!==R?r(Y,"remove",null,ge):ge()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let De,Be,R=this,Z=R.chart,Y=R.userOptions,he=R.initialType||R.type,ge=Z.options.plotOptions,_e=I[he].prototype,Te=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||Y.type||Z.options.chart.type,be=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Ie=>R.hasOptionChanged(Ie)));ee=ee||he,be&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Ie){oe.push(Ie+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=B(Y,{index:void 0===Y.index?R.index:Y.index,pointStart:ge?.series?.pointStart??Y.pointStart??R.xData?.[0]},!be&&{data:R.options.data},x,Te),be&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Ie){oe[Ie]=R[Ie],delete R[Ie]});let xe=!1;if(I[ee]){if(xe=ee!==R.type,R.remove(!1,!1,!1,!0),xe)if(Z.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,I[ee].prototype);else{let Ie=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Be in _e)R[Be]=void 0;o(R,I[ee].prototype),Ie?R.hcEvents=Ie:delete R.hcEvents}}else v(17,!0,Z,{missingModuleFor:ee});if(oe.forEach(function(Ie){R[Ie]=oe[Ie]}),R.init(Z,x),be&&this.points)for(let Ie of(!1===(De=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(De,Y)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Ie&&Ie.series&&(Ie.resolveColor(),Object.keys(Oe).length&&Ie.destroyElements(Oe),!1===De.showInLegend&&Ie.legendItem&&Z.legend.destroyItem(Ie));R.initialType=he,Z.linkSeries(),Z.setSortedData(),xe&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),K(N,!0)&&Z.redraw(!!be&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],Z=this.chart.options.plotOptions,Y=this.userOptions[x],he=K(Z?.[this.type]?.[x],Z?.series?.[x]);return Y&&!O(he)?R!==Y:R!==K(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,Z=N.hoverPoint;N.hoverSeries=null,Z&&Z.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(Y){Y.setState("",!0)})}setState(x,N){let R=this,Z=R.options,Y=R.graph,he=Z.inactiveOtherPoints,ge=Z.states,_e=K(ge[x||"normal"]&&ge[x||"normal"].animation,R.chart.options.chart.animation),Te=Z.lineWidth,Oe=Z.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(De){De&&(R.state&&De.removeClass("highcharts-series-"+R.state),x&&De.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(ge[x]&&!1===ge[x].enabled)return;if(x&&(Te=ge[x].lineWidth||Te+(ge[x].lineWidthPlus||0),Oe=K(ge[x].opacity,Oe)),Y&&!Y.dashstyle&&p(Te))for(let De of[Y,...this.zones.map(Be=>Be.graph)])De?.animate({"stroke-width":Te},_e);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(De){De&&De.animate({opacity:Oe},_e)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,Z=R.chart,Y=Z.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let ge=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_e=>{R[_e]?.[ge]()}),(Z.hoverSeries===R||Z.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&Z.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&Z.series.forEach(_e=>{_e.options.stacking&&_e.visible&&(_e.isDirty=!0)}),R.linkedSeries.forEach(_e=>{_e.setVisible(x,!1)}),Y&&(Z.isDirtyBox=!0),r(R,ge),!1!==N&&Z.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return $.defaultOptions=ue,$.types=J.seriesTypes,$.registerType=J.registerSeriesType,o($.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),J.series=$,$}),Le(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P){let{animate:D,animObject:A,setAnimation:I}=q,{defaultOptions:_,defaultTime:m}=re,{numberFormat:w}=ve,{registerEventOptions:G}=le,{charts:O,doc:f,marginNames:a,svg:g,win:v}=pe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:T,error:B,extend:z,find:K,fireEvent:U,getStyle:se,isArray:S,isNumber:$,isObject:H,isString:x,merge:N,objectEach:R,pick:Z,pInt:Y,relativeLength:he,removeEvent:ge,splat:_e,syncTimeout:Te,uniqueKey:Oe}=j;class De{static chart(oe,ee,be){return new De(oe,ee,be)}constructor(oe,ee,be){this.sharedClips={};let xe=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=xe.shift()),this.init(xe[0],xe[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:Z(oe.zoomType,ee.type),key:Z(oe.zoomKey,ee.key),pinchType:Z(oe.pinchType,ee.pinchType),singleTouch:Z(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let be=N(_,oe),xe=be.chart;this.userOptions=z({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=be,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new E(oe.time):pe.time,this.numberFormatter=xe.numberFormatter||w,this.styledMode=xe.styledMode,this.hasCartesianSeries=xe.showAxes,this.index=O.length,O.push(this),pe.chartCount++,G(this,xe),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let be=oe.type||this.options.chart.type,xe=o[be];xe||B(17,!0,this,{missingModuleFor:be});let Ie=new xe;return"function"==typeof Ie.init&&Ie.init(this,oe),Ie}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let be=this[oe],xe=this.options[oe]=_e(this.options[oe]).slice(),Ie=this.userOptions[oe]=this.userOptions[oe]?_e(this.userOptions[oe]).slice():[];if(this.hasRendered&&(xe.splice(ee),Ie.splice(ee)),be)for(let we=ee,Ee=be.length;we=Math.max(Xe+we,ht.pos)&&Pt<=Math.min(Xe+we+qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!be.ignoreY&&pt.isInsidePlot){let ht=!xe&&be.axis&&!be.axis.isXAxis&&be.axis||lt&&(xe?lt.xAxis:lt.yAxis)||{pos:Ee,len:1/0},Pt=be.paneCoordinates?ht.pos+Tt:Ee+Tt;Pt>=Math.max(Je+Ee,ht.pos)&&Pt<=Math.min(Je+Ee+qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Je,lt,qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],be=this.series,xe=this.pointer,Ie=this.legend,we=this.userOptions.legend,Ee=this.renderer,Me=Ee.isHidden(),Xe=[],st=this.isDirtyBox,Tt=this.isDirtyLegend;for(Ee.rootFontSize=Ee.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),I(!!this.hasRendered&&oe,this),Me&&this.temporaryDisplay(),this.layOutTitles(!1),qe=be.length;qe--;)if(((pt=be[qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Je=!0;break}if(Je)for(qe=be.length;qe--;)(pt=be[qe]).options.stacking&&(pt.isDirty=!0);be.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),Tt=!0):we&&(we.labelFormatter||we.labelFormat)&&(Tt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),Tt&&Ie&&Ie.options.enabled&&(Ie.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Pt=ht.min+","+ht.max;ht.extKey!==Pt&&(ht.extKey=Pt,Xe.push(function(){U(ht,"afterSetExtremes",z(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),be.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),xe&&xe.reset(!0),Ee.draw(),U(this,"redraw"),U(this,"render"),Me&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function be(Ie){return Ie.id===oe||Ie.options&&Ie.options.id===oe}let xe=K(this.axes,be)||K(this.series,be);for(let Ie=0;!xe&&Ie(ee.getPointsCollection().forEach(be=>{Z(be.selectedStaging,be.selected)&&oe.push(be)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,be){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(be)}applyDescription(oe,ee){let be=this,xe=this.options[oe]=N(this.options[oe],ee),Ie=this[oe];Ie&&ee&&(this[oe]=Ie=Ie.destroy()),xe&&!Ie&&((Ie=this.renderer.text(xe.text,0,0,xe.useHTML).attr({align:xe.align,class:"highcharts-"+oe,zIndex:xe.zIndex||4}).add()).update=function(we,Ee){be.applyDescription(oe,we),be.layOutTitles(Ee)},this.styledMode||Ie.css(z("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},xe.style)),this[oe]=Ie)}layOutTitles(oe=!0){let ee=[0,0,0],be=this.renderer,xe=this.spacingBox;["title","subtitle","caption"].forEach(function(we){let Ee=this[we],Me=this.options[we],Xe=Me.verticalAlign||"top",Je="title"===we?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Ee){Ee.css({width:(Me.width||xe.width+(Me.widthAdjust||0))+"px"});let lt=be.fontMetrics(Ee).b,qe=Math.round(Ee.getBBox(Me.useHTML).height);Ee.align(z({y:"bottom"===Xe?lt:Je+lt,height:qe},Me),!1,"spacingBox"),Me.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Ie=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Ie&&(this.isDirtyBox=this.isDirtyLegend=Ie,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,be=oe.height,xe=this.getContainerBox();this.chartWidth=Math.max(0,ee||xe.width||600),this.chartHeight=Math.max(0,he(be,this.chartWidth)||(xe.height>1?xe.height:400)),this.containerBox=xe}temporaryDisplay(oe){let be,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},be={display:"block",overflow:"hidden"},ee!==this.renderTo&&(be.height=0),d(ee,be),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Ie,oe=this.options,ee=oe.chart,be="data-highcharts-chart",xe=Oe(),we=this.renderTo;we||(this.renderTo=we=ee.renderTo),x(we)&&(this.renderTo=we=f.getElementById(we)),we||B(13,!0,this);let Ee=Y(r(we,be));$(Ee)&&O[Ee]&&O[Ee].hasRendered&&O[Ee].destroy(),r(we,be,this.index),we.innerHTML=F.emptyHTML,ee.skipClone||we.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Me=this.chartHeight,Xe=this.chartWidth;d(we,{overflow:"hidden"}),this.styledMode||(Ie=z({position:"relative",overflow:"hidden",width:Xe+"px",height:Me+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Je=l("div",{id:xe},Ie,we);this.container=Je,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Je,{width:Z(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Je.style.cursor;let lt=ee.renderer||!g?ue.getRendererType(ee.renderer):X;if(this.renderer=new lt(Je,Xe,Me,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),I(void 0,this),this.setClassName(ee.className),this.styledMode)for(let qe in oe.defs)this.renderer.definition(oe.defs[qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:be,titleOffset:xe}=this;this.resetMargins(),xe[0]&&!C(be[0])&&(this.plotTop=Math.max(this.plotTop,xe[0]+ee[0])),xe[2]&&!C(be[2])&&(this.marginBottom=Math.max(this.marginBottom,xe[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(be,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],be=oe.colorAxis,xe=oe.margin,Ie=function(we){we.forEach(function(Ee){Ee.visible&&Ee.getOffset()})};oe.hasCartesianSeries?Ie(oe.axes):be&&be.length&&Ie(be),a.forEach(function(we,Ee){C(xe[Ee])||(oe[we]+=ee[Ee])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,be=ee.containerBox,xe=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&be&&xe.width&&((xe.width!==be.width||xe.height!==be.height)&&(j.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Te(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=xe)}setReflow(){let oe=this,ee=be=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(be)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let be=n(v,"resize",ee);n(this,"destroy",be)}}setSize(oe,ee,be){let xe=this,Ie=xe.renderer;xe.isResizing+=1,I(be,xe);let we=Ie.globalAnimation;xe.oldChartHeight=xe.chartHeight,xe.oldChartWidth=xe.chartWidth,void 0!==oe&&(xe.options.chart.width=oe),void 0!==ee&&(xe.options.chart.height=ee),xe.getChartSize();let{chartWidth:Ee,chartHeight:Me,scrollablePixelsX:Xe=0,scrollablePixelsY:Je=0}=xe;(xe.isDirtyBox||Ee!==xe.oldChartWidth||Me!==xe.oldChartHeight)&&(xe.styledMode||(we?D:d)(xe.container,{width:`${Ee+Xe}px`,height:`${Me+Je}px`},we),xe.setChartSize(!0),Ie.setSize(Ee,Me,we),xe.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),xe.isDirtyLegend=!0,xe.isDirtyBox=!0,xe.layOutTitles(),xe.getMargins(),xe.redraw(we),xe.oldChartHeight=void 0,U(xe,"resize"),setTimeout(()=>{xe&&U(xe,"endResize",void 0,()=>{xe.isResizing-=1})},A(we).duration))}setChartSize(oe){let ee,be,xe,Ie,we=this.inverted,Ee=this.renderer,Me=this.chartWidth,Xe=this.chartHeight,Je=this.options.chart,lt=this.spacing,qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=be=Math.round(this.plotTop),this.plotWidth=xe=Math.max(0,Math.round(Me-ee-this.marginRight)),this.plotHeight=Ie=Math.max(0,Math.round(Xe-be-this.marginBottom)),this.plotSizeX=we?Ie:xe,this.plotSizeY=we?xe:Ie,this.plotBorderWidth=Je.plotBorderWidth||0,this.spacingBox=Ee.spacingBox={x:lt[3],y:lt[0],width:Me-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Ee.plotBox={x:ee,y:be,width:xe,height:Ie};let st=2*Math.floor(this.plotBorderWidth/2),Tt=Math.ceil(Math.max(st,qe[3])/2),pt=Math.ceil(Math.max(st,qe[0])/2);this.clipBox={x:Tt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,qe[1])/2-Tt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Ee.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(be){let xe=ee[be],Ie=H(xe)?xe:[xe,xe,xe,xe];["Top","Right","Bottom","Left"].forEach(function(we,Ee){oe[be][Ee]=Z(ee[be+we],Ie[Ee])})}),a.forEach(function(be,xe){oe[be]=Z(oe.margin[xe],oe.spacing[xe])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,It,xt,oe=this.options.chart,ee=this.renderer,be=this.chartWidth,xe=this.chartHeight,Ie=this.styledMode,we=this.plotBGImage,Ee=oe.backgroundColor,Me=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Je=this.plotLeft,lt=this.plotTop,qe=this.plotWidth,st=this.plotHeight,Tt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Pt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Pt||(this.chartBackground=Pt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Ie?Dt=It=Pt.strokeWidth():(It=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),xt={fill:Ee||"none"},(Dt||Pt["stroke-width"])&&(xt.stroke=oe.borderColor,xt["stroke-width"]=Dt),Pt.attr(xt).shadow(oe.shadow)),Pt[wt]({x:It/2,y:It/2,width:be-It-Dt%2,height:xe-It-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](Tt),!Ie&&(Gt.attr({fill:Me||"none"}).shadow(oe.plotShadow),Xe&&(we?(Xe!==we.attr("href")&&we.attr("href",Xe),we.animate(Tt)):this.plotBGImage=ee.image(Xe,Je,lt,qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Ie||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Je,y:lt,width:qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,be,xe=this,Ie=xe.options.chart,we=xe.options.series;["inverted","angular","polar"].forEach(function(Ee){for(ee=o[Ie.type],be=Ie[Ee]||ee&&ee.prototype[Ee],oe=we&&we.length;!be&&oe--;)(ee=o[we[oe].type])&&ee.prototype[Ee]&&(be=!0);xe[Ee]=be})}linkSeries(oe){let ee=this,be=ee.series;be.forEach(function(xe){xe.linkedSeries.length=0}),be.forEach(function(xe){let{linkedTo:Ie}=xe.options;if(x(Ie)){let we;(we=":previous"===Ie?ee.series[xe.index-1]:ee.get(Ie))&&we.linkedParent!==xe&&(we.linkedSeries.push(xe),xe.linkedParent=we,we.enabledDataSorting&&xe.setDataSortingOptions(),xe.visible=Z(xe.options.visible,we.options.visible,xe.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Me,oe=this.axes,ee=this.colorAxis,be=this.renderer,xe=this.options.chart.axisLayoutRuns||2,Ie=Je=>{Je.forEach(lt=>{lt.visible&<.render()})},we=0,Ee=!0,Xe=0;for(let Je of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Je,{labels:qe}=lt;if(Je.horiz&&Je.visible&&qe.enabled&&Je.series.length&&"colorAxis"!==Je.coll&&!this.polar){we=lt.tickLength,Je.createGroups();let st=new P(Je,0,"",!0),Tt=st.createLabel("x",qe);if(st.destroy(),Tt&&Z(qe.reserveSpace,!$(lt.crossing))&&(we=Tt.getBBox().height+qe.distance+Math.max(lt.offset||0,0)),we){Tt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-we,0);(Ee||Me||xe>1)&&Xe(Xe?1:1.1),Me=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Ie(oe):ee&&ee.length&&Ie(ee),this.seriesGroup||(this.seriesGroup=be.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,be=N(!0,this.options.credits,oe);be.enabled&&!this.credits&&(this.credits=this.renderer.text(be.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){be.href&&(v.location.href=be.href)}).attr({align:be.position.align,zIndex:8}),ee.styledMode||this.credits.css(be.style),this.credits.add().align(be.position),this.credits.update=function(xe){ee.credits=ee.credits.destroy(),ee.addCredits(xe)})}destroy(){let oe,ee=this,be=ee.axes,xe=ee.series,Ie=ee.container,we=Ie&&Ie.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?T(O,ee):O[ee.index]=void 0,pe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),ge(ee),oe=be.length;oe--;)be[oe]=be[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=xe.length;oe--;)xe[oe]=xe[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Ee){let Me=ee[Ee];Me&&Me.destroy&&(ee[Ee]=Me.destroy())}),Ie&&(Ie.innerHTML=F.emptyHTML,ge(Ie),we&&p(Ie)),R(ee,function(Ee,Me){delete ee[Me]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let be=S(ee.series)?ee.series:[];ee.series=[],be.forEach(function(xe){oe.initSeries(xe)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let be=this,xe="object"==typeof ee?ee:{enabled:ee,type:"x"},Ie=xe.type,we=Ie&&be[{x:"xAxis",xy:"axes",y:"yAxis"}[Ie]].filter(Me=>Me.options.panningEnabled&&!Me.options.isInternal),Ee=be.options.chart;Ee?.panning&&(Ee.panning=xe),U(this,"pan",{originalEvent:oe},()=>{be.transform({axes:we,event:oe,to:{x:oe.chartX-(be.mouseDownX||0),y:oe.chartY-(be.mouseDownY||0)},trigger:"pan"}),d(be.container,{cursor:"move"})})}transform(oe){let qe,{axes:ee=this.axes,event:be,from:xe={},reset:Ie,selection:we,to:Ee={},trigger:Me}=oe,{inverted:Xe,resetZoomButton:Je}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(Tt=>Tt.setState()),ee)){let{horiz:Tt,len:pt,minPointOffset:ht=0,options:Pt,reversed:Gt}=st,ti=Tt?"width":"height",Dt=Tt?"x":"y",It=Ee[ti]||st.len,xt=xe[ti]||st.len,wt=10>Math.abs(It)?1:It/xt,Qt=(xe[Dt]||0)+xt/2-st.pos,di=Qt-((Ee[Dt]??st.pos)+It/2-st.pos)/wt,Ni=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Ie&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Ni,vi=st.toValue(di+pt/wt,!0)-(ht*Ni||0),zi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Ie&&"yAxis"===st.coll&&!zi){for(let js of st.series){let On=js.getExtremes(js.getProcessedData(!0).yData,!0);zi??(zi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),$(On.dataMin)&&$(On.dataMax)&&(zi.dataMin=Math.min(On.dataMin,zi.dataMin),zi.dataMax=Math.max(On.dataMax,zi.dataMax))}st.allExtremes=zi}let{dataMin:gs,dataMax:Fn,min:as,max:ms}=z(st.getExtremes(),zi||{}),Ln=gs??Pt.min,fn=Fn??Pt.max,ki=vi-mi,Cs=st.categories?0:Math.min(ki,fn-Ln),Kn=Ln-Cs*(C(Pt.min)?0:Pt.minPadding),In=fn+Cs*(C(Pt.max)?0:Pt.maxPadding),Bs=st.allowZoomOutside||1===wt||"zoom"!==Me&&wt>1,qn=Math.min(Pt.min??Kn,Kn,Bs?as:Kn),Wi=Math.max(Pt.max??In,In,Bs?ms:In);(!st.isOrdinal||1!==wt||Ie)&&(mi=1&&(vi=mi+ki)),vi>Wi&&(vi=Wi,wt>=1&&(mi=vi-ki)),(Ie||st.series.length&&(mi!==as||vi!==ms)&&mi>=qn&&vi<=Wi)&&(we?we[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Me,st.setExtremes(Ie?void 0:mi,Ie?void 0:vi,!1,!1,{move:di,trigger:Me,scale:wt}),!Ie&&(mi>qn||vi{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(qe&&!Je?this.showResetZoom():!qe&&Je&&(this.resetZoomButton=Je.destroy()),this.redraw("zoom"===Me&&(this.options.chart.animation??this.pointCount<100)))),lt}}return z(De.prototype,{callbacks:[],collectionsWithInit:{xAxis:[De.prototype.addAxis,[!0]],yAxis:[De.prototype.addAxis,[!1]],series:[De.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),De}),Le(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{stop:le}=q,{composed:pe}=ne,{addEvent:ue,createElement:J,css:te,defined:X,merge:E,pushUnique:j}=ve;function F(){let A=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!A&&(this.scrollablePlotArea=A=new D(this)),A?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(I,_,m){j(pe,this.compose)&&(ue(I,"afterInit",P),ue(_,"afterSetChartSize",w=>this.afterSetSize(w.target,w)),ue(_,"render",F),ue(m,"show",P))}static afterSetSize(I,_){let m,w,G,{minWidth:O,minHeight:f}=I.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:v,renderer:o}=I;if(!o.forExport&&(O?(I.scrollablePixelsX=m=Math.max(0,O-I.chartWidth),m&&(I.scrollablePlotBox=E(I.plotBox),g.width=I.plotWidth+=m,a[v?"height":"width"]+=m,G=!0)):f&&(I.scrollablePixelsY=w=Math.max(0,f-I.chartHeight),X(w)&&(I.scrollablePlotBox=E(I.plotBox),g.height=I.plotHeight+=w,a[v?"width":"height"]+=w,G=!1)),X(G)&&!_.skipAxes))for(let n of I.axes)n.horiz===G&&(n.setAxisSize(),n.setAxisTranslation())}constructor(I){let _,m=I.options.chart,w=re.getRendererType(),G=m.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};I.scrollablePixelsX&&(f.overflowX="auto"),I.scrollablePixelsY&&(f.overflowY="auto"),this.chart=I;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},I.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),v=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(m.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new w(o,I.chartWidth,I.chartHeight,m.style);this.mask=n.path().attr({fill:m.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(I.renderTo,{overflow:"visible"}),ue(I,"afterShowResetZoom",O),ue(I,"afterApplyDrilldown",O),ue(I,"afterLayOutTitles",O),ue(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=I;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),v.appendChild(I.container)}applyFixed(){let{chart:I,fixedRenderer:_,isDirty:m,scrollingContainer:w}=this,{axisOffset:G,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:v,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=I,{scrollPositionX:d=0,scrollPositionY:C=0}=I.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(m??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(I.container),te(a,{width:`${k}px`,height:`${p}px`}),I.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),I.chartBackground?.attr({width:k,height:p}),te(w,{width:`${O}px`,height:`${f}px`}),X(m)||(w.scrollLeft=r*d,w.scrollTop=l*C);let T=o-G[0]-1,B=v-G[3]-1,z=o+g+G[2]+1,K=v+n+G[1]+1,U=v+n-r,se=o+g-l,S=[["M",0,0]];r?S=[["M",0,T],["L",v-1,T],["L",v-1,z],["L",0,z],["Z"],["M",U,T],["L",O,T],["L",O,z],["L",U,z],["Z"]]:l&&(S=[["M",B,0],["L",B,o-1],["L",K,o-1],["L",K,0],["Z"],["M",B,se],["L",B,f],["L",K,f],["L",K,se],["Z"]]),"adjustHeight"!==I.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let I,{container:_,inverted:m,scrollablePixelsX:w,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(w&&!m?I=".highcharts-yaxis":w&&m||G&&!m?I=".highcharts-xaxis":G&&m&&(I=".highcharts-yaxis"),I&&f.push(`${I}:not(.highcharts-radial-axis)`,`${I}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Le(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{format:ve}=q,{series:le}=ne,{destroyObjectProperties:pe,fireEvent:ue,isNumber:J,pick:te}=re;return class{constructor(X,E,j,F,P){let D=X.chart.inverted,A=X.reversed;this.axis=X;let I=this.isNegative=!!j!=!!A;this.options=E=E||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:E.align||(D?I?"left":"right":"center"),verticalAlign:E.verticalAlign||(D?"middle":I?"bottom":"top"),y:E.y,x:E.x},this.textAlign=E.textAlign||(D?I?"right":"left":"center")}destroy(){pe(this,this.axis)}render(X){let E=this.axis.chart,j=this.options,F=j.format,P=F?ve(F,this,E):j.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=E.renderer.label(P,null,void 0,j.shape,void 0,void 0,j.useHTML,!1,"stack-labels");let D={r:j.borderRadius||0,text:P,padding:te(j.padding,5),visibility:"hidden"};E.styledMode||(D.fill=j.backgroundColor,D.stroke=j.borderColor,D["stroke-width"]=j.borderWidth,this.label.css(j.style||{})),this.label.attr(D),this.label.added||this.label.add(X)}this.label.labelrank=E.plotSizeY,ue(this,"afterRender")}setOffset(X,E,j,F,P,D){let{alignOptions:A,axis:I,label:_,options:m,textAlign:w}=this,G=I.chart,O=this.getStackBox({xOffset:X,width:E,boxBottom:j,boxTop:F,defaultX:P,xAxis:D}),{verticalAlign:f}=A;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,v="justify"===te(m.overflow,"justify");A.x=m.x||0,A.y=m.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:w});O.x-=n,O.y-=r,_.align(A,!1,O),(o=G.isInsidePlot(_.alignAttr.x+A.x+n,_.alignAttr.y+A.y+r))||(v=!1),v&&le.prototype.justifyDataLabel.call(I,_,A,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:m.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[m.textAlign||"center"],rotationOriginY:a.height/2}),te(!v&&m.crop,!0)&&(o=J(_.x)&&J(_.y)&&G.isInsidePlot(_.x-g+(_.width||0),_.y)&&G.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}ue(this,"afterSetOffset",{xOffset:X,width:E})}adjustStackPosition({labelBox:X,verticalAlign:E,textAlign:j}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:X.width/2+X.width/2*F[j],y:X.height/2*F[E]}}getStackBox(X){let E=this.axis,j=E.chart,{boxTop:F,defaultX:P,xOffset:D,width:A,boxBottom:I}=X,_=E.stacking.usePercentage?100:te(F,this.total,0),m=E.toPixels(_),w=X.xAxis||j.xAxis[0],G=te(P,w.translate(this.x))+D,O=Math.abs(m-E.toPixels(I||J(E.min)&&E.logarithmic&&E.logarithmic.lin2log(E.min)||0)),a=this.isNegative;return j.inverted?{x:(a?m:m-O)-j.plotLeft,y:w.height-G-A,width:O,height:A}:{x:G+w.transB-j.plotLeft,y:(a?m-O:m)-j.plotTop,width:A,height:O}}}}),Le(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{getDeferredAnimation:ue}=q,{series:{prototype:J}}=re,{addEvent:te,correctFloat:X,defined:E,destroyObjectProperties:j,fireEvent:F,isArray:P,isNumber:D,objectEach:A,pick:I}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,I(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function m(){let o=this.stacking;if(o){let n=o.stacks;A(n,(r,l)=>{j(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function w(){this.stacking||(this.stacking=new v(this))}function G(o,n,r,l){return!E(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(T=>{let z,K,U,B=C.length;for(;B--;)z=C[B],o=n.getStackIndicator(o,z,n.index,T),K=d[T]?.[z],(U=K?.points[o.key||""])&&p.call(n,U,K,B)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=X(o[0]*l),o[1]=X(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,T,B,z,K=n||this.options.stacking;if(!K||!this.reserveSpace()||({group:"xAxis"}[K]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,S=[],$=se.length,H=this.options,x=H.threshold||0,N=H.startFromThreshold?x:0,R=H.stack,Z=n?`${this.type},${K}`:this.stackKey||"",Y="-"+Z,he=this.negStacks,ge=o.stacking,_e=ge.stacks,Te=ge.oldStacks;for(ge.stacksTouched+=1,T=0;T<$;T++){B=U[T],z=se[T],p=(r=this.getStackIndicator(r,B,this.index)).key||"",_e[k=(l=he&&z<(N?0:x))?Y:Z]||(_e[k]={}),_e[k][B]||(Te[k]?.[B]?(_e[k][B]=Te[k][B],_e[k][B].total=null):_e[k][B]=new ve(o,o.options.stackLabels,!!l,B,R)),d=_e[k][B],null!==z?(d.points[p]=d.points[this.index]=[I(d.cumulative,N)],E(d.cumulative)||(d.base=p),d.touched=ge.stacksTouched,r.index>0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+B+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===K?(C=l?Z:Y,Oe=he&&_e[C]?.[B]?(C=_e[C][B]).total=Math.max(C.total||0,Oe)+Math.abs(z)||0:X(Oe+(Math.abs(z)||0))):"group"===K?(P(z)&&(z=z[0]),null!==z&&Oe++):Oe=X(Oe+(z||0)),d.cumulative="group"===K?(Oe||1)-1:X(I(d.cumulative,N)+(z||0)),d.total=Oe,null!==z&&(d.points[p].push(d.cumulative),S[T]=d.cumulative,d.hasValidPoints=!0)}"percent"===K&&(ge.usePercentage=!0),"group"!==K&&(this.stackedYData=S),ge.oldStacks={}}class v{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{A(n,r=>{r.cumulative=r.total})}))}resetStacks(){A(this.stacks,n=>{A(n,(r,l)=>{D(r.touched)&&r.touched{A(p,T=>{T.render(k)})}),k.animate({opacity:1},C)}}return(pe||(pe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",w),te(o,"destroy",m),l.getStacks=_,d.getStackIndicator=G,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},pe}),Le(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defined:ve,merge:le,isObject:pe}=re;class ue extends q{drawGraph(){let te=this.options,X=(this.gappedPath||this.getGraphPath).call(this),E=this.chart.styledMode;[this,...this.zones].forEach((j,F)=>{let P,D=j.graph,A=D?"animate":"attr",I=j.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:X.xMap,D.animate({d:X})):X.length&&(j.graph=D=this.chart.renderer.path(X).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&j.className||"")).attr({zIndex:1}).add(this.group)),D&&!E&&(P={stroke:!F&&te.lineColor||j.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},I?P.dashstyle=I:"square"!==te.linecap&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),D[A](P).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},pe(te.shadow)?te.shadow:{}))),D&&(D.startX=X.xMap,D.isArea=X.isArea)})}getGraphPath(te,X,E){let A,j=this,F=j.options,P=[],D=[],I=F.step,_=(te=te||j.points).reversed;return _&&te.reverse(),(I={right:1,center:2}[I]||I&&3)&&_&&(I=4-I),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!X&&!E))).forEach(function(m,w){let G,O=m.plotX,f=m.plotY,a=te[w-1],g=m.isNull||"number"!=typeof f;(m.leftCliff||a&&a.rightCliff)&&!E&&(A=!0),g&&!ve(X)&&w>0?A=!F.connectNulls:g&&!X?A=!0:(0===w||A?G=[["M",m.plotX,m.plotY]]:j.getPointSpline?G=[j.getPointSpline(te,m,w)]:I?(G=1===I?[["L",a.plotX,f]]:2===I?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):G=[["L",O,f]],D.push(m.x),I&&(D.push(m.x),2===I&&D.push(m.x)),P.push.apply(P,G),A=!1)}),P.xMap=D,j.graphPath=P,P}}return ue.defaultOptions=le(q.defaultOptions,{legendSymbol:"lineMarker"}),ne.registerSeriesType("line",ue),ue}),Le(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{seriesTypes:{line:re}}=q,{extend:ve,merge:le,objectEach:pe,pick:ue}=ne;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:X,options:E}=this;[this,...this.zones].forEach((j,F)=>{let P={},D=j.fillColor||E.fillColor,A=j.area,I=A?"animate":"attr";A?(A.endX=this.preventGraphAnimation?null:X.xMap,A.animate({d:X})):(P.zIndex=0,(A=j.area=this.chart.renderer.path(X).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(P.fill=D||j.color||this.color,P["fill-opacity"]=D?1:E.fillOpacity??.75,A.css({pointerEvents:this.stickyTracking?"none":"auto"})),A[I](P),A.startX=X.xMap,A.shiftUnit=E.step?2:1})}getGraphPath(X){let E,j,F,P=re.prototype.getGraphPath,D=this.options,A=D.stacking,I=this.yAxis,_=[],m=[],w=this.index,G=I.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(I.getThreshold(D.threshold)),a=ue(D.connectNulls,"percent"===A),g=function(d,C,k){let K,U,p=X[d],T=A&&G[p.x].points[w],B=p[k+"Null"]||0,z=p[k+"Cliff"]||0,se=!0;z||B?(K=(B?T[0]:T[1])+z,U=T[0]+z,se=!!B):!A&&X[C]&&X[C].isNull&&(K=U=O),void 0!==K&&(m.push({plotX:E,plotY:null===K?f:I.getThreshold(K),isNull:se,isCliff:!0}),_.push({plotX:E,plotY:null===U?f:I.getThreshold(U),doCurve:!1}))};X=X||this.points,A&&(X=this.getStackPoints(X));for(let d=0,C=X.length;df.visible);F.forEach(function(f,a){let v,o,g=0;if(I[f]&&!I[f].isNull)j.push(I[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=A[F[a+n]],d=0;if(l){let C=G;for(;C>=0&&C=0&&nO&&j>A?(j=Math.max(O,A),P=2*A-j):ja&&P>A?(P=Math.max(a,A),j=2*A-P):P=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let v=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;m(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==v.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,v=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,T=O.dataMax,B=O.barW=Math.max(C,1+2*v),z=O.translatedThreshold=n.getThreshold(r);f.inverted&&(z-=.5),a.pointPadding&&(B=Math.ceil(B)),le.prototype.translate.apply(O),O.points.forEach(function(K){let H,U=_(K.yBottom,z),se=999+Math.abs(U),S=K.plotX||0,$=E(K.plotY,-se,n.len+se),x=Math.min($,U),N=Math.max($,U)-x,R=C,Z=S+k,Y=B;l&&Math.abs(N)l?U-l:z-(H?l:0)),j(K.options.pointWidth)&&(Z-=Math.round(((R=Y=Math.ceil(K.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(Z=O.adjustForMissingColumns(Z,R,K,d)),K.barX=Z,K.pointWidth=R,K.tooltipPos=f.inverted?[E(n.len+n.pos-f.plotLeft-$,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-Z-Y/2,N]:[o.left-f.plotLeft+Z+Y/2,E($+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],K.shapeType=O.pointClass.prototype.shapeType||"roundedRect",K.shapeArgs=O.crispCol(Z,K.isNull?z:x,Y,K.isNull?0:N)}),P(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},v=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[v]||a[v]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,T=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=I(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[v]||C,p=n[o]||p,k=n.dashStyle||k,T=_(n.opacity,T));let B={fill:d,stroke:C,"stroke-width":p,opacity:T};return k&&(B.dashstyle=k),B}drawPoints(O=this.points){let f,a=this,g=this.chart,v=a.options,o=g.renderer,n=v.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function m(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,T=o.plotX,B=o.plotY,z=r.rotation||0,K=ue(T)&&ue(B)&&C.isInsidePlot(T,Math.round(B),{inverted:k,paneCoordinates:!0,series:this}),U=0===z&&"justify"===P(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&ue(T)&&(o.series.forceDL||p&&!U||K||P(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(T,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),S=o.pos();if(se&&S){let H=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:S[0],y:Math.round(S[1]),width:0,height:0},l||{}),J(r,{width:H.width,height:H.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,K,l),n.align(j(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-H.width),n.alignAttr.y+=R*(x.height-H.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(H.width-x.width)/2,y:n.alignAttr.y+(H.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,H,l,d);else if(P(r.crop,!0)){let{x:Z,y:Y}=n.alignAttr;se=C.isInsidePlot(Z,Y,{paneCoordinates:!0,series:this})&&C.isInsidePlot(Z+H.width-1,Y+H.height-1,{paneCoordinates:!0,series:this})}r.shape&&!z&&n[d?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function w(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,T=C.getContrast(E(p)&&p||E(k)&&k||"#000000"),B=g(r),{animation:z,defer:K}=B[0],U=K?le(l,z,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let S=se.dataLabels||[];A(a(B,se.dlOptions||se.options?.dataLabels)).forEach((H,x)=>{let ge,_e,Te,Oe,ee,N=H.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(be,xe){let Ie=xe.filter;if(Ie){let we=Ie.operator,Ee=be[Ie.property],Me=Ie.value;return">"===we&&Ee>Me||"<"===we&&Ee="===we&&Ee>=Me||"<="===we&&Ee<=Me||"=="===we&&Ee==Me||"==="===we&&Ee===Me||"!="===we&&Ee!=Me||"!=="===we&&Ee!==Me}return!0}(se,H),{backgroundColor:R,borderColor:Z,distance:Y,style:he={}}=H,De={},Be=S[x],oe=!Be;if(N&&(_e=P(H[se.formatPrefix+"Format"],H.format),ge=se.getLabelConfig(),Te=ue(_e)?pe(_e,ge,l):(H[se.formatPrefix+"Formatter"]||H.formatter).call(ge,H),Oe=H.rotation,!l.styledMode&&(he.color=P(H.color,he.color,E(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!ue(Y)&&H.inside||0>D(Y||0)||d.stacking?se.contrastColor:T):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),De={r:H.borderRadius||0,rotation:Oe,padding:H.padding,zIndex:1},l.styledMode||(De.fill="auto"===R?se.color:R,De.stroke="auto"===Z?se.color:Z,De["stroke-width"]=H.borderWidth),F(De,(be,xe)=>{void 0===be&&delete De[xe]})),!Be||N&&ue(Te)&&!!Be.div==!!H.useHTML&&(Be.rotation&&H.rotation||Be.rotation===H.rotation)||(Be=void 0,oe=!0),N&&ue(Te)&&(Be?De.text=Te:(Be=C.label(Te,0,0,H.shape,void 0,void 0,H.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(H.className||"")+(H.useHTML?" highcharts-tracker":"")),Be)){Be.options=H,Be.attr(De),l.styledMode||Be.css(he).shadow(H.shadow);let be=H[se.formatPrefix+"TextPath"]||H.textPath;be&&!H.useHTML&&(Be.setTextPath(se.getDataLabelPath?.(Be)||se.graphic,be),se.dataLabelPath&&!be.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Be.added||Be.add(n),r.alignDataLabel(se,Be,H,void 0,oe),Be.isActive=!0,S[x]&&S[x]!==Be&&S[x].destroy(),S[x]=Be}});let $=S.length;for(;$--;)S[$]&&S[$].isActive?S[$].isActive=!1:(S[$]?.destroy(),S.splice($,1));se.dataLabel=S[0],se.dataLabels=S})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,T=n.verticalAlign,B=o.box?0:o.padding||0,{x:z=0,y:K=0}=n;return(U=(r.x||0)+B)<0&&("right"===p&&z>=0?(n.align="left",n.inside=!0):z-=U,se=!0),(U=(r.x||0)+l.width-B)>k.plotWidth&&("left"===p&&z<=0?(n.align="right",n.inside=!0):z+=k.plotWidth-U,se=!0),(U=r.y+B)<0&&("bottom"===T&&K>=0?(n.verticalAlign="top",n.inside=!0):K-=U,se=!0),(U=(r.y||0)+l.height-B)>k.plotHeight&&("top"===T&&K<=0?(n.verticalAlign="bottom",n.inside=!0):K+=k.plotHeight-U,se=!0),se&&(n.x=z,n.y=K,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if(X(o)&&!X(n))r=o.map(function(d){return j(d,n)});else if(X(n)&&!X(o))r=n.map(function(d){return j(o,d)});else if(X(o)||X(n)){if(X(o)&&X(n))for(l=Math.max(o.length,n.length);l--;)r[l]=j(o[l],n[l])}else r=j(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return A(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function v(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,T=p.reversed,B=((k?n.height:n.width)||0)/2,z=o.pointWidth,K=z?z/2:0;n.startXPos=k?d.x:T?-B-K:p.width-B+K,n.startYPos=k?T?this.yAxis.height-B+K:-B-K:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}I.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=G,n.initDataLabelsGroup=w,n.alignDataLabel=m,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=v,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Le(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{series:ue}=re,{merge:J,pick:te,pushUnique:X}=ve;return function(E){function j(F,P,D,A,I){let _=this.chart.inverted,m=F.series,w=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||0,G=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,G)),a=te(D.inside,!!this.options.stacking);if(O){if(A=J(O),"allow"!==D.overflow||!1!==D.crop){A.y<0&&(A.height+=A.y,A.y=0);let g=A.y+A.height-G;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Le(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{column:ve,line:le}=ne.seriesTypes,{addEvent:pe,extend:ue,merge:J}=re;class te extends le{applyJitter(){let E=this,j=this.options.jitter,F=this.points.length;j&&this.points.forEach(function(P,D){["x","y"].forEach(function(A,I){let _,w,G,O,m="plot"+A.toUpperCase();j[A]&&!P.isNull&&(_=E[A+"Axis"],O=j[A]*_.transA,_&&!_.isLog&&(w=Math.max(0,P[m]-O),G=Math.min(_.len,P[m]+O),P[m]=w+(G-w)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+I*F),"x"===A&&(P.clientX=P.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,q),ue(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),pe(te,"afterTranslate",function(){this.applyJitter()}),ne.registerSeriesType("scatter",te),te}),Le(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve,le;let{deg2rad:pe}=q,{fireEvent:ue,isNumber:J,pick:te,relativeLength:X}=re;return(le=ve||(ve={})).getCenter=function(){let m,O,f,E=this.options,j=this.chart,F=2*(E.slicedOffset||0),P=j.plotWidth-2*F,D=j.plotHeight-2*F,A=E.center,I=Math.min(P,D),_=E.thickness,w=E.size,G=E.innerSize||0;"string"==typeof w&&(w=parseFloat(w)),"string"==typeof G&&(G=parseFloat(G));let a=[te(A[0],"50%"),te(A[1],"50%"),te(w&&w<0?void 0:E.size,"100%"),te(G&&G<0?void 0:E.innerSize||0,"0%")];for(!j.angular||this instanceof ne||(a[3]=0),O=0;O<4;++O)f=a[O],m=O<2||2===O&&/%$/.test(f),a[O]=X(f,[P,D,I,a[2]][O])+(m?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),ue(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(E,j){let F=J(E)?E:0,P=J(j)&&j>F&&j-F<360?j:F+360;return{start:pe*(F+-90),end:pe*(P+-90)}},ve}),Le(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re){let{setAnimation:ve}=q,{addEvent:le,defined:pe,extend:ue,isNumber:J,pick:te,relativeLength:X}=re;class E extends ne{getConnectorPath(F){let P=F.dataLabelPosition,D=F.options||{},A=D.connectorShape;return P&&(this.connectorShapes[A]||A).call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+F,P.r+F,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(F,P,D){super(F,P,D),this.half=0,this.name??(this.name="Slice");let A=I=>{this.slice("select"===I.type)};le(this,"select",A),le(this,"unselect",A)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,P=!0){F!==this.visible&&this.update({visible:F??!this.visible},P,void 0,!1)}slice(F,P,D){let A=this.series;ve(D,A.chart),P=te(P,!0),this.sliced=this.options.sliced=F=pe(F)?F:!this.sliced,A.options.data[A.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ue(E.prototype,{connectorShapes:{fixedOffset:function(j,F,P){let D=F.breakAt,A=F.touchingSliceAt;return[["M",j.x,j.y],P.softConnector?["C",j.x+("left"===j.alignment?-5:5),j.y,2*D.x-A.x,2*D.y-A.y,D.x,D.y]:["L",D.x,D.y],["L",A.x,A.y]]},straight:function(j,F){let P=F.touchingSliceAt;return[["M",j.x,j.y],["L",P.x,P.y]]},crookedLine:function(j,F,P){let{breakAt:D,touchingSliceAt:A}=F,{series:I}=this,[_,m,w]=I.center,G=w/2,{plotLeft:O,plotWidth:f}=I.chart,a="left"===j.alignment,{x:g,y:v}=j,o=D.x;if(P.crookDistance){let r=X(P.crookDistance,1);o=a?_+G+(f+O-_-G)*(1-r):O+(_-G)*r}else o=_+(m-v)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,v]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,v]),n.push(["L",D.x,D.y],["L",A.x,A.y]),n}}}),E}),Le(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Le(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{getStartAndEndRadians:X}=q,{noop:E}=re,{clamp:j,extend:F,fireEvent:P,merge:D,pick:A}=te;class I extends pe{animate(m){let w=this,O=w.startAngleRad;m||w.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:A(f.startR,w.center&&w.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},w.options.animation))})}drawEmpty(){let m,w,G=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(m=this.center[0],w=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(m,w,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(m,w,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let m=this.chart.renderer;this.points.forEach(function(w){w.graphic&&w.hasNewShapeType()&&(w.graphic=w.graphic.destroy()),w.graphic||(w.graphic=m[w.shapeType](w.shapeArgs).add(w.series.group),w.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(m,w,G,O){let f=this.center,a=this.radii?this.radii[G.index]||0:f[2]/2,g=O.dataLabelPosition,v=g?.distance||0,o=Math.asin(j((m-f[1])/(a+v),-1,1));return f[0]+Math.cos(o)*(a+v)*(w?-1:1)+(v>0?(w?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let m,w,G,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let v={};w=g.graphic,!g.isNull&&w?(O=g.shapeArgs,m=g.getTranslate(),a.styledMode||(G=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(w.setRadialReference(f.center).attr(O).attr(m),a.styledMode||w.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(w.setRadialReference(f.center),a.styledMode||D(!0,v,G),D(!0,v,O,m),w.animate(v)),w.attr({visibility:g.visible?"inherit":"hidden"}),w.addClass(g.getClassName(),!0)):w&&(g.graphic=w.destroy())})}sortByAngle(m,w){m.sort(function(G,O){return void 0!==G.angle&&(O.angle-G.angle)*w})}translate(m){P(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,w=this.options,G=w.slicedOffset,O=X(w.startAngle,w.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,v=w.ignoreHiddenPoint,o=g.length,T=0;for(m||(this.center=m=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*G),translateY:Math.round(Math.sin(l)*G)},d=Math.cos(l)*m[2]/2,C=Math.sin(l)*m[2]/2,p.tooltipPos=[m[0]+.7*d,m[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}P(this,"afterTranslate")}updateTotals(){let O,f,m=this.points,w=m.length,G=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!G)?f.y/a*100:0,f.total=a}}return I.defaultOptions=D(pe.defaultOptions,le),F(I.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ne.prototype.drawTracker,getCenter:q.getCenter,getSymbol:E,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ne.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:E,trackerGroups:["group","dataLabelsGroup"]}),ue.registerSeriesType("pie",I),I}),Le(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{composed:ue,noop:J}=ne,{distribute:te}=re,{series:X}=ve,{arrayMax:E,clamp:j,defined:F,pick:P,pushUnique:D,relativeLength:A}=le;return function(I){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,v,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?v:g,a.half,a,o)},justify:function(f,a,g,v){return v[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,v){let o=f.getBBox().width;return a?o+v:g-o-v},alignToConnectors:function(f,a,g,v){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+v:g-o-v}};function m(f,a){let{center:g,options:v}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((v.slicedOffset||0)+(v.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function w(){let B,z,K,f=this,a=f.points,g=f.chart,v=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],T=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),X.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((S,$)=>{let H=l[2]/2,x=S.options,N=A(x?.distance||0,H);0===$&&k[se.half].push(se),!F(x?.style?.width)&&S.getBBox().width>r&&(S.css({width:Math.round(.7*r)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,S)=>{let x,N,Z,H=[],R=0;se.length&&(f.sortByAngle(se,S-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.dataLabelPosition;ge&&ge.distance>0&&(ge.top=Math.max(0,C-d-ge.distance),ge.bottom=Math.min(C+d+ge.distance,g.plotHeight),R=he.getBBox().height||21,Y.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-ge.top+R/2,size:R,rank:Y.y},H.push(Y.distributeBox))})}),te(H,Z=N+R-x,Z/5)),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.options||{},_e=Y.distributeBox,Te=he.dataLabelPosition,Oe=Te?.natural.y||0,De=ge.connectorPadding||0,Be=0,oe=Oe,ee="inherit";if(Te){if(H&&F(_e)&&Te.distance>0&&(void 0===_e.pos?ee="hidden":(K=_e.size,oe=T.radialDistributionY(Y,he))),ge.justify)Be=T.justify(Y,he,d,l);else switch(ge.alignTo){case"connectors":Be=T.alignToConnectors(se,S,v,n);break;case"plotEdges":Be=T.alignToPlotEdges(he,S,v,n);break;default:Be=T.radialDistributionX(f,Y,oe,Oe,he)}if(Te.attribs={visibility:ee,align:Te.alignment},Te.posAttribs={x:Be+(ge.x||0)+({left:De,right:-De}[Te.alignment]||0),y:oe+(ge.y||0)-he.getBBox().height/2},Te.computed.x=Be,Te.computed.y=oe,P(ge.crop,!0)){let be;Be-(z=he.getBBox().width)v-De&&0===S&&(be=Math.round(Be+z-v+De),p[1]=Math.max(be,p[1])),oe-K/2<0?p[0]=Math.max(Math.round(K/2-oe),p[0]):oe+K/2>o&&(p[2]=Math.max(Math.round(oe+K/2-o),p[2])),Te.sideOverflow=be}}})}))}),(0===E(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(S=>{let{connectorColor:$,connectorWidth:H=1}=S.options||{},x=S.dataLabelPosition;if(H){let N;B=S.connector,x&&x.distance>0?(N=!B,B||(S.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||B.attr({"stroke-width":H,stroke:$||se.color||"#666666"}),B[N?"attr":"animate"]({d:se.getConnectorPath(S)}),B.attr({visibility:x.attribs?.visibility})):B&&(S.connector=B.destroy())}})})))}function G(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,v=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==v[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==v[1]?n=j(n,o,a[2]-Math.max(f[0],f[2])):(n=j(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(m.x>=_.x+_.width||m.x+m.width<=_.x||m.y>=_.y+_.height||m.y+m.height<=_.y),I=!1;for(let _=0;_(m.labelrank||0)-(_.labelrank||0));for(let _=0;_{ve(j,F=>{F.label&&X.push(F.label)})});for(let E of te.series||[])if(E.visible&&E.hasDataLabels?.()){let j=F=>{for(let P of F)P.visible&&(P.dataLabels||[]).forEach(D=>{let A=D.options||{};D.labelrank=le(A.labelrank,P.labelrank,P.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,ue(D,te)):X.push(D)})};j(E.nodes||[]),j(E.points)}this.hideOverlappingLabels(X)}return{compose:function(te){let X=te.prototype;X.hideOverlappingLabels||(X.hideOverlappingLabels=pe,ne(te,"render",J))}}}),Le(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defaultOptions:ve}=q,{noop:le}=ne,{addEvent:pe,extend:ue,isObject:J,merge:te,relativeLength:X}=re,E={radius:0,scope:"stack",where:void 0},j=le,F=le;function P(m,w,G,O,f={}){let a=j(m,w,G,O,f),{innerR:g=0,r:v=G,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min(X(f.borderRadius||0,v-g),(v-g)/2,v*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,T,B){let z,K,U,se=p[T],S=p[T+1];if("Z"===S[0]&&(S=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==S[0]?"A"===se[0]&&("M"===S[0]||"L"===S[0])&&(z=S,K=se):(z=se,K=S,U=!0),z&&K&&K.params){let $=K[1],H=K[5],x=K.params,{start:N,end:R,cx:Z,cy:Y}=x,he=H?$-B:$+B,ge=he?Math.asin(B/he):0,_e=H?ge:-ge,Te=Math.cos(ge)*he;U?(x.start=N+_e,z[1]=Z+Te*Math.cos(N),z[2]=Y+Te*Math.sin(N),p.splice(T+1,0,["A",B,B,0,0,1,Z+$*Math.cos(x.start),Y+$*Math.sin(x.start)])):(x.end=R-_e,K[6]=Z+$*Math.cos(x.end),K[7]=Y+$*Math.sin(x.end),p.splice(T+1,0,["A",B,B,0,0,1,Z+Te*Math.cos(R),Y+Te*Math.sin(R)])),K[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:m,yAxis:w}=this,G="percent"===m.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=A(m.borderRadius,J(O)?O:{}),a=w.options.reversed;for(let g of this.points){let{shapeArgs:v}=g;if("roundedRect"===g.shapeType&&v){let{width:o=0,height:n=0,y:r=0}=v,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let T=w.translate(G?100:g.stackTotal,!1,!0,!1,!0),B=w.translate(m.threshold||0,!1,!0,!1,!0),z=this.crispCol(0,Math.min(T,B),0,Math.abs(T-B));l=z.y,d=z.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min(X(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),ue(v,{brBoxHeight:d,brBoxY:l,r:p})}}}}function A(m,w){return J(m)||(m={radius:m||0}),te(E,w,m)}function I(){let m=A(this.options.borderRadius);for(let w of this.points){let G=w.shapeArgs;G&&(G.borderRadius=X(m.radius,(G.r||0)-(G.innerR||0)))}}function _(m,w,G,O,f={}){let a=F(m,w,G,O,f),{r:g=0,brBoxHeight:v=O,brBoxY:o=w}=f,n=w-o,r=o+v-(w+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[m+l,w],T=[m+G-l,w],B=[m+G,w+l],z=[m+G,w+O-d],K=[m+G-d,w+O],U=[m+d,w+O],se=[m,w+O-d],S=[m,w+l],$=(H,x)=>Math.sqrt(Math.pow(H,2)-Math.pow(x,2));if(C){let H=$(l,l-C);p[0]-=H,T[0]+=H,B[1]=S[1]=w+l-C}if(O=ue(P.minWidth,0)&&this.chartHeight>=ue(P.minHeight,0)}).call(this)&&F.push(j._id)}function E(j,F){let I,P=this.options.responsive,D=this.currentResponsive,A=[];!F&&P&&P.rules&&P.rules.forEach(w=>{void 0===w._id&&(w._id=J()),this.matchResponsiveRule(w,A)},this);let _=pe(...A.map(w=>le((P||{}).rules||[],G=>G._id===w)).map(w=>w&&w.chartOptions));_.isResponsiveOptions=!0,A=A.toString()||void 0,A!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,j,!0),A?((I=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:A,mergedOptions:_,undoOptions:I},this.update(_,j,!0)):this.currentResponsive=void 0)}te.compose=function(j){let F=j.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:X,setResponsive:E}),j}}(ne||(ne={})),ne}),Le(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P,D,A,I,_,m,w,G,O,f,a,g,v,o,n,r,l,d,C,k,p,T,B){return q.AST=pe,q.Axis=F,q.Chart=f,q.Color=T,q.DataLabel=d,q.Fx=ve,q.HTMLElement=j,q.Legend=G,q.LegendSymbol=O,q.OverlappingDataLabels=q.OverlappingDataLabels||C,q.PlotLineOrBand=A,q.Point=m,q.Pointer=w,q.RendererRegistry=J,q.Series=o,q.SeriesRegistry=n,q.StackItem=v,q.SVGElement=X,q.SVGRenderer=E,q.Templating=ue,q.Tick=I,q.Time=B,q.Tooltip=_,q.animate=le.animate,q.animObject=le.animObject,q.chart=f.chart,q.color=T.parse,q.dateFormat=ue.dateFormat,q.defaultOptions=re.defaultOptions,q.distribute=te.distribute,q.format=ue.format,q.getDeferredAnimation=le.getDeferredAnimation,q.getOptions=re.getOptions,q.numberFormat=ue.numberFormat,q.seriesType=n.seriesType,q.setAnimation=le.setAnimation,q.setOptions=re.setOptions,q.stop=le.stop,q.time=re.defaultTime,q.timers=ve.timers,k.compose(q.Series,q.SVGElement,q.SVGRenderer),r.compose(q.Series.types.column),d.compose(q.Series),P.compose(q.Axis),j.compose(q.SVGRenderer),G.compose(q.Chart),D.compose(q.Axis),C.compose(q.Chart),l.compose(q.Series.types.pie),A.compose(q.Axis),w.compose(q.Chart),p.compose(q.Chart),a.compose(q.Axis,q.Chart,q.Series),g.compose(q.Axis,q.Chart,q.Series),_.compose(q.Pointer),ne.extend(q,ne),q}),V["masters/highcharts.src.js"]._modules=V,V["masters/highcharts.src.js"]},ri.exports?(V.default=V,ri.exports=e&&e.document?V(e):V):void 0!==(M=function(){return V(e)}.call(Bt,We,Bt,ri))&&(ri.exports=M)},12146:function(ri,Bt,We){var M,e,V;e=typeof window<"u"?window:this,V=function(e){"use strict";var V={};function Le(q,ne,re,ve){q.hasOwnProperty(ne)||(q[ne]=ve.apply(null,re),"function"==typeof CustomEvent&&e.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:ne,module:q[ne]}})))}return Le(V,"Core/Globals.js",[],function(){var q,ne;return(ne=q||(q={})).SVG_NS="http://www.w3.org/2000/svg",ne.product="Highcharts",ne.version="11.4.0",ne.win=void 0!==e?e:{},ne.doc=ne.win.document,ne.svg=ne.doc&&ne.doc.createElementNS&&!!ne.doc.createElementNS(ne.SVG_NS,"svg").createSVGRect,ne.userAgent=ne.win.navigator&&ne.win.navigator.userAgent||"",ne.isChrome=-1!==ne.userAgent.indexOf("Chrome"),ne.isFirefox=-1!==ne.userAgent.indexOf("Firefox"),ne.isMS=/(edge|msie|trident)/i.test(ne.userAgent)&&!ne.win.opera,ne.isSafari=!ne.isChrome&&-1!==ne.userAgent.indexOf("Safari"),ne.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(ne.userAgent),ne.isWebKit=-1!==ne.userAgent.indexOf("AppleWebKit"),ne.deg2rad=2*Math.PI/360,ne.hasBidiBug=ne.isFirefox&&4>parseInt(ne.userAgent.split("Firefox/")[1],10),ne.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ne.noop=function(){},ne.supportsPassiveEvents=function(){let re=!1;if(!ne.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ne.win.addEventListener&&ne.win.removeEventListener&&(ne.win.addEventListener("testPassive",ne.noop,ve),ne.win.removeEventListener("testPassive",ne.noop,ve))}return re}(),ne.charts=[],ne.composed=[],ne.dateFormats={},ne.seriesTypes={},ne.symbolSizes={},ne.chartCount=0,q}),Le(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(q){let ne,{charts:re,doc:ve,win:le}=q;function pe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(T,B){p+=`\n - ${B}: ${T}`,C&&(k+=encodeURI(B)+"="+encodeURI(T))}),k+=p}g(q,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===pe.messages.indexOf(k)&&console.warn(k)}),pe.messages.push(k)}function ue(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function X(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function E(o){return X(o)&&"number"==typeof o.nodeType}function j(o){let n=o&&o.constructor;return!(!X(o,!0)||E(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function P(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!P(r),C=(k,p)=>{P(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function A(o){return te(o)?o:[o]}function I(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(pe||(pe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-T.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){q[n]=function(r){return pe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let v=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ne?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(q[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;q.Point&&o instanceof q.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!q.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((T,B)=>T.order-B.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){K=A(K),T[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=ue(d))),d},inArray:function(o,n,r){return pe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return G(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:ue,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:A,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:v,useSerialIds:function(o){return ne=_(o,ne)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Le(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Le(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Le(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{win:re}=q,{defined:ve,error:le,extend:pe,isNumber:ue,isObject:J,merge:te,objectEach:X,pad:E,pick:j,splat:F,timeUnits:P}=ne,D=q.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,A=q.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class I{constructor(m){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(m)}get(m,w){if(this.variableTimezone||this.timezoneOffset){let G=w.getTime(),O=G-this.getTimezoneOffset(w);w.setTime(O);let f=w["getUTC"+m]();return w.setTime(G),f}return this.useUTC?w["getUTC"+m]():w["get"+m]()}set(m,w,G){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===m||"Seconds"===m||"Minutes"===m&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+m](G);let O=this.getTimezoneOffset(w),f=w.getTime()-O;w.setTime(f),w["setUTC"+m](G);let a=this.getTimezoneOffset(w);return f=w.getTime()+a,w.setTime(f)}return this.useUTC||D&&"FullYear"===m?w["setUTC"+m](G):w["set"+m](G)}update(m={}){let w=j(m.useUTC,!0);this.options=m=te(!0,this.options,m),this.Date=m.Date||re.Date||Date,this.useUTC=w,this.timezoneOffset=w&&m.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!m.getTimezoneOffset&&!m.timezone)}makeTime(m,w,G,O,f,a){let g,v,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),v=this.getTimezoneOffset(g),g+=v,v!==(o=this.getTimezoneOffset(g))?g+=o-v:v-36e5!==this.getTimezoneOffset(g-36e5)||A||(g-=36e5)):g=new this.Date(m,w,j(G,1),j(O,0),j(f,0),j(a,0)).getTime(),g}timezoneOffsetFunction(){let m=this,w=this.options,G=w.getTimezoneOffset;return this.useUTC?w.timezone?O=>{try{let f=`shortOffset,${w.timezone||""}`,[a,g,v,o,n=0]=(I.formatCache[f]=I.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:w.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(v+n/60);if(ue(r))return r}catch{le(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(m.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(m,w,G){if(!ve(w)||isNaN(w))return q.defaultOptions.lang&&q.defaultOptions.lang.invalidDate||"";m=j(m,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(w),a=this.get("Hours",f),g=this.get("Day",f),v=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=q.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return X(pe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:E(v),e:E(v,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:E(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:E(a),k:a,I:E(a%12||12),l:a%12||12,M:E(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:E(this.get("Seconds",f)),L:E(Math.floor(w%1e3),3)},q.dateFormats),function(C,k){for(;-1!==m.indexOf("%"+k);)m=m.replace("%"+k,"function"==typeof C?C.call(O,w):C)}),G?m.substr(0,1).toUpperCase()+m.substr(1):m}resolveDTLFormat(m){return J(m,!0)?m:{main:(m=F(m))[0],from:m[1],to:m[2]}}getTimeTicks(m,w,G,O){let f,a,g,v,o=this,r=[],l={},d=new(0,o.Date)(w),C=m.unitRange,k=m.count||1;if(O=j(O,1),ve(w)){o.set("Milliseconds",d,C>=P.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=P.second&&o.set("Seconds",d,C>=P.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=P.minute&&o.set("Minutes",d,C>=P.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=P.hour&&o.set("Hours",d,C>=P.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=P.day&&o.set("Date",d,C>=P.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=P.month&&(o.set("Month",d,C>=P.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=P.year&&(a-=a%k,o.set("FullYear",d,a)),C===P.week&&(v=o.get("Day",d),o.set("Date",d,o.get("Date",d)-v+O+(v4*P.month||o.getTimezoneOffset(w)!==o.getTimezoneOffset(G));let z=d.getTime();for(f=1;z1?z=o.makeTime(a,p,T,B+f*k):z+=C*k:z=o.makeTime(a,p,T+f*k*(C===P.day?1:7)),f++;r.push(z),C<=P.hour&&r.length<1e4&&r.forEach(function(K){K%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",K)&&(l[K]="day")})}return r.info=pe(m,{higherRanks:l,totalRange:C*k}),r}getDateFormat(m,w,G,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",w),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond",o=v;for(v in P){if(m===P.week&&+this.dateFormat("%w",w)===G&&f.substr(6)===a.substr(6)){v="week";break}if(P[v]>m){v=o;break}if(g[v]&&f.substr(g[v])!==a.substr(g[v]))break;"week"!==v&&(o=v)}return this.resolveDTLFormat(O[v]).main}}return I.formatCache={},I}),Le(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{isTouchDevice:pe,svg:ue}=ne,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ue,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:pe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let X=new ve(te.time);return{defaultOptions:te,defaultTime:X,getOptions:function(){return te},setOptions:function(E){return J(!0,te,E),(E.time||E.global)&&(ne.time?ne.time.update(J(te.global,te.time,E.global,E.time)):ne.time=X),te}}}),Le(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isNumber:re,merge:ve,pInt:le}=ne;class pe{static parse(J){return J?new pe(J):pe.None}constructor(J){let te,X,E,j;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=q.Color;if(F&&F!==pe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(P=>new pe(P[1]));else if("string"==typeof J){if(this.input=J=pe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let P=J.length,D=parseInt(J.substr(1),16);7===P?X=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===P&&(X=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!X)for(E=pe.parsers.length;E--&&!X;)(te=(j=pe.parsers[E]).regex.exec(J))&&(X=j.parse(te))}X&&(this.rgba=X)}get(J){let te=this.input,X=this.rgba;if("object"==typeof te&&void 0!==this.stops){let E=ve(te);return E.stops=[].slice.call(E.stops),this.stops.forEach((j,F)=>{E.stops[F]=[E.stops[F][0],j.get(J)]}),E}return X&&re(X[0])?"rgb"===J||!J&&1===X[3]?"rgb("+X[0]+","+X[1]+","+X[2]+")":"a"===J?`${X[3]}`:"rgba("+X.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function(X){X.brighten(J)});else if(re(J)&&0!==J)for(let X=0;X<3;X++)te[X]+=le(255*J),te[X]<0&&(te[X]=0),te[X]>255&&(te[X]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let X=this.rgba,E=J.rgba;if(!re(X[0])||!re(E[0]))return J.input||"none";let j=1!==E[3]||1!==X[3];return(j?"rgba(":"rgb(")+Math.round(E[0]+(X[0]-E[0])*(1-te))+","+Math.round(E[1]+(X[1]-E[1])*(1-te))+","+Math.round(E[2]+(X[2]-E[2])*(1-te))+(j?","+(E[3]+(X[3]-E[3])*(1-te)):"")+")"}}return pe.names={white:"#ffffff",black:"#000000"},pe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),parseFloat(ue[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),1]}}],pe.None=new pe(""),pe}),Le(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{parse:ve}=q,{win:le}=ne,{isNumber:pe,objectEach:ue}=re;class J{constructor(X,E,j){this.pos=NaN,this.options=E,this.elem=X,this.prop=j}dSetter(){let X=this.paths,E=X&&X[0],j=X&&X[1],F=this.now||0,P=[];if(1!==F&&E&&j)if(E.length===j.length&&F<1)for(let D=0;D=I+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,j=!0,ue(_,function(m){!0!==m&&(j=!1)}),j&&A&&A.call(D),E=!1):(this.pos=P.easing((F-this.startTime)/I),this.now=this.start+(this.end-this.start)*this.pos,this.update(),E=!0),E}initPath(X,E,j){let _,m,w,G,F=X.startX,P=X.endX,D=j.slice(),A=X.isArea,I=A?2:1,O=E&&E.slice();if(!O)return[D,D];function f(g,v){for(;g.length{let G=E(w.options.animation);_=ue(P)&&re(P.defer)?A.defer:Math.max(_,G.duration+G.defer),m=Math.min(A.duration,G.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-m),duration:Math.min(_,m)}},setAnimation:function(F,P){P.renderer.globalAnimation=X(F,P.options.chart.animation,!0)},stop:j}}),Le(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{SVG_NS:re,win:ve}=q,{attr:le,createElement:pe,css:ue,error:J,isFunction:te,isString:X,objectEach:E,splat:j}=ne,{trustedTypes:F}=ve,P=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=P?P.createHTML(""):"",A=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class I{static filterUserAttributes(m){return E(m,(w,G)=>{let O=!0;-1===I.allowedAttributes.indexOf(G)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(G)&&(O=X(w)&&I.allowedReferences.some(f=>0===w.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete m[G]),X(w)&&m[G]&&(m[G]=w.replace(/{let O=G.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(w[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),w},{})}static setElementHTML(m,w){m.innerHTML=I.emptyHTML,w&&new I(w).addToDOM(m)}constructor(m){this.nodes="string"==typeof m?this.parseMarkup(m):m}addToDOM(m){return function w(G,O){let f;return j(G).forEach(function(a){let g,v=a.tagName,o=a.textContent?q.doc.createTextNode(a.textContent):void 0,n=I.bypassHTMLFiltering;if(v)if("#text"===v)g=o;else if(-1!==I.allowedTags.indexOf(v)||n){let l=q.doc.createElementNS("svg"===v?re:O.namespaceURI||re,v),d=a.attributes||{};E(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:I.filterUserAttributes(d)),a.style&&ue(l,a.style),o&&l.appendChild(o),w(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":v});g&&O.appendChild(g),f=g}),f}(this.nodes,m)}parseMarkup(m){let w,G=[];if(m=m.trim().replace(/ style=(["'])/g," data-style=$1"),A)w=(new DOMParser).parseFromString(P?P.createHTML(m):m,"text/html");else{let f=pe("div");f.innerHTML=m,w={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),v={tagName:g};"#text"===g&&(v.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?v.style=I.parseStyle(r.value):n[r.name]=r.value}),v.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(v.children=n)}a.push(v)};return[].forEach.call(w.body.childNodes,f=>O(f,G)),G}}return I.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],I.allowedReferences=["https://","http://","mailto:","/","../","./","#"],I.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],I.emptyHTML=D,I.bypassHTMLFiltering=!1,I}),Le(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne){let{defaultOptions:re,defaultTime:ve}=q,{extend:le,getNestedProperty:pe,isArray:ue,isNumber:J,isObject:te,pick:X,pInt:E}=ne,j={add:(D,A)=>D+A,divide:(D,A)=>0!==A?D/A:"",eq:(D,A)=>D==A,each:function(D){let A=arguments[arguments.length-1];return!!ue(D)&&D.map((I,_)=>F(A.body,le(te(I)?I:{"@this":I},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,A)=>D>=A,gt:(D,A)=>D>A,if:D=>!!D,le:(D,A)=>D<=A,lt:(D,A)=>DD*A,ne:(D,A)=>D!=A,subtract:(D,A)=>D-A,unless:D=>!D};function F(D="",A,I){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,m=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,w=[],G=/f$/,O=/\.([0-9])/,f=re.lang,a=I&&I.time||ve,g=I&&I.numberFormatter||P,v=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:pe(d,A))},r=0;for(;null!==(o=_.exec(D));){let d=m.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:A,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");j[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,T=D.substr(p,o.index-p);void 0===n.body?(n.body=T,n.startInner=o.index+o[0].length):n.elseBody=T,n.find+=T+o[0],k||(w.push(n),n=void 0)}else n.isBlock||w.push(n);if(d&&!n?.isBlock)break}return w.forEach(d=>{let C,k,{body:p,elseBody:T,expression:B,fn:z}=d;if(z){let K=[d],U=B.split(" ");for(k=j[z].length;k--;)K.unshift(v(U[k+1]));C=j[z].apply(A,K),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:T,A))}else{let K=B.split(":");if(C=v(K.shift()||""),K.length&&"number"==typeof C){let U=K.join(":");if(G.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,X(C,""))}),l?F(D,A,I):D}function P(D,A,I,_){let m,w;A=+A;let G=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=A;-1===A?A=Math.min(O,20):J(A)?A&&f[1]&&f[1]<0&&((w=A+ +f[1])>=0?(f[0]=(+f[0]).toExponential(w).split("e")[0],A=w):(f[0]=f[0].split(".")[0]||0,D=A<20?(f[0]*Math.pow(10,f[1])).toFixed(A):0,f[1]=0)):A=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(A,O)-1)).toFixed(A),v=String(E(g)),o=v.length>3?v.length%3:0;return I=X(I,G.decimalPoint),_=X(_,G.thousandsSep),m=(D<0?"-":"")+(o?v.substr(0,o)+_:""),0>+f[1]&&!a?m="0":m+=v.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),A&&(m+=I+g.slice(-A)),f[1]&&0!=+m&&(m+="e"+f[1]),m}return{dateFormat:function(D,A,I){return ve.dateFormat(D,A,I)},format:F,helpers:j,numberFormat:P}}),Le(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(q){var ne,re;let ve;return(re=ne||(ne={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,pe,ue){re.rendererTypes[le]=pe,(!ve||ue)&&(ve=le,q.Renderer=pe)},ne}),Le(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(q){var ne;let{clamp:re,pick:ve,pushUnique:le,stableSort:pe}=q;return(ne||(ne={})).distribute=function ue(J,te,X){let _,m,w,O,f,g,E=J,j=E.reducedLen||te,F=(v,o)=>v.target-o.target,P=[],D=J.length,A=[],I=P.push,G=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>j){for(pe(J,(v,o)=>(o.rank||0)-(v.rank||0)),w=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,m=g?w:D-1;w&&a>j;)O=J[_=Math.floor(m)],le(A,_)&&(a-=O.size),m+=w,g&&m>=J.length&&(w/=2,m=w);A.sort((v,o)=>o-v).forEach(v=>I.apply(P,J.splice(v,1)))}for(pe(J,F),J=J.map(v=>({size:v.size,targets:[v.target],align:ve(v.align,.5)}));G;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,G=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),G=!0)}return I.apply(E,P),_=0,J.some(v=>{let o=0;return(v.targets||[]).some(()=>(E[_].pos=v.pos+o,void 0!==X&&Math.abs(E[_].pos-E[_].target)>X?(E.slice(0,_+1).forEach(n=>delete n.pos),E.reducedLen=(E.reducedLen||te)-.1*te,E.reducedLen>.1*te&&ue(E,te,X),!0):(o+=E[_].size,_++,!1)))}),pe(E,F),E},ne}),Le(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{animate:le,animObject:pe,stop:ue}=q,{deg2rad:J,doc:te,svg:X,SVG_NS:E,win:j}=re,{addEvent:F,attr:P,createElement:D,css:A,defined:I,erase:_,extend:m,fireEvent:w,isArray:G,isFunction:O,isObject:f,isString:a,merge:g,objectEach:v,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let T=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(T)&&(T=parseFloat(T)),T}_defaultSetter(p,T,B){B.setAttribute(T,p)}add(p){let T,B=this.renderer,z=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&B.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(T=this.zIndexSetter()),T||(p?p.element:B.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(p,T){let B=T?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(z,K){return-1===B.indexOf(K)&&z.push(K),z},B?[B]:[]).join(" "))!==B&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,T,B,z=!0){let K,U,se,S,$,H={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=T,(!B||a(B))&&(this.alignTo=se=B||"renderer",_(N,this),N.push(this),B=void 0)):(p=this.alignOptions,T=this.alignByTranslate,se=this.alignTo),B=o(B,x[se],x);let R=p.align,Z=p.verticalAlign;return K=(B.x||0)+(p.x||0),U=(B.y||0)+(p.y||0),"right"===R?S=1:"center"===R&&(S=2),S&&(K+=(B.width-(p.width||0))/S),H[T?"translateX":"x"]=Math.round(K),"bottom"===Z?$=1:"middle"===Z&&($=2),$&&(U+=(B.height-(p.height||0))/$),H[T?"translateY":"y"]=Math.round(U),z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(p){let T={left:"start",center:"middle",right:"end"};T[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",T[p]))}animate(p,T,B){let z=pe(o(T,this.renderer.globalAnimation,!0)),K=z.defer;return te.hidden&&(z.duration=0),0!==z.duration?(B&&(z.complete=B),l(()=>{this.element&&le(this,p,z)},K)):(this.attr(p,void 0,B||z.complete),v(p,function(U,se){z.step&&z.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let T=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(T.style.fill)));let B=p.split(" "),z=B[B.length-1],K=B[0];if(K&&"none"!==K&&re.svg){this.fakeTS=!0,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(H,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(E,"tspan");P(U,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":K,"stroke-linejoin":"round"});let se=T.querySelector("textPath")||T;[].forEach.call(se.childNodes,H=>{let x=H.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let S=0;[].forEach.call(se.querySelectorAll("text tspan"),H=>{S+=Number(H.getAttribute("dy"))});let $=te.createElementNS(E,"tspan");$.textContent="\u200b",P($,{x:Number(T.getAttribute("x")),dy:-S}),U.appendChild($),se.insertBefore(U,se.firstChild)}}attr(p,T,B,z){let se,S,H,K=this.element,U=C.symbolCustomAttribs,$=this;return"string"==typeof p&&void 0!==T&&(se=p,(p={})[se]=T),"string"==typeof p?$=(this[p+"Getter"]||this._defaultGetter).call(this,p,K):(v(p,function(x,N){H=!1,z||ue(this,N),this.symbolName&&-1!==U.indexOf(N)&&(S||(this.symbolAttr(p),S=!0),H=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),H||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,K)},this),this.afterSetters()),B&&B.call(this),$}clip(p){if(p&&!p.clipPath){let T=d()+"-",B=this.renderer.createElement("clipPath").attr({id:T}).add(this.renderer.defs);m(p,{clipPath:B,id:T,count:0}),p.add(B)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,T){let B=Math.round(T=T||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+B,p.y=Math.floor(p.y||this.y||0)+B,p.width=Math.floor((p.width||this.width||0)-2*B),p.height=Math.floor((p.height||this.height||0)-2*B),I(p.strokeWidth)&&(p.strokeWidth=T),p}complexColor(p,T,B){let K,U,se,S,$,H,x,N,R,Z,he,z=this.renderer,Y=[];w(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],$=z.gradients,H=p.stops,R=B.radialReference,G(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!I(se.gradientUnits)&&(S=se,se=g(se,z.getRadialAttr(R,S),{gradientUnits:"userSpaceOnUse"})),v(se,function(ge,_e){"id"!==_e&&Y.push(_e,ge)}),v(H,function(ge){Y.push(ge)}),$[Y=Y.join(",")])Z=$[Y].attr("id");else{se.id=Z=d();let ge=$[Y]=z.createElement(U).attr(se).add(z.defs);ge.radAttr=S,ge.stops=[],H.forEach(function(_e){0===_e[1].indexOf("rgba")?(x=(K=ne.parse(_e[1])).get("rgb"),N=K.get("a")):(x=_e[1],N=1);let Te=z.createElement("stop").attr({offset:_e[0],"stop-color":x,"stop-opacity":N}).add(ge);ge.stops.push(Te)})}he="url("+z.url+"#"+Z+")",B.setAttribute(T,he),B.gradient=Y,p.toString=function(){return he}}})}css(p){let K,T=this.styles,B={},z=this.element,U=!T;if(T&&v(p,function(se,S){T&&T[S]!==se&&(B[S]=se,U=!0)}),U){T&&(p=m(T,B)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&p.width&&(K=this.textWidth=n(p.width)),m(this.styles,p),K&&!X&&this.renderer.forExport&&delete p.width;let se=g(p);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(S=>se&&delete se[S]),se.color&&(se.fill=se.color)),A(z,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let T,B=this["stroke-width"];if("inherit"===B&&(B=1),p=p&&p.toLowerCase()){let z=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(T=z.length;T--;)z[T]=""+n(z[T])*o(B,NaN);p=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,T=p.element||{},B=p.renderer,z=T.ownerSVGElement,K="SPAN"===T.nodeName&&p.parentGroup||void 0;if(T.onclick=T.onmouseout=T.onmouseover=T.onmousemove=T.point=null,ue(p),p.clipPath&&z){let S=p.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function($){$.getAttribute("clip-path").indexOf(S.element.id)>-1&&$.removeAttribute("clip-path")}),p.clipPath=S.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seK&&K.join?(U?z+" ":"")+K.join(" "):(K||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[T]!==p&&(B.setAttribute(T,p),this[T]=p)}fillSetter(p,T,B){"string"==typeof p?B.setAttribute(T,p):p&&this.complexColor(p,T,B)}hrefSetter(p,T,B){B.setAttributeNS("http://www.w3.org/1999/xlink",T,p)}getBBox(p,T){let B,z,K,U,{alignValue:se,element:S,renderer:$,styles:H,textStr:x}=this,{cache:N,cacheKeys:R}=$,Z=S.namespaceURI===this.SVG_NS,Y=o(T,this.rotation,0),he=$.styledMode?S&&C.prototype.getStyle.call(S,"font-size"):H.fontSize;if(I(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",$.rootFontSize,he,Y,this.textWidth,se,H.textOverflow,H.fontWeight].join(",")),U&&!p&&(B=N[U]),!B){if(Z||$.forExport){try{K=this.fakeTS&&function(ge){let _e=S.querySelector(".highcharts-text-outline");_e&&A(_e,{display:ge})},O(K)&&K("none"),B=S.getBBox?m({},S.getBBox()):{width:S.offsetWidth,height:S.offsetHeight,x:0,y:0},O(K)&&K("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();z=B.height,Z&&(B.height=z={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(z)}`]||z),Y&&(B=this.getRotatedBox(B,Y))}if(U&&(""===x||B.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=B}return B}getRotatedBox(p,T){let{x:B,y:z,width:K,height:U}=p,{alignValue:se,translateY:S,rotationOriginX:$=0,rotationOriginY:H=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(S?0:z),R=T*J,Z=(T-90)*J,Y=Math.cos(R),he=Math.sin(R),ge=K*Y,_e=K*he,Te=Math.cos(Z),Oe=Math.sin(Z),[[De,Be],[oe,ee]]=[$,H].map(pt=>[pt-pt*Y,pt*he]),be=B+x*(K-ge)+De+ee+N*Te,xe=be+ge,Ie=xe-U*Te,we=Ie-ge,Ee=z+N-x*_e-Be+oe+N*Oe,Me=Ee+_e,Xe=Me-U*Oe,Je=Xe-_e,lt=Math.min(be,xe,Ie,we),qe=Math.min(Ee,Me,Xe,Je);return{x:lt,y:qe,width:Math.max(be,xe,Ie,we)-lt,height:Math.max(Ee,Me,Xe,Je)-qe}}getStyle(p){return j.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,T){this.onEvents={},this.opacity=1,this.SVG_NS=E,this.element="span"===T||"body"===T?D(T):te.createElementNS(this.SVG_NS,T),this.renderer=p,this.styles={},w(this,"afterInit")}on(p,T){let{onEvents:B}=this;return B[p]&&B[p](),B[p]=F(this.element,p,T),this}opacitySetter(p,T,B){let z=Number(Number(p).toFixed(3));this.opacity=z,B.setAttribute(T,z)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let T=p.parentNode;T&&T.removeChild(p)}setRadialReference(p){let T=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,T&&T.radAttr&&T.animate(this.renderer.getRadialAttr(p,T.radAttr)),this}setTextPath(p,T){T=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},T);let B=this.renderer.url,z=this.text||this,K=z.textPath,{attributes:U,enabled:se}=T;if(p=p||K&&K.path,K&&K.undo(),p&&se){let S=F(z,"afterModifyTree",$=>{if(p&&se){let H=p.attr("id");H||p.attr("id",H=d());let x={x:0,y:0};I(U.dx)&&(x.dx=U.dx,delete U.dx),I(U.dy)&&(x.dy=U.dy,delete U.dy),z.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=$.nodes.slice(0);$.nodes.length=0,$.nodes[0]={tagName:"textPath",attributes:m(U,{"text-anchor":U.textAnchor,href:`${B}#${H}`}),children:N}}});z.textPath={path:p,undo:S}}else z.attr({dx:0,dy:0}),delete z.textPath;return this.added&&(z.textCache="",this.renderer.buildText(z)),this}shadow(p){let{renderer:T}=this,B=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),z=T.shadowDefinition(B);return this.attr({filter:p?`url(${T.url}#${z})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,T,B){this[T]=p,B.setAttribute(T,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let B,p=this.getStyle("stroke-width"),T=0;return/px$/.test(p)?T=n(p):""!==p&&(P(B=te.createElementNS(E,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(B),T=B.getBBox().width,B.parentNode.removeChild(B)),T}symbolAttr(p){let T=this;C.symbolCustomAttribs.forEach(function(B){T[B]=o(p[B],T[B])}),T.attr({d:T.renderer.symbols[T.symbolName](T.x,T.y,T.width,T.height,T)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let T=this.element,B=T.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");T.insertBefore?T.insertBefore(B,T.firstChild):T.appendChild(B),B.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,T){return this.attr({translateX:p,translateY:T})}updateTransform(p="transform"){let{element:T,matrix:B,rotation:z=0,rotationOriginX:K,rotationOriginY:U,scaleX:se,scaleY:S,translateX:$=0,translateY:H=0}=this,x=["translate("+$+","+H+")"];I(B)&&x.push("matrix("+B.join(",")+")"),z&&(x.push("rotate("+z+" "+o(K,T.getAttribute("x"),0)+" "+o(U,T.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(K||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(I(se)||I(S))&&x.push("scale("+o(se,1)+" "+o(S,1)+")"),x.length&&!(this.text||this).textPath&&T.setAttribute(p,x.join(" "))}visibilitySetter(p,T,B){"inherit"===p?B.removeAttribute(T):this[T]!==p&&B.setAttribute(T,p),this[T]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,T){let S,$,H,N,Z,B=this.renderer,z=this.parentGroup,K=(z||B).element||B.box,U=this.element,se=K===B.box,x=!1,R=this.added;if(I(p)?(U.setAttribute("data-z-index",p),this[T]===(p=+p)&&(R=!1)):I(this[T])&&U.removeAttribute("data-z-index"),this[T]=p,R){for((p=this.zIndex)&&z&&(z.handleZ=!0),Z=(S=K.childNodes).length-1;Z>=0&&!x;Z--)N=!I(H=($=S[Z]).getAttribute("data-z-index")),$!==U&&(p<0&&N&&!se&&!Z?(K.insertBefore(U,S[Z]),x=!0):(n(H)<=p||N&&(!I(p)||p>=0))&&(K.insertBefore(U,S[Z+1]),x=!0));x||(K.insertBefore(U,S[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Le(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,extend:ve,isNumber:le,merge:pe,pick:ue,removeEvent:J}=ne;class te extends q{constructor(E,j,F,P,D,A,I,_,m,w){let G;super(E,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=j,this.x=F,this.y=P,this.anchorX=A,this.anchorY=I,this.baseline=m,this.className=w,this.addClass("button"===w?"highcharts-no-tooltip":"highcharts-label"),w&&this.addClass("highcharts-"+w),this.text=E.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((G=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=E.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(E){let j={left:0,center:.5,right:1}[E];j!==this.alignFactor&&(this.alignFactor=j,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(E,j){this.anchorX=E,this.boxAttr(j,Math.round(E)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(E,j){this.anchorY=E,this.boxAttr(j,E-this.ySetting)}boxAttr(E,j){this.box?this.box.attr(E,j):this.deferredAttr[E]=j}css(E){if(E){let j={};E=pe(E),te.textProps.forEach(F=>{void 0!==E[F]&&(j[F]=E[F],delete E[F])}),this.text.css(j),"fontSize"in j||"fontWeight"in j?this.updateTextPadding():("width"in j||"textOverflow"in j)&&this.updateBoxSize()}return q.prototype.css.call(this,E)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),q.prototype.destroy.call(this)}fillSetter(E,j){E&&(this.needsBox=!0),this.fill=E,this.boxAttr(j,E)}getBBox(E,j){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:P=0,translateX:D=0,translateY:A=0,width:I=0}=this,_=ue(this.paddingLeft,F),m=j??(this.rotation||0),w={width:I,height:P,x:D+this.bBox.x-_,y:A+this.bBox.y-F+this.baselineOffset};return m&&(w=this.getRotatedBox(w,m)),w}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(E){this.heightSetting=E}onAdd(){this.text.add(this),this.attr({text:ue(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(E,j){le(E)?E!==this[j]&&(this[j]=E,this.updateTextPadding()):this[j]=void 0}rSetter(E,j){this.boxAttr(j,E)}strokeSetter(E,j){this.stroke=E,this.boxAttr(j,E)}"stroke-widthSetter"(E,j){E&&(this.needsBox=!0),this["stroke-width"]=E,this.boxAttr(j,E)}"text-alignSetter"(E){this.textAlign=E}textSetter(E){void 0!==E&&this.text.attr({text:E}),this.updateTextPadding()}updateBoxSize(){let E,j=this.text,F={},P=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(j.textStr)?te.emptyBBox:j.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*P;let A=this.renderer.fontMetrics(j);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||A).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-A.h)/2),this.needsBox&&!j.textPath){if(!this.box){let I=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();I.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),I.add(this)}E=this.getCrispAdjust(),F.x=E,F.y=(this.baseline?-this.baselineOffset:0)+E,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let E=this.text;if(!E.textPath){this.updateBoxSize();let j=this.baseline?0:this.baselineOffset,F=ue(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==E.x||j!==E.y)&&(E.attr("x",F),E.hasBoxWidthChanged&&(this.bBox=E.getBBox(!0)),void 0!==j&&E.attr("y",j)),E.x=F,E.y=j}}widthSetter(E){this.widthSetting=le(E)?E:void 0}getPaddedWidth(){let E=this.padding,j=ue(this.paddingLeft,E),F=ue(this.paddingRight,E);return(this.widthSetting||this.bBox.width||0)+j+F}xSetter(E){this.x=E,this.alignFactor&&(E-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(E),this.attr("translateX",this.xSetting)}ySetter(E){this.ySetting=this.y=Math.round(E),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Le(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(q){let{defined:ne,isNumber:re,pick:ve}=q;function le(J,te,X,E,j){let F=[];if(j){let P=j.start||0,D=ve(j.r,X),A=ve(j.r,E||X),I=.001>Math.abs((j.end||0)-P-2*Math.PI),_=(j.end||0)-.001,m=j.innerR,w=ve(j.open,I),G=Math.cos(P),O=Math.sin(P),f=Math.cos(_),a=Math.sin(_),g=ve(j.longArc,_-P-Math.PI<.001?0:1),v=["A",D,A,0,g,ve(j.clockwise,1),J+D*f,te+A*a];v.params={start:P,end:_,cx:J,cy:te},F.push(["M",J+D*G,te+A*O],v),ne(m)&&((v=["A",m,m,0,g,ne(j.clockwise)?1-j.clockwise:0,J+m*G,te+m*O]).params={start:_,end:P,cx:J,cy:te},F.push(w?["M",J+m*f,te+m*a]:["L",J+m*f,te+m*a],v)),w||F.push(["Z"])}return F}function pe(J,te,X,E,j){return j&&j.r?ue(J,te,X,E,j):[["M",J,te],["L",J+X,te],["L",J+X,te+E],["L",J,te+E],["Z"]]}function ue(J,te,X,E,j){let F=j?.r||0;return[["M",J+F,te],["L",J+X-F,te],["A",F,F,0,0,1,J+X,te+F],["L",J+X,te+E-F],["A",F,F,0,0,1,J+X-F,te+E],["L",J+F,te+E],["A",F,F,0,0,1,J,te+E-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,X,E,j){let F=Math.min(j&&j.r||0,X,E),P=F+6,D=j&&j.anchorX,A=j&&j.anchorY||0,I=ue(J,te,X,E,{r:F});if(!re(D)||D0&&A0)return I;if(J+D>X-P)if(A>te+P&&Ate+P&&A0){let _=AE&&DP&&I.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",X-F,te]);return I},circle:function(J,te,X,E){return le(J+X/2,te+E/2,X/2,E/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E/2],["L",J+X/2,te+E],["L",J,te+E/2],["Z"]]},rect:pe,roundedRect:ue,square:pe,triangle:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E],["L",J,te+E],["Z"]]},"triangle-down":function(J,te,X,E){return[["M",J,te],["L",J+X,te],["L",J+X/2,te+E],["Z"]]}}}),Le(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{doc:ve,SVG_NS:le,win:pe}=ne,{attr:ue,extend:J,fireEvent:te,isString:X,objectEach:E,pick:j}=re;return class{constructor(F){let P=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!(!P||"ellipsis"!==P.textOverflow),this.noWrap=!(!P||"nowrap"!==P.whiteSpace)}buildSVG(){let F=this.svgElement,P=F.element,D=F.renderer,A=j(F.textStr,"").toString(),I=-1!==A.indexOf("<"),_=P.childNodes,m=!F.added&&D.box,w=[A,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(w!==F.textCache){F.textCache=w,delete F.actualWidth;for(let G=_.length;G--;)P.removeChild(_[G]);if(I||this.ellipsis||this.width||F.textPath||-1!==A.indexOf(" ")&&(!this.noWrap||//g.test(A))){if(""!==A){m&&m.appendChild(P);let G=new q(A);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&-1!==(P.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),m&&m.removeChild(P)}}else P.appendChild(ve.createTextNode(this.unescapeEntities(A)));X(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,P=this.svgElement,D=ue(P.element,"x");for(P.firstLineMetrics=void 0;(F=P.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)P.element.removeChild(F);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(m,w)=>{m.nextSibling&&m.previousSibling&&(0===w&&1===m.previousSibling.nodeType&&(P.firstLineMetrics=P.renderer.fontMetrics(m.previousSibling)),ue(m,{dy:this.getLineHeight(m.nextSibling),x:D}))});let A=this.width||0;if(!A)return;let I=(m,w)=>{let G=m.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),a=this.getLineHeight(w),g=0,v=P.actualWidth;if(this.ellipsis)G&&this.truncate(m,G,void 0,0,Math.max(0,A-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;w.firstChild&&w.firstChild!==m;)n.push(w.firstChild),w.removeChild(w.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(m.textContent||""),m.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(m,void 0,O,0===g&&v||0,A,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),v=P.actualWidth,g++;n.forEach(r=>{w.insertBefore(r,m)}),o.forEach(r=>{w.insertBefore(ve.createTextNode(r),m);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",ue(l,{dy:a,x:D}),w.insertBefore(l,m)})}},_=m=>{[].slice.call(m.childNodes).forEach(w=>{w.nodeType===pe.Node.TEXT_NODE?I(w,m):(-1!==w.className.baseVal.indexOf("highcharts-br")&&(P.actualWidth=0),_(w))})};_(P.element)}getLineHeight(F){let P=F.nodeType===pe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(F){let P=(D,A)=>{let{attributes:I={},children:_,style:m={},tagName:w}=D,G=this.renderer.styledMode;if("b"===w||"strong"===w?G?I.class="highcharts-strong":m.fontWeight="bold":("i"===w||"em"===w)&&(G?I.class="highcharts-emphasized":m.fontStyle="italic"),m&&m.color&&(m.fill=m.color),"br"===w){I.class="highcharts-br",D.textContent="\u200b";let O=F[A+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===w&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==w&&"a"!==w&&(D.tagName="tspan"),J(D,{attributes:I,style:m}),_&&_.filter(O=>"#text"!==O.tagName).forEach(P)};F.forEach(P),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,P,D,A,I,_){let m,w,G=this.svgElement,{rotation:O}=G,f=[],a=D?1:0,g=(P||D||"").length,v=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=A+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(G.rotation=0,A+(w=o(F.textContent.length))>I){for(;a<=g;)v=Math.ceil((a+g)/2),D&&(m=_(D,v)),w=o(v,m&&m.length-1),a===g?a=g+1:w>I?g=v-1:a=v;0===g?F.textContent="":P&&g===P.length-1||(F.textContent=m||_(P||D,v))}D&&D.splice(0,v),G.actualWidth=w,G.rotation=O}unescapeEntities(F,P){return E(this.renderer.escapes,function(D,A){P&&-1!==P.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),A))}),F}}}),Le(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let X,{charts:E,deg2rad:j,doc:F,isFirefox:P,isMS:D,isWebKit:A,noop:I,SVG_NS:_,symbolSizes:m,win:w}=re,{addEvent:G,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:v,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:T,uniqueKey:B}=te;class z{constructor(U,se,S,$,H,x,N){let R,Z,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=Y.element;N||Y.css(this.getStyle($||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(se,S,!1),P&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),Z=U.getBoundingClientRect(),a(U,{left:Math.ceil(Z.left)-Z.left+"px",top:Math.ceil(Z.top)-Z.top+"px"})})(),this.unSubPixelFix=G(w,"resize",R))}definition(U){return new q([U]).addToDOM(this.defs.element)}getReferenceURL(){if((P||A)&&F.getElementsByTagName("base").length){if(!g(X)){let U=B(),se=new q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let S=F.elementFromPoint(6,6);X="hitme"===(S&&S.id),F.body.removeChild(se)}if(X)return T(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),v(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map($=>`${$}-${U[$]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),S=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:S.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:S.offsetX,dy:S.offsetY,"flood-color":S.color,"flood-opacity":Math.min(5*S.opacity,1),stdDeviation:S.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ne.parse(U).rgba.map($=>{let H=$/255;return H<=.03928?H/12.92:Math.pow((H+.055)/1.055,2.4)}),S=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(S+.05)>(S+.05)/.05?"#FFFFFF":"#000000"}button(U,se,S,$,H={},x,N,R,Z,Y){let he,ge,_e,Te=this.label(U,se,S,Z,void 0,void 0,Y,void 0,"button"),Oe=this.styledMode,De=H.states||{},Be=0;delete(H=C(H)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},H.style);delete H.style;let ee=q.filterUserAttributes(H);return Te.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},q.filterUserAttributes(x||De.hover||{}))).style,delete x.style,ge=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},q.filterUserAttributes(N||De.select||{}))).style,delete N.style,_e=(R=C(ee,{style:{color:"#cccccc"}},q.filterUserAttributes(R||De.disabled||{}))).style,delete R.style),G(Te.element,D?"mouseover":"mouseenter",function(){3!==Be&&Te.setState(1)}),G(Te.element,D?"mouseout":"mouseleave",function(){3!==Be&&Te.setState(Be)}),Te.setState=function(be){if(1!==be&&(Te.state=Be=be),Te.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][be||0]),!Oe){Te.attr([ee,x,N,R][be||0]);let xe=[oe,he,ge,_e][be||0];l(xe)&&Te.css(xe)}},!Oe&&(Te.attr(ee).css(o({cursor:"default"},oe)),Y&&Te.text.css({pointerEvents:"none"})),Te.on("touchstart",be=>be.stopPropagation()).on("click",function(be){3!==Be&&$.call(Te,be)})}crispLine(U,se,S="round"){let $=U[0],H=U[1];return g($[1])&&$[1]===H[1]&&($[1]=H[1]=Math[S]($[1])-se%2/2),g($[2])&&$[2]===H[2]&&($[2]=H[2]=Math[S]($[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,S){let $=l(U)?U:void 0===U?{}:{x:U,y:se,r:S},H=this.createElement("circle");return H.xSetter=H.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},H.attr($)}arc(U,se,S,$,H,x){let N;l(U)?(se=(N=U).y,S=N.r,$=N.innerR,H=N.start,x=N.end,U=N.x):N={innerR:$,start:H,end:x};let R=this.symbol("arc",U,se,S,S,N);return R.r=S,R}rect(U,se,S,$,H,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:H,width:Math.max(S||0,0),height:Math.max($||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(Z,Y,he){R.r=Z,O(he,{rx:Z,ry:Z})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,S){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(S,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,S,$,H,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(S)&&(N.y=S),r($)&&(N.width=$),r(H)&&(N.height=H);let R=this.createElement("image").attr(N),Z=function(Y){R.attr({href:U}),x.call(R,Y)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new w.Image;G(Y,"load",Z),Y.src=U,Y.complete&&Z({})}else R.attr({href:U});return R}symbol(U,se,S,$,H,x){let N,R,Z,Y,he=this,ge=/^url\((.*?)\)$/,_e=ge.test(U),Te=!_e&&(this.symbols[U]?U:"circle"),Oe=Te&&this.symbols[Te];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(S||0),$||0,H||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Te||void 0,x:se,y:S,width:$,height:H}),x&&o(N,x);else if(_e){Z=U.match(ge)[1];let De=N=this.image(Z);De.imgwidth=k(x&&x.width,m[Z]&&m[Z].width),De.imgheight=k(x&&x.height,m[Z]&&m[Z].height),Y=Be=>Be.attr({width:Be.width,height:Be.height}),["width","height"].forEach(Be=>{De[`${Be}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:be,element:xe,width:Ie,height:we,imgwidth:Ee,imgheight:Me}=this,Xe="width"===ee?Ee:Me,Je=1;x&&"within"===x.backgroundSize&&Ie&&we&&Ee&&Me?(Je=Math.min(Ie/Ee,we/Me),O(xe,{width:Math.round(Ee*Je),height:Math.round(Me*Je)})):xe&&Xe&&xe.setAttribute(ee,Xe),!be&&Ee&&Me&&this.translate(((Ie||0)-Ee*Je)/2,((we||0)-Me*Je)/2)}}),g(se)&&De.attr({x:se,y:S}),De.isImg=!0,g(De.imgwidth)&&g(De.imgheight)?Y(De):(De.attr({width:0,height:0}),f("img",{onload:function(){let Be=E[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),m[Z]={width:this.width,height:this.height},De.imgwidth=this.width,De.imgheight=this.height,De.element&&Y(De),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Be||Be.hasLoaded||Be.onload()},src:Z}),this.imgCount++)}return N}clipRect(U,se,S,$){return this.rect(U,se,S,$,0)}text(U,se,S,$){let H={};if($&&(this.allowHTML||!this.forExport))return this.html(U,se,S);H.x=Math.round(se||0),S&&(H.y=Math.round(S)),g(U)&&(H.text=U);let x=this.createElement("text").attr(H);return $&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,Z){let Y=Z.getElementsByTagName("tspan"),he=Z.getAttribute(R);for(let _e,ge=0;geU.align())}}return o(z.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ue,draw:I}),ve.registerRendererType("svg",z,!0),z}),Le(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{composed:le}=ne,{attr:pe,css:ue,createElement:J,defined:te,extend:X,pInt:E,pushUnique:j}=ve;function F(I,_,m){let w=this.div?.style||m.style;re.prototype[`${_}Setter`].call(this,I,_,m),w&&(w[_]=I)}let P=(I,_)=>{if(!I.div){let m=pe(I.element,"class"),w=I.css,G=J("div",m?{className:m}:void 0,{position:"absolute",left:`${I.translateX||0}px`,top:`${I.translateY||0}px`,...I.styles,display:I.display,opacity:I.opacity,visibility:I.visibility},I.parentGroup?.div||_);I.classSetter=(O,f,a)=>{a.setAttribute("class",O),G.className=O},I.translateXSetter=I.translateYSetter=(O,f)=>{I[f]=O,G.style["translateX"===f?"left":"top"]=`${O}px`,I.doTransform=!0},I.opacitySetter=I.visibilitySetter=F,I.css=O=>(w.call(I,O),O.cursor&&(G.style.cursor=O.cursor),O.pointerEvents&&(G.style.pointerEvents=O.pointerEvents),I),I.on=function(){return re.prototype.on.apply({element:G,onEvents:I.onEvents},arguments),I},I.div=G}return I.div};class D extends re{static compose(_){j(le,this.compose)&&(_.prototype.html=function(m,w,G){return new D(this,"span").attr({text:m,x:Math.round(w),y:Math.round(G)})})}constructor(_,m){super(_,m),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,m,w){this.xCorr=-_*w,this.yCorr=-m}css(_){let m,{element:w}=this,G="SPAN"===w.tagName&&_&&"width"in _,O=G&&_.width;return G&&(delete _.width,this.textWidth=E(O)||void 0,m=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),X(this.styles,_),ue(w,_),m&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:m,rotation:w,rotationOriginX:G,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:v=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(ue(_,{marginLeft:`${v}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[w,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(ue(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(ue(_,{width:U>se||w?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=m.fontMetrics(_).b,te(w)&&(w!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(w,C,C),this.getSpanCorrection(!te(w)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:T=0,yCorr:B=0}=this;ue(_,{left:`${n+T}px`,top:`${r+B}px`,transformOrigin:`${(G??n)-T-n-C}px ${(O??r)-B-r-C}px`}),this.cTT=d,this.oldRotation=w,this.oldAlign=a}}setSpanRotation(_,m,w){ue(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${m}% ${w}px`})}add(_){let m,w=this.renderer.box.parentNode,G=[];if(this.parentGroup=_,_&&!(m=_.div)){let O=_;for(;O;)G.push(O),O=O.parentGroup;for(let f of G.reverse())m=P(f,w)}return(m||w).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,q.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,m){this[m]=_,this.doTransform=!0}}let A=D.prototype;return A.visibilitySetter=A.opacitySetter=F,A.ySetter=A.rotationSetter=A.rotationOriginXSetter=A.rotationOriginYSetter=A.xSetter,D}),Le(V,"Core/Axis/AxisDefaults.js",[],function(){var q,ne;return(ne=q||(q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ne.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},q}),Le(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(q){var ne;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:pe}=q;return(ne||(ne={})).registerEventOptions=function(ue,J){ue.eventOptions=ue.eventOptions||{},le(J.events,function(te,X){ue.eventOptions[X]!==te&&(ue.eventOptions[X]&&(pe(ue,X,ue.eventOptions[X]),delete ue.eventOptions[X]),ve(te)&&(ue.eventOptions[X]=te,re(ue,X,te,{order:0})))})},ne}),Le(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{deg2rad:ve}=ne,{clamp:le,correctFloat:pe,defined:ue,destroyObjectProperties:J,extend:te,fireEvent:X,isNumber:E,merge:j,objectEach:F,pick:P}=re;return class{constructor(D,A,I,_,m){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=A,this.type=I||"",this.parameters=m||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,X(this,"init"),I||_||this.addLabel()}addLabel(){let l,d,C,D=this,A=D.axis,I=A.options,_=A.chart,m=A.categories,w=A.logarithmic,G=A.names,O=D.pos,f=P(D.options&&D.options.labels,I.labels),a=A.tickPositions,g=O===a[0],v=O===a[a.length-1],o=(!f.step||1===f.step)&&1===A.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(m?P(m[O],G[O],O):O);w&&E(k)&&(k=pe(w.lin2log(k))),A.dateTime&&(n?l=(d=_.time.resolveDTLFormat(I.dateTimeLabelFormats[!I.grid&&n.higherRanks[O]||n.unitName])).main:E(k)&&(l=A.dateTime.getXDateFormat(k,I.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=v;let p={axis:A,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:v,pos:O,tick:D,tickPositionInfo:n,value:k};X(this,"labelFormat",p);let T=K=>f.formatter?f.formatter.call(K,K):f.format?(K.text=A.defaultLabelFormatter.call(K),q.format(f.format,K,_)):A.defaultLabelFormatter.call(K),B=T.call(p,p),z=d&&d.list;D.shortenLabel=z?function(){for(C=0;C0&&_+g*v>O&&(k=Math.round((m-_)/Math.cos(a*ve))):(d=_-g*v,C=_+(1-g)*v,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||A.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(I.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,A){let G,I=this,_=I.label,m=I.axis,w=!1;_&&_.textStr===D?(I.movedLabel=_,w=!0,delete I.label):F(m.ticks,function(O){w||O.isNew||O===I||!O.label||O.label.textStr!==D||(I.movedLabel=O.label,w=!0,O.labelPos=I.movedLabel.xy,delete O.label)}),!w&&(I.labelPos||_)&&(G=I.labelPos||_.xy,I.movedLabel=I.createLabel(D,A,G),I.movedLabel&&I.movedLabel.attr({opacity:0}))}render(D,A,I){let _=this.axis,m=_.horiz,w=this.pos,G=P(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(m,w,G,A),f=O.x,a=O.y,g=_.pos,v=g+_.len,o=m&&f===v||!m&&a===g?-1:1,n=m?f:a;!_.chart.polar&&this.isNew&&(pe(n)v)&&(I=0);let r=P(I,this.label&&this.label.newOpacity,1);I=P(I,1),this.isActive=!0,this.renderGridLine(A,I,o),this.renderMark(O,I,o),this.renderLabel(O,A,r,D),this.isNew=!1,X(this,"afterRender")}renderGridLine(D,A,I){let v,_=this.axis,m=_.options,w={},G=this.pos,O=this.type,f=P(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=m.gridLineWidth,n=m.gridLineColor,r=m.gridLineDashStyle;"minor"===this.type&&(o=m.minorGridLineWidth,n=m.minorGridLineColor,r=m.minorGridLineDashStyle),g||(_.chart.styledMode||(w.stroke=n,w["stroke-width"]=o||0,w.dashstyle=r),O||(w.zIndex=1),D&&(A=0),this.gridLine=g=a.path().attr(w).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(v=_.getPlotLinePath({value:G+f,lineWidth:g.strokeWidth()*I,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:v,opacity:A})}renderMark(D,A,I){let _=this.axis,m=_.options,w=_.chart.renderer,G=this.type,O=_.tickSize(G?G+"Tick":"tick"),f=D.x,a=D.y,g=P(m["minor"!==G?"tickWidth":"minorTickWidth"],!G&&_.isXAxis?1:0),v=m["minor"!==G?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=w.path().addClass("highcharts-"+(G?G+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:v,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*I,_.horiz,w),opacity:A}))}renderLabel(D,A,I,_){let m=this.axis,w=m.horiz,G=m.options,O=this.label,f=G.labels,a=f.step,g=P(this.tickmarkOffset,m.tickmarkOffset),v=D.x,o=D.y,n=!0;O&&E(v)&&(O.xy=D=this.getLabelPosition(v,o,O,w,f,g,_,a),this.isFirst&&!this.isLast&&!G.showFirstLabel||this.isLast&&!this.isFirst&&!G.showLastLabel?n=!1:!w||f.step||f.rotation||A||0===I||this.handleOverflow(D),a&&_%a&&(n=!1),n&&E(D.y)?(D.opacity=I,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,A=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),A.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Le(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{animObject:te}=q,{xAxis:X,yAxis:E}=ne,{defaultOptions:j}=ve,{registerEventOptions:F}=le,{deg2rad:P}=pe,{arrayMax:D,arrayMin:A,clamp:I,correctFloat:_,defined:m,destroyObjectProperties:w,erase:G,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:v,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:T,splat:B,syncTimeout:z}=J,K=(se,S)=>d(S,void 0,void 0,k(se.options.allowDecimals,S<.5||void 0!==se.tickAmount),!!se.tickAmount);f(j,{xAxis:X,yAxis:l(X,E)});class U{constructor(S,$,H){this.init(S,$,H)}init(S,$,H=this.coll){let x="xAxis"===H,N=this.isZAxis||(S.inverted?!x:x);this.chart=S,this.horiz=N,this.isXAxis=x,this.coll=H,a(this,"init",{userOptions:$}),this.opposite=k($.opposite,this.opposite),this.side=k($.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions($);let R=this.options,Z=R.labels,Y=R.type;this.userOptions=$,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===Y||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=m(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,B(S.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===S.axes.indexOf(this)&&(x?S.axes.splice(S.xAxis.length,0,this):S.axes.push(this),v(this,S[this.coll])),S.orderItems(this.coll),this.series=this.series||[],S.inverted&&!this.isZAxis&&x&&!m(this.reversed)&&(this.reversed=!0),this.labelRotation=n(Z.rotation)?Z.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(S){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},j[this.coll],S),a(this,"afterSetOptions",{userOptions:S})}defaultLabelFormatter(){let Te,Oe,S=this.axis,{numberFormatter:$}=this.chart,H=n(this.value)?this.value:NaN,x=S.chart.time,N=S.categories,R=this.dateTimeLabelFormat,Z=j.lang,Y=Z.numericSymbols,he=Z.numericSymbolMagnitude||1e3,ge=S.logarithmic?Math.abs(H):S.tickInterval,_e=Y&&Y.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,H);else if(_e&&Y&&ge>=1e3)for(;_e--&&void 0===Oe;)ge>=(Te=Math.pow(he,_e+1))&&10*H%Te==0&&null!==Y[_e]&&0!==H&&(Oe=$(H/Te,-1)+Y[_e]);return void 0===Oe&&(Oe=Math.abs(H)>=1e4?$(H,-1):$(H,-1,void 0,"")),Oe}getSeriesExtremes(){let S,$=this;a(this,"getSeriesExtremes",null,function(){$.hasVisibleSeries=!1,$.dataMin=$.dataMax=$.threshold=void 0,$.softThreshold=!$.isXAxis,$.series.forEach(H=>{if(H.reserveSpace()){let N,Z,Y,x=H.options,R=x.threshold;if($.hasVisibleSeries=!0,$.positiveValuesOnly&&0>=(R||0)&&(R=void 0),$.isXAxis)(N=H.xData)&&N.length&&(N=$.logarithmic?N.filter(he=>he>0):N,Z=(S=H.getXExtremes(N)).min,Y=S.max,n(Z)||Z instanceof Date||(N=N.filter(n),Z=(S=H.getXExtremes(N)).min,Y=S.max),N.length&&($.dataMin=Math.min(k($.dataMin,Z),Z),$.dataMax=Math.max(k($.dataMax,Y),Y)));else{let he=H.applyExtremes();n(he.dataMin)&&(Z=he.dataMin,$.dataMin=Math.min(k($.dataMin,Z),Z)),n(he.dataMax)&&(Y=he.dataMax,$.dataMax=Math.max(k($.dataMax,Y),Y)),m(R)&&($.threshold=R),(!x.softThreshold||$.positiveValuesOnly)&&($.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(S,$,H,x,N,R){let Z=this.linkedParent||this,Y=x&&Z.old?Z.old.min:Z.min;if(!n(Y))return NaN;let he=Z.minPixelPadding,ge=(Z.isOrdinal||Z.brokenAxis?.hasBreaks||Z.logarithmic&&N)&&Z.lin2val,_e=1,Te=0,Oe=x&&Z.old?Z.old.transA:Z.transA,De=0;if(Oe||(Oe=Z.transA),H&&(_e*=-1,Te=Z.len),Z.reversed&&(_e*=-1,Te-=_e*(Z.sector||Z.len)),$)De=(S=S*_e+Te-he)/Oe+Y,ge&&(De=Z.lin2val(De));else{ge&&(S=Z.val2lin(S));let Be=_e*(S-Y)*Oe;De=(Z.isRadial?Be:_(Be))+Te+_e*he+(n(R)?Oe*R:0)}return De}toPixels(S,$){return this.translate(S,!1,!this.horiz,void 0,!0)+($?0:this.pos)}toValue(S,$){return this.translate(S-($?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(S){let De,Be,oe,ee,be,$=this,H=$.chart,x=$.left,N=$.top,R=S.old,Z=S.value,Y=S.lineWidth,he=R&&H.oldChartHeight||H.chartHeight,ge=R&&H.oldChartWidth||H.chartWidth,_e=$.transB,Te=S.translatedValue,Oe=S.force;function xe(we,Ee,Me){return"pass"!==Oe&&(weMe)&&(Oe?we=I(we,Ee,Me):be=!0),we}let Ie={value:Z,lineWidth:Y,old:R,force:Oe,acrossPanes:S.acrossPanes,translatedValue:Te};return a(this,"getPlotLinePath",Ie,function(we){De=oe=Math.round((Te=I(Te=k(Te,$.translate(Z,void 0,void 0,R)),-1e5,1e5))+_e),Be=ee=Math.round(he-Te-_e),n(Te)?$.horiz?(Be=N,ee=he-$.bottom+(H.scrollablePixelsY||0),De=oe=xe(De,x,x+$.width)):(De=x,oe=ge-$.right+(H.scrollablePixelsX||0),Be=ee=xe(Be,N,N+$.height)):(be=!0,Oe=!1),we.path=be&&!Oe?void 0:H.renderer.crispLine([["M",De,Be],["L",oe,ee]],Y||1)}),Ie.path}getLinearTickPositions(S,$,H){let x,N,R,Z=_(Math.floor($/S)*S),Y=_(Math.ceil(H/S)*S),he=[];if(_(Z+S)===Z&&(R=20),this.single)return[$];for(x=Z;x<=Y&&(he.push(x),(x=_(x+S,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:S,minorTickInterval:$}=this.options;return!0===S?k($,"auto"):!1!==S?$:void 0}getMinorTickPositions(){let he,S=this.options,$=this.tickPositions,H=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,Z=R-N,Y=[];if(Z&&Z/H(ge.xIncrement?ge.xData?.slice(0,2):ge.xData)||[]))||0),this.dataMax-this.dataMin)),n(H)&&n(x)&&n(N)&&H-x=N,R=(N-H+x)/2,Y=[x-R,k(S.min,x-R)],Z&&(Y[2]=$?$.log2lin(this.dataMin):this.dataMin),he=[(x=D(Y))+N,k(S.max,x+N)],Z&&(he[2]=$?$.log2lin(this.dataMax):this.dataMax),(H=A(he))-xx-N),S=g([H]))}return S&&$?Math.min(S,$):S||$}nameToX(S){let N,$=o(this.options.categories),H=$?this.categories:this.names,x=S.options.x;return S.series.requireSorting=!1,m(x)||(x=this.options.uniqueNames&&H?$?H.indexOf(S.name):k(H.keys[S.name],-1):S.series.autoIncrement()),-1===x?!$&&H&&(N=H.length):N=x,void 0!==N?(this.names[N]=S.name,this.names.keys[S.name]=N):S.x&&(N=S.x),N}updateNames(){let S=this,$=this.names;$.length>0&&(Object.keys($.keys).forEach(function(H){delete $.keys[H]}),$.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(H=>{H.xIncrement=null,(!H.points||H.isDirtyData)&&(S.max=Math.max(S.max,H.xData.length-1),H.processData(),H.generatePoints()),H.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=S.nameToX(x))&&R!==x.x&&(x.x=R,H.xData[N]=R)})}))}setAxisTranslation(){let Z,ge,S=this,$=S.max-S.min,H=S.linkedParent,x=!!S.categories,N=S.isXAxis,R=S.axisPointRange||0,Y=0,he=0,_e=S.transA;(N||x||R)&&(Z=S.getClosest(),H?(Y=H.minPointOffset,he=H.pointRangePadding):S.series.forEach(function(Te){let Oe=x?1:N?k(Te.options.pointRange,Z,0):S.axisPointRange||0,De=Te.options.pointPlacement;if(R=Math.max(R,Oe),!S.single||x){let Be=Te.is("xrange")?!N:N;Y=Math.max(Y,Be&&r(De)?0:Oe/2),he=Math.max(he,Be&&"on"===De?0:Oe)}}),ge=S.ordinal&&S.ordinal.slope&&Z?S.ordinal.slope/Z:1,S.minPointOffset=Y*=ge,S.pointRangePadding=he*=ge,S.pointRange=Math.min(R,S.single&&x?1:$),N&&Z&&(S.closestPointRange=Z)),S.translationSlope=S.transA=_e=S.staticScale||S.len/($+he||1),S.transB=S.horiz?S.left:S.bottom,S.minPixelPadding=_e*Y,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:S,min:$}=this;return n(S)&&n($)&&S-$||void 0}setTickInterval(S){let Me,Je,lt,qe,st,{categories:$,chart:H,dataMax:x,dataMin:N,dateTime:R,isXAxis:Z,logarithmic:Y,options:he,softThreshold:ge}=this,_e=n(this.threshold)?this.threshold:void 0,Te=this.minRange||0,{ceiling:Oe,floor:De,linkedTo:Be,softMax:oe,softMin:ee}=he,be=n(Be)&&H[this.coll]?.[Be],xe=he.tickPixelInterval,Ie=he.maxPadding,we=he.minPadding,Ee=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||$||be||this.getTickAmount(),qe=k(this.userMin,he.min),st=k(this.userMax,he.max),be?(this.linkedParent=be,Me=be.getExtremes(),this.min=k(Me.min,Me.dataMin),this.max=k(Me.max,Me.dataMax),he.type!==be.options.type&&O(11,!0,H)):(ge&&m(_e)&&n(x)&&n(N)&&(N>=_e?(Je=_e,we=0):x<=_e&&(lt=_e,Ie=0)),this.min=k(qe,Je,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(Y&&(this.positiveValuesOnly&&!S&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,H),this.min=_(Y.log2lin(this.min),16),this.max=_(Y.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),$||this.axisPointRange||this.stacking?.usePercentage||be||!(Ee=this.max-this.min)||(!m(qe)&&we&&(this.min-=Ee*we),m(st)||!Ie||(this.max+=Ee*Ie)),!n(this.userMin)&&n(De)&&(this.min=Math.max(this.min,De)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),ge&&n(N)&&n(x)){let pt=_e||0;!m(qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Te):pt:!m(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Te):pt)}!H.polar&&this.min>this.max&&(m(he.min)?this.max=this.min:m(he.max)&&(this.min=this.max)),Ee=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?be&&!Xe&&xe===be.options.tickPixelInterval?Xe=be.tickInterval:k(Xe,this.tickAmount?Ee/Math.max(this.tickAmount-1,1):void 0,$?1:Ee*xe/Math.max(this.len,xe)):1,Z&&!S){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Tt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))Y=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)Y=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,S.units),this.min,this.max,S.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)Y=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let ge=this.tickInterval,_e=ge;for(;_e<=2*ge&&(Y=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&Y.length>this.tickAmount);)this.tickInterval=K(this,_e*=1.1)}Y.length>this.len&&(Y=[Y[0],Y[Y.length-1]])[0]===Y[1]&&(Y.length=1),H&&(this.tickPositions=Y,(he=H.apply(this,[this.min,this.max]))&&(Y=he))}this.tickPositions=Y,this.paddedTicks=Y.slice(0),this.trimTicks(Y,R,Z),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&Y.length<2&&!this.categories&&!this.series.some(ge=>ge.is("heatmap")&&"between"===ge.options.pointPlacement)&&(this.min-=.5,this.max+=.5),$||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(S,$,H){let x=S[0],N=S[S.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if($&&x!==-1/0)this.min=x;else for(;this.min-R>S[0];)S.shift();if(H)this.max=N;else for(;this.max+R{let{horiz:Te,options:Oe}=_e;return[Te?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},ge=he(this);H[this.coll].forEach(function(_e){let{series:Te}=_e;Te.length&&Te.some(Oe=>Oe.visible)&&_e!==$&&he(_e)===ge&&(S=!0,x.push(_e))})}if(S&&Z){x.forEach(ge=>{let _e=ge.getThresholdAlignment($);n(_e)&&Y.push(_e)});let he=Y.length>1?Y.reduce((ge,_e)=>ge+_e,0)/Y.length:void 0;x.forEach(ge=>{ge.thresholdAlignment=he})}return S}getThresholdAlignment(S){if((!n(this.dataMin)||this!==S&&this.series.some($=>$.isDirty||$.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let $=I((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&($=1-$),$}}getTickAmount(){let S=this.options,$=S.tickPixelInterval,H=S.tickAmount;m(S.tickInterval)||H||!(this.len<$)||this.isRadial||this.logarithmic||!S.startOnTick||!S.endOnTick||(H=2),!H&&this.alignToOthers()&&(H=Math.ceil(this.len/$)+1),H<4&&(this.finalTickAmt=H,H=5),this.tickAmount=H}adjustTickAmount(){let _e,Te,De,S=this,{finalTickAmt:$,max:H,min:x,options:N,tickPositions:R,tickAmount:Z,thresholdAlignment:Y}=S,he=R?.length,ge=k(S.threshold,S.softThreshold?0:null),Oe=S.tickInterval,Be=()=>R.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(Y)&&(De=Y<.5?Math.ceil(Y*(Z-1)):Math.floor(Y*(Z-1)),N.reversed&&(De=Z-1-De)),S.hasData()&&n(x)&&n(H)){let ee=()=>{S.transA*=(he-1)/(Z-1),S.min=N.startOnTick?R[0]:Math.min(x,R[0]),S.max=N.endOnTick?R[R.length-1]:Math.max(H,R[R.length-1])};if(n(De)&&n(S.threshold)){for(;R[De]!==ge||R.length!==Z||R[0]>x||R[R.length-1]S.threshold?oe():Be();if(Oe>8*S.tickInterval)break;Oe*=2}ee()}else if(he0&&Te<_e-1)&&R.splice(Te,1);S.finalTickAmt=void 0}}}setScale(){let{coll:S,stacking:$}=this,H=!1,x=!1;this.series.forEach(R=>{H=H||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||H||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?($&&"yAxis"===S&&$.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),$&&"xAxis"===S&&$.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):$&&$.cleanStacks(),H&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(S,$,H=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:S,max:$}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,H&&this.chart.redraw(x)})}setAxisSize(){let S=this.chart,$=this.options,H=$.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k($.width,S.plotWidth-H[3]+H[1]),S.plotWidth)),R=this.height=Math.round(p(k($.height,S.plotHeight-H[0]+H[2]),S.plotHeight)),Z=this.top=Math.round(p(k($.top,S.plotTop+H[0]),S.plotHeight,S.plotTop)),Y=this.left=Math.round(p(k($.left,S.plotLeft+H[3]),S.plotWidth,S.plotLeft));this.bottom=S.chartHeight-R-Z,this.right=S.chartWidth-N-Y,this.len=Math.max(x?N:R,0),this.pos=x?Y:Z}getExtremes(){let S=this.logarithmic;return{min:S?_(S.lin2log(this.min)):this.min,max:S?_(S.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(S){let $=this.logarithmic,H=$?$.lin2log(this.min):this.min,x=$?$.lin2log(this.max):this.max;return null===S||S===-1/0?S=H:S===1/0?S=x:H>S?S=H:x15&&$<165?x.align="right":$>195&&$<345&&(x.align="left")}),H.align}tickSize(S){let N,$=this.options,H=k($["tick"===S?"tickWidth":"minorTickWidth"],"tick"===S&&this.isXAxis&&!this.categories?1:0),x=$["tick"===S?"tickLength":"minorTickLength"];H&&x&&("inside"===$[S+"Position"]&&(x=-x),N=[x,H]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let S=this.chart.renderer,$=this.ticks,H=$[Object.keys($)[0]]||{};return this.chart.renderer.fontMetrics(H.label||H.movedLabel||S.box)}unsquish(){let ge,Te,S=this.options.labels,$=this.horiz,H=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/H),N=S.rotation,R=this.labelMetrics().h,Z=Math.max(this.max-this.min,0),Y=function(Oe){let De=Oe/(x||1);return(De=De>1?Math.ceil(De):1)*H>Z&&Oe!==1/0&&x!==1/0&&Z&&(De=Math.ceil(Z/H)),_(De*H)},he=H,_e=Number.MAX_VALUE;if($){if(!S.staggerLines&&(n(N)?Te=[N]:x=-90&&Be<=90)&&(De=(Oe=Y(Math.abs(R/Math.sin(P*Be))))+Math.abs(Be/360))<_e&&(_e=De,ge=Be,he=Oe)}}else he=Y(.75*R);return this.autoRotation=Te,this.labelRotation=k(ge,n(N)?N:0),S.step?H:he}getSlotWidth(S){let $=this.chart,H=this.horiz,x=this.options.labels,N=Math.max(this.tickPositions.length-(this.categories?0:1),1),R=$.margin[3];if(S&&n(S.slotWidth))return S.slotWidth;if(H&&x.step<2)return x.rotation?0:(this.staggerLines||1)*this.len/N;if(!H){let Z=x.style.width;if(void 0!==Z)return parseInt(String(Z),10);if(R)return R-$.spacing[3]}return.33*$.chartWidth}renderUnsquish(){let Oe,De,oe,ee,S=this.chart,$=S.renderer,H=this.tickPositions,x=this.ticks,N=this.options.labels,R=N.style,Z=this.horiz,Y=this.getSlotWidth(),he=Math.max(1,Math.round(Y-2*N.padding)),ge={},_e=this.labelMetrics(),Te=R.textOverflow,Be=0;if(r(N.rotation)||(ge.rotation=N.rotation||0),H.forEach(function(be){let xe=x[be];xe.movedLabel&&xe.replaceMovedLabel(),xe&&xe.label&&xe.label.textPxLength>Be&&(Be=xe.label.textPxLength)}),this.maxLabelLength=Be,this.autoRotation)Be>he&&Be>_e.h?ge.rotation=this.labelRotation:this.labelRotation=0;else if(Y&&(Oe=he,!Te))for(De="clip",ee=H.length;!Z&&ee--;)(oe=x[H[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>Y&&oe.css({width:Y+"px"}),oe.getBBox().height>this.len/H.length-(_e.h-_e.f)&&(oe.specificTextOverflow="ellipsis"));ge.rotation&&(Oe=Be>.5*S.chartHeight?.33*S.chartHeight:Be,Te||(De="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(ge.align=this.labelAlign),H.forEach(function(be){let xe=x[be],Ie=xe&&xe.label,we=R.width,Ee={};Ie&&(Ie.attr(ge),xe.shortenLabel?xe.shortenLabel():Oe&&!we&&"nowrap"!==R.whiteSpace&&(OeN.g(Z).attr({zIndex:he}).addClass(`highcharts-${H.toLowerCase()}${Y} `+(this.isRadial?`highcharts-radial-axis${Y} `:"")+(x.className||"")).add(S);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,xe,Ee,Me,S=this,{chart:$,horiz:H,options:x,side:N,ticks:R,tickPositions:Z,coll:Y}=S,he=$.inverted&&!S.isZAxis?[1,0,3,2][N]:N,ge=S.hasData(),_e=x.title,Te=x.labels,Oe=n(x.crossing),De=$.axisOffset,Be=$.clipOffset,oe=[-1,1,1,-1][N],be=0,Ie=0,we=0;if(S.showAxis=ee=ge||x.showEmpty,S.staggerLines=S.horiz&&Te.staggerLines||void 0,S.createGroups(),ge||S.isLinked?(Z.forEach(function(Xe){S.generateTick(Xe)}),S.renderUnsquish(),S.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===S.labelAlign,k(Te.reserveSpace,!Oe&&null,"center"===S.labelAlign||null,S.reserveSpaceDefault)&&Z.forEach(function(Xe){we=Math.max(R[Xe].getLabelSize(),we)}),S.staggerLines&&(we*=S.staggerLines),S.labelOffset=we*(S.opposite?-1:1)):C(R,function(Xe,Je){Xe.destroy(),delete R[Je]}),_e?.text&&!1!==_e.enabled&&(S.addTitle(ee),ee&&!Oe&&!1!==_e.reserveSpace&&(S.titleOffset=be=S.axisTitle.getBBox()[H?"height":"width"],Ie=m(xe=_e.offset)?0:k(_e.margin,H?5:10))),S.renderLine(),S.offset=oe*k(x.offset,De[N]?De[N]+(x.margin||0):0),S.tickRotCorr=S.tickRotCorr||{x:0,y:0},Me=0===N?-S.labelMetrics().h:2===N?S.tickRotCorr.y:0,Ee=Math.abs(we)+Ie,we&&(Ee-=Me,Ee+=oe*(H?k(Te.y,S.tickRotCorr.y+oe*Te.distance):k(Te.x,oe*Te.distance))),S.axisTitleMargin=k(xe,Ee),S.getMaxLabelDimensions&&(S.maxLabelDimensions=S.getMaxLabelDimensions(R,Z)),"colorAxis"!==Y){let Xe=this.tickSize("tick");De[N]=Math.max(De[N],(S.axisTitleMargin||0)+be+oe*S.offset,Ee,Z&&Z.length&&Xe?Xe[0]+oe*S.offset:0);let Je=!S.axisLine||x.offset?0:2*Math.floor(S.axisLine.strokeWidth()/2);Be[he]=Math.max(Be[he],Je)}a(this,"afterGetOffset")}getLinePath(S){let $=this.chart,H=this.opposite,x=this.offset,N=this.horiz,R=this.left+(H?this.width:0)+x,Z=$.chartHeight-this.bottom-(H?this.height:0)+x;return H&&(S*=-1),$.renderer.crispLine([["M",N?this.left:R,N?Z:this.top],["L",N?$.chartWidth-this.right:R,N?Z:$.chartHeight-this.bottom]],S)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(S){let $=this.horiz,H=this.left,x=this.top,N=this.len,R=this.options.title,Z=$?H:x,Y=this.opposite,he=this.offset,ge=R.x,_e=R.y,Te=this.chart.renderer.fontMetrics(S),Oe=S?Math.max(S.getBBox(!1,0).height-Te.h-1,0):0,De={low:Z+($?0:N),middle:Z+N/2,high:Z+($?N:0)}[R.align],Be=($?x+this.height:H)+($?1:-1)*(Y?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Te.f,-Oe][this.side],oe={x:$?De+ge:Be+(Y?this.width:0)+he+ge,y:$?Be+_e-(Y?this.height:0)+he:De+_e};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(S,$){let H=this.minorTicks;H[S]||(H[S]=new ue(this,S,"minor")),$&&H[S].isNew&&H[S].render(null,!0),H[S].render(null,!1,1)}renderTick(S,$,H){let N=this.ticks;(!this.isLinked||S>=this.min&&S<=this.max||this.grid&&this.grid.isColumn)&&(N[S]||(N[S]=new ue(this,S)),H&&N[S].isNew&&N[S].render($,!0,-1),N[S].render($))}render(){let S,$,H=this,x=H.chart,N=H.logarithmic,Z=H.options,Y=H.isLinked,he=H.tickPositions,ge=H.axisTitle,_e=H.ticks,Te=H.minorTicks,Oe=H.alternateBands,De=Z.stackLabels,Be=Z.alternateGridColor,oe=Z.crossing,ee=H.tickmarkOffset,be=H.axisLine,xe=H.showAxis,Ie=te(x.renderer.globalAnimation);if(H.labelEdge.length=0,H.overlap=!1,[_e,Te,Oe].forEach(function(we){C(we,function(Ee){Ee.isActive=!1})}),n(oe)){let we=this.isXAxis?x.yAxis[0]:x.xAxis[0],Ee=[1,-1,-1,1][this.side];if(we){let Me=we.toPixels(oe,!0);H.horiz&&(Me=we.len-Me),H.offset=Ee*Me}}if(H.hasData()||Y){let we=H.chart.hasRendered&&H.old&&n(H.old.min);H.minorTickInterval&&!H.categories&&H.getMinorTickPositions().forEach(function(Ee){H.renderMinorTick(Ee,we)}),he.length&&(he.forEach(function(Ee,Me){H.renderTick(Ee,Me,we)}),ee&&(0===H.min||H.single)&&(_e[-1]||(_e[-1]=new ue(H,-1,null,!0)),_e[-1].render(-1))),Be&&he.forEach(function(Ee,Me){$=void 0!==he[Me+1]?he[Me+1]+ee:H.max-ee,Me%2==0&&Ee=.5)E=Math.round(E),_=D.getLinearTickPositions(E,j,F);else if(E>=.08){let m,w,G,O,f,a,g;for(m=E>.3?[1,2,4]:E>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],w=Math.floor(j);wj&&(!P||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let m=this.lin2log(j),w=this.lin2log(F),G=P?D.getMinorTickInterval():I.tickInterval;E=ve(E=le("auto"===G?null:G,this.minorAutoInterval,I.tickPixelInterval/(P?5:1)*(w-m)/((P?A/D.tickPositions.length:A)||1))),_=D.getLinearTickPositions(E,m,w).map(this.log2lin),P||(this.minorAutoInterval=E/5)}return P||(D.tickInterval=E),_}lin2log(E){return Math.pow(10,E)}log2lin(E){return Math.log(E)/Math.LN10}}pe.Additions=te}(ne||(ne={})),ne}),Le(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(q){var ne;let{erase:re,extend:ve,isNumber:le}=q;return function(pe){let ue;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,A){let I=this.userOptions,_=new ue(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(I.plotLines||[]).concat(I.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),A){let m=I[A]||[];m.push(D),I[A]=m}this.plotLinesAndBands.push(_)}return _}function X(D){return this.addPlotBandOrLine(D,"plotLines")}function E(D,A,I){let f,g,_=this.getPlotLinePath({value:A,force:!0,acrossPanes:(I=I||this.options).acrossPanes}),m=[],w=this.horiz,G=!le(this.min)||!le(this.max)||Dthis.max&&A>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:I.acrossPanes}),a=1;if(O&&_)for(G&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(K,U=>{m[K].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&P.width>0&&P.height>0&&!l.isFlat?(o=te({align:A&&C&&"center",x:A?!C&&4:10,verticalAlign:!A&&C&&"middle",y:A?C?16:10:C?6:-4,rotation:A&&!C&&90},o),this.renderLabel(o,l,C,w)):n&&n.hide(),this}renderLabel(P,D,A,I){let _=this.axis,w=this.label;w||(this.label=w=_.chart.renderer.text(this.getLabelText(P),0,0,P.useHTML).attr({align:P.textAlign||P.align,rotation:P.rotation,class:"highcharts-plot-"+(A?"band":"line")+"-label"+(P.className||""),zIndex:I}),_.chart.styledMode||w.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},P.style)),w.add());let G=D.xBounds||[D[0][1],D[1][1],A?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],A?D[2][2]:D[0][2]],f=ve(G),a=ve(O);w.align(P,!1,{x:f,y:a,width:re(G)-f,height:re(O)-a}),w.alignValue&&"left"!==w.alignValue||w.css({width:(90===w.rotation?_.height-(w.alignAttr.y-_.top):(P.clip?_.width:_.chart.chartWidth)-(w.alignAttr.x-_.left))+"px"}),w.show(!0)}getLabelText(P){return le(P.formatter)?P.formatter.call(this):P.text}destroy(){ue(this.axis.plotLinesAndBands,this),delete this.axis,pe(this)}}return j}),Le(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{format:ue}=q,{composed:J,doc:te,isSafari:X}=ne,{distribute:E}=re,{addEvent:j,clamp:F,css:P,discardElement:D,extend:A,fireEvent:I,isArray:_,isNumber:m,isString:w,merge:G,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class v{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,T=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-T,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let B=0,z=0;n.forEach(function(K){let U=K.pos(!0);U&&(B+=U[0],z+=U[1])}),B/=n.length,z/=n.length,this.shared&&n.length>1&&r&&(k?B=r.chartX:z=r.chartY),l=[B-T,z-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(w).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,T=ve.getRendererType();this.container=C=ne.doc.createElement("div"),C.className="highcharts-tooltip-container",P(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new T(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:T,ySetter:B}=p;p.xSetter=function(z){T.call(p,n.distance),C&&(C.style.left=z+"px")},p.ySetter=function(z){B.call(p,n.distance),C&&(C.style.top=z+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ne.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let _e,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:T,plotLeft:B,plotTop:z,polar:K}=C,{plotX:U=0,plotY:se=0}=l,S={},$=T&&l.h||0,{height:H,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=be=>be*N.scaleX,Z=be=>be*N.scaleY,Y=be=>{let xe="x"===be;return[be,xe?x:H,xe?n:r].concat(k?[xe?R(n):Z(r),xe?N.left-d+R(U+B):N.top-d+Z(se+z),0,xe?x:H]:[xe?n:r,xe?U+B:se+z,xe?B:z,xe?B+C.plotWidth:z+C.plotHeight])},he=Y("y"),ge=Y("x"),Te=!!l.negative;!K&&C.hoverSeries?.yAxis?.reversed&&(Te=!Te);let Oe=!this.followPointer&&O(l.ttBelow,!K&&!T===Te),De=function(be,xe,Ie,we,Ee,Me,Xe){let Je=k?"y"===be?Z(d):R(d):d,lt=(Ie-we)/2,qe=wexe?pt:pt+$)}},Be=function(be,xe,Ie,we,Ee){if(Eexe-d)return!1;S[be]=Eexe-we/2?xe-we-2:Ee-Ie/2},oe=function(be){[he,ge]=[ge,he],_e=be},ee=()=>{!1!==De.apply(0,he)?!1!==Be.apply(0,ge)||_e||(oe(!0),ee()):_e?S.x=S.y=0:(oe(!0),ee())};return(T&&!K||this.len>1)&&oe(),ee(),S}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),T=C.followPointer||C.len>1;A(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:T?void 0:p?(2*k.anchorX+l)/3:l,anchorY:T?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),T=p[0],B=[],z=d.format,K=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!T.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&T.series.tooltipOptions.followPointer;let S=this.getAnchor(n,r),$=S[0],H=S[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),B.push(R.getLabelConfig())}),(se=T.getLabelConfig()).points=B):se=T.getLabelConfig(),this.len=B.length;let x=w(z)?ue(z,se,l):K.call(se,this),N=T.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=$,Z=H;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,Z=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(Y=>C.isDirectTouch||Y.series.shouldShowTooltip(R,Z)))return void this.hide();{let Y=this.getLabel();(!d.style.width||U)&&Y.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),Y.attr({text:x&&x.join?x.join(""):x}),Y.addClass(this.getClassName(T),!0),U||Y.attr({stroke:d.borderColor||T.color||N.color||"#666666"}),this.updatePosition({plotX:$,plotY:H,negative:T.negative,ttBelow:T.ttBelow,h:S[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}I(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:T,plotTop:B,scrollablePixelsY:z=0,scrollablePixelsX:K,styledMode:U},distance:se,options:S,options:{positioner:$},pointer:H}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof K?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},Z=l.getLabel(),Y=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:ge,top:_e}=H.getChartPosition(),Te=B+N,Oe=0,De=p-z;function Be(we,Ee,Me,Xe,Je=!0){let lt,qe;return Me?(lt=he?0:De,qe=F(we-Xe/2,R.left,R.right-Xe-(l.outside?ge:0))):(lt=Ee-Te,qe=F(qe=Je?we-Xe-se:we+se,Je?qe:R.left,R.right)),{x:qe,y:lt}}w(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(we,Ee,Me){if(!1!==Ee&&""!==Ee){let Xe=r[Me-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Je=Xe.isHeader,lt=Je?l:Xe.series,qe=lt.tt=function(Pt,Gt,ti){let Dt=Pt,{isHeader:It,series:xt}=Gt;if(!Dt){let wt={padding:S.padding,r:S.borderRadius};U||(wt.fill=S.backgroundColor,wt["stroke-width"]=S.borderWidth??1),Dt=Y.label("",0,0,S[It?"headerShape":"shape"],void 0,void 0,S.useHTML).addClass(l.getClassName(Gt,!0,It)).attr(wt).add(Z)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(S.style).attr({stroke:S.borderColor||Gt.color||xt.color||"#333333"}),Dt}(lt.tt,Xe,Ee.toString()),st=qe.getBBox(),Tt=st.width+qe.strokeWidth();Je&&(Oe=st.height,De+=Oe,he&&(Te-=Oe));let{anchorX:pt,anchorY:ht}=function(Pt){let Gt,ti,{isHeader:Dt,plotX:It=0,plotY:xt=0,series:wt}=Pt;if(Dt)Gt=Math.max(T+It,T),ti=B+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(It,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-B+xt,{ignoreX:!0})&&(ti=di.pos+xt)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Pt=st.height+1,Gt=$?$.call(l,Tt,Pt,Xe):Be(pt,ht,Je,Tt);we.push({align:$?0:void 0,anchorX:pt,anchorY:ht,boxWidth:Tt,point:Xe,rank:O(Gt.rank,Je?1:0),size:Pt,target:Gt.y,tt:qe,x:Gt.x})}else qe.isActive=!1}return we},[]);!$&&oe.some(we=>{let{outside:Ee}=l,Me=(Ee?ge:0)+we.anchorX;return MeMe})&&(oe=oe.map(we=>{let{x:Ee,y:Me}=Be(we.anchorX,we.anchorY,we.point.isHeader,we.boxWidth,!1);return A(we,{target:Me,x:Ee})})),l.cleanSplit(),E(oe,De);let ee={left:ge,right:ge};oe.forEach(function(we){let{x:Ee,boxWidth:Me,isHeader:Xe}=we;!Xe&&(l.outside&&ge+Eeee.right&&(ee.right=ge+Ee))}),oe.forEach(function(we){let{x:Ee,anchorX:Me,anchorY:Xe,pos:Je,point:{isHeader:lt}}=we,qe={visibility:void 0===Je?"hidden":"inherit",x:Ee,y:(Je||0)+Te,anchorX:Me,anchorY:Xe};if(l.outside&&Ee0&&(lt||(qe.x=Ee+st,qe.anchorX=Me+st),lt&&(qe.x=(ee.right-ee.left)/2,qe.anchorX=Me+st))}we.tt.attr(qe)});let{container:be,outside:xe,renderer:Ie}=l;if(xe&&be&&Ie){let{width:we,height:Ee,x:Me,y:Xe}=Z.getBBox();Ie.setSize(we+Me,Ee+Xe,!1),be.style.left=ee.left+"px",be.style.top=_e+"px"}X&&Z.attr({opacity:1===Z.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},T=d.xDateFormat,B=d[r?"footerFormat":"headerFormat"];return I(this,"headerFormatter",p,function(z){k&&!T&&m(n.key)&&(T=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&T&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(K){B=B.replace("{point."+K+"}","{point."+K+":"+T+"}")}),l.chart.styledMode&&(B=this.styledModeFormat(B)),z.text=ue(B,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,G(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:T=0,width:B=0}=this.getLabel(),{left:z,top:K,scaleX:U,scaleY:se}=k.getChartPosition(),S=(C.positioner||this.getPosition).call(this,B,T,n),$=(n.plotX||0)+r.plotLeft,H=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(S.x+=z-d,S.y+=K-d),x=(C.borderWidth||0)+2*d+2,p.setSize(B+x,T+x,!1),(1!==U||1!==se)&&(P(l,{transform:`scale(${U}, ${se})`}),$*=U,H*=se),$+=z-S.x,H+=K-S.y),this.move(Math.round(S.x),Math.round(S.y||0),$,H)}}return(pe=v||(v={})).compose=function(o){f(J,"Core.Tooltip")&&j(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new pe(n,n.options.tooltip,this))})},v}),Le(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{animObject:pe}=ne,{defaultOptions:ue}=re,{format:J}=ve,{addEvent:te,erase:X,extend:E,fireEvent:j,getNestedProperty:F,isArray:P,isFunction:D,isNumber:A,isObject:I,pick:_,syncTimeout:m,removeEvent:w,uniqueKey:G}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},v=a.getGraphicalProps();v.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),v.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(E({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let v=this.series,o=v.options.pointValKey||v.pointValKey;return E(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?E(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&v.xAxis&&v.xAxis.hasNames&&(this.x=v.xAxis.nameToX(this)),void 0===this.x&&v?this.x=void 0===g?v.autoIncrement():g:A(a.x)&&v.options.relativeXValue&&(this.x=v.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,v=g.chart,o=g.options.dataSorting,n=v.hoverPoints,r=pe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(w(a),a.destroyElements()),a)delete a[d]};a.legendItem&&v.legend.destroyItem(a),n&&(a.setState(),X(n,a),n.length||(v.hoverPoints=null)),a===v.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),m(l,r.duration)):l(),v.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,v=g.getGraphicalProps(a);v.singular.forEach(function(o){g[o]=g[o].destroy()}),v.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,v){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(v=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),j(o,a,g,v)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,v,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),v=n.length;v--;)o[g=n[v]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,v=a.zoneAxis||"y",n=0;for(o=g[0];this[v]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,v){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,v),this.id??(this.id=G()),this.resolveColor(),a.chart.pointCount++,j(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(a){let l,g=this.series,v=g.options.keys,o=v||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(A(a)||null===a)r[o[0]]=a;else if(P(a))for(!v&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:v,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(A(v)&&A(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-v+d]:[v+d,g+C]}}resolveColor(){let o,n,l,a=this.series,v=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(v||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(v||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,v){return v.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:I(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,v=g.tooltipOptions,o=_(v.valueDecimals,""),n=v.valuePrefix||"",r=v.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,v,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let T=d&&r.hasMockGraphic;d&&(null===r.y?!T:T)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),I(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=I(k.data[n],!0)||I(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(v)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let v=this,o=v.series,n=o.chart;a=_(a,!v.selected),this.selectedStaging=a,v.firePointEvent(a?"select":"unselect",{accumulate:g},function(){v.selected=v.options.selected=a,o.options.data[o.data.indexOf(v)]=v.options,v.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==v&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:v}=this.series.chart;v&&(a=a?v.normalize(a):v.getChartCoordinatesFromPoint(this,g),v.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},v=g.events?.[a];!D(v)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(v)?this.hasImportedEvents&&!v&&this.hcEvents?.[a]&&(w(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,v),this.hasImportedEvents=!0)}setState(a,g){let z,K,U,S,v=this.series,o=this.state,n=v.options.states[a||"normal"]||{},r=ue.plotOptions[v.type].marker&&v.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=v.chart,T=r&&v.markerAttribs,B=v.halo,se=v.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,T&&(z=v.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){K=v.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=K.opacity;v.options.inactiveOtherPoints&&A(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(K,U)}z&&this.graphic.animate(z,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(S=k.symbol||v.symbol,se&&se.currentSymbol!==S&&(se=se.destroy()),z&&(se?se[g?"animate":"attr"]({x:z.x,y:z.y}):S&&(v.stateMarkerGraphic=se=p.renderer.symbol(S,z.x,z.y,z.width,z.height).add(v.markerGroup),se.currentSymbol=S)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(v.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let $=n.halo,H=this.graphic||se,x=H&&H.visibility||"inherit";$&&$.size&&H&&"hidden"!==x&&!this.isCluster?(B||(v.halo=B=p.renderer.path().add(H.parentGroup)),B.show()[g?"animate":"attr"]({d:this.haloPath($.size)}),B.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,v.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),B.point=this,p.styledMode||B.attr(E({fill:this.color||v.color,"fill-opacity":$.opacity},q.filterUserAttributes($.attributes||{})))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide),j(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Le(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{parse:le}=q,{charts:pe,composed:ue}=ne,{addEvent:J,attr:te,css:X,extend:E,find:j,fireEvent:F,isNumber:P,isObject:D,objectEach:A,offset:I,pick:_,pushUnique:m,splat:w}=re;class G{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(v){g=v.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(v){-1===a.indexOf(v)?v.setState("inactive",!0):v.options.inactiveOtherPoints&&v.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ne.chartCount&&(G.unbindDocumentMouseUp&&(G.unbindDocumentMouseUp=G.unbindDocumentMouseUp()),G.unbindDocumentTouchEnd&&(G.unbindDocumentTouchEnd=G.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),A(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,v=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=v.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let K,{chart:a}=this,{mouseDownX:g=0,mouseDownY:v=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,T=n&&f[`${n}Key`],B=f.chartX,z=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(Bl+C&&(B=l+C),zd+k&&(z=d+k),this.hasDragged=Math.sqrt(Math.pow(g-B,2)+Math.pow(v-z,2)),this.hasDragged>10)){K=a.isInsidePlot(g-l,v-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:S}=this.getSelectionMarkerAttrs(B,z);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&K&&!T&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(S),K&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:v}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),v&&f){if(this.hasDragged){let o=this.getSelectionBox(v);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}P(g.index)&&(this.selectionMarker=v.destroy())}g&&P(g.index)&&(X(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let v;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(v,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(v,r)>0)&&(v=r)}),v}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:v}=f.series,o=f.shapeArgs;if(g&&v){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&P(o.x)&&P(o.y)&&(n=o.x,r=o.y),a?{chartX:v.len+v.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+v.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=I(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:v}=f;return v>2&&g>2&&(this.chartPosition.scaleX=a.width/v,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,v,o,n){let C,r=[],l=function(T){return T.visible&&!(!o&&T.directTouch)&&_(T.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(T=>T.stickyTracking&&(k.filter||l)(T));let p=v&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(T){return k.filter?k.filter(T):l(T)&&!T.noSharedTooltip})).forEach(function(T){let B=j(T.points,function(z){return z.x===p.x&&!z.isNull});D(B)&&(T.boosted&&T.boost&&(B=T.boost.getPoint(B)),r.push(B))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,v=this.chart.hoverSeries;this.isDirectTouch=!1,!v||!g||v.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+v.index)&&this.inClass(g,"highcharts-tracker")||v.onMouseOut()}inClass(f,a){let v,g=f;for(;g;){if(v=te(g,"class")){if(-1!==v.indexOf(a))return!0;if(-1!==v.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,v=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=v.pageX-a.left,n=v.pageY-a.top;return E(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,v=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(v.target,"highcharts-tracker")?(F(g.series,"click",E(v,{point:g})),a.hoverPoint&&g.firePointEvent("click",v)):(E(v,this.getCoordinates(v)),a.isInsidePlot(v.chartX-o,v.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",v)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ne.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=pe[_(G.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,v=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(v))&&this.drag(v),!a.openMenu&&(this.inClass(v.target,"highcharts-tracker")||a.isInsidePlot(v.chartX-a.plotLeft,v.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(v))&&(this.inClass(v.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(v))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,v=this.chartPosition,o=this.normalize(f,v);!v||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){pe[_(G.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:v,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),v&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let T=p[0],B=p[1]||T;return{x:T.chartX,y:T.chartY,width:B.chartX-T.chartX,height:B.chartY-T.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,v=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&w(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&w(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),v&&v.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let v=this.chart,n=v.tooltip&&v.tooltip.options.enabled?v.tooltip:void 0,r=!!n&&n.shared,l=a||v.hoverPoint,d=l&&l.series||v.hoverSeries,k=this.getHoverData(l,d,v.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,T=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,B=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==v.hoverPoint||n&&n.isHidden)){if((v.hoverPoints||[]).forEach(function(z){-1===p.indexOf(z)&&z.setState()}),v.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(z){z.setState("hover")}),v.hoverPoint&&v.hoverPoint.firePointEvent("mouseOut"),!l.series)return;v.hoverPoints=p,v.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(B?p:l,f)})}else if(T&&n&&!n.isHidden){let z=n.getAnchor([{}],f);v.isInsidePlot(z[0],z[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:z[0],plotY:z[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(v.container.ownerDocument,"mousemove",z=>pe[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(z)),this.eventsToUnbind.push(this.unDocMouseMove)),v.axes.forEach(function(z){let K,U=_((z.crosshair||{}).snap,!0);!U||(K=v.hoverPoint)&&K.series[z.coll]===z||(K=j(p,se=>se.series&&se.series[z.coll]===z)),K||!U?z.drawCrosshair(f,K):z.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp||(G.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||(G.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ne.charts[_(G.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(G.hoverChartIndex=a.index)}touch(f,a){let g,{chart:v,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),v.isInsidePlot(f.chartX-v.plotLeft,f.chartY-v.plotTop,{visiblePlotOnly:!0})&&!v.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,v=a.zooming.type||"";/touch/.test(f.type)&&(v=_(a.zooming.pinchType,v)),this.zoomX=o=/x/.test(v),this.zoomY=n=/y/.test(v),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=G||(G={})).compose=function(O){m(ue,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},G}),Le(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){var ue;let{animObject:J,setAnimation:te}=q,{format:X}=ne,{composed:E,marginNames:j}=re,{distribute:F}=le,{addEvent:P,createElement:D,css:A,defined:I,discardElement:_,find:m,fireEvent:w,isNumber:G,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:v,syncTimeout:o}=pe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),P(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),P(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),w(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:T,symbol:B}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:z={}}=this,K=z.color,{fillColor:U,fillOpacity:se,lineColor:S,marker:$}=l.options,H=x=>(!d&&(x.fill&&(x.fill=K),x.stroke&&(x.stroke=K)),x);p?.css(O(d?this.itemStyle:z)),T?.attr(H({stroke:S||l.color})),B&&B.attr(H($&&B.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(H({fill:U||l.color,"fill-opacity":U?1:se??.75}))}w(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,z=l.checkbox;if(d&&d.element){let K={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[I(d.translateY)?"animate":"attr"](K,void 0,()=>{w(this,"afterPositionItem",{item:l})})}z&&(z.x=C,z.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let T,B=p.checkbox;B&&(T=l+k+B.y+(this.scrollOffset||0)+3,A(B,{left:d.translateX+p.checkboxOffset+B.x-20+"px",top:T+"px",display:this.proximate||T>l-6&&T1.5*_e?ge.height:_e))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,T=this.itemMarginBottom,B=this.itemMarginTop,z=k?f(d.itemDistance,20):0,K=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>K?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>K&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=B+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=B+this.itemY+T,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=B+p+T,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:z):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!I(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),w(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,B){T.test(p)&&!I(l[B])&&(C[j[B]]=Math.max(C[j[B]],C.legend[(B+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][B]*k[B%2?"x":"y"]+f(k.margin,12)+d[B]+(C.titleOffset[B]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(T){let B,z,U,se,K=k;T.yAxis&&(T.xAxis.options.reversed&&(K=!K),T.points&&(B=m(K?T.points:T.points.slice(0).reverse(),function(S){return G(S.plotY)})),z=this.itemMarginTop+T.legendItem.label.getBBox().height+this.itemMarginBottom,se=T.yAxis.top-d.plotTop,U=T.visible?(B?B.plotY:T.yAxis.height)+(se-.3*z):se+T.yAxis.height,C.push({target:U,size:z,item:T}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},G(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let T,B,z,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),K=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,K||(this.group=K=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(K),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),v(p,(S,$)=>(S.options&&S.options.legendIndex||0)-($.options&&$.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=T=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),B=(this.widthOption||this.offsetWidth)+k,z=this.lastItemY+this.lastLineHeight+this.titleHeight,z=this.handleOverflow(z)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(K)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),B>0&&z>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:B,height:z},se.strokeWidth())),K[T?"show":"hide"](),l.styledMode&&"none"===K.getStyle("display")&&(B=z=0),this.legendWidth=B,this.legendHeight=z,T&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,Z,Y,d=this,C=this.chart,k=C.renderer,p=this.options,T=p.y,B="top"===p.verticalAlign,z=this.padding,K=p.maxHeight,U=p.navigation,se=f(U.animation,!0),S=U.arrowSize||12,$=this.pages,H=this.allItems,x=function(Te){"number"==typeof Te?_e.attr({height:Te}):_e&&(d.clipRect=_e.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Te?"rect("+z+"px,9999px,"+(z+Te)+"px,0)":"auto")},N=function(Te){return d[Te]=k.circle(0,0,1.3*S).translate(S/2,S/2).add(ge),C.styledMode||d[Te].attr("fill","rgba(0,0,0,0.0001)"),d[Te]},he=C.spacingBox.height+(B?-T:T)-z,ge=this.nav,_e=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),K&&(he=Math.min(he,K)),$.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-z,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,H.forEach((Te,Oe)=>{let De=(Y=Te.legendItem||{}).y||0,Be=Math.round(Y.label.getBBox().height),oe=$.length;(!oe||De-$[oe-1]>R&&(Z||De)!==$[oe-1])&&($.push(Z||De),oe++),Y.pageIx=oe-1,Z&&((H[Oe-1].legendItem||{}).pageIx=oe-1),Oe===H.length-1&&De+Be-$[oe-1]>R&&De>$[oe-1]&&($.push(De),Y.pageIx=oe),De!==Z&&(Z=De)}),_e||(_e=d.clipRect=k.clipRect(0,z-2,9999,0),d.contentGroup.clip(_e)),x(R),ge||(this.nav=ge=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,S,S).add(ge),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(ge),this.down=k.symbol("triangle-down",0,0,S,S).add(ge),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):ge&&(x(),this.nav=ge.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,T=this.clipHeight,B=this.options.navigation,z=this.pager,K=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:K,translateY:T+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),z.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?B.inactiveColor:B.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?B.inactiveColor:B.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{w(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},T=k.chart.renderer.boxWrapper,B=l instanceof ve,z="highcharts-legend-"+(B?"point":"series")+"-active",K=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=S=>{k.allItems.forEach($=>{l!==$&&[$].concat($.linkedSeries||[]).forEach(H=>{H.setState(S,!B)})})};for(let S of U)S&&S.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&T.addClass(z),K||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),T.removeClass(z),l.setState()}).on("click",function($){let H="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};T.removeClass(z),$={browserEvent:$},l.firePointEvent?l.firePointEvent(H,$,x):w(l,H,$,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),P(l.checkbox,"click",function(d){w(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(ue=n||(n={})).compose=function(r){a(E,"Core.Legend")&&P(r,"beforeMargins",function(){this.legend=new ue(this,this.options.legend)})},n}),Le(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(q){var ne;let{extend:re,merge:ve,pick:le}=q;return function(pe){function ue(J,te,X){let f,E=this.legendItem=this.legendItem||{},{chart:j,options:F}=this,{baseline:P=0,symbolWidth:D,symbolHeight:A}=J,I=this.symbol||"circle",_=A/2,m=j.renderer,w=E.group,G=P-Math.round(A*(X?.4:.3)),O={},a=F.marker,g=0;if(j.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),E.line=m.path().addClass("highcharts-graph").attr(O).add(w),X&&(E.area=m.path().addClass("highcharts-area").add(w)),O["stroke-linecap"]&&(g=Math.min(E.line.strokeWidth(),D)/2),D){let v=[["M",g,G],["L",D-g,G]];E.line.attr({d:v}),E.area?.attr({d:[...v,["L",D-g,P],["L",g,P]]})}if(a&&!1!==a.enabled&&D){let v=Math.min(le(a.radius,_),_);0===I.indexOf("url")&&(a=ve(a,{width:A,height:A}),v=0),E.symbol=f=m.symbol(I,D/2-v,G-v,2*v,2*v,re({context:"legend"},a)).addClass("highcharts-point").add(w),f.isMarker=!0}}pe.areaMarker=function(J,te){ue.call(this,J,te,!0)},pe.lineMarker=ue,pe.rectangle=function(J,te){let X=te.legendItem||{},j=J.symbolHeight,F=J.options.squareSymbol;X.symbol=this.chart.renderer.rect(F?(J.symbolWidth-j)/2:0,J.baseline-j+1,F?j:J.symbolWidth,j,le(J.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(X.group)}}(ne||(ne={})),ne}),Le(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:q}=this.series.chart;return"number"!=typeof this.y?"":q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Le(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{defaultOptions:pe}=ne,{extend:ue,extendClass:J,merge:te}=ve;return function(X){function E(j,F){let P=pe.plotOptions||{},D=F.defaultOptions,A=F.prototype;return A.type=j,A.pointClass||(A.pointClass=re),!X.seriesTypes[j]&&(D&&(P[j]=D),X.seriesTypes[j]=F,!0)}X.seriesTypes=q.seriesTypes,X.registerSeriesType=E,X.seriesType=function(j,F,P,D,A){let I=pe.plotOptions||{};if(I[j]=te(I[F=F||""],P),delete X.seriesTypes[j],E(j,J(X.seriesTypes[F]||function(){},D)),X.seriesTypes[j].prototype.type=j,A){class _ extends re{}ue(_.prototype,A),X.seriesTypes[j].prototype.pointClass=_}return X.seriesTypes[j]}}(le||(le={})),le}),Le(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,setAnimation:j}=q,{defaultOptions:F}=ne,{registerEventOptions:P}=re,{svg:D,win:A}=ve,{seriesTypes:I}=J,{arrayMax:_,arrayMin:m,clamp:w,correctFloat:G,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:v,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:T,merge:B,objectEach:z,pick:K,removeEvent:U,splat:se,syncTimeout:S}=X;class ${constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let Z=this,Y=x.series;this.eventsToUnbind=[],Z.chart=x,Z.options=Z.setOptions(N);let he=Z.options,ge=!1!==he.visible;Z.linkedSeries=[],Z.bindAxes(),o(Z,{name:he.name,state:"",visible:ge,selected:!0===he.selected}),P(this,he);let _e=he.events;(_e&&_e.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),Z.getColor(),Z.getSymbol(),Z.parallelArrays.forEach(function(Te){Z[Te+"Data"]||(Z[Te+"Data"]=[])}),Z.isCartesian&&(x.hasCartesianSeries=!0),Y.length&&(R=Y[Y.length-1]),Z._i=K(R&&R._i,-1)+1,Z.opacity=Z.options.opacity,x.orderItems("series",C(this,Y)),he.dataSorting&&he.dataSorting.enabled?Z.setDataSortingOptions():Z.points||Z.data||Z.setData(he.data,!1),r(this,"afterInit")}is(x){return I[x]&&this instanceof I[x]}bindAxes(){let x,N=this,R=N.options,Z=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(Y){Z[Y].forEach(function(he){x=he.options,(K(R[Y],0)===he.index||void 0!==R[Y]&&R[Y]===x.id)&&(C(N,he.series),N[Y]=he,he.isDirty=!0)}),N[Y]||N.optionalAxis===Y||v(18,!0,Z)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let Z=x.series,Y=p(N)?function(he){let ge="y"===he&&Z.toYData?Z.toYData(x):x[he];Z[he+"Data"][N]=ge}:function(he){Array.prototype[N].apply(Z[he+"Data"],R)};Z.parallelArrays.forEach(Y)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,Z=N.marker||{};return R&&(Z.enabled&&!R.enabled||Z.symbol!==R.symbol||Z.height!==R.height||Z.width!==R.width)}autoIncrement(x){let ge,_e,N=this.options,R=N.pointIntervalUnit,Z=N.relativeXValue,Y=this.chart.time,he=this.xIncrement;return he=K(he,N.pointStart,0),this.pointInterval=_e=K(this.pointInterval,N.pointInterval,1),Z&&p(x)&&(_e*=x),R&&(ge=new Y.Date(he),"day"===R?Y.set("Date",ge,Y.get("Date",ge)+_e):"month"===R?Y.set("Month",ge,Y.get("Month",ge)+_e):"year"===R&&Y.set("FullYear",ge,Y.get("FullYear",ge)+_e),_e=ge.getTime()-he),Z&&p(x)?he+_e:(this.xIncrement=he+_e,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,Z=R.options.plotOptions,Y=R.userOptions||{},he=B(x),ge=R.styledMode,_e={plotOptions:Z,userOptions:he};r(this,"setOptions",_e);let Te=_e.plotOptions[this.type],Oe=Y.plotOptions||{},De=Oe.series||{},Be=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=_e.userOptions;let ee=B(Te,Z.series,oe,he);this.tooltipOptions=B(F.tooltip,F.plotOptions.series?.tooltip,Be?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=K(he.stickyTracking,oe.stickyTracking,De.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Te.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let be=this.zones=(ee.zones||[]).map(xe=>({...xe}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},ge||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),be.push(N)),be.length&&O(be[be.length-1].value)&&be.push(ge?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return K(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let Z,Y,he=this.chart,ge=`${x}Index`,_e=`${x}Counter`,Te=R?.length||he.options.chart.colorCount;!N&&(O(Y=K("color"===x?this.options.colorIndex:void 0,this[ge]))?Z=Y:(he.series.length||(he[_e]=0),Z=he[_e]%Te,he[_e]+=1),R&&(N=R[Z])),void 0!==Z&&(this[ge]=Z),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,Z,Y,he=x.id,ge=x.x,_e=this.points,Te=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof pe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=De=>!De.touched&&De.index===x.index;if(Te&&Te.matchByName?Oe=De=>!De.touched&&De.name===x.name:this.options.relativeXValue&&(Oe=De=>!De.touched&&De.options.x===x.x),!(R=n(_e,Oe)))return}return R&&void 0!==(Y=R&&R.index)&&(Z=!0),void 0===Y&&p(ge)&&(Y=this.xData.indexOf(ge,N)),-1!==Y&&void 0!==Y&&this.cropped&&(Y=Y>=this.cropStart?Y-this.cropStart:Y),!Z&&p(Y)&&_e[Y]&&_e[Y].touched&&(Y=void 0),Y}updateData(x,N){let Te,Oe,De,Be,R=this.options,Z=R.dataSorting,Y=this.points,he=[],ge=this.requireSorting,_e=x.length===Y.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,be){let xe,Ie=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Ie.id||p(Ie.x)?(-1===(xe=this.findPointIndex(Ie,Be))||void 0===xe?he.push(ee):Y[xe]&&ee!==R.data[xe]?(Y[xe].update(ee,!1,null,!1),Y[xe].touched=!0,ge&&(Be=xe+1)):Y[xe]&&(Y[xe].touched=!0),(!_e||be!==xe||Z&&Z.enabled||this.hasDerivedData)&&(Te=!0)):he.push(ee)},this),Te)for(Oe=Y.length;Oe--;)(De=Y[Oe])&&!De.touched&&De.remove&&De.remove(!1,N);else!_e||Z&&Z.enabled?oe=!1:(x.forEach(function(ee,be){ee===Y[be].y||Y[be].destroyed||Y[be].update(ee,!1,null,!1)}),he.length=0);return Y.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,Z){let we,Ee,Me,qe,Y=this,he=Y.points,ge=he&&he.length||0,_e=Y.options,Te=Y.chart,Oe=_e.dataSorting,De=Y.xAxis,Be=_e.turboThreshold,oe=this.xData,ee=this.yData,be=Y.pointArrayMap,xe=be&&be.length,Ie=_e.keys,Xe=0,Je=1,lt=null;Te.options.chart.allowMutatingData||(_e.data&&delete Y.options.data,Y.userOptions.data&&delete Y.userOptions.data,qe=B(!0,x));let st=(x=qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Te.options.chart.allowMutatingData&&!1!==Z&&st&&ge&&!Y.cropped&&!Y.hasGroupedData&&Y.visible&&!Y.boosted&&(Me=this.updateData(x,R)),!Me){if(Y.xIncrement=null,Y.colorCounter=0,this.parallelArrays.forEach(function(Tt){Y[Tt+"Data"].length=0}),Be&&st>Be)if(p(lt=Y.getFirstValidPoint(x)))for(we=0;we=0?Xe:0,Je=Je>=0?Je:1),1===lt.length&&(Je=0),Xe===Je)for(we=0;we{let ge=d(R,Y),_e=d(R,he);return _ege?1:0}).forEach(function(Y,he){Y.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(Y){let he=Y.options,ge=he.data;he.dataSorting&&he.dataSorting.enabled||!ge||(ge.forEach(function(_e,Te){ge[Te]=Z(Y,_e),x[Te]&&(ge[Te].x=x[Te].x,ge[Te].index=Te)}),Y.setData(ge,!1))}),x}getProcessedData(x){let Te,Oe,Be,oe,ee,N=this,R=N.xAxis,Z=N.options,Y=Z.cropThreshold,he=x||N.getExtremesFromAll||Z.getExtremesFromAll,ge=R?.logarithmic,_e=N.isCartesian,De=0,be=N.xData,xe=N.yData,Ie=!1,we=be.length;R&&(oe=(Be=R.getExtremes()).min,ee=Be.max,Ie=!(!R.categories||R.names.length)),_e&&N.sorted&&!he&&(!Y||we>Y||N.forceCrop)&&(be[we-1]ee?(be=[],xe=[]):N.yData&&(be[0]ee)&&(be=(Te=this.cropData(N.xData,N.yData,oe,ee)).xData,xe=Te.yData,De=Te.start,Oe=!0));let Ee=l([ge?be.map(ge.log2lin):be],()=>N.requireSorting&&!Ie&&v(15,!1,N.chart));return{xData:be,yData:xe,cropped:Oe,cropStart:De,closestPointRange:Ee}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,Z){let he,ge,Y=x.length,_e=0,Te=Y;for(he=0;he=R){_e=Math.max(0,he-1);break}for(ge=he;geZ){Te=ge+1;break}return{xData:x.slice(_e,Te),yData:N.slice(_e,Te),start:_e,end:Te}}generatePoints(){let Be,oe,ee,be,x=this.options,N=this.processedData||x.data,R=this.processedXData,Z=this.processedYData,Y=this.pointClass,he=R.length,ge=this.cropStart||0,_e=this.hasGroupedData,Te=x.keys,Oe=[],De=x.dataGrouping&&x.dataGrouping.groupAll?ge:0,xe=this.data;if(!xe&&!_e){let Ie=[];Ie.length=N.length,xe=this.data=Ie}for(Te&&_e&&(this.options.keys=!1),be=0;be0:oe.length)||!_e),De=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(Y[ee+ge]||Be)>=xe&&(Y[ee-ge]||Be)<=Ie,Oe&&De)if(be=oe.length)for(;be--;)p(oe[be])&&(he[we++]=oe[be]);else he[we++]=oe;let Me={activeYData:he,dataMin:m(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Me}),Me}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,Z=null;for(;null===Z&&R1)&&(he.step=function(Be,oe){De&&De.apply(oe,arguments),"width"===oe.prop&&Te?.element&&Te.attr(Y?"height":"width",Be+99)}),_e.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,Z,Y,he,ge,_e,Te=this.chart,Oe=Te.styledMode,{colorAxis:De,options:Be}=this,oe=Be.marker,ee=this[this.specialGroup||"markerGroup"],be=this.xAxis,xe=K(oe.enabled,!be||!!be.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=Z=Te.renderer.symbol(Ie,_e.x,_e.y,_e.width,_e.height,ge?he:oe).add(ee),this.enabledDataSorting&&Te.hasRendered&&(Z.attr({x:R.startXPos}),Y="animate")),Z&&"animate"===Y&&Z[we?"show":"hide"](we).animate(_e),Z){let Ee=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?De&&Z.css({fill:Ee.fill}):Z[Y](Ee)}Z&&Z.addClass(R.getClassName(),!0)}else Z&&(R.graphic=Z.destroy())}markerAttribs(x,N){let _e,Te,R=this.options,Z=R.marker,Y=x.marker||{},he=Y.symbol||Z.symbol,ge={},Oe=K(Y.radius,Z&&Z.radius);N&&(_e=Z.states[N],Oe=K((Te=Y.states&&Y.states[N])&&Te.radius,_e&&_e.radius,Oe&&Oe+(_e&&_e.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let De=x.pos();return p(Oe)&&De&&(ge.x=De[0]-Oe,ge.y=De[1]-Oe,R.crisp&&(ge.x=Math.floor(ge.x))),Oe&&(ge.width=ge.height=2*Oe),ge}pointAttribs(x,N){let Te,Oe,Be,oe,R=this.options.marker,Z=x&&x.options,Y=Z&&Z.marker||{},he=Z&&Z.color,ge=x&&x.color,_e=x&&x.zone&&x.zone.color,De=this.color,ee=K(Y.lineWidth,R.lineWidth),be=1;return De=he||_e||ge||De,Be=Y.fillColor||R.fillColor||De,oe=Y.lineColor||R.lineColor||De,Te=R.states[N=N||"normal"]||{},ee=K((Oe=Y.states&&Y.states[N]||{}).lineWidth,Te.lineWidth,ee+K(Oe.lineWidthPlus,Te.lineWidthPlus,0)),Be=Oe.fillColor||Te.fillColor||Be,{stroke:oe=Oe.lineColor||Te.lineColor||oe,"stroke-width":ee,fill:Be,opacity:be=K(Oe.opacity,Te.opacity,be)}}destroy(x){let N,R,Z,Y=this,he=Y.chart,ge=/AppleWebKit\/533/.test(A.navigator.userAgent),_e=Y.data||[];for(r(Y,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(Y.axisTypes||[]).forEach(function(Te){(Z=Y[Te])&&Z.series&&(g(Z.series,Y),Z.isDirty=Z.forceRedraw=!0)}),Y.legendItem&&Y.chart.legend.destroyItem(Y),N=_e.length;N--;)(R=_e[N])&&R.destroy&&R.destroy();for(let Te of Y.zones)f(Te,void 0,!0);X.clearTimeout(Y.animationTimeout),z(Y,function(Te,Oe){Te instanceof te&&!Te.survive&&Te[ge&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===Y&&(he.hoverSeries=void 0),g(he.series,Y),he.orderItems("series"),z(Y,function(Te,Oe){x&&"hcEvents"===Oe||delete Y[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:Z,points:Y,xAxis:he,yAxis:ge,zoneAxis:_e}=this,{inverted:Te,renderer:Oe}=N,De=this[`${_e}Axis`],{isXAxis:Be,len:oe=0}=De||{},ee=(R?.strokeWidth()||0)/2+1,be=(xe,Ie=0,we=0)=>{Te&&(we=oe-we);let{translated:Ee=0,lineClip:Me}=xe,Xe=we-Ee;Me?.push(["L",Ie,Math.abs(Xe){Me.forEach((Xe,Je)=>{("M"===Xe[0]||"L"===Xe[0])&&(Me[Je]=[Xe[0],Be?oe-Xe[1]:Xe[1],Be?Xe[2]:oe-Xe[2]])})};if(Z.forEach(Me=>{Me.lineClip=[],Me.translated=w(De.toPixels(K(Me.value,xe),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===_e&&Y.length{let Xe=Me.lineClip||[],Je=Math.round(Me.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:qe}=Me,st=0,Tt=0,pt=he.len,ht=ge.len;Be?(st=Je,pt=Ee):(Tt=Je,ht=Ee);let Pt=[["M",st,Tt],["L",pt,Tt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Pt[0],...Xe,Pt[1],Pt[2],...we,Pt[3],Pt[4]];we=Xe.reverse(),Ee=Je,Te&&(Ie(Gt),x&&Ie(Pt)),lt?(lt.animate({d:Gt}),qe?.animate({d:Pt})):(lt=Me.clip=Oe.path(Gt),x&&(qe=Me.simpleClip=Oe.path(Pt))),R&&Me.graph?.clip(lt),x&&Me.area?.clip(qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,Z,Y){let he=this[x],ge=!he,_e={visibility:R,zIndex:Z||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(_e.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(Y)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(_e)[ge?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,Z=this.chart,Y=Z.inverted&&!Z.polar&&N&&this.invertible&&"series"===x;return Z.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:Z.plotLeft,translateY:R?R.top:Z.plotTop,rotation:Y?90:0,rotationOriginX:Y?(N.len-R.len)/2:0,rotationOriginY:Y?(N.len+R.len)/2:0,scaleX:Y?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:Z}=x,Y=E(R.animation),he=x.visible?"inherit":"hidden",ge=R.zIndex,_e=N.seriesGroup,Te=x.finishedAnimating?0:Y.duration;r(this,"render"),x.plotGroup("group","series",he,ge,_e),x.markerGroup=x.plotGroup("markerGroup","markers",he,ge,_e),!1!==R.clip&&x.setClip(),Te&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Te&&x.animate?.(),Z||(Te&&Y.defer&&(Te+=Y.defer),x.animationTimeout=S(()=>{x.afterAnimate()},Te||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:Z}=this,Y=this.chart.inverted;return this.searchKDTree({clientX:Y?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:Y?Z.len-x.chartX+Z.pos:x.chartY-Z.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,S(function(){N.kdTree=function Z(Y,he,ge){let _e,Te,Oe=Y?.length;if(Oe)return _e=N.kdAxisArray[he%ge],Y.sort((De,Be)=>(De[_e]||0)-(Be[_e]||0)),{point:Y[Te=Math.floor(Oe/2)],left:Z(Y.slice(0,Te),he+1,ge),right:Z(Y.slice(Te+1),he+1,ge)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let Z=this,[Y,he]=this.kdAxisArray,ge=N?"distX":"dist",_e=(Z.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Te=!!Z.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(De,Be,oe,ee){let Ie,we,be=Be.point,xe=Z.kdAxisArray[oe%ee],Ee=be;!function(lt,qe){let st=lt[Y],Tt=qe[Y],pt=O(st)&&O(Tt)?st-Tt:null,ht=lt[he],Pt=qe[he],Gt=O(ht)&&O(Pt)?ht-Pt:0,ti=Te&&qe.marker?.radius||0;qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(De,be);let Me=(De[xe]||0)-(be[xe]||0)+(Te&&be.marker?.radius||0),Xe=Me<0?"left":"right",Je=Me<0?"right":"left";return Be[Xe]&&(Ee=(Ie=Oe(De,Be[Xe],oe+1,ee))[ge]=0&&he<=(Z?Z.len:N.plotHeight)&&Y>=0&&Y<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,Z=[].concat((R?x.areaPath:x.graphPath)||[]),Y=x.chart,he=Y.pointer,ge=Y.renderer,_e=Y.options.tooltip?.snap||0,Te=()=>{N.enableMouseTracking&&Y.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",De=x.tracker;De?De.attr({d:Z}):x.graph&&(x.tracker=De=ge.path(Z).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),Y.styledMode||De.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*_e)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Be=>{Be&&(Be.addClass("highcharts-tracker").on("mouseover",Te).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!Y.styledMode&&Be.css({cursor:N.cursor}),Be.on("touchstart",Te))})),r(this,"afterDrawTracker")}addPoint(x,N,R,Z,Y){let he,ge,_e=this.options,Te=this.data,Oe=this.chart,De=this.xAxis,Be=De&&De.hasNames&&De.names,oe=_e.data,ee=this.xData;N=K(N,!0);let be={series:this};this.pointClass.prototype.applyOptions.apply(be,[x]);let xe=be.x;if(ge=ee.length,this.requireSorting&&xexe;)ge--;this.updateParallelArrays(be,"splice",[ge,0,0]),this.updateParallelArrays(be,ge),Be&&be.name&&(Be[xe]=be.name),oe.splice(ge,0,x),(he||this.processedData)&&(this.data.splice(ge,0,null),this.processData()),"point"===_e.legendType&&this.generatePoints(),R&&(Te[0]&&Te[0].remove?Te[0].remove(!1):(Te.shift(),this.updateParallelArrays(be,"shift"),oe.shift())),!1!==Y&&r(this,"addPoint",{point:be}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(Z)}removePoint(x,N,R){let Z=this,Y=Z.data,he=Y[x],ge=Z.points,_e=Z.chart,Te=function(){ge&&ge.length===Y.length&&ge.splice(x,1),Y.splice(x,1),Z.options.data.splice(x,1),Z.updateParallelArrays(he||{series:Z},"splice",[x,1]),he&&he.destroy(),Z.isDirty=!0,Z.isDirtyData=!0,N&&_e.redraw()};j(R,_e),N=K(N,!0),he?he.firePointEvent("remove",null,Te):Te()}remove(x,N,R,Z){let Y=this,he=Y.chart;function ge(){Y.destroy(Z),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(Z),K(x,!0)&&he.redraw(N)}!1!==R?r(Y,"remove",null,ge):ge()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let De,Be,R=this,Z=R.chart,Y=R.userOptions,he=R.initialType||R.type,ge=Z.options.plotOptions,_e=I[he].prototype,Te=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||Y.type||Z.options.chart.type,be=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Ie=>R.hasOptionChanged(Ie)));ee=ee||he,be&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Ie){oe.push(Ie+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=B(Y,{index:void 0===Y.index?R.index:Y.index,pointStart:ge?.series?.pointStart??Y.pointStart??R.xData?.[0]},!be&&{data:R.options.data},x,Te),be&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Ie){oe[Ie]=R[Ie],delete R[Ie]});let xe=!1;if(I[ee]){if(xe=ee!==R.type,R.remove(!1,!1,!1,!0),xe)if(Z.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,I[ee].prototype);else{let Ie=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Be in _e)R[Be]=void 0;o(R,I[ee].prototype),Ie?R.hcEvents=Ie:delete R.hcEvents}}else v(17,!0,Z,{missingModuleFor:ee});if(oe.forEach(function(Ie){R[Ie]=oe[Ie]}),R.init(Z,x),be&&this.points)for(let Ie of(!1===(De=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(De,Y)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Ie&&Ie.series&&(Ie.resolveColor(),Object.keys(Oe).length&&Ie.destroyElements(Oe),!1===De.showInLegend&&Ie.legendItem&&Z.legend.destroyItem(Ie));R.initialType=he,Z.linkSeries(),Z.setSortedData(),xe&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),K(N,!0)&&Z.redraw(!!be&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],Z=this.chart.options.plotOptions,Y=this.userOptions[x],he=K(Z?.[this.type]?.[x],Z?.series?.[x]);return Y&&!O(he)?R!==Y:R!==K(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,Z=N.hoverPoint;N.hoverSeries=null,Z&&Z.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(Y){Y.setState("",!0)})}setState(x,N){let R=this,Z=R.options,Y=R.graph,he=Z.inactiveOtherPoints,ge=Z.states,_e=K(ge[x||"normal"]&&ge[x||"normal"].animation,R.chart.options.chart.animation),Te=Z.lineWidth,Oe=Z.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(De){De&&(R.state&&De.removeClass("highcharts-series-"+R.state),x&&De.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(ge[x]&&!1===ge[x].enabled)return;if(x&&(Te=ge[x].lineWidth||Te+(ge[x].lineWidthPlus||0),Oe=K(ge[x].opacity,Oe)),Y&&!Y.dashstyle&&p(Te))for(let De of[Y,...this.zones.map(Be=>Be.graph)])De?.animate({"stroke-width":Te},_e);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(De){De&&De.animate({opacity:Oe},_e)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,Z=R.chart,Y=Z.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let ge=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_e=>{R[_e]?.[ge]()}),(Z.hoverSeries===R||Z.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&Z.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&Z.series.forEach(_e=>{_e.options.stacking&&_e.visible&&(_e.isDirty=!0)}),R.linkedSeries.forEach(_e=>{_e.setVisible(x,!1)}),Y&&(Z.isDirtyBox=!0),r(R,ge),!1!==N&&Z.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return $.defaultOptions=ue,$.types=J.seriesTypes,$.registerType=J.registerSeriesType,o($.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),J.series=$,$}),Le(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P){let{animate:D,animObject:A,setAnimation:I}=q,{defaultOptions:_,defaultTime:m}=re,{numberFormat:w}=ve,{registerEventOptions:G}=le,{charts:O,doc:f,marginNames:a,svg:g,win:v}=pe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:T,error:B,extend:z,find:K,fireEvent:U,getStyle:se,isArray:S,isNumber:$,isObject:H,isString:x,merge:N,objectEach:R,pick:Z,pInt:Y,relativeLength:he,removeEvent:ge,splat:_e,syncTimeout:Te,uniqueKey:Oe}=j;class De{static chart(oe,ee,be){return new De(oe,ee,be)}constructor(oe,ee,be){this.sharedClips={};let xe=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=xe.shift()),this.init(xe[0],xe[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:Z(oe.zoomType,ee.type),key:Z(oe.zoomKey,ee.key),pinchType:Z(oe.pinchType,ee.pinchType),singleTouch:Z(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let be=N(_,oe),xe=be.chart;this.userOptions=z({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=be,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new E(oe.time):pe.time,this.numberFormatter=xe.numberFormatter||w,this.styledMode=xe.styledMode,this.hasCartesianSeries=xe.showAxes,this.index=O.length,O.push(this),pe.chartCount++,G(this,xe),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let be=oe.type||this.options.chart.type,xe=o[be];xe||B(17,!0,this,{missingModuleFor:be});let Ie=new xe;return"function"==typeof Ie.init&&Ie.init(this,oe),Ie}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let be=this[oe],xe=this.options[oe]=_e(this.options[oe]).slice(),Ie=this.userOptions[oe]=this.userOptions[oe]?_e(this.userOptions[oe]).slice():[];if(this.hasRendered&&(xe.splice(ee),Ie.splice(ee)),be)for(let we=ee,Ee=be.length;we=Math.max(Xe+we,ht.pos)&&Pt<=Math.min(Xe+we+qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!be.ignoreY&&pt.isInsidePlot){let ht=!xe&&be.axis&&!be.axis.isXAxis&&be.axis||lt&&(xe?lt.xAxis:lt.yAxis)||{pos:Ee,len:1/0},Pt=be.paneCoordinates?ht.pos+Tt:Ee+Tt;Pt>=Math.max(Je+Ee,ht.pos)&&Pt<=Math.min(Je+Ee+qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Je,lt,qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],be=this.series,xe=this.pointer,Ie=this.legend,we=this.userOptions.legend,Ee=this.renderer,Me=Ee.isHidden(),Xe=[],st=this.isDirtyBox,Tt=this.isDirtyLegend;for(Ee.rootFontSize=Ee.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),I(!!this.hasRendered&&oe,this),Me&&this.temporaryDisplay(),this.layOutTitles(!1),qe=be.length;qe--;)if(((pt=be[qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Je=!0;break}if(Je)for(qe=be.length;qe--;)(pt=be[qe]).options.stacking&&(pt.isDirty=!0);be.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),Tt=!0):we&&(we.labelFormatter||we.labelFormat)&&(Tt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),Tt&&Ie&&Ie.options.enabled&&(Ie.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Pt=ht.min+","+ht.max;ht.extKey!==Pt&&(ht.extKey=Pt,Xe.push(function(){U(ht,"afterSetExtremes",z(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),be.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),xe&&xe.reset(!0),Ee.draw(),U(this,"redraw"),U(this,"render"),Me&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function be(Ie){return Ie.id===oe||Ie.options&&Ie.options.id===oe}let xe=K(this.axes,be)||K(this.series,be);for(let Ie=0;!xe&&Ie(ee.getPointsCollection().forEach(be=>{Z(be.selectedStaging,be.selected)&&oe.push(be)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,be){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(be)}applyDescription(oe,ee){let be=this,xe=this.options[oe]=N(this.options[oe],ee),Ie=this[oe];Ie&&ee&&(this[oe]=Ie=Ie.destroy()),xe&&!Ie&&((Ie=this.renderer.text(xe.text,0,0,xe.useHTML).attr({align:xe.align,class:"highcharts-"+oe,zIndex:xe.zIndex||4}).add()).update=function(we,Ee){be.applyDescription(oe,we),be.layOutTitles(Ee)},this.styledMode||Ie.css(z("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},xe.style)),this[oe]=Ie)}layOutTitles(oe=!0){let ee=[0,0,0],be=this.renderer,xe=this.spacingBox;["title","subtitle","caption"].forEach(function(we){let Ee=this[we],Me=this.options[we],Xe=Me.verticalAlign||"top",Je="title"===we?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Ee){Ee.css({width:(Me.width||xe.width+(Me.widthAdjust||0))+"px"});let lt=be.fontMetrics(Ee).b,qe=Math.round(Ee.getBBox(Me.useHTML).height);Ee.align(z({y:"bottom"===Xe?lt:Je+lt,height:qe},Me),!1,"spacingBox"),Me.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Ie=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Ie&&(this.isDirtyBox=this.isDirtyLegend=Ie,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,be=oe.height,xe=this.getContainerBox();this.chartWidth=Math.max(0,ee||xe.width||600),this.chartHeight=Math.max(0,he(be,this.chartWidth)||(xe.height>1?xe.height:400)),this.containerBox=xe}temporaryDisplay(oe){let be,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},be={display:"block",overflow:"hidden"},ee!==this.renderTo&&(be.height=0),d(ee,be),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Ie,oe=this.options,ee=oe.chart,be="data-highcharts-chart",xe=Oe(),we=this.renderTo;we||(this.renderTo=we=ee.renderTo),x(we)&&(this.renderTo=we=f.getElementById(we)),we||B(13,!0,this);let Ee=Y(r(we,be));$(Ee)&&O[Ee]&&O[Ee].hasRendered&&O[Ee].destroy(),r(we,be,this.index),we.innerHTML=F.emptyHTML,ee.skipClone||we.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Me=this.chartHeight,Xe=this.chartWidth;d(we,{overflow:"hidden"}),this.styledMode||(Ie=z({position:"relative",overflow:"hidden",width:Xe+"px",height:Me+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Je=l("div",{id:xe},Ie,we);this.container=Je,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Je,{width:Z(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Je.style.cursor;let lt=ee.renderer||!g?ue.getRendererType(ee.renderer):X;if(this.renderer=new lt(Je,Xe,Me,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),I(void 0,this),this.setClassName(ee.className),this.styledMode)for(let qe in oe.defs)this.renderer.definition(oe.defs[qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:be,titleOffset:xe}=this;this.resetMargins(),xe[0]&&!C(be[0])&&(this.plotTop=Math.max(this.plotTop,xe[0]+ee[0])),xe[2]&&!C(be[2])&&(this.marginBottom=Math.max(this.marginBottom,xe[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(be,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],be=oe.colorAxis,xe=oe.margin,Ie=function(we){we.forEach(function(Ee){Ee.visible&&Ee.getOffset()})};oe.hasCartesianSeries?Ie(oe.axes):be&&be.length&&Ie(be),a.forEach(function(we,Ee){C(xe[Ee])||(oe[we]+=ee[Ee])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,be=ee.containerBox,xe=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&be&&xe.width&&((xe.width!==be.width||xe.height!==be.height)&&(j.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Te(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=xe)}setReflow(){let oe=this,ee=be=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(be)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let be=n(v,"resize",ee);n(this,"destroy",be)}}setSize(oe,ee,be){let xe=this,Ie=xe.renderer;xe.isResizing+=1,I(be,xe);let we=Ie.globalAnimation;xe.oldChartHeight=xe.chartHeight,xe.oldChartWidth=xe.chartWidth,void 0!==oe&&(xe.options.chart.width=oe),void 0!==ee&&(xe.options.chart.height=ee),xe.getChartSize();let{chartWidth:Ee,chartHeight:Me,scrollablePixelsX:Xe=0,scrollablePixelsY:Je=0}=xe;(xe.isDirtyBox||Ee!==xe.oldChartWidth||Me!==xe.oldChartHeight)&&(xe.styledMode||(we?D:d)(xe.container,{width:`${Ee+Xe}px`,height:`${Me+Je}px`},we),xe.setChartSize(!0),Ie.setSize(Ee,Me,we),xe.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),xe.isDirtyLegend=!0,xe.isDirtyBox=!0,xe.layOutTitles(),xe.getMargins(),xe.redraw(we),xe.oldChartHeight=void 0,U(xe,"resize"),setTimeout(()=>{xe&&U(xe,"endResize",void 0,()=>{xe.isResizing-=1})},A(we).duration))}setChartSize(oe){let ee,be,xe,Ie,we=this.inverted,Ee=this.renderer,Me=this.chartWidth,Xe=this.chartHeight,Je=this.options.chart,lt=this.spacing,qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=be=Math.round(this.plotTop),this.plotWidth=xe=Math.max(0,Math.round(Me-ee-this.marginRight)),this.plotHeight=Ie=Math.max(0,Math.round(Xe-be-this.marginBottom)),this.plotSizeX=we?Ie:xe,this.plotSizeY=we?xe:Ie,this.plotBorderWidth=Je.plotBorderWidth||0,this.spacingBox=Ee.spacingBox={x:lt[3],y:lt[0],width:Me-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Ee.plotBox={x:ee,y:be,width:xe,height:Ie};let st=2*Math.floor(this.plotBorderWidth/2),Tt=Math.ceil(Math.max(st,qe[3])/2),pt=Math.ceil(Math.max(st,qe[0])/2);this.clipBox={x:Tt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,qe[1])/2-Tt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Ee.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(be){let xe=ee[be],Ie=H(xe)?xe:[xe,xe,xe,xe];["Top","Right","Bottom","Left"].forEach(function(we,Ee){oe[be][Ee]=Z(ee[be+we],Ie[Ee])})}),a.forEach(function(be,xe){oe[be]=Z(oe.margin[xe],oe.spacing[xe])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,It,xt,oe=this.options.chart,ee=this.renderer,be=this.chartWidth,xe=this.chartHeight,Ie=this.styledMode,we=this.plotBGImage,Ee=oe.backgroundColor,Me=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Je=this.plotLeft,lt=this.plotTop,qe=this.plotWidth,st=this.plotHeight,Tt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Pt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Pt||(this.chartBackground=Pt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Ie?Dt=It=Pt.strokeWidth():(It=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),xt={fill:Ee||"none"},(Dt||Pt["stroke-width"])&&(xt.stroke=oe.borderColor,xt["stroke-width"]=Dt),Pt.attr(xt).shadow(oe.shadow)),Pt[wt]({x:It/2,y:It/2,width:be-It-Dt%2,height:xe-It-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](Tt),!Ie&&(Gt.attr({fill:Me||"none"}).shadow(oe.plotShadow),Xe&&(we?(Xe!==we.attr("href")&&we.attr("href",Xe),we.animate(Tt)):this.plotBGImage=ee.image(Xe,Je,lt,qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Ie||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Je,y:lt,width:qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,be,xe=this,Ie=xe.options.chart,we=xe.options.series;["inverted","angular","polar"].forEach(function(Ee){for(ee=o[Ie.type],be=Ie[Ee]||ee&&ee.prototype[Ee],oe=we&&we.length;!be&&oe--;)(ee=o[we[oe].type])&&ee.prototype[Ee]&&(be=!0);xe[Ee]=be})}linkSeries(oe){let ee=this,be=ee.series;be.forEach(function(xe){xe.linkedSeries.length=0}),be.forEach(function(xe){let{linkedTo:Ie}=xe.options;if(x(Ie)){let we;(we=":previous"===Ie?ee.series[xe.index-1]:ee.get(Ie))&&we.linkedParent!==xe&&(we.linkedSeries.push(xe),xe.linkedParent=we,we.enabledDataSorting&&xe.setDataSortingOptions(),xe.visible=Z(xe.options.visible,we.options.visible,xe.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Me,oe=this.axes,ee=this.colorAxis,be=this.renderer,xe=this.options.chart.axisLayoutRuns||2,Ie=Je=>{Je.forEach(lt=>{lt.visible&<.render()})},we=0,Ee=!0,Xe=0;for(let Je of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Je,{labels:qe}=lt;if(Je.horiz&&Je.visible&&qe.enabled&&Je.series.length&&"colorAxis"!==Je.coll&&!this.polar){we=lt.tickLength,Je.createGroups();let st=new P(Je,0,"",!0),Tt=st.createLabel("x",qe);if(st.destroy(),Tt&&Z(qe.reserveSpace,!$(lt.crossing))&&(we=Tt.getBBox().height+qe.distance+Math.max(lt.offset||0,0)),we){Tt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-we,0);(Ee||Me||xe>1)&&Xe(Xe?1:1.1),Me=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Ie(oe):ee&&ee.length&&Ie(ee),this.seriesGroup||(this.seriesGroup=be.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,be=N(!0,this.options.credits,oe);be.enabled&&!this.credits&&(this.credits=this.renderer.text(be.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){be.href&&(v.location.href=be.href)}).attr({align:be.position.align,zIndex:8}),ee.styledMode||this.credits.css(be.style),this.credits.add().align(be.position),this.credits.update=function(xe){ee.credits=ee.credits.destroy(),ee.addCredits(xe)})}destroy(){let oe,ee=this,be=ee.axes,xe=ee.series,Ie=ee.container,we=Ie&&Ie.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?T(O,ee):O[ee.index]=void 0,pe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),ge(ee),oe=be.length;oe--;)be[oe]=be[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=xe.length;oe--;)xe[oe]=xe[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Ee){let Me=ee[Ee];Me&&Me.destroy&&(ee[Ee]=Me.destroy())}),Ie&&(Ie.innerHTML=F.emptyHTML,ge(Ie),we&&p(Ie)),R(ee,function(Ee,Me){delete ee[Me]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let be=S(ee.series)?ee.series:[];ee.series=[],be.forEach(function(xe){oe.initSeries(xe)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let be=this,xe="object"==typeof ee?ee:{enabled:ee,type:"x"},Ie=xe.type,we=Ie&&be[{x:"xAxis",xy:"axes",y:"yAxis"}[Ie]].filter(Me=>Me.options.panningEnabled&&!Me.options.isInternal),Ee=be.options.chart;Ee?.panning&&(Ee.panning=xe),U(this,"pan",{originalEvent:oe},()=>{be.transform({axes:we,event:oe,to:{x:oe.chartX-(be.mouseDownX||0),y:oe.chartY-(be.mouseDownY||0)},trigger:"pan"}),d(be.container,{cursor:"move"})})}transform(oe){let qe,{axes:ee=this.axes,event:be,from:xe={},reset:Ie,selection:we,to:Ee={},trigger:Me}=oe,{inverted:Xe,resetZoomButton:Je}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(Tt=>Tt.setState()),ee)){let{horiz:Tt,len:pt,minPointOffset:ht=0,options:Pt,reversed:Gt}=st,ti=Tt?"width":"height",Dt=Tt?"x":"y",It=Ee[ti]||st.len,xt=xe[ti]||st.len,wt=10>Math.abs(It)?1:It/xt,Qt=(xe[Dt]||0)+xt/2-st.pos,di=Qt-((Ee[Dt]??st.pos)+It/2-st.pos)/wt,Ni=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Ie&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Ni,vi=st.toValue(di+pt/wt,!0)-(ht*Ni||0),zi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Ie&&"yAxis"===st.coll&&!zi){for(let js of st.series){let On=js.getExtremes(js.getProcessedData(!0).yData,!0);zi??(zi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),$(On.dataMin)&&$(On.dataMax)&&(zi.dataMin=Math.min(On.dataMin,zi.dataMin),zi.dataMax=Math.max(On.dataMax,zi.dataMax))}st.allExtremes=zi}let{dataMin:gs,dataMax:Fn,min:as,max:ms}=z(st.getExtremes(),zi||{}),Ln=gs??Pt.min,fn=Fn??Pt.max,ki=vi-mi,Cs=st.categories?0:Math.min(ki,fn-Ln),Kn=Ln-Cs*(C(Pt.min)?0:Pt.minPadding),In=fn+Cs*(C(Pt.max)?0:Pt.maxPadding),Bs=st.allowZoomOutside||1===wt||"zoom"!==Me&&wt>1,qn=Math.min(Pt.min??Kn,Kn,Bs?as:Kn),Wi=Math.max(Pt.max??In,In,Bs?ms:In);(!st.isOrdinal||1!==wt||Ie)&&(mi=1&&(vi=mi+ki)),vi>Wi&&(vi=Wi,wt>=1&&(mi=vi-ki)),(Ie||st.series.length&&(mi!==as||vi!==ms)&&mi>=qn&&vi<=Wi)&&(we?we[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Me,st.setExtremes(Ie?void 0:mi,Ie?void 0:vi,!1,!1,{move:di,trigger:Me,scale:wt}),!Ie&&(mi>qn||vi{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(qe&&!Je?this.showResetZoom():!qe&&Je&&(this.resetZoomButton=Je.destroy()),this.redraw("zoom"===Me&&(this.options.chart.animation??this.pointCount<100)))),lt}}return z(De.prototype,{callbacks:[],collectionsWithInit:{xAxis:[De.prototype.addAxis,[!0]],yAxis:[De.prototype.addAxis,[!1]],series:[De.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),De}),Le(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{stop:le}=q,{composed:pe}=ne,{addEvent:ue,createElement:J,css:te,defined:X,merge:E,pushUnique:j}=ve;function F(){let A=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!A&&(this.scrollablePlotArea=A=new D(this)),A?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(I,_,m){j(pe,this.compose)&&(ue(I,"afterInit",P),ue(_,"afterSetChartSize",w=>this.afterSetSize(w.target,w)),ue(_,"render",F),ue(m,"show",P))}static afterSetSize(I,_){let m,w,G,{minWidth:O,minHeight:f}=I.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:v,renderer:o}=I;if(!o.forExport&&(O?(I.scrollablePixelsX=m=Math.max(0,O-I.chartWidth),m&&(I.scrollablePlotBox=E(I.plotBox),g.width=I.plotWidth+=m,a[v?"height":"width"]+=m,G=!0)):f&&(I.scrollablePixelsY=w=Math.max(0,f-I.chartHeight),X(w)&&(I.scrollablePlotBox=E(I.plotBox),g.height=I.plotHeight+=w,a[v?"width":"height"]+=w,G=!1)),X(G)&&!_.skipAxes))for(let n of I.axes)n.horiz===G&&(n.setAxisSize(),n.setAxisTranslation())}constructor(I){let _,m=I.options.chart,w=re.getRendererType(),G=m.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};I.scrollablePixelsX&&(f.overflowX="auto"),I.scrollablePixelsY&&(f.overflowY="auto"),this.chart=I;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},I.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),v=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(m.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new w(o,I.chartWidth,I.chartHeight,m.style);this.mask=n.path().attr({fill:m.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(I.renderTo,{overflow:"visible"}),ue(I,"afterShowResetZoom",O),ue(I,"afterApplyDrilldown",O),ue(I,"afterLayOutTitles",O),ue(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=I;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),v.appendChild(I.container)}applyFixed(){let{chart:I,fixedRenderer:_,isDirty:m,scrollingContainer:w}=this,{axisOffset:G,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:v,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=I,{scrollPositionX:d=0,scrollPositionY:C=0}=I.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(m??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(I.container),te(a,{width:`${k}px`,height:`${p}px`}),I.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),I.chartBackground?.attr({width:k,height:p}),te(w,{width:`${O}px`,height:`${f}px`}),X(m)||(w.scrollLeft=r*d,w.scrollTop=l*C);let T=o-G[0]-1,B=v-G[3]-1,z=o+g+G[2]+1,K=v+n+G[1]+1,U=v+n-r,se=o+g-l,S=[["M",0,0]];r?S=[["M",0,T],["L",v-1,T],["L",v-1,z],["L",0,z],["Z"],["M",U,T],["L",O,T],["L",O,z],["L",U,z],["Z"]]:l&&(S=[["M",B,0],["L",B,o-1],["L",K,o-1],["L",K,0],["Z"],["M",B,se],["L",B,f],["L",K,f],["L",K,se],["Z"]]),"adjustHeight"!==I.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let I,{container:_,inverted:m,scrollablePixelsX:w,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(w&&!m?I=".highcharts-yaxis":w&&m||G&&!m?I=".highcharts-xaxis":G&&m&&(I=".highcharts-yaxis"),I&&f.push(`${I}:not(.highcharts-radial-axis)`,`${I}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Le(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{format:ve}=q,{series:le}=ne,{destroyObjectProperties:pe,fireEvent:ue,isNumber:J,pick:te}=re;return class{constructor(X,E,j,F,P){let D=X.chart.inverted,A=X.reversed;this.axis=X;let I=this.isNegative=!!j!=!!A;this.options=E=E||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:E.align||(D?I?"left":"right":"center"),verticalAlign:E.verticalAlign||(D?"middle":I?"bottom":"top"),y:E.y,x:E.x},this.textAlign=E.textAlign||(D?I?"right":"left":"center")}destroy(){pe(this,this.axis)}render(X){let E=this.axis.chart,j=this.options,F=j.format,P=F?ve(F,this,E):j.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=E.renderer.label(P,null,void 0,j.shape,void 0,void 0,j.useHTML,!1,"stack-labels");let D={r:j.borderRadius||0,text:P,padding:te(j.padding,5),visibility:"hidden"};E.styledMode||(D.fill=j.backgroundColor,D.stroke=j.borderColor,D["stroke-width"]=j.borderWidth,this.label.css(j.style||{})),this.label.attr(D),this.label.added||this.label.add(X)}this.label.labelrank=E.plotSizeY,ue(this,"afterRender")}setOffset(X,E,j,F,P,D){let{alignOptions:A,axis:I,label:_,options:m,textAlign:w}=this,G=I.chart,O=this.getStackBox({xOffset:X,width:E,boxBottom:j,boxTop:F,defaultX:P,xAxis:D}),{verticalAlign:f}=A;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,v="justify"===te(m.overflow,"justify");A.x=m.x||0,A.y=m.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:w});O.x-=n,O.y-=r,_.align(A,!1,O),(o=G.isInsidePlot(_.alignAttr.x+A.x+n,_.alignAttr.y+A.y+r))||(v=!1),v&&le.prototype.justifyDataLabel.call(I,_,A,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:m.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[m.textAlign||"center"],rotationOriginY:a.height/2}),te(!v&&m.crop,!0)&&(o=J(_.x)&&J(_.y)&&G.isInsidePlot(_.x-g+(_.width||0),_.y)&&G.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}ue(this,"afterSetOffset",{xOffset:X,width:E})}adjustStackPosition({labelBox:X,verticalAlign:E,textAlign:j}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:X.width/2+X.width/2*F[j],y:X.height/2*F[E]}}getStackBox(X){let E=this.axis,j=E.chart,{boxTop:F,defaultX:P,xOffset:D,width:A,boxBottom:I}=X,_=E.stacking.usePercentage?100:te(F,this.total,0),m=E.toPixels(_),w=X.xAxis||j.xAxis[0],G=te(P,w.translate(this.x))+D,O=Math.abs(m-E.toPixels(I||J(E.min)&&E.logarithmic&&E.logarithmic.lin2log(E.min)||0)),a=this.isNegative;return j.inverted?{x:(a?m:m-O)-j.plotLeft,y:w.height-G-A,width:O,height:A}:{x:G+w.transB-j.plotLeft,y:(a?m-O:m)-j.plotTop,width:A,height:O}}}}),Le(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{getDeferredAnimation:ue}=q,{series:{prototype:J}}=re,{addEvent:te,correctFloat:X,defined:E,destroyObjectProperties:j,fireEvent:F,isArray:P,isNumber:D,objectEach:A,pick:I}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,I(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function m(){let o=this.stacking;if(o){let n=o.stacks;A(n,(r,l)=>{j(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function w(){this.stacking||(this.stacking=new v(this))}function G(o,n,r,l){return!E(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(T=>{let z,K,U,B=C.length;for(;B--;)z=C[B],o=n.getStackIndicator(o,z,n.index,T),K=d[T]?.[z],(U=K?.points[o.key||""])&&p.call(n,U,K,B)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=X(o[0]*l),o[1]=X(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,T,B,z,K=n||this.options.stacking;if(!K||!this.reserveSpace()||({group:"xAxis"}[K]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,S=[],$=se.length,H=this.options,x=H.threshold||0,N=H.startFromThreshold?x:0,R=H.stack,Z=n?`${this.type},${K}`:this.stackKey||"",Y="-"+Z,he=this.negStacks,ge=o.stacking,_e=ge.stacks,Te=ge.oldStacks;for(ge.stacksTouched+=1,T=0;T<$;T++){B=U[T],z=se[T],p=(r=this.getStackIndicator(r,B,this.index)).key||"",_e[k=(l=he&&z<(N?0:x))?Y:Z]||(_e[k]={}),_e[k][B]||(Te[k]?.[B]?(_e[k][B]=Te[k][B],_e[k][B].total=null):_e[k][B]=new ve(o,o.options.stackLabels,!!l,B,R)),d=_e[k][B],null!==z?(d.points[p]=d.points[this.index]=[I(d.cumulative,N)],E(d.cumulative)||(d.base=p),d.touched=ge.stacksTouched,r.index>0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+B+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===K?(C=l?Z:Y,Oe=he&&_e[C]?.[B]?(C=_e[C][B]).total=Math.max(C.total||0,Oe)+Math.abs(z)||0:X(Oe+(Math.abs(z)||0))):"group"===K?(P(z)&&(z=z[0]),null!==z&&Oe++):Oe=X(Oe+(z||0)),d.cumulative="group"===K?(Oe||1)-1:X(I(d.cumulative,N)+(z||0)),d.total=Oe,null!==z&&(d.points[p].push(d.cumulative),S[T]=d.cumulative,d.hasValidPoints=!0)}"percent"===K&&(ge.usePercentage=!0),"group"!==K&&(this.stackedYData=S),ge.oldStacks={}}class v{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{A(n,r=>{r.cumulative=r.total})}))}resetStacks(){A(this.stacks,n=>{A(n,(r,l)=>{D(r.touched)&&r.touched{A(p,T=>{T.render(k)})}),k.animate({opacity:1},C)}}return(pe||(pe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",w),te(o,"destroy",m),l.getStacks=_,d.getStackIndicator=G,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},pe}),Le(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defined:ve,merge:le,isObject:pe}=re;class ue extends q{drawGraph(){let te=this.options,X=(this.gappedPath||this.getGraphPath).call(this),E=this.chart.styledMode;[this,...this.zones].forEach((j,F)=>{let P,D=j.graph,A=D?"animate":"attr",I=j.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:X.xMap,D.animate({d:X})):X.length&&(j.graph=D=this.chart.renderer.path(X).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&j.className||"")).attr({zIndex:1}).add(this.group)),D&&!E&&(P={stroke:!F&&te.lineColor||j.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},I?P.dashstyle=I:"square"!==te.linecap&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),D[A](P).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},pe(te.shadow)?te.shadow:{}))),D&&(D.startX=X.xMap,D.isArea=X.isArea)})}getGraphPath(te,X,E){let A,j=this,F=j.options,P=[],D=[],I=F.step,_=(te=te||j.points).reversed;return _&&te.reverse(),(I={right:1,center:2}[I]||I&&3)&&_&&(I=4-I),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!X&&!E))).forEach(function(m,w){let G,O=m.plotX,f=m.plotY,a=te[w-1],g=m.isNull||"number"!=typeof f;(m.leftCliff||a&&a.rightCliff)&&!E&&(A=!0),g&&!ve(X)&&w>0?A=!F.connectNulls:g&&!X?A=!0:(0===w||A?G=[["M",m.plotX,m.plotY]]:j.getPointSpline?G=[j.getPointSpline(te,m,w)]:I?(G=1===I?[["L",a.plotX,f]]:2===I?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):G=[["L",O,f]],D.push(m.x),I&&(D.push(m.x),2===I&&D.push(m.x)),P.push.apply(P,G),A=!1)}),P.xMap=D,j.graphPath=P,P}}return ue.defaultOptions=le(q.defaultOptions,{legendSymbol:"lineMarker"}),ne.registerSeriesType("line",ue),ue}),Le(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{seriesTypes:{line:re}}=q,{extend:ve,merge:le,objectEach:pe,pick:ue}=ne;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:X,options:E}=this;[this,...this.zones].forEach((j,F)=>{let P={},D=j.fillColor||E.fillColor,A=j.area,I=A?"animate":"attr";A?(A.endX=this.preventGraphAnimation?null:X.xMap,A.animate({d:X})):(P.zIndex=0,(A=j.area=this.chart.renderer.path(X).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(P.fill=D||j.color||this.color,P["fill-opacity"]=D?1:E.fillOpacity??.75,A.css({pointerEvents:this.stickyTracking?"none":"auto"})),A[I](P),A.startX=X.xMap,A.shiftUnit=E.step?2:1})}getGraphPath(X){let E,j,F,P=re.prototype.getGraphPath,D=this.options,A=D.stacking,I=this.yAxis,_=[],m=[],w=this.index,G=I.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(I.getThreshold(D.threshold)),a=ue(D.connectNulls,"percent"===A),g=function(d,C,k){let K,U,p=X[d],T=A&&G[p.x].points[w],B=p[k+"Null"]||0,z=p[k+"Cliff"]||0,se=!0;z||B?(K=(B?T[0]:T[1])+z,U=T[0]+z,se=!!B):!A&&X[C]&&X[C].isNull&&(K=U=O),void 0!==K&&(m.push({plotX:E,plotY:null===K?f:I.getThreshold(K),isNull:se,isCliff:!0}),_.push({plotX:E,plotY:null===U?f:I.getThreshold(U),doCurve:!1}))};X=X||this.points,A&&(X=this.getStackPoints(X));for(let d=0,C=X.length;df.visible);F.forEach(function(f,a){let v,o,g=0;if(I[f]&&!I[f].isNull)j.push(I[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=A[F[a+n]],d=0;if(l){let C=G;for(;C>=0&&C=0&&nO&&j>A?(j=Math.max(O,A),P=2*A-j):ja&&P>A?(P=Math.max(a,A),j=2*A-P):P=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let v=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;m(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==v.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,v=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,T=O.dataMax,B=O.barW=Math.max(C,1+2*v),z=O.translatedThreshold=n.getThreshold(r);f.inverted&&(z-=.5),a.pointPadding&&(B=Math.ceil(B)),le.prototype.translate.apply(O),O.points.forEach(function(K){let H,U=_(K.yBottom,z),se=999+Math.abs(U),S=K.plotX||0,$=E(K.plotY,-se,n.len+se),x=Math.min($,U),N=Math.max($,U)-x,R=C,Z=S+k,Y=B;l&&Math.abs(N)l?U-l:z-(H?l:0)),j(K.options.pointWidth)&&(Z-=Math.round(((R=Y=Math.ceil(K.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(Z=O.adjustForMissingColumns(Z,R,K,d)),K.barX=Z,K.pointWidth=R,K.tooltipPos=f.inverted?[E(n.len+n.pos-f.plotLeft-$,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-Z-Y/2,N]:[o.left-f.plotLeft+Z+Y/2,E($+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],K.shapeType=O.pointClass.prototype.shapeType||"roundedRect",K.shapeArgs=O.crispCol(Z,K.isNull?z:x,Y,K.isNull?0:N)}),P(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},v=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[v]||a[v]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,T=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=I(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[v]||C,p=n[o]||p,k=n.dashStyle||k,T=_(n.opacity,T));let B={fill:d,stroke:C,"stroke-width":p,opacity:T};return k&&(B.dashstyle=k),B}drawPoints(O=this.points){let f,a=this,g=this.chart,v=a.options,o=g.renderer,n=v.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function m(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,T=o.plotX,B=o.plotY,z=r.rotation||0,K=ue(T)&&ue(B)&&C.isInsidePlot(T,Math.round(B),{inverted:k,paneCoordinates:!0,series:this}),U=0===z&&"justify"===P(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&ue(T)&&(o.series.forceDL||p&&!U||K||P(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(T,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),S=o.pos();if(se&&S){let H=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:S[0],y:Math.round(S[1]),width:0,height:0},l||{}),J(r,{width:H.width,height:H.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,K,l),n.align(j(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-H.width),n.alignAttr.y+=R*(x.height-H.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(H.width-x.width)/2,y:n.alignAttr.y+(H.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,H,l,d);else if(P(r.crop,!0)){let{x:Z,y:Y}=n.alignAttr;se=C.isInsidePlot(Z,Y,{paneCoordinates:!0,series:this})&&C.isInsidePlot(Z+H.width-1,Y+H.height-1,{paneCoordinates:!0,series:this})}r.shape&&!z&&n[d?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function w(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,T=C.getContrast(E(p)&&p||E(k)&&k||"#000000"),B=g(r),{animation:z,defer:K}=B[0],U=K?le(l,z,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let S=se.dataLabels||[];A(a(B,se.dlOptions||se.options?.dataLabels)).forEach((H,x)=>{let ge,_e,Te,Oe,ee,N=H.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(be,xe){let Ie=xe.filter;if(Ie){let we=Ie.operator,Ee=be[Ie.property],Me=Ie.value;return">"===we&&Ee>Me||"<"===we&&Ee="===we&&Ee>=Me||"<="===we&&Ee<=Me||"=="===we&&Ee==Me||"==="===we&&Ee===Me||"!="===we&&Ee!=Me||"!=="===we&&Ee!==Me}return!0}(se,H),{backgroundColor:R,borderColor:Z,distance:Y,style:he={}}=H,De={},Be=S[x],oe=!Be;if(N&&(_e=P(H[se.formatPrefix+"Format"],H.format),ge=se.getLabelConfig(),Te=ue(_e)?pe(_e,ge,l):(H[se.formatPrefix+"Formatter"]||H.formatter).call(ge,H),Oe=H.rotation,!l.styledMode&&(he.color=P(H.color,he.color,E(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!ue(Y)&&H.inside||0>D(Y||0)||d.stacking?se.contrastColor:T):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),De={r:H.borderRadius||0,rotation:Oe,padding:H.padding,zIndex:1},l.styledMode||(De.fill="auto"===R?se.color:R,De.stroke="auto"===Z?se.color:Z,De["stroke-width"]=H.borderWidth),F(De,(be,xe)=>{void 0===be&&delete De[xe]})),!Be||N&&ue(Te)&&!!Be.div==!!H.useHTML&&(Be.rotation&&H.rotation||Be.rotation===H.rotation)||(Be=void 0,oe=!0),N&&ue(Te)&&(Be?De.text=Te:(Be=C.label(Te,0,0,H.shape,void 0,void 0,H.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(H.className||"")+(H.useHTML?" highcharts-tracker":"")),Be)){Be.options=H,Be.attr(De),l.styledMode||Be.css(he).shadow(H.shadow);let be=H[se.formatPrefix+"TextPath"]||H.textPath;be&&!H.useHTML&&(Be.setTextPath(se.getDataLabelPath?.(Be)||se.graphic,be),se.dataLabelPath&&!be.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Be.added||Be.add(n),r.alignDataLabel(se,Be,H,void 0,oe),Be.isActive=!0,S[x]&&S[x]!==Be&&S[x].destroy(),S[x]=Be}});let $=S.length;for(;$--;)S[$]&&S[$].isActive?S[$].isActive=!1:(S[$]?.destroy(),S.splice($,1));se.dataLabel=S[0],se.dataLabels=S})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,T=n.verticalAlign,B=o.box?0:o.padding||0,{x:z=0,y:K=0}=n;return(U=(r.x||0)+B)<0&&("right"===p&&z>=0?(n.align="left",n.inside=!0):z-=U,se=!0),(U=(r.x||0)+l.width-B)>k.plotWidth&&("left"===p&&z<=0?(n.align="right",n.inside=!0):z+=k.plotWidth-U,se=!0),(U=r.y+B)<0&&("bottom"===T&&K>=0?(n.verticalAlign="top",n.inside=!0):K-=U,se=!0),(U=(r.y||0)+l.height-B)>k.plotHeight&&("top"===T&&K<=0?(n.verticalAlign="bottom",n.inside=!0):K+=k.plotHeight-U,se=!0),se&&(n.x=z,n.y=K,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if(X(o)&&!X(n))r=o.map(function(d){return j(d,n)});else if(X(n)&&!X(o))r=n.map(function(d){return j(o,d)});else if(X(o)||X(n)){if(X(o)&&X(n))for(l=Math.max(o.length,n.length);l--;)r[l]=j(o[l],n[l])}else r=j(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return A(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function v(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,T=p.reversed,B=((k?n.height:n.width)||0)/2,z=o.pointWidth,K=z?z/2:0;n.startXPos=k?d.x:T?-B-K:p.width-B+K,n.startYPos=k?T?this.yAxis.height-B+K:-B-K:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}I.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=G,n.initDataLabelsGroup=w,n.alignDataLabel=m,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=v,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Le(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{series:ue}=re,{merge:J,pick:te,pushUnique:X}=ve;return function(E){function j(F,P,D,A,I){let _=this.chart.inverted,m=F.series,w=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||0,G=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,G)),a=te(D.inside,!!this.options.stacking);if(O){if(A=J(O),"allow"!==D.overflow||!1!==D.crop){A.y<0&&(A.height+=A.y,A.y=0);let g=A.y+A.height-G;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Le(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{column:ve,line:le}=ne.seriesTypes,{addEvent:pe,extend:ue,merge:J}=re;class te extends le{applyJitter(){let E=this,j=this.options.jitter,F=this.points.length;j&&this.points.forEach(function(P,D){["x","y"].forEach(function(A,I){let _,w,G,O,m="plot"+A.toUpperCase();j[A]&&!P.isNull&&(_=E[A+"Axis"],O=j[A]*_.transA,_&&!_.isLog&&(w=Math.max(0,P[m]-O),G=Math.min(_.len,P[m]+O),P[m]=w+(G-w)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+I*F),"x"===A&&(P.clientX=P.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,q),ue(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),pe(te,"afterTranslate",function(){this.applyJitter()}),ne.registerSeriesType("scatter",te),te}),Le(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve,le;let{deg2rad:pe}=q,{fireEvent:ue,isNumber:J,pick:te,relativeLength:X}=re;return(le=ve||(ve={})).getCenter=function(){let m,O,f,E=this.options,j=this.chart,F=2*(E.slicedOffset||0),P=j.plotWidth-2*F,D=j.plotHeight-2*F,A=E.center,I=Math.min(P,D),_=E.thickness,w=E.size,G=E.innerSize||0;"string"==typeof w&&(w=parseFloat(w)),"string"==typeof G&&(G=parseFloat(G));let a=[te(A[0],"50%"),te(A[1],"50%"),te(w&&w<0?void 0:E.size,"100%"),te(G&&G<0?void 0:E.innerSize||0,"0%")];for(!j.angular||this instanceof ne||(a[3]=0),O=0;O<4;++O)f=a[O],m=O<2||2===O&&/%$/.test(f),a[O]=X(f,[P,D,I,a[2]][O])+(m?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),ue(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(E,j){let F=J(E)?E:0,P=J(j)&&j>F&&j-F<360?j:F+360;return{start:pe*(F+-90),end:pe*(P+-90)}},ve}),Le(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re){let{setAnimation:ve}=q,{addEvent:le,defined:pe,extend:ue,isNumber:J,pick:te,relativeLength:X}=re;class E extends ne{getConnectorPath(F){let P=F.dataLabelPosition,D=F.options||{},A=D.connectorShape;return P&&(this.connectorShapes[A]||A).call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+F,P.r+F,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(F,P,D){super(F,P,D),this.half=0,this.name??(this.name="Slice");let A=I=>{this.slice("select"===I.type)};le(this,"select",A),le(this,"unselect",A)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,P=!0){F!==this.visible&&this.update({visible:F??!this.visible},P,void 0,!1)}slice(F,P,D){let A=this.series;ve(D,A.chart),P=te(P,!0),this.sliced=this.options.sliced=F=pe(F)?F:!this.sliced,A.options.data[A.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ue(E.prototype,{connectorShapes:{fixedOffset:function(j,F,P){let D=F.breakAt,A=F.touchingSliceAt;return[["M",j.x,j.y],P.softConnector?["C",j.x+("left"===j.alignment?-5:5),j.y,2*D.x-A.x,2*D.y-A.y,D.x,D.y]:["L",D.x,D.y],["L",A.x,A.y]]},straight:function(j,F){let P=F.touchingSliceAt;return[["M",j.x,j.y],["L",P.x,P.y]]},crookedLine:function(j,F,P){let{breakAt:D,touchingSliceAt:A}=F,{series:I}=this,[_,m,w]=I.center,G=w/2,{plotLeft:O,plotWidth:f}=I.chart,a="left"===j.alignment,{x:g,y:v}=j,o=D.x;if(P.crookDistance){let r=X(P.crookDistance,1);o=a?_+G+(f+O-_-G)*(1-r):O+(_-G)*r}else o=_+(m-v)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,v]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,v]),n.push(["L",D.x,D.y],["L",A.x,A.y]),n}}}),E}),Le(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Le(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{getStartAndEndRadians:X}=q,{noop:E}=re,{clamp:j,extend:F,fireEvent:P,merge:D,pick:A}=te;class I extends pe{animate(m){let w=this,O=w.startAngleRad;m||w.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:A(f.startR,w.center&&w.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},w.options.animation))})}drawEmpty(){let m,w,G=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(m=this.center[0],w=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(m,w,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(m,w,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let m=this.chart.renderer;this.points.forEach(function(w){w.graphic&&w.hasNewShapeType()&&(w.graphic=w.graphic.destroy()),w.graphic||(w.graphic=m[w.shapeType](w.shapeArgs).add(w.series.group),w.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(m,w,G,O){let f=this.center,a=this.radii?this.radii[G.index]||0:f[2]/2,g=O.dataLabelPosition,v=g?.distance||0,o=Math.asin(j((m-f[1])/(a+v),-1,1));return f[0]+Math.cos(o)*(a+v)*(w?-1:1)+(v>0?(w?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let m,w,G,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let v={};w=g.graphic,!g.isNull&&w?(O=g.shapeArgs,m=g.getTranslate(),a.styledMode||(G=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(w.setRadialReference(f.center).attr(O).attr(m),a.styledMode||w.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(w.setRadialReference(f.center),a.styledMode||D(!0,v,G),D(!0,v,O,m),w.animate(v)),w.attr({visibility:g.visible?"inherit":"hidden"}),w.addClass(g.getClassName(),!0)):w&&(g.graphic=w.destroy())})}sortByAngle(m,w){m.sort(function(G,O){return void 0!==G.angle&&(O.angle-G.angle)*w})}translate(m){P(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,w=this.options,G=w.slicedOffset,O=X(w.startAngle,w.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,v=w.ignoreHiddenPoint,o=g.length,T=0;for(m||(this.center=m=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*G),translateY:Math.round(Math.sin(l)*G)},d=Math.cos(l)*m[2]/2,C=Math.sin(l)*m[2]/2,p.tooltipPos=[m[0]+.7*d,m[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}P(this,"afterTranslate")}updateTotals(){let O,f,m=this.points,w=m.length,G=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!G)?f.y/a*100:0,f.total=a}}return I.defaultOptions=D(pe.defaultOptions,le),F(I.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ne.prototype.drawTracker,getCenter:q.getCenter,getSymbol:E,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ne.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:E,trackerGroups:["group","dataLabelsGroup"]}),ue.registerSeriesType("pie",I),I}),Le(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{composed:ue,noop:J}=ne,{distribute:te}=re,{series:X}=ve,{arrayMax:E,clamp:j,defined:F,pick:P,pushUnique:D,relativeLength:A}=le;return function(I){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,v,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?v:g,a.half,a,o)},justify:function(f,a,g,v){return v[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,v){let o=f.getBBox().width;return a?o+v:g-o-v},alignToConnectors:function(f,a,g,v){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+v:g-o-v}};function m(f,a){let{center:g,options:v}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((v.slicedOffset||0)+(v.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function w(){let B,z,K,f=this,a=f.points,g=f.chart,v=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],T=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),X.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((S,$)=>{let H=l[2]/2,x=S.options,N=A(x?.distance||0,H);0===$&&k[se.half].push(se),!F(x?.style?.width)&&S.getBBox().width>r&&(S.css({width:Math.round(.7*r)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,S)=>{let x,N,Z,H=[],R=0;se.length&&(f.sortByAngle(se,S-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.dataLabelPosition;ge&&ge.distance>0&&(ge.top=Math.max(0,C-d-ge.distance),ge.bottom=Math.min(C+d+ge.distance,g.plotHeight),R=he.getBBox().height||21,Y.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-ge.top+R/2,size:R,rank:Y.y},H.push(Y.distributeBox))})}),te(H,Z=N+R-x,Z/5)),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.options||{},_e=Y.distributeBox,Te=he.dataLabelPosition,Oe=Te?.natural.y||0,De=ge.connectorPadding||0,Be=0,oe=Oe,ee="inherit";if(Te){if(H&&F(_e)&&Te.distance>0&&(void 0===_e.pos?ee="hidden":(K=_e.size,oe=T.radialDistributionY(Y,he))),ge.justify)Be=T.justify(Y,he,d,l);else switch(ge.alignTo){case"connectors":Be=T.alignToConnectors(se,S,v,n);break;case"plotEdges":Be=T.alignToPlotEdges(he,S,v,n);break;default:Be=T.radialDistributionX(f,Y,oe,Oe,he)}if(Te.attribs={visibility:ee,align:Te.alignment},Te.posAttribs={x:Be+(ge.x||0)+({left:De,right:-De}[Te.alignment]||0),y:oe+(ge.y||0)-he.getBBox().height/2},Te.computed.x=Be,Te.computed.y=oe,P(ge.crop,!0)){let be;Be-(z=he.getBBox().width)v-De&&0===S&&(be=Math.round(Be+z-v+De),p[1]=Math.max(be,p[1])),oe-K/2<0?p[0]=Math.max(Math.round(K/2-oe),p[0]):oe+K/2>o&&(p[2]=Math.max(Math.round(oe+K/2-o),p[2])),Te.sideOverflow=be}}})}))}),(0===E(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(S=>{let{connectorColor:$,connectorWidth:H=1}=S.options||{},x=S.dataLabelPosition;if(H){let N;B=S.connector,x&&x.distance>0?(N=!B,B||(S.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||B.attr({"stroke-width":H,stroke:$||se.color||"#666666"}),B[N?"attr":"animate"]({d:se.getConnectorPath(S)}),B.attr({visibility:x.attribs?.visibility})):B&&(S.connector=B.destroy())}})})))}function G(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,v=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==v[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==v[1]?n=j(n,o,a[2]-Math.max(f[0],f[2])):(n=j(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(m.x>=_.x+_.width||m.x+m.width<=_.x||m.y>=_.y+_.height||m.y+m.height<=_.y),I=!1;for(let _=0;_(m.labelrank||0)-(_.labelrank||0));for(let _=0;_{ve(j,F=>{F.label&&X.push(F.label)})});for(let E of te.series||[])if(E.visible&&E.hasDataLabels?.()){let j=F=>{for(let P of F)P.visible&&(P.dataLabels||[]).forEach(D=>{let A=D.options||{};D.labelrank=le(A.labelrank,P.labelrank,P.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,ue(D,te)):X.push(D)})};j(E.nodes||[]),j(E.points)}this.hideOverlappingLabels(X)}return{compose:function(te){let X=te.prototype;X.hideOverlappingLabels||(X.hideOverlappingLabels=pe,ne(te,"render",J))}}}),Le(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defaultOptions:ve}=q,{noop:le}=ne,{addEvent:pe,extend:ue,isObject:J,merge:te,relativeLength:X}=re,E={radius:0,scope:"stack",where:void 0},j=le,F=le;function P(m,w,G,O,f={}){let a=j(m,w,G,O,f),{innerR:g=0,r:v=G,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min(X(f.borderRadius||0,v-g),(v-g)/2,v*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,T,B){let z,K,U,se=p[T],S=p[T+1];if("Z"===S[0]&&(S=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==S[0]?"A"===se[0]&&("M"===S[0]||"L"===S[0])&&(z=S,K=se):(z=se,K=S,U=!0),z&&K&&K.params){let $=K[1],H=K[5],x=K.params,{start:N,end:R,cx:Z,cy:Y}=x,he=H?$-B:$+B,ge=he?Math.asin(B/he):0,_e=H?ge:-ge,Te=Math.cos(ge)*he;U?(x.start=N+_e,z[1]=Z+Te*Math.cos(N),z[2]=Y+Te*Math.sin(N),p.splice(T+1,0,["A",B,B,0,0,1,Z+$*Math.cos(x.start),Y+$*Math.sin(x.start)])):(x.end=R-_e,K[6]=Z+$*Math.cos(x.end),K[7]=Y+$*Math.sin(x.end),p.splice(T+1,0,["A",B,B,0,0,1,Z+Te*Math.cos(R),Y+Te*Math.sin(R)])),K[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:m,yAxis:w}=this,G="percent"===m.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=A(m.borderRadius,J(O)?O:{}),a=w.options.reversed;for(let g of this.points){let{shapeArgs:v}=g;if("roundedRect"===g.shapeType&&v){let{width:o=0,height:n=0,y:r=0}=v,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let T=w.translate(G?100:g.stackTotal,!1,!0,!1,!0),B=w.translate(m.threshold||0,!1,!0,!1,!0),z=this.crispCol(0,Math.min(T,B),0,Math.abs(T-B));l=z.y,d=z.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min(X(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),ue(v,{brBoxHeight:d,brBoxY:l,r:p})}}}}function A(m,w){return J(m)||(m={radius:m||0}),te(E,w,m)}function I(){let m=A(this.options.borderRadius);for(let w of this.points){let G=w.shapeArgs;G&&(G.borderRadius=X(m.radius,(G.r||0)-(G.innerR||0)))}}function _(m,w,G,O,f={}){let a=F(m,w,G,O,f),{r:g=0,brBoxHeight:v=O,brBoxY:o=w}=f,n=w-o,r=o+v-(w+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[m+l,w],T=[m+G-l,w],B=[m+G,w+l],z=[m+G,w+O-d],K=[m+G-d,w+O],U=[m+d,w+O],se=[m,w+O-d],S=[m,w+l],$=(H,x)=>Math.sqrt(Math.pow(H,2)-Math.pow(x,2));if(C){let H=$(l,l-C);p[0]-=H,T[0]+=H,B[1]=S[1]=w+l-C}if(O=ue(P.minWidth,0)&&this.chartHeight>=ue(P.minHeight,0)}).call(this)&&F.push(j._id)}function E(j,F){let I,P=this.options.responsive,D=this.currentResponsive,A=[];!F&&P&&P.rules&&P.rules.forEach(w=>{void 0===w._id&&(w._id=J()),this.matchResponsiveRule(w,A)},this);let _=pe(...A.map(w=>le((P||{}).rules||[],G=>G._id===w)).map(w=>w&&w.chartOptions));_.isResponsiveOptions=!0,A=A.toString()||void 0,A!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,j,!0),A?((I=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:A,mergedOptions:_,undoOptions:I},this.update(_,j,!0)):this.currentResponsive=void 0)}te.compose=function(j){let F=j.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:X,setResponsive:E}),j}}(ne||(ne={})),ne}),Le(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P,D,A,I,_,m,w,G,O,f,a,g,v,o,n,r,l,d,C,k,p,T,B){return q.AST=pe,q.Axis=F,q.Chart=f,q.Color=T,q.DataLabel=d,q.Fx=ve,q.HTMLElement=j,q.Legend=G,q.LegendSymbol=O,q.OverlappingDataLabels=q.OverlappingDataLabels||C,q.PlotLineOrBand=A,q.Point=m,q.Pointer=w,q.RendererRegistry=J,q.Series=o,q.SeriesRegistry=n,q.StackItem=v,q.SVGElement=X,q.SVGRenderer=E,q.Templating=ue,q.Tick=I,q.Time=B,q.Tooltip=_,q.animate=le.animate,q.animObject=le.animObject,q.chart=f.chart,q.color=T.parse,q.dateFormat=ue.dateFormat,q.defaultOptions=re.defaultOptions,q.distribute=te.distribute,q.format=ue.format,q.getDeferredAnimation=le.getDeferredAnimation,q.getOptions=re.getOptions,q.numberFormat=ue.numberFormat,q.seriesType=n.seriesType,q.setAnimation=le.setAnimation,q.setOptions=re.setOptions,q.stop=le.stop,q.time=re.defaultTime,q.timers=ve.timers,k.compose(q.Series,q.SVGElement,q.SVGRenderer),r.compose(q.Series.types.column),d.compose(q.Series),P.compose(q.Axis),j.compose(q.SVGRenderer),G.compose(q.Chart),D.compose(q.Axis),C.compose(q.Chart),l.compose(q.Series.types.pie),A.compose(q.Axis),w.compose(q.Chart),p.compose(q.Chart),a.compose(q.Axis,q.Chart,q.Series),g.compose(q.Axis,q.Chart,q.Series),_.compose(q.Pointer),ne.extend(q,ne),q}),Le(V,"Core/Axis/Color/ColorAxisComposition.js",[V["Core/Color/Color.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{parse:ve}=q,{addEvent:le,extend:pe,merge:ue,pick:J,splat:te}=ne;return function(X){let E;function j(){let{userOptions:O}=this;this.colorAxis=[],O.colorAxis&&(O.colorAxis=te(O.colorAxis),O.colorAxis.map(f=>new E(this,f)))}function F(O){let v,o,a=n=>{let r=O.allItems.indexOf(n);-1!==r&&(this.destroyItem(O.allItems[r]),O.allItems.splice(r,1))},g=[];for((this.chart.colorAxis||[]).forEach(function(n){(v=n.options)&&v.showInLegend&&(v.dataClasses&&v.visible?g=g.concat(n.getDataClassLegendSymbols()):v.visible&&g.push(n),n.series.forEach(function(r){(!r.options.showInLegend||v.dataClasses)&&("point"===r.options.legendType?r.points.forEach(function(l){a(l)}):a(r))}))}),o=g.length;o--;)O.allItems.unshift(g[o])}function P(O){O.visible&&O.item.legendColor&&O.item.legendItem.symbol.attr({fill:O.item.legendColor})}function D(O){this.chart.colorAxis?.forEach(f=>{f.update({},O.redraw)})}function A(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function I(){let O=this.axisTypes;O?-1===O.indexOf("colorAxis")&&O.push("colorAxis"):this.axisTypes=["colorAxis"]}function _(O){let f=this,a=O?"show":"hide";f.visible=f.options.visible=!!O,["graphic","dataLabel"].forEach(function(g){f[g]&&f[g][a]()}),this.series.buildKDTree()}function m(){let O=this,a=this.options.nullColor,g=this.colorAxis,v=this.colorKey;(this.data.length?this.data:this.points).forEach(o=>{let n=o.getNestedProperty(v),r=o.options.color||(o.isNull||null===o.value?a:g&&void 0!==n?g.toColor(n,o):o.color||O.color);r&&o.color!==r&&(o.color=r,"point"===O.options.legendType&&o.legendItem&&o.legendItem.label&&O.chart.legend.colorizeItem(o,o.visible))})}function w(){this.elem.attr("fill",ve(this.start).tweenTo(ve(this.end),this.pos),void 0,!0)}function G(){this.elem.attr("stroke",ve(this.start).tweenTo(ve(this.end),this.pos),void 0,!0)}X.compose=function(O,f,a,g,v){let o=f.prototype,n=a.prototype,r=v.prototype;o.collectionsWithUpdate.includes("colorAxis")||(E=O,o.collectionsWithUpdate.push("colorAxis"),o.collectionsWithInit.colorAxis=[o.addColorAxis],le(f,"afterGetAxes",j),function(l){let d=l.prototype.createAxis;l.prototype.createAxis=function(C,k){if("colorAxis"!==C)return d.apply(this,arguments);let p=new E(this,ue(k.axis,{index:this[C].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(T=>{T.series=[]}),this.series.forEach(T=>{T.bindAxes(),T.isDirtyData=!0}),J(k.redraw,!0)&&this.redraw(k.animation),p}}(f),n.fillSetter=w,n.strokeSetter=G,le(g,"afterGetAllItems",F),le(g,"afterColorizeItem",P),le(g,"afterUpdate",D),pe(r,{optionalAxis:"colorAxis",translateColors:m}),pe(r.pointClass.prototype,{setVisible:_}),le(v,"afterTranslate",A,{order:1}),le(v,"bindAxes",I))},X.pointSetVisible=_}(re||(re={})),re}),Le(V,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineColor:"#ffffff",gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{distance:8,overflow:"justify",rotation:0},minColor:"#e6e9ff",maxColor:"#0022ff",tickLength:5,showInLegend:!0}}),Le(V,"Core/Axis/Color/ColorAxisLike.js",[V["Core/Color/Color.js"],V["Core/Utilities.js"]],function(q,ne){var re,ve;let{parse:le}=q,{merge:pe}=ne;return(ve=re||(re={})).initDataClasses=function(ue){let j,F,A,J=this.chart,te=this.legendItem=this.legendItem||{},X=this.options,E=ue.dataClasses||[],P=J.options.chart.colorCount,D=0;this.dataClasses=F=[],te.labels=[];for(let I=0,_=E.length;I<_;++I)j=pe(j=E[I]),F.push(j),(J.styledMode||!j.color)&&("category"===X.dataClassColor?(J.styledMode||(P=(A=J.options.colors||[]).length,j.color=A[D]),j.colorIndex=D,++D===P&&(D=0)):j.color=le(X.minColor).tweenTo(le(X.maxColor),_<2?.5:I/(_-1)))},ve.initStops=function(){let ue=this.options,J=this.stops=ue.stops||[[0,ue.minColor||""],[1,ue.maxColor||""]];for(let te=0,X=J.length;te=X)&&(void 0===E||ue<=E)){j=F.color,J&&(J.dataClass=P,J.colorIndex=F.colorIndex);break}}else{for(te=this.normalizedValue(ue),P=A.length;P--&&!(te>A[P][0]););X=A[P]||A[P+1],te=1-((E=A[P+1]||X)[0]-te)/(E[0]-X[0]||1),j=X.color.tweenTo(E.color,te)}return j},re}),Le(V,"Core/Axis/Color/ColorAxis.js",[V["Core/Axis/Axis.js"],V["Core/Axis/Color/ColorAxisComposition.js"],V["Core/Axis/Color/ColorAxisDefaults.js"],V["Core/Axis/Color/ColorAxisLike.js"],V["Core/Defaults.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{defaultOptions:te}=le,{series:X}=ue,{defined:E,extend:j,fireEvent:F,isArray:P,isNumber:D,merge:A,pick:I,relativeLength:_}=J;te.colorAxis=A(te.xAxis,re);class m extends q{static compose(G,O,f,a){ne.compose(m,G,O,f,a)}constructor(G,O){super(G,O),this.coll="colorAxis",this.visible=!0,this.init(G,O)}init(G,O){let a=O.layout?"vertical"!==O.layout:"vertical"!==(G.options.legend||{}).layout;this.side=O.side||a?2:1,this.reversed=O.reversed||!a,this.opposite=!a,super.init(G,O,"colorAxis"),this.userOptions=O,P(G.userOptions.colorAxis)&&(G.userOptions.colorAxis[this.index]=O),O.dataClasses&&this.initDataClasses(O),this.initStops(),this.horiz=a,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(G){let O=A(te.colorAxis,G,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==G.visible});super.setOptions(O),this.options.crosshair=this.options.marker}setAxisSize(){let G=this.chart,O=this.legendItem?.symbol,{width:f,height:a}=this.getSize();O&&(this.left=+O.attr("x"),this.top=+O.attr("y"),this.width=f=+O.attr("width"),this.height=a=+O.attr("height"),this.right=G.chartWidth-this.left-f,this.bottom=G.chartHeight-this.top-a,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?f:a)||m.defaultLegendLength}getOffset(){let G=this.legendItem?.group,O=this.chart.axisOffset[this.side];if(G){this.axisParent=G,super.getOffset();let f=this.chart.legend;f.allItems.forEach(function(a){a instanceof m&&a.drawLegendSymbol(f,a)}),f.render(),this.chart.getMargins(!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=O}}setLegendColor(){let O=this.reversed,f=O?1:0,a=O?0:1,g=this.horiz?[f,0,a,0]:[0,a,0,f];this.legendColor={linearGradient:{x1:g[0],y1:g[1],x2:g[2],y2:g[3]},stops:this.stops}}drawLegendSymbol(G,O){let f=O.legendItem||{},a=G.padding,g=G.options,v=this.options.labels,o=I(g.itemDistance,10),n=this.horiz,{width:r,height:l}=this.getSize(),d=I(g.labelPadding,n?16:30);this.setLegendColor(),f.symbol||(f.symbol=this.chart.renderer.symbol("roundedRect").attr({r:g.symbolRadius??3,zIndex:1}).add(f.group)),f.symbol.attr({x:0,y:(G.baseline||0)-11,width:r,height:l}),f.labelWidth=r+a+(n?o:I(v.x,v.distance)+(this.maxLabelLength||0)),f.labelHeight=l+a+(n?d:0)}setState(G){this.series.forEach(function(O){O.setState(G)})}setVisible(){}getSeriesExtremes(){let O,f,a,g,v,o,r,l,G=this.series,n=G.length;for(this.dataMin=1/0,this.dataMax=-1/0;n--;){if(f=(o=G[n]).colorKey=I(o.options.colorKey,o.colorKey,o.pointValKey,o.zoneAxis,"y"),g=o.pointArrayMap,v=o[f+"Min"]&&o[f+"Max"],o[f+"Data"])O=o[f+"Data"];else if(g){if(O=[],a=g.indexOf(f),r=o.yData,a>=0&&r)for(l=0;lo+n&&(f=o+n+2),O.plotX=f,O.plotY=this.len-f,super.drawCrosshair(G,O),O.plotX=g,O.plotY=v,this.cross&&!this.cross.addedToColorAxis&&a.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(a.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(G){let O=this.left,f=G.translatedValue,a=this.top;return D(f)?this.horiz?[["M",f-4,a-6],["L",f+4,a-6],["L",f,a],["Z"]]:[["M",O,f],["L",O-6,f+6],["L",O-6,f-6],["Z"]]:super.getPlotLinePath(G)}update(G,O){let f=this.chart.legend;this.series.forEach(a=>{a.isDirtyData=!0}),(G.dataClasses&&f.allItems||this.dataClasses)&&this.destroyItems(),super.update(G,O),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),f.colorizeItem(this,!0))}destroyItems(){let G=this.chart,O=this.legendItem||{};if(O.label)G.legend.destroyItem(this);else if(O.labels)for(let f of O.labels)G.legend.destroyItem(f);G.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(G){this.destroyItems(),super.remove(G)}getDataClassLegendSymbols(){let G,O=this,f=O.chart,a=O.legendItem&&O.legendItem.labels||[],g=f.options.legend,v=I(g.valueDecimals,-1),o=I(g.valueSuffix,""),n=r=>O.series.reduce((l,d)=>(l.push(...d.points.filter(C=>C.dataClass===r)),l),[]);return a.length||O.dataClasses.forEach((r,l)=>{let d=r.from,C=r.to,{numberFormatter:k}=f,p=!0;G="",void 0===d?G="< ":void 0===C&&(G="> "),void 0!==d&&(G+=k(d,v)+o),void 0!==d&&void 0!==C&&(G+=" - "),void 0!==C&&(G+=k(C,v)+o),a.push(j({chart:f,name:G,options:{},drawLegendSymbol:pe.rectangle,visible:!0,isDataClass:!0,setState:T=>{for(let B of n(l))B.setState(T)},setVisible:function(){this.visible=p=O.visible=!p;let T=[];for(let B of n(l))B.setVisible(p),B.hiddenInDataClass=!p,-1===T.indexOf(B.series)&&T.push(B.series);f.legend.colorizeItem(this,p),T.forEach(B=>{F(B,"afterDataClassLegendClick")})}},r))}),a}getSize(){let{chart:G,horiz:O}=this,{legend:f,height:a,width:g}=this.options;return{width:I(E(g)?_(g,G.chartWidth):void 0,f?.symbolWidth,O?m.defaultLegendLength:12),height:I(E(a)?_(a,G.chartHeight):void 0,f?.symbolHeight,O?12:m.defaultLegendLength)}}}return m.defaultLegendLength=200,m.keepProps=["legendItem"],j(m.prototype,ve),Array.prototype.push.apply(q.keepProps,m.keepProps),m}),Le(V,"masters/modules/coloraxis.src.js",[V["Core/Globals.js"],V["Core/Axis/Color/ColorAxis.js"]],function(q,ne){return q.ColorAxis=q.ColorAxis||ne,q.ColorAxis.compose(q.Chart,q.Fx,q.Legend,q.Series),q}),Le(V,"Maps/MapNavigationDefaults.js",[],function(){return{lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}}}),Le(V,"Maps/MapPointer.js",[V["Core/Utilities.js"]],function(q){var ne;let{defined:re,extend:ve,pick:le,wrap:pe}=q;return function(ue){let J,te=0;function X(P){let D=this.chart;P=this.normalize(P),D.options.mapNavigation.enableDoubleClickZoomTo?D.pointer.inClass(P.target,"highcharts-tracker")&&D.hoverPoint&&D.hoverPoint.zoomTo():D.isInsidePlot(P.chartX-D.plotLeft,P.chartY-D.plotTop)&&D.mapZoom(.5,void 0,void 0,P.chartX,P.chartY)}function E(P){let D=this.chart,A=re((P=this.normalize(P)).wheelDelta)&&-P.wheelDelta/120||P.deltaY||P.detail;Math.abs(A)>=1&&(te+=Math.abs(A),J&&clearTimeout(J),J=setTimeout(()=>{te=0},50)),te<10&&D.isInsidePlot(P.chartX-D.plotLeft,P.chartY-D.plotTop)&&D.mapView&&D.mapView.zoomBy(-(D.options.mapNavigation.mouseWheelSensitivity-1)*A,void 0,[P.chartX,P.chartY],!(1>Math.abs(A))&&void 0)}function j(P,D,A){let I=this.chart;if(D=P.call(this,D,A),I&&I.mapView){let _=I.mapView.pixelsToLonLat({x:D.chartX-I.plotLeft,y:D.chartY-I.plotTop});_&&ve(D,_)}return D}function F(P){let D=this.chart.options.mapNavigation;D&&le(D.enableTouchZoom,D.enabled)&&(this.chart.zooming.pinchType="xy"),P.apply(this,[].slice.call(arguments,1))}ue.compose=function(P){let D=P.prototype;D.onContainerDblClick||(ve(D,{onContainerDblClick:X,onContainerMouseWheel:E}),pe(D,"normalize",j),pe(D,"zoomOption",F))}}(ne||(ne={})),ne}),Le(V,"Maps/MapSymbols.js",[],function(){let q;function ne(ve,le,pe,ue,J){if(J){let te=J?.r||0;J.brBoxY=le-te,J.brBoxHeight=ue+te}return q.roundedRect(ve,le,pe,ue,J)}function re(ve,le,pe,ue,J){return J&&(J.brBoxHeight=ue+(J?.r||0)),q.roundedRect(ve,le,pe,ue,J)}return{compose:function(ve){(q=ve.prototype.symbols).bottombutton=ne,q.topbutton=re}}}),Le(V,"Maps/MapNavigation.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Maps/MapNavigationDefaults.js"],V["Maps/MapPointer.js"],V["Maps/MapSymbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{setOptions:ue}=q,{composed:J}=ne,{addEvent:te,extend:X,merge:E,objectEach:j,pick:F,pushUnique:P}=pe;function D(I){I&&(I.preventDefault&&I.preventDefault(),I.stopPropagation&&I.stopPropagation(),I.cancelBubble=!0)}class A{static compose(_,m,w){ve.compose(m),le.compose(w),P(J,"Map.Navigation")&&(te(_,"beforeRender",function(){this.mapNavigation=new A(this),this.mapNavigation.update()}),ue(re))}constructor(_){this.chart=_,this.navButtons=[]}update(_){let a,m=this,w=m.chart,G=m.navButtons,O=function(g){this.handler.call(w,g),D(g)},f=w.options.mapNavigation;for(_&&(f=w.options.mapNavigation=E(w.options.mapNavigation,_));G.length;)G.pop().destroy();if(!w.renderer.forExport&&F(f.enableButtons,f.enabled)){m.navButtonsGroup||(m.navButtonsGroup=w.renderer.g().attr({zIndex:7}).add()),j(f.buttons,(v,o)=>{v=E(f.buttonOptions,v),!w.styledMode&&v.theme&&((a=v.theme).style=E(v.theme.style,v.style));let{text:n,width:r=0,height:l=0,padding:d=0}=v,C=w.renderer.button("+"!==n&&"-"!==n&&n||"",0,0,O,a,void 0,void 0,void 0,"zoomIn"===o?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[o]).attr({width:r,height:l,title:w.options.lang[o],padding:v.padding,zIndex:5}).add(m.navButtonsGroup);if("+"===n||"-"===n){let k=r+1,p=[["M",d+3,d+l/2],["L",d+k-3,d+l/2]];"+"===n&&p.push(["M",d+k/2,d+3],["L",d+k/2,d+l-3]),w.renderer.path(p).addClass("highcharts-button-symbol").attr(w.styledMode?{}:{stroke:v.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(C)}if(C.handler=v.onclick,te(C.element,"dblclick",D),G.push(C),X(v,{width:C.width,height:2*(C.height||0)}),w.hasLoaded)C.align(v,!1,v.alignTo);else{let k=te(w,"load",()=>{C.element&&C.align(v,!1,v.alignTo),k()})}});let g=(v,o)=>!(o.x>=v.x+v.width||o.x+o.width<=v.x||o.y>=v.y+v.height||o.y+o.height<=v.y);w.hasLoaded||te(w,"render",function(){let v=w.exportingGroup&&w.exportingGroup.getBBox();if(v){let o=m.navButtonsGroup.getBBox();g(v,o)&&m.navButtonsGroup.attr({translateY:"bottom"===(f.buttonOptions&&f.buttonOptions.verticalAlign)?-o.y-o.height+v.y-5:v.y+v.height-o.y+5})}})}this.updateEvents(f)}updateEvents(_){let m=this.chart;F(_.enableDoubleClickZoom,_.enabled)||_.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||te(m.container,"dblclick",function(w){m.pointer.onContainerDblClick(w)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),F(_.enableMouseWheelZoom,_.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||te(m.container,"wheel",function(w){return m.pointer.inClass(w.target,"highcharts-no-mousewheel")||(m.pointer.onContainerMouseWheel(w),D(w)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}return A}),Le(V,"Series/ColorMapComposition.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{column:{prototype:ve}}=q.seriesTypes,{addEvent:le,defined:pe}=ne;return function(ue){function J(te){this.moveToTopOnHover&&this.graphic&&this.graphic.attr({zIndex:te&&"hover"===te.state?1:0})}ue.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},ue.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(te){let X={};return pe(te.color)&&(!te.state||"normal"===te.state)&&(X[this.colorProp||"fill"]=te.color),X},pointAttribs:ve.pointAttribs},ue.compose=function(te){return le(te.prototype.pointClass,"afterSetState",J),te}}(re||(re={})),re}),Le(V,"Core/Chart/MapChart.js",[V["Core/Chart/Chart.js"],V["Core/Defaults.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{getOptions:pe}=ne,{isNumber:ue,merge:J,pick:te}=ve;class X extends q{init(j,F){let P=pe().credits,D=J({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:te(P.mapText,' \xa9 {geojson.copyrightShort}'),mapTextFull:te(P.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},j);super.init(D,F)}mapZoom(j,F,P,D,A){this.mapView&&(ue(j)&&(j=Math.log(j)/Math.log(.5)),this.mapView.zoomBy(j,ue(F)&&ue(P)?this.mapView.projection.inverse([F,P]):void 0,ue(D)&&ue(A)?[D,A]:void 0))}update(j){j.chart&&"map"in j.chart&&this.mapView?.recommendMapView(this,[j.chart.map,...(this.options.series||[]).map(F=>F.mapData)],!0),super.update.apply(this,arguments)}}return(le=X||(X={})).maps={},le.mapChart=function(E,j,F){return new le(E,j,F)},le.splitPath=function(E){let j;return j="string"==typeof E?(E=E.replace(/([A-Za-z])/g," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(F=>/[A-Za-z]/.test(F)?F:parseFloat(F)):E,re.prototype.pathToSegments(j)},X}),Le(V,"Maps/MapUtilities.js",[],function(){return{boundsFromPath:function(q){let pe,ne=-Number.MAX_VALUE,re=Number.MAX_VALUE,ve=-Number.MAX_VALUE,le=Number.MAX_VALUE;if(q.forEach(ue=>{let J=ue[ue.length-2],te=ue[ue.length-1];"number"==typeof J&&"number"==typeof te&&(re=Math.min(re,J),ne=Math.max(ne,J),le=Math.min(le,te),ve=Math.max(ve,te),pe=!0)}),pe)return{x1:re,y1:le,x2:ne,y2:ve}},pointInPolygon:function(q,ne){let re,ve,le=!1,pe=q.x,ue=q.y;for(re=0,ve=ne.length-1;reue!=ne[ve][1]>ue&&pe<(ne[ve][0]-ne[re][0])*(ue-ne[re][1])/(ne[ve][1]-ne[re][1])+ne[re][0]&&(le=!le);return le}}}),Le(V,"Series/Map/MapPoint.js",[V["Series/ColorMapComposition.js"],V["Maps/MapUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{boundsFromPath:le}=ne,pe=re.seriesTypes.scatter.prototype.pointClass,{extend:ue,isNumber:J,pick:te}=ve;class X extends pe{static getProjectedPath(j,F){return j.projectedPath||(F&&j.geometry?(F.hasCoordinates=!0,j.projectedPath=F.path(j.geometry)):j.projectedPath=j.path),j.projectedPath||[]}applyOptions(j,F){let P=this.series,D=super.applyOptions(j,F);if(P.mapData&&P.mapMap){let _=super.getNestedProperty(P.joinBy[1]),m=void 0!==_&&P.mapMap[_];m?ue(D,{...m,name:D.name??m.name}):-1!==P.pointArrayMap.indexOf("value")&&(D.value=D.value||null)}return D}getProjectedBounds(j){let F=le(X.getProjectedPath(this,j)),P=this.properties;if(F){let A=P&&P["hc-middle-lon"],I=P&&P["hc-middle-lat"];if(this.series.chart.mapView&&J(A)&&J(I)){let _=j.forward([A,I]);F.midX=_[0],F.midY=_[1]}else{let _=P&&P["hc-middle-x"],m=P&&P["hc-middle-y"];F.midX=F.x1+(F.x2-F.x1)*te(this.middleX,J(_)?_:.5);let w=te(this.middleY,J(m)?m:.5);this.geometry||(w=1-w),F.midY=F.y2-(F.y2-F.y1)*w}return F}}onMouseOver(j){ve.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,j):this.series.onMouseOut()}setVisible(j){this.visible=this.options.visible=!!j,this.dataLabel&&this.dataLabel[j?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(j){let F=this.series.chart,P=F.mapView,D=this.bounds;if(P&&D){let A=J(this.insetIndex)&&P.insets[this.insetIndex];if(A){let I=A.projectedUnitsToPixels({x:D.x1,y:D.y1}),_=A.projectedUnitsToPixels({x:D.x2,y:D.y2}),m=P.pixelsToProjectedUnits({x:I.x,y:I.y}),w=P.pixelsToProjectedUnits({x:_.x,y:_.y});D={x1:m.x,y1:m.y,x2:w.x,y2:w.y}}P.fitToBounds(D,void 0,!1),this.series.isDirty=!0,F.redraw(j)}}}return ue(X.prototype,{dataLabelOnNull:q.pointMembers.dataLabelOnNull,moveToTopOnHover:q.pointMembers.moveToTopOnHover,isValid:q.pointMembers.isValid}),X}),Le(V,"Series/Map/MapSeriesDefaults.js",[V["Core/Utilities.js"]],function(q){let{isNumber:ne}=q;return{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let{numberFormatter:re}=this.series.chart,{value:ve}=this.point;return ne(ve)?re(ve,-1):this.point.name},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}
"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}}),Le(V,"Maps/MapViewDefaults.js",[],function(){return{center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}}}),Le(V,"Maps/GeoJSONComposition.js",[V["Core/Globals.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{win:le}=q,{format:pe}=ne,{error:ue,extend:J,merge:te,wrap:X}=re;return function(E){function j(_){return this.mapView&&this.mapView.lonLatToProjectedUnits(_)}function F(_){return this.mapView&&this.mapView.projectedUnitsToLonLat(_)}function P(_,m){let w=this.options.chart.proj4||le.proj4;if(!w)return void ue(21,!1,this);let{jsonmarginX:G=0,jsonmarginY:O=0,jsonres:f=1,scale:a=1,xoffset:g=0,xpan:v=0,yoffset:o=0,ypan:n=0}=m,r=w(m.crs,[_.lon,_.lat]),l=m.cosAngle||m.rotation&&Math.cos(m.rotation),d=m.sinAngle||m.rotation&&Math.sin(m.rotation),C=m.rotation?[r[0]*l+r[1]*d,-r[0]*d+r[1]*l]:r;return{x:((C[0]-g)*a+v)*f+G,y:-(((o-C[1])*a+n)*f-O)}}function D(_,m){let w=this.options.chart.proj4||le.proj4;if(!w)return void ue(21,!1,this);if(null===_.y)return;let{jsonmarginX:G=0,jsonmarginY:O=0,jsonres:f=1,scale:a=1,xoffset:g=0,xpan:v=0,yoffset:o=0,ypan:n=0}=m,r={x:((_.x-G)/f-v)/a+g,y:((_.y-O)/f+n)/a+o},l=m.cosAngle||m.rotation&&Math.cos(m.rotation),d=m.sinAngle||m.rotation&&Math.sin(m.rotation),C=w(m.crs,"WGS84",m.rotation?{x:r.x*l+-r.y*d,y:r.x*d+r.y*l}:r);return{lat:C.y,lon:C.x}}function A(_,m){m||(m=Object.keys(_.objects)[0]);let w=_.objects[m];if(w["hc-decoded-geojson"]&&w["hc-decoded-geojson"].title===_.title)return w["hc-decoded-geojson"];let G=_.arcs;if(_.transform){let v,o,n,r=_.arcs,{scale:l,translate:d}=_.transform;G=[];for(let C=0,k=r.length;C"number"==typeof v[0]?v.reduce((o,n,r)=>{let l=n<0?G[~n]:G[n];return n<0?(l=l.slice(0,0===r?l.length:l.length-1)).reverse():r&&(l=l.slice(1)),o.concat(l)},[]):v.map(O),f=w.geometries,a=[];for(let v=0,o=f.length;v(le[1]-ve[1])*(pe[0]-ve[0])}function re(ve,le,pe,ue){let J=[ve[0]-le[0],ve[1]-le[1]],te=[pe[0]-ue[0],pe[1]-ue[1]],X=ve[0]*le[1]-ve[1]*le[0],E=pe[0]*ue[1]-pe[1]*ue[0],j=1/(J[0]*te[1]-J[1]*te[0]),F=[(X*te[0]-E*J[0])*j,(X*te[1]-E*J[1])*j];return F.isIntersection=!0,F}return{clipLineString:function(ve,le){let pe=[],ue=q(ve,le,!1);for(let J=1;J0===le?0:le>0?1:-1),ne=Math.PI/180,re=Math.PI/2,ve=le=>Math.tan((re+le)/2);return class{constructor(le){let pe=(le.parallels||[]).map(E=>E*ne),ue=pe[0]||0,J=pe[1]??ue,te=Math.cos(ue);"object"==typeof le.projectedBounds&&(this.projectedBounds=le.projectedBounds);let X=ue===J?Math.sin(ue):Math.log(te/Math.cos(J))/Math.log(ve(J)/ve(ue));1e-10>Math.abs(X)&&(X=1e-10*(q(X)||1)),this.n=X,this.c=te*Math.pow(ve(ue),X)/X}forward(le){let{c:pe,n:ue,projectedBounds:J}=this,te=le[0]*ne,X=le[1]*ne;pe>0?X<1e-6-re&&(X=1e-6-re):X>re-1e-6&&(X=re-1e-6);let E=pe/Math.pow(ve(X),ue),j=E*Math.sin(ue*te)*63.78137,F=63.78137*(pe-E*Math.cos(ue*te)),P=[j,F];return J&&(jJ.x2||FJ.y2)&&(P.outside=!0),P}inverse(le){let{c:pe,n:ue}=this,J=le[0]/63.78137,te=pe-le[1]/63.78137,X=q(ue)*Math.sqrt(J*J+te*te),E=Math.atan2(J,Math.abs(te))*q(te);return te*ue<0&&(E-=Math.PI*q(J)*q(te)),[E/ue/ne,(2*Math.atan(Math.pow(pe/X,1/ue))-re)/ne]}}}),Le(V,"Maps/Projections/EqualEarth.js",[],function(){let q=Math.sqrt(3)/2;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(ne){let re=Math.PI/180,ve=Math.asin(q*Math.sin(ne[1]*re)),le=ve*ve,pe=le*le*le;return[ne[0]*re*Math.cos(ve)*74.03120656864502/(q*(1.340264+-.24331799999999998*le+pe*(.0062510000000000005+.034164*le))),74.03120656864502*ve*(1.340264+-.081106*le+pe*(893e-6+.003796*le))]}inverse(ne){let ue,J,te,X,re=ne[0]/74.03120656864502,ve=ne[1]/74.03120656864502,le=180/Math.PI,pe=ve;for(let F=0;F<12&&(J=(ue=pe*pe)*ue*ue,te=pe*(1.340264+-.081106*ue+J*(893e-6+.003796*ue))-ve,pe-=X=te/(1.340264+-.24331799999999998*ue+J*(.0062510000000000005+.034164*ue)),!(1e-9>Math.abs(X)));++F);J=(ue=pe*pe)*ue*ue;let E=le*q*re*(1.340264+-.24331799999999998*ue+J*(.0062510000000000005+.034164*ue))/Math.cos(pe),j=le*Math.asin(Math.sin(pe)/q);return Math.abs(E)>180?[NaN,NaN]:[E,j]}}}),Le(V,"Maps/Projections/Miller.js",[],function(){let q=Math.PI/4,ne=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}forward(re){return[re[0]*ne*63.78137,79.7267125*Math.log(Math.tan(q+.4*re[1]*ne))]}inverse(re){return[re[0]/63.78137/ne,2.5*(Math.atan(Math.exp(re[1]/63.78137*.8))-q)/ne]}}}),Le(V,"Maps/Projections/Orthographic.js",[],function(){let q=Math.PI/180;return class{constructor(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}forward(ne){let re=ne[0],ve=ne[1]*q,le=[Math.cos(ve)*Math.sin(re*q)*63.78460826781007,63.78460826781007*Math.sin(ve)];return(re<-90||re>90)&&(le.outside=!0),le}inverse(ne){let re=ne[0]/63.78460826781007,ve=ne[1]/63.78460826781007,le=Math.sqrt(re*re+ve*ve),pe=Math.asin(le),ue=Math.sin(pe);return[Math.atan2(re*ue,le*Math.cos(pe))/q,Math.asin(le&&ve*ue/le)/q]}}}),Le(V,"Maps/Projections/WebMercator.js",[],function(){let q=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}forward(ne){let re=Math.sin(ne[1]*q),ve=[63.78137*ne[0]*q,63.78137*Math.log((1+re)/(1-re))/2];return Math.abs(ne[1])>this.maxLatitude&&(ve.outside=!0),ve}inverse(ne){return[ne[0]/(63.78137*q),(2*Math.atan(Math.exp(ne[1]/63.78137))-Math.PI/2)/q]}}}),Le(V,"Maps/Projections/ProjectionRegistry.js",[V["Maps/Projections/LambertConformalConic.js"],V["Maps/Projections/EqualEarth.js"],V["Maps/Projections/Miller.js"],V["Maps/Projections/Orthographic.js"],V["Maps/Projections/WebMercator.js"]],function(q,ne,re,ve,le){return{EqualEarth:ne,LambertConformalConic:q,Miller:re,Orthographic:ve,WebMercator:le}}),Le(V,"Maps/Projection.js",[V["Core/Geometry/PolygonClip.js"],V["Maps/Projections/ProjectionRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{clipLineString:ve,clipPolygon:le}=q,{clamp:pe,erase:ue}=re,J=2*Math.PI/360;function te(E){return E<-180&&(E+=360),E>180&&(E-=360),E}class X{static add(j,F){X.registry[j]=F}static greatCircle(j,F,P){let{atan2:D,cos:A,sin:I,sqrt:_}=Math,m=j[1]*J,w=j[0]*J,G=F[1]*J,O=F[0]*J,f=G-m,a=O-w,g=I(f/2)*I(f/2)+A(m)*A(G)*I(a/2)*I(a/2),v=2*D(_(g),_(1-g)),o=Math.round(6371e3*v/5e5),n=[];if(P&&n.push(j),o>1){let r=1/o;for(let l=r;l<.999;l+=r){let d=I((1-l)*v)/I(v),C=I(l*v)/I(v),k=d*A(m)*A(w)+C*A(G)*A(O),p=d*A(m)*I(w)+C*A(G)*I(O),T=D(d*I(m)+C*I(G),_(k*k+p*p)),B=D(p,k);n.push([B/J,T/J])}}return P&&n.push(F),n}static insertGreatCircles(j){let F=j.length-1;for(;F--;)if(Math.max(Math.abs(j[F][0]-j[F+1][0]),Math.abs(j[F][1]-j[F+1][1]))>10){let P=X.greatCircle(j[F],j[F+1]);P.length&&j.splice(F+1,0,...P)}}static toString(j){let{name:F,rotation:P}=j||{};return[F,P&&P.join(",")].join(";")}constructor(j={}){this.hasCoordinates=!1,this.hasGeoProjection=!1,this.maxLatitude=90,this.options=j;let{name:F,projectedBounds:P,rotation:D}=j;this.rotator=D?this.getRotator(D):void 0;let A=F?X.registry[F]:void 0;A&&(this.def=new A(j));let{def:I,rotator:_}=this;I&&(this.maxLatitude=I.maxLatitude||90,this.hasGeoProjection=!0),_&&I?(this.forward=m=>I.forward(_.forward(m)),this.inverse=m=>_.inverse(I.inverse(m))):I?(this.forward=m=>I.forward(m),this.inverse=m=>I.inverse(m)):_&&(this.forward=_.forward,this.inverse=_.inverse),this.bounds="world"===P?I&&I.bounds:P}lineIntersectsBounds(j){let _,{x1:F,x2:P,y1:D,y2:A}=this.bounds||{},I=(w,G,O)=>{let[f,a]=w,g=G?0:1;if("number"==typeof O&&f[G]>=O!=a[G]>=O){let o=f[g]+(O-f[G])/(a[G]-f[G])*(a[g]-f[g]);return G?[o,O]:[O,o]}},m=j[0];return((_=I(j,0,F))||(_=I(j,0,P)))&&(m=_,j[1]=_),((_=I(j,1,D))||(_=I(j,1,A)))&&(m=_),m}getRotator(j){let F=j[0]*J,P=(j[1]||0)*J,D=(j[2]||0)*J,A=Math.cos(P),I=Math.sin(P),_=Math.cos(D),m=Math.sin(D);if(0!==F||0!==P||0!==D)return{forward:w=>{let G=w[0]*J+F,O=w[1]*J,f=Math.cos(O),a=Math.cos(G)*f,g=Math.sin(G)*f,v=Math.sin(O),o=v*A+a*I;return[Math.atan2(g*_-o*m,a*A-v*I)/J,Math.asin(o*_+g*m)/J]},inverse:w=>{let G=w[0]*J,O=w[1]*J,f=Math.cos(O),a=Math.cos(G)*f,g=Math.sin(G)*f,v=Math.sin(O),o=v*_-g*m;return[(Math.atan2(g*_+v*m,a*A+o*I)-F)/J,Math.asin(o*A-a*I)/J]}}}forward(j){return j}inverse(j){return j}cutOnAntimeridian(j,F){let P,D=[],A=[j];for(let I=0,_=j.length;I<_;++I){let m=j[I],w=j[I-1];if(!I){if(!F)continue;w=j[j.length-1]}let G=w[0],O=m[0];if((G<-90||G>90)&&(O<-90||O>90)&&G>0!=O>0){let f=pe((180-(G+360)%360)/((O+360)%360-(G+360)%360),0,1);D.push({i:I,lat:w[1]+f*(m[1]-w[1]),direction:G<0?1:-1,previousLonLat:w,lonLat:m})}}if(D.length)if(F){D.length%2==1&&(P=D.slice().sort((_,m)=>Math.abs(m.lat)-Math.abs(_.lat))[0],ue(D,P));let I=D.length-2;for(;I>=0;){let _=D[I].i,m=te(180+1e-6*D[I].direction),w=te(180-1e-6*D[I].direction),G=j.splice(_,D[I+1].i-_,...X.greatCircle([m,D[I].lat],[m,D[I+1].lat],!0));G.push(...X.greatCircle([w,D[I+1].lat],[w,D[I].lat],!0)),A.push(G),I-=2}if(P)for(let _=0;_-1){let f=(w<0?-1:1)*this.maxLatitude,a=te(180+1e-6*m),g=te(180-1e-6*m),v=X.greatCircle([a,w],[a,f],!0);for(let o=a+120*m;o>-180&&o<180;o+=120*m)v.push([o,f]);v.push(...X.greatCircle([g,f],[g,P.lat],!0)),G.splice(O,0,...v);break}}}else{let I=D.length;for(;I--;){let m=j.splice(D[I].i,j.length,[te(180+1e-6*D[I].direction),D[I].lat]);m.unshift([te(180-1e-6*D[I].direction),D[I].lat]),A.push(m)}}return A}path(j){let F,{bounds:P,def:D,rotator:A}=this,I=[],_="Polygon"===j.type||"MultiPolygon"===j.type,m=this.hasGeoProjection,w=!D||!1!==D.antimeridianCutting,G=w?A:void 0,O=w&&D||this;P&&(F=[[P.x1,P.y1],[P.x2,P.y1],[P.x2,P.y2],[P.x1,P.y2]]);let f=a=>{let g=a.map(o=>{if(w){G&&(o=G.forward(o));let n=o[0];1e-6>Math.abs(n-180)&&(n=n<180?179.999999:180.000001),o=[n,o[1]]}return o}),v=[g];m&&(X.insertGreatCircles(g),w&&(v=this.cutOnAntimeridian(g,_))),v.forEach(o=>{let n,r;if(o.length<2)return;let l=!1,d=!1,C=B=>{l?I.push(["L",B[0],B[1]]):(I.push(["M",B[0],B[1]]),l=!0)},k=!1,p=!1,T=o.map(B=>{let z=O.forward(B);return z.outside?k=!0:p=!0,z[1]===1/0?z[1]=1e10:z[1]===-1/0&&(z[1]=-1e10),z});if(w){if(_&&T.push(T[0]),k){if(!p)return;if(F)if(_)T=le(T,F);else if(P)return void ve(T,F).forEach(B=>{l=!1,B.forEach(C)})}T.forEach(C)}else for(let B=0;BC(O.forward(U))):l=!1),C(K),r=z,d=!1)}})};return"LineString"===j.type?f(j.coordinates):"MultiLineString"===j.type?j.coordinates.forEach(a=>f(a)):"Polygon"===j.type?(j.coordinates.forEach(a=>f(a)),I.length&&I.push(["Z"])):"MultiPolygon"===j.type&&(j.coordinates.forEach(a=>{a.forEach(g=>f(g))}),I.length&&I.push(["Z"])),I}}return X.registry=ne,X}),Le(V,"Maps/MapView.js",[V["Core/Globals.js"],V["Maps/MapViewDefaults.js"],V["Maps/GeoJSONComposition.js"],V["Maps/MapUtilities.js"],V["Maps/Projection.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{composed:ue}=q,{topo2geo:J}=re,{boundsFromPath:te,pointInPolygon:X}=ve,{addEvent:E,clamp:j,fireEvent:F,isArray:P,isNumber:D,isObject:A,isString:I,merge:_,pick:m,pushUnique:w,relativeLength:G}=pe,O={};function f(o,n){let{width:r,height:l}=n;return Math.log(400.979322/Math.max((o.x2-o.x1)/(r/256),(o.y2-o.y1)/(l/256)))/Math.log(2)}function a(o){o.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,o.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class g{static compose(n){w(ue,"MapView")&&(O=n.maps,E(n,"afterInit",function(){this.mapView=new g(this,this.options.mapView)},{order:0}),E(n,"addSeriesAsDrilldown",a),E(n,"afterDrillUp",a))}static compositeBounds(n){if(n.length)return n.slice(1).reduce((r,l)=>(r.x1=Math.min(r.x1,l.x1),r.y1=Math.min(r.y1,l.y1),r.x2=Math.max(r.x2,l.x2),r.y2=Math.max(r.y2,l.y2),r),_(n[0]))}static mergeInsets(n,r){let l=C=>{let k={};return C.forEach((p,T)=>{k[p&&p.id||`i${T}`]=p}),k},d=_(l(n),l(r));return Object.keys(d).map(C=>d[C])}constructor(n,r){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof v||this.recommendMapView(n,[n.options.chart.map,...(n.options.series||[]).map(k=>k.mapData)]),this.userOptions=r||{};let l=_(ne,this.recommendedMapView,r),d=this.recommendedMapView?.insets,C=r&&r.insets;d&&C&&(l.insets=g.mergeInsets(d,C)),this.chart=n,this.center=l.center,this.options=l,this.projection=new le(l.projection),this.playingField=n.plotBox,this.zoom=l.zoom||0,this.minZoom=l.minZoom,this.createInsets(),this.eventsToUnbind.push(E(n,"afterSetChartSize",()=>{this.playingField=this.getField(),(void 0===this.minZoom||this.minZoom===this.zoom)&&(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&D(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&_(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let n=this.options,r=n.insets;r&&r.forEach(l=>{let d=new v(this,_(n.insetOptions,l));this.insets.push(d)})}fitToBounds(n,r,l=!0,d){let C=n||this.getProjectedBounds();if(C){let k=m(r,n?0:this.options.padding),p=this.getField(!1),T=P(k)?k:[k,k,k,k];this.padding=[G(T[0],p.height),G(T[1],p.width),G(T[2],p.height),G(T[3],p.width)],this.playingField=this.getField();let B=f(C,this.playingField);n||(this.minZoom=B);let z=this.projection.inverse([(C.x2+C.x1)/2,(C.y2+C.y1)/2]);this.setView(z,B,l,d)}}getField(n=!0){let r=n?this.padding:[0,0,0,0];return{x:r[3],y:r[0],width:this.chart.plotWidth-r[1]-r[3],height:this.chart.plotHeight-r[0]-r[2]}}getGeoMap(n){if(I(n))return O[n]&&"Topology"===O[n].type?J(O[n]):O[n];if(A(n,!0)){if("FeatureCollection"===n.type)return n;if("Topology"===n.type)return J(n)}}getMapBBox(){let n=this.getProjectedBounds(),r=this.getScale();if(n){let l=this.padding,d=this.projectedUnitsToPixels({x:n.x1,y:n.y2});return{width:(n.x2-n.x1)*r+l[1]+l[3],height:(n.y2-n.y1)*r+l[0]+l[2],x:d.x-l[3],y:d.y-l[0]}}}getProjectedBounds(){let n=this.projection,r=this.chart.series.reduce((d,C)=>{let k=C.getProjectedBounds&&C.getProjectedBounds();return k&&!1!==C.options.affectsMapView&&d.push(k),d},[]),l=this.options.fitToGeometry;if(l){if(!this.fitToGeometryCache)if("MultiPoint"===l.type){let d=l.coordinates.map(p=>n.forward(p)),C=d.map(p=>p[0]),k=d.map(p=>p[1]);this.fitToGeometryCache={x1:Math.min.apply(0,C),x2:Math.max.apply(0,C),y1:Math.min.apply(0,k),y2:Math.max.apply(0,k)}}else this.fitToGeometryCache=te(n.path(l));return this.fitToGeometryCache}return this.projection.bounds||g.compositeBounds(r)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){let{x:n,y:r,width:l,height:d}=this.playingField,C=this.projection.forward(this.center),k=this.projection.hasCoordinates?-1:1,p=this.getScale(),T=p*k;return{scaleX:p,scaleY:T,translateX:n+l/2-C[0]*p,translateY:r+d/2-C[1]*T}}lonLatToPixels(n){let r=this.lonLatToProjectedUnits(n);if(r)return this.projectedUnitsToPixels(r)}lonLatToProjectedUnits(n){let r=this.chart,l=r.mapTransforms;if(l){for(let C in l)if(Object.hasOwnProperty.call(l,C)&&l[C].hitZone){let k=r.transformFromLatLon(n,l[C]);if(k&&X(k,l[C].hitZone.coordinates[0]))return k}return r.transformFromLatLon(n,l.default)}for(let C of this.insets)if(C.options.geoBounds&&X({x:n.lon,y:n.lat},C.options.geoBounds.coordinates[0])){let k=C.projection.forward([n.lon,n.lat]),p=C.projectedUnitsToPixels({x:k[0],y:k[1]});return this.pixelsToProjectedUnits(p)}let d=this.projection.forward([n.lon,n.lat]);if(!d.outside)return{x:d[0],y:d[1]}}projectedUnitsToLonLat(n){let r=this.chart,l=r.mapTransforms;if(l){for(let k in l)if(Object.hasOwnProperty.call(l,k)&&l[k].hitZone&&X(n,l[k].hitZone.coordinates[0]))return r.transformToLatLon(n,l[k]);return r.transformToLatLon(n,l.default)}let d=this.projectedUnitsToPixels(n);for(let k of this.insets)if(k.hitZone&&X(d,k.hitZone.coordinates[0])){let p=k.pixelsToProjectedUnits(d),T=k.projection.inverse([p.x,p.y]);return{lon:T[0],lat:T[1]}}let C=this.projection.inverse([n.x,n.y]);return{lon:C[0],lat:C[1]}}recommendMapView(n,r,l=!1){this.recommendedMapView={};let d=r.map(p=>this.getGeoMap(p)),C=[];d.forEach(p=>{if(p&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=p["hc-recommended-mapview"]||{}),p.bbox)){let[T,B,z,K]=p.bbox;C.push({x1:T,y1:B,x2:z,y2:K})}});let k=C.length&&g.compositeBounds(C);F(this,"onRecommendMapView",{geoBounds:k,chart:n},function(){if(k&&this.recommendedMapView){if(!this.recommendedMapView.projection){let{x1:p,y1:T,x2:B,y2:z}=k;this.recommendedMapView.projection=B-p>180&&z-T>90?{name:"EqualEarth",parallels:[0,0],rotation:[0]}:{name:"LambertConformalConic",parallels:[T,z],rotation:[-(p+B)/2]}}this.recommendedMapView.insets||(this.recommendedMapView.insets=void 0)}}),this.geoMap=d[0],l&&n.hasRendered&&!n.userOptions.mapView?.projection&&this.recommendedMapView&&this.update(this.recommendedMapView)}redraw(n){this.chart.series.forEach(r=>{r.useMapGeometry&&(r.isDirty=!0)}),this.chart.redraw(n)}setView(n,r,l=!0,d){n&&(this.center=n),"number"==typeof r&&("number"==typeof this.minZoom&&(r=Math.max(r,this.minZoom)),"number"==typeof this.options.maxZoom&&(r=Math.min(r,this.options.maxZoom)),D(r)&&(this.zoom=r));let C=this.getProjectedBounds();if(C){let k=this.projection.forward(this.center),{x:p,y:T,width:B,height:z}=this.playingField,K=this.getScale(),U=this.projectedUnitsToPixels({x:C.x1,y:C.y1}),se=this.projectedUnitsToPixels({x:C.x2,y:C.y2}),S=[(C.x1+C.x2)/2,(C.y1+C.y2)/2];if(!this.chart.series.some($=>$.isDrilling)){let $=U.x,H=se.y,x=se.x,N=U.y;x-$p+B&&$>p&&(k[0]+=Math.min(x-B-p,$-p)/K),N-HT+z&&H>T&&(k[1]-=Math.min(N-z-T,H-T)/K),this.center=this.projection.inverse(k)}this.insets.forEach($=>{$.options.field&&($.hitZone=$.getHitZone(),$.playingField=$.getField())}),this.render()}F(this,"afterSetView"),l&&this.redraw(d)}projectedUnitsToPixels(n){let r=this.getScale(),l=this.projection.forward(this.center),d=this.playingField;return{x:d.x+d.width/2-r*(l[0]-n.x),y:d.y+d.height/2+r*(l[1]-n.y)}}pixelsToLonLat(n){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(n))}pixelsToProjectedUnits(n){let{x:r,y:l}=n,d=this.getScale(),C=this.projection.forward(this.center),k=this.playingField;return{x:C[0]+(r-(k.x+k.width/2))/d,y:C[1]-(l-(k.y+k.height/2))/d}}setUpEvents(){let n,r,l,{chart:d}=this,C=k=>{let{lastTouches:p,pinchDown:T}=d.pointer,B=this.projection,z=k.touches,{mouseDownX:K,mouseDownY:U}=d,se=0;if(1===T?.length?(K=T[0].chartX,U=T[0].chartY):2===T?.length&&(K=(T[0].chartX+T[1].chartX)/2,U=(T[0].chartY+T[1].chartY)/2),2===z?.length&&p&&(se=Math.log(Math.sqrt(Math.pow(p[0].chartX-p[1].chartX,2)+Math.pow(p[0].chartY-p[1].chartY,2))/Math.sqrt(Math.pow(z[0].chartX-z[1].chartX,2)+Math.pow(z[0].chartY-z[1].chartY,2)))/Math.log(.5)),D(K)&&D(U)){let S=`${K},${U}`,{chartX:$,chartY:H}=k.originalEvent;2===z?.length&&($=(z[0].chartX+z[1].chartX)/2,H=(z[0].chartY+z[1].chartY)/2),S!==r&&(r=S,n=this.projection.forward(this.center),l=(this.projection.options.rotation||[0,0]).slice());let x=B.def&&B.def.bounds,N=x&&f(x,this.playingField)||-1/0;if("Orthographic"===B.options.name&&2>(z?.length||0)&&(this.minZoom||1/0)<1.3*N){let R=440/(this.getScale()*Math.min(d.plotWidth,d.plotHeight));if(l){let Z=(K-$)*R-l[0],Y=j(-l[1]-(U-H)*R,-80,80),he=this.zoom;this.update({projection:{rotation:[-Z,-Y]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=he,d.redraw(!1)}}else if(D($)&&D(H)){let R=this.getScale(),Y=this.projection.inverse([n[0]+(K-$)/R,n[1]-(U-H)/R*(this.projection.hasCoordinates?1:-1)]);isNaN(Y[0]+Y[1])||this.zoomBy(se,Y,void 0,!1)}k.preventDefault()}};E(d,"pan",C),E(d,"touchpan",C),E(d,"selection",k=>{if(k.resetSelection)this.zoomBy();else{let p=k.x-d.plotLeft,T=k.y-d.plotTop,{y:B,x:z}=this.pixelsToProjectedUnits({x:p,y:T}),{y:K,x:U}=this.pixelsToProjectedUnits({x:p+k.width,y:T+k.height});this.fitToBounds({x1:z,y1:B,x2:U,y2:K},void 0,!0,!k.originalEvent.touches&&void 0),/^touch/.test(k.originalEvent.type)||d.showResetZoom(),k.preventDefault()}})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(n,r=!0,l){let d=n.projection,C=d&&le.toString(d)!==le.toString(this.options.projection),k=!1;_(!0,this.userOptions,n),_(!0,this.options,n),"insets"in n&&(this.insets.forEach(p=>p.destroy()),this.insets.length=0,k=!0),(C||"fitToGeometry"in n)&&delete this.fitToGeometryCache,(C||k)&&(this.chart.series.forEach(p=>{let T=p.transformGroups;if(p.clearBounds&&p.clearBounds(),p.isDirty=!0,p.isDirtyData=!0,k&&T)for(;T.length>1;){let B=T.pop();B&&B.destroy()}}),C&&(this.projection=new le(this.options.projection)),k&&this.createInsets(),!n.center&&Object.hasOwnProperty.call(n,"zoom")&&!D(n.zoom)&&this.fitToBounds(void 0,void 0,!1)),n.center||D(n.zoom)?this.setView(this.options.center,n.zoom,!1):"fitToGeometry"in n&&this.fitToBounds(void 0,void 0,!1),r&&this.chart.redraw(l)}zoomBy(n,r,l,d){let C=this.chart,k=this.projection.forward(this.center);if("number"==typeof n){let p,T,B,z=this.zoom+n;if(l){let[K,U]=l,se=this.getScale();T=k[0]+(K-C.plotLeft-C.plotWidth/2)/se,B=k[1]+(U-C.plotTop-C.plotHeight/2)/se}if("number"==typeof T&&"number"==typeof B){let K=1-Math.pow(2,this.zoom)/Math.pow(2,z),se=k[1]-B;k[0]-=(k[0]-T)*K,k[1]+=se*K,p=this.projection.inverse(k)}this.setView(r||p,z,void 0,d)}else this.fitToBounds(void 0,void 0,void 0,d)}}class v extends g{constructor(n,r){if(super(n.chart,r),this.id=r.id,this.mapView=n,this.options=_({center:[0,0]},n.options.insetOptions,r),this.allBounds=[],this.options.geoBounds){let l=n.projection.path(this.options.geoBounds);this.geoBoundsProjectedBox=te(l),this.geoBoundsProjectedPolygon=l.map(d=>[d[1]||0,d[2]||0])}}getField(n=!0){let r=this.hitZone;if(r){let l=n?this.padding:[0,0,0,0],d=r.coordinates[0],C=d.map(K=>K[0]),k=d.map(K=>K[1]),p=Math.min.apply(0,C)+l[3],T=Math.max.apply(0,C)-l[1],B=Math.min.apply(0,k)+l[0],z=Math.max.apply(0,k)-l[2];if(D(p)&&D(B))return{x:p,y:B,width:T-p,height:z-B}}return super.getField.call(this,n)}getHitZone(){let{chart:n,mapView:r,options:l}=this,{coordinates:d}=l.field||{};if(d){let C=d[0];if("percent"===l.units){let k="mapBoundingBox"===l.relativeTo&&r.getMapBBox()||_(n.plotBox,{x:0,y:0});C=C.map(p=>[G(`${p[0]}%`,k.width,k.x),G(`${p[1]}%`,k.height,k.y)])}return{type:"Polygon",coordinates:[C]}}}getProjectedBounds(){return g.compositeBounds(this.allBounds)}isInside(n){let{geoBoundsProjectedBox:r,geoBoundsProjectedPolygon:l}=this;return!!(r&&n.x>=r.x1&&n.x<=r.x2&&n.y>=r.y1&&n.y<=r.y2&&l&&X(n,l))}render(){let{chart:n,mapView:r,options:l}=this,d=l.borderPath||l.field;if(d&&r.group){let C=!0;this.border||(this.border=n.renderer.path().addClass("highcharts-mapview-inset-border").add(r.group),C=!1),n.styledMode||this.border.attr({stroke:l.borderColor,"stroke-width":l.borderWidth});let k=Math.round(this.border.strokeWidth())%2/2,p="mapBoundingBox"===l.relativeTo&&r.getMapBBox()||r.playingField,T=(d.coordinates||[]).reduce((B,z)=>z.reduce((K,U,se)=>{let[S,$]=U;return"percent"===l.units&&(S=n.plotLeft+G(`${S}%`,p.width,p.x),$=n.plotTop+G(`${$}%`,p.height,p.y)),S=Math.floor(S)+k,$=Math.floor($)+k,K.push(0===se?["M",S,$]:["L",S,$]),K},B),[]);this.border[C?"animate":"attr"]({d:T})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(n=>n())}setUpEvents(){}}return g}),Le(V,"Series/Map/MapSeries.js",[V["Core/Animation/AnimationUtilities.js"],V["Series/ColorMapComposition.js"],V["Series/CenteredUtilities.js"],V["Core/Globals.js"],V["Core/Chart/MapChart.js"],V["Series/Map/MapPoint.js"],V["Series/Map/MapSeriesDefaults.js"],V["Maps/MapView.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,stop:j}=q,{noop:F}=ve,{splitPath:P}=le,{column:D,scatter:A}=te.seriesTypes,{extend:I,find:_,fireEvent:m,getNestedProperty:w,isArray:G,defined:O,isNumber:f,isObject:a,merge:g,objectEach:v,pick:o,splat:n}=X;class r extends A{constructor(){super(...arguments),this.processedData=[]}animate(d){let{chart:C,group:k}=this,p=E(this.options.animation);d?k.attr({translateX:C.plotLeft+C.plotWidth/2,translateY:C.plotTop+C.plotHeight/2,scaleX:.001,scaleY:.001}):k.animate({translateX:C.plotLeft,translateY:C.plotTop,scaleX:1,scaleY:1},p)}clearBounds(){this.points.forEach(d=>{delete d.bounds,delete d.insetIndex,delete d.projectedPath}),delete this.bounds}doFullTranslate(){return!(!this.isDirtyData&&!this.chart.isResizing&&this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let d=this,{chart:C,group:k,transformGroups:p=[]}=this,{mapView:T,renderer:B}=C;if(T){this.transformGroups=p,p[0]||(p[0]=B.g().add(k));for(let z=0,K=T.insets.length;z{let{graphic:K}=z;z.group=p["number"==typeof z.insetIndex?z.insetIndex+1:0],K&&K.parentGroup!==z.group&&K.add(z.group)}),D.prototype.drawPoints.apply(this),this.points.forEach(z=>{let K=z.graphic;if(K){let U=K.animate,se="";z.name&&(se+="highcharts-name-"+z.name.replace(/ /g,"-").toLowerCase()),z.properties&&z.properties["hc-key"]&&(se+=" highcharts-key-"+z.properties["hc-key"].toString().toLowerCase()),se&&K.addClass(se),C.styledMode&&K.css(this.pointAttribs(z,z.selected?"select":void 0)),K.attr({visibility:z.visible||!z.visible&&!z.isNull?"inherit":"hidden"}),K.animate=function(S,$,H){let x=f(S["stroke-width"])&&!f(K["stroke-width"]),N=f(K["stroke-width"])&&!f(S["stroke-width"]);if(x||N){let R=o(d.getStrokeWidth(d.options),1)/(C.mapView&&C.mapView.getScale()||1);x&&(K["stroke-width"]=R),N&&(S["stroke-width"]=R)}return U.call(K,S,$,N?function(){K.element.removeAttribute("stroke-width"),delete K["stroke-width"],H&&H.apply(this,arguments)}:H)}}})),p.forEach((z,K)=>{let U=(0===K?T:T.insets[K-1]).getSVGTransform(),se=o(this.getStrokeWidth(this.options),1),S=U.scaleX,$=U.scaleY>0?1:-1,H=x=>{(d.points||[]).forEach(N=>{let R,Z=N.graphic;Z&&Z["stroke-width"]&&(R=this.getStrokeWidth(N.options))&&Z.attr({"stroke-width":R/x})})};if(B.globalAnimation&&C.hasRendered&&T.allowTransformAnimation){let x=Number(z.attr("translateX")),N=Number(z.attr("translateY")),R=Number(z.attr("scaleX")),Z=(ge,_e)=>{let Te=R+(S-R)*_e.pos;z.attr({translateX:x+(U.translateX-x)*_e.pos,translateY:N+(U.translateY-N)*_e.pos,scaleX:Te,scaleY:Te*$,"stroke-width":se/Te}),H(Te)},Y=g(E(B.globalAnimation)),he=Y.step;Y.step=function(){he&&he.apply(this,arguments),Z.apply(this,arguments)},z.attr({animator:0}).animate({animator:1},Y,function(){"boolean"!=typeof B.globalAnimation&&B.globalAnimation.complete&&B.globalAnimation.complete({applyDrilldown:!0}),m(this,"mapZoomComplete")}.bind(this))}else j(z),z.attr(g(U,{"stroke-width":se/S})),H(S)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:d,projection:C}=this.chart.mapView,k=[];(this.points||[]).forEach(p=>{if(p.path||p.geometry){if("string"==typeof p.path?p.path=P(p.path):G(p.path)&&"M"===p.path[0]&&(p.path=this.chart.renderer.pathToSegments(p.path)),!p.bounds){let T=p.getProjectedBounds(C);if(T){p.labelrank=o(p.labelrank,(T.x2-T.x1)*(T.y2-T.y1));let{midX:B,midY:z}=T;if(d&&f(B)&&f(z)){let K=_(d,U=>U.isInside({x:B,y:z}));K&&(delete p.projectedPath,(T=p.getProjectedBounds(K.projection))&&K.allBounds.push(T),p.insetIndex=d.indexOf(K))}p.bounds=T}}p.bounds&&void 0===p.insetIndex&&k.push(p.bounds)}}),this.bounds=J.compositeBounds(k)}return this.bounds}getStrokeWidth(d){let C=this.pointAttrToOptions;return d[C&&C["stroke-width"]||"borderWidth"]}hasData(){return!!this.processedXData.length}pointAttribs(d,C){let{mapView:k,styledMode:p}=d.series.chart,T=p?this.colorAttribs(d):D.prototype.pointAttribs.call(this,d,C),B=this.getStrokeWidth(d.options);if(C){let K=g(this.options.states&&this.options.states[C],d.options.states&&d.options.states[C]||{}),U=this.getStrokeWidth(K);O(U)&&(B=U),T.stroke=K.borderColor??d.color}B&&k&&(B/=k.getScale());let z=this.getStrokeWidth(this.options);return T.dashstyle&&k&&f(z)&&(B=z/k.getScale()),d.visible||(T.fill=this.options.nullColor),O(B)?T["stroke-width"]=B:delete T["stroke-width"],T["stroke-linecap"]=T["stroke-linejoin"]=this.options.linecap,T}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(d,C=!0,k,p){delete this.bounds,super.setData(d,!1,void 0,p),this.processData(),this.generatePoints(),C&&this.chart.redraw(k)}processData(){let d,C,k,p=this.options,T=p.data,B=this.chart,z=B.options.chart,K=this.joinBy,U=p.keys||this.pointArrayMap,se=[],S={},$=this.chart.mapView,H=$&&(a(p.mapData,!0)?$.getGeoMap(p.mapData):$.geoMap),x=B.mapTransforms=z.mapTransforms||H&&H["hc-transform"]||B.mapTransforms;x&&v(x,R=>{R.rotation&&(R.cosAngle=Math.cos(R.rotation),R.sinAngle=Math.sin(R.rotation))}),G(p.mapData)?k=p.mapData:H&&"FeatureCollection"===H.type&&(this.mapTitle=H.title,k=ve.geojson(H,this.type,this)),this.processedData=[];let N=this.processedData;if(T){let R;for(let Z=0,Y=T.length;ZU.length&&"string"==typeof R[0]&&(N[Z]["hc-key"]=R[0],++he);for(let ge=0;ge0?pe.prototype.setNestedProperty(N[Z],R[he],U[ge]):N[Z][U[ge]]=R[he])}else N[Z]=T[Z];K&&"_i"===K[0]&&(N[Z]._i=Z)}}if(k){this.mapData=k,this.mapMap={};for(let R=0;R{let Y=w(R,Z);S[Y]&&se.push(S[Y])})}if(p.allAreas){if(K[1]){let Z=K[1];N.forEach(Y=>{se.push(w(Z,Y))})}let R="|"+se.map(function(Z){return Z&&Z[K[0]]}).join("|")+"|";k.forEach(Z=>{K[0]&&-1!==R.indexOf("|"+Z[K[0]]+"|")||N.push(g(Z,{value:null}))})}}this.processedXData=Array(N.length)}setOptions(d){let C=super.setOptions(d),k=C.joinBy;return null===C.joinBy&&(k="_i"),(k=this.joinBy=n(k))[1]||(k[1]=k[0]),C}translate(){let d=this.doFullTranslate(),C=this.chart.mapView,k=C&&C.projection;if(this.chart.hasRendered&&(this.isDirtyData||!this.hasRendered)&&(this.processData(),this.generatePoints(),delete this.bounds,!C||C.userOptions.center||f(C.userOptions.zoom)||C.zoom!==C.minZoom?this.getProjectedBounds():C.fitToBounds(void 0,void 0,!1)),C){let p=C.getSVGTransform();this.points.forEach(T=>{let B=f(T.insetIndex)&&C.insets[T.insetIndex].getSVGTransform()||p;B&&T.bounds&&f(T.bounds.midX)&&f(T.bounds.midY)&&(T.plotX=T.bounds.midX*B.scaleX+B.translateX,T.plotY=T.bounds.midY*B.scaleY+B.translateY),d&&(T.shapeType="path",T.shapeArgs={d:pe.getProjectedPath(T,k)}),T.hiddenInDataClass||(T.projectedPath&&!T.projectedPath.length?T.setVisible(!1):T.visible||T.setVisible(!0))})}m(this,"afterTranslate")}update(d){d.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((C,k)=>k===this._i?d.mapData:C.mapData)],!0),super.update.apply(this,arguments)}}return r.defaultOptions=g(A.defaultOptions,ue),I(r.prototype,{type:"map",axisTypes:ne.seriesMembers.axisTypes,colorAttribs:ne.seriesMembers.colorAttribs,colorKey:ne.seriesMembers.colorKey,directTouch:!0,drawDataLabels:F,drawGraph:F,forceDL:!0,getCenter:re.getCenter,getExtremesFromAll:!0,getSymbol:F,isCartesian:!1,parallelArrays:ne.seriesMembers.parallelArrays,pointArrayMap:ne.seriesMembers.pointArrayMap,pointClass:pe,preserveAspectRatio:!0,searchPoint:F,trackerGroups:ne.seriesMembers.trackerGroups,useMapGeometry:!0}),ne.compose(r),te.registerSeriesType("map",r),r}),Le(V,"Series/MapLine/MapLineSeriesDefaults.js",[],function(){return{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}}),Le(V,"Series/MapLine/MapLineSeries.js",[V["Series/MapLine/MapLineSeriesDefaults.js"],V["Series/Map/MapSeries.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{extend:le,merge:pe}=ve;class ue extends ne{pointAttribs(te,X){let E=super.pointAttribs(te,X);return E.fill=this.options.fillColor,E}}return ue.defaultOptions=pe(ne.defaultOptions,q),le(ue.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),re.registerSeriesType("mapline",ue),ue}),Le(V,"Series/MapPoint/MapPointPoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{scatter:re}=q.seriesTypes,{isNumber:ve}=ne;return class le extends re.prototype.pointClass{isValid(){return!!(this.options.geometry||ve(this.x)&&ve(this.y)||ve(this.options.lon)&&ve(this.options.lat))}}}),Le(V,"Series/MapPoint/MapPointSeriesDefaults.js",[],function(){return{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}}),Le(V,"Series/MapPoint/MapPointSeries.js",[V["Core/Globals.js"],V["Series/MapPoint/MapPointPoint.js"],V["Series/MapPoint/MapPointSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{noop:ue}=q,{map:J,scatter:te}=ve.seriesTypes,{extend:X,fireEvent:E,isNumber:j,merge:F}=pe;class P extends te{constructor(){super(...arguments),this.clearBounds=J.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(A){let I=this.chart.mapView;if(I){let{geometry:_,lon:m,lat:w}=A,G=_&&"Point"===_.type&&_.coordinates;if(j(m)&&j(w)&&(G=[m,w]),G)return I.lonLatToProjectedUnits({lon:G[0],lat:G[1]})}}translate(){let A=this.chart.mapView;if(this.processedXData||this.processData(),this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),A){let I=A.getSVGTransform(),{hasCoordinates:_}=A.projection;this.points.forEach(m=>{let w,{x:G,y:O}=m,f=j(m.insetIndex)&&A.insets[m.insetIndex].getSVGTransform()||I,a=this.projectPoint(m.options)||m.properties&&this.projectPoint(m.properties);if(a?(G=a.x,O=a.y):m.bounds&&(G=m.bounds.midX,O=m.bounds.midY,f&&j(G)&&j(O)&&(m.plotX=G*f.scaleX+f.translateX,m.plotY=O*f.scaleY+f.translateY,w=!0)),j(G)&&j(O)){if(!w){let g=A.projectedUnitsToPixels({x:G,y:O});m.plotX=g.x,m.plotY=_?g.y:this.chart.plotHeight-g.y}}else m.y=m.plotX=m.plotY=void 0;m.isInside=this.isPointInside(m),m.zone=this.zones.length?m.getZone():void 0})}E(this,"afterTranslate")}}return P.defaultOptions=F(te.defaultOptions,re),le.prototype.symbols.mapmarker=(D,A,I,_,m)=>{let w,G,O=m&&"legend"===m.context;O?(w=D+I/2,G=A+_):m&&"number"==typeof m.anchorX&&"number"==typeof m.anchorY?(w=m.anchorX,G=m.anchorY):(w=D+I/2,G=A+_/2,A-=_);let f=O?_/3:_/2;return[["M",w,G],["C",w,G,w-f,A+1.5*f,w-f,A+f],["A",f,f,1,1,1,w+f,A+f],["C",w+f,A+1.5*f,w,G,w,G],["Z"]]},X(P.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:ne,searchPoint:ue,useMapGeometry:!0}),ve.registerSeriesType("mappoint",P),P}),Le(V,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),Le(V,"Series/Bubble/BubbleLegendItem.js",[V["Core/Color/Color.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{parse:le}=q,{noop:pe}=re,{arrayMax:ue,arrayMin:J,isNumber:te,merge:X,pick:E,stableSort:j}=ve;return class{constructor(F,P){this.setState=pe,this.init(F,P)}init(F,P){this.options=F,this.visible=!0,this.chart=P.chart,this.legend=P}addToLegend(F){F.splice(this.options.legendIndex,0,this)}drawLegendSymbol(F){let P,D=E(F.options.itemDistance,20),A=this.legendItem||{},I=this.options,_=I.ranges,m=I.connectorDistance;if(!_||!_.length||!te(_[0].value))return void(F.options.bubbleLegend.autoRanges=!0);j(_,function(f,a){return a.value-f.value}),this.ranges=_,this.setOptions(),this.render();let w=this.getMaxLabelSize(),G=this.ranges[0].radius,O=2*G;P=(P=m-G+w.width)>0?P:0,this.maxLabel=w,this.movementX="left"===I.labels.align?P:0,A.labelWidth=O+P+D,A.labelHeight=O+w.height/2}setOptions(){let F=this.ranges,P=this.options,D=this.chart.series[P.seriesIndex],A=this.legend.baseline,I={zIndex:P.zIndex,"stroke-width":P.borderWidth},_={zIndex:P.zIndex,"stroke-width":P.connectorWidth},m={align:this.legend.options.rtl||"left"===P.labels.align?"right":"left",zIndex:P.zIndex},w=D.options.marker.fillOpacity,G=this.chart.styledMode;F.forEach(function(O,f){G||(I.stroke=E(O.borderColor,P.borderColor,D.color),I.fill=E(O.color,P.color,1!==w?le(D.color).setOpacity(w).get("rgba"):D.color),_.stroke=E(O.connectorColor,P.connectorColor,D.color)),F[f].radius=this.getRangeRadius(O.value),F[f]=X(F[f],{center:F[0].radius-F[f].radius+A}),G||X(!0,F[f],{bubbleAttribs:X(I),connectorAttribs:X(_),labelAttribs:m})},this)}getRangeRadius(F){let P=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,P.ranges[P.ranges.length-1].value,P.ranges[0].value,P.minSize,P.maxSize,F)}render(){let F=this.legendItem||{},P=this.chart.renderer,D=this.options.zThreshold;for(let A of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),F.symbol=P.g("bubble-legend"),F.label=P.g("bubble-legend-item").css(this.legend.itemStyle||{}),F.symbol.translateX=0,F.symbol.translateY=0,F.symbol.add(F.label),F.label.add(F.group),this.ranges))A.value>=D&&this.renderRange(A);this.hideOverlappingLabels()}renderRange(F){let P=this.ranges[0],D=this.legend,A=this.options,I=A.labels,_=this.chart,m=_.series[A.seriesIndex],w=_.renderer,G=this.symbols,O=G.labels,f=F.center,a=Math.abs(F.radius),g=A.connectorDistance||0,v=I.align,r=A.connectorWidth,l=P.radius||0,d=f-a-A.borderWidth/2+r/2,C=(d%1?1:.5)-(r%2?0:.5),k=w.styledMode,p=D.options.rtl||"left"===v?-g:g;"center"===v&&(p=0,A.connectorDistance=0,F.labelAttribs.align="center"),G.bubbleItems.push(w.circle(l,f+C,a).attr(k?{}:F.bubbleAttribs).addClass((k?"highcharts-color-"+m.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(A.className||"")).add(this.legendItem.symbol)),G.connectors.push(w.path(w.crispLine([["M",l,d],["L",l+p,d]],A.connectorWidth)).attr(k?{}:F.connectorAttribs).addClass((k?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(A.connectorClassName||"")).add(this.legendItem.symbol));let T=w.text(this.formatLabel(F)).attr(k?{}:F.labelAttribs).css(k?{}:I.style).addClass("highcharts-bubble-legend-labels "+(A.labels.className||"")).add(this.legendItem.symbol),B={x:l+p+A.labels.x,y:d+A.labels.y+.4*T.getBBox().height};T.attr(B),O.push(T),T.placed=!0,T.alignAttr=B}getMaxLabelSize(){let F,P;return this.symbols.labels.forEach(function(D){P=D.getBBox(!0),F=F?P.width>F.width?P:F:P}),F||{}}formatLabel(F){let P=this.options,D=P.labels.formatter,A=P.labels.format,{numberFormatter:I}=this.chart;return A?ne.format(A,F):D?D.call(F):I(F.value,1)}hideOverlappingLabels(){let D=this.symbols;!this.options.labels.allowOverlap&&D&&(this.chart.hideOverlappingLabels(D.labels),D.labels.forEach(function(A,I){A.newOpacity?A.newOpacity!==A.oldOpacity&&D.connectors[I].show():D.connectors[I].hide()}))}getRanges(){let A,I,F=this.legend.bubbleLegend,D=F.options.ranges,_=Number.MAX_VALUE,m=-Number.MAX_VALUE;return F.chart.series.forEach(function(w){w.isBubble&&!w.ignoreSeries&&(I=w.zData.filter(te)).length&&(_=E(w.options.zMin,Math.min(_,Math.max(J(I),!1===w.options.displayNegative?w.options.zThreshold:-Number.MAX_VALUE))),m=E(w.options.zMax,Math.max(m,ue(I))))}),A=_===m?[{value:m}]:[{value:_},{value:(_+m)/2},{value:m,autoRanges:!0}],D.length&&D[0].radius&&A.reverse(),A.forEach(function(w,G){D&&D[G]&&(A[G]=X(D[G],w))}),A}predictBubbleSizes(){let g,F=this.chart,P=F.legend.options,D=P.floating,A="horizontal"===P.layout,I=A?F.legend.lastLineHeight:0,_=F.plotSizeX,m=F.plotSizeY,w=F.series[this.options.seriesIndex],G=w.getPxExtremes(),O=Math.ceil(G.minPxSize),f=Math.ceil(G.maxPxSize),a=Math.min(m,_),v=w.options.maxSize;return D||!/%$/.test(v)?g=f:(g=(a+I)*(v=parseFloat(v))/100/(v/100+1),(A&&m-g>=_||!A&&_-g>=m)&&(g=f)),[O,Math.ceil(g)]}updateRanges(F,P){let D=this.legend.options.bubbleLegend;D.minSize=F,D.maxSize=P,D.ranges=this.getRanges()}correctSizes(){let F=this.legend,P=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(P.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,P.maxPxSize),F.render())}}}),Le(V,"Series/Bubble/BubbleLegendComposition.js",[V["Series/Bubble/BubbleLegendDefaults.js"],V["Series/Bubble/BubbleLegendItem.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{setOptions:pe}=re,{composed:ue}=ve,{addEvent:J,objectEach:te,pushUnique:X,wrap:E}=le;function j(_,m,w){let G,O,f,a=this.legend,g=F(this)>=0;a&&a.options.enabled&&a.bubbleLegend&&a.options.bubbleLegend.autoRanges&&g?(G=a.bubbleLegend.options,O=a.bubbleLegend.predictBubbleSizes(),a.bubbleLegend.updateRanges(O[0],O[1]),G.placed||(a.group.placed=!1,a.allItems.forEach(v=>{(f=v.legendItem||{}).group&&(f.group.translateY=void 0)})),a.render(),this.getMargins(),this.axes.forEach(function(v){v.visible&&v.render(),G.placed||(v.setScale(),v.updateNames(),te(v.ticks,function(o){o.isNew=!0,o.isNewLabel=!0}))}),G.placed=!0,this.getMargins(),_.call(this,m,w),a.bubbleLegend.correctSizes(),I(a,P(a))):(_.call(this,m,w),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),I(a,P(a))))}function F(_){let m=_.series,w=0;for(;wO.height&&(O.height=m[v].itemHeight);O.step=g}return w}function D(_){let m=this.bubbleLegend,w=this.options,G=w.bubbleLegend,O=F(this.chart);m&&m.ranges&&m.ranges.length&&(G.ranges.length&&(G.autoRanges=!!G.ranges[0].autoRanges),this.destroyItem(m)),O>=0&&w.enabled&&G.enabled&&(G.seriesIndex=O,this.bubbleLegend=new ne(G,this),this.bubbleLegend.addToLegend(_.allItems))}function A(_){let m;if(_.defaultPrevented)return!1;let w=this.chart,G=this.visible,O=this.chart.legend;O&&O.bubbleLegend&&(this.visible=!G,this.ignoreSeries=G,m=F(w)>=0,O.bubbleLegend.visible!==m&&(O.update({bubbleLegend:{enabled:m}}),O.bubbleLegend.visible=m),this.visible=G)}function I(_,m){let O,f,a,g,G=_.options.rtl,v=0;_.allItems.forEach((o,n)=>{(g=o.legendItem||{}).group&&(O=g.group.translateX||0,f=g.y||0,((a=o.movementX)||G&&o.ranges)&&(a=G?O-o.options.maxSize/2:O+a,g.group.attr({translateX:a})),n>m[v].step&&v++,g.group.attr({translateY:Math.round(f+m[v].height/2)}),g.y=f+m[v].height/2)})}return{compose:function(_,m,w){X(ue,"Series.BubbleLegend")&&(pe({legend:{bubbleLegend:q}}),E(_.prototype,"drawChartBox",j),J(m,"afterGetAllItems",D),J(w,"legendItemClick",A))}}}),Le(V,"Series/Bubble/BubblePoint.js",[V["Core/Series/Point.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{seriesTypes:{scatter:{prototype:{pointClass:ve}}}}=ne,{extend:le}=re;class pe extends ve{haloPath(J){return q.prototype.haloPath.call(this,0===J?0:(this.marker&&this.marker.radius||0)+J)}}return le(pe.prototype,{ttBelow:!1}),pe}),Le(V,"Series/Bubble/BubbleSeries.js",[V["Series/Bubble/BubbleLegendComposition.js"],V["Series/Bubble/BubblePoint.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{parse:ue}=re,{composed:J,noop:te}=ve,{series:X,seriesTypes:{column:{prototype:E},scatter:j}}=le,{addEvent:F,arrayMax:P,arrayMin:D,clamp:A,extend:I,isNumber:_,merge:m,pick:w,pushUnique:G}=pe;function O(){let k,a=this.len,{coll:g,isXAxis:v,min:o}=this,n=v?"xData":"yData",r=(this.max||0)-(o||0),l=0,d=a,C=a/r;("xAxis"===g||"yAxis"===g)&&(this.series.forEach(p=>{if(p.bubblePadding&&p.reserveSpace()){this.allowZoomOutside=!0,k=!0;let T=p[n];if(v&&((p.onPoint||p).getRadii(0,0,p),p.onPoint&&(p.radii=p.onPoint.radii)),r>0){let B=T.length;for(;B--;)if(_(T[B])&&this.dataMin<=T[B]&&T[B]<=this.max){let z=p.radii&&p.radii[B]||0;l=Math.min((T[B]-o)*C-z,l),d=Math.max((T[B]-o)*C+z,d)}}}}),k&&r>0&&!this.logarithmic&&(d-=a,C*=(a+Math.max(0,l)-Math.min(d,a))/a,[["min","userMin",l],["max","userMax",d]].forEach(p=>{void 0===w(this.options[p[0]],this[p[1]])&&(this[p[0]]+=p[2]/C)})))}class f extends j{static compose(g,v,o,n){q.compose(v,o,n),G(J,"Series.Bubble")&&F(g,"foundExtremes",O)}animate(g){!g&&this.points.length{if(z.bubblePadding&&z.reserveSpace()){let K=(z.onPoint||z).getZExtremes();K&&(T=Math.min(w(T,K.zMin),K.zMin),B=Math.max(w(B,K.zMax),K.zMax),p=!0)}}),p?(d={zMin:T,zMax:B},this.chart.bubbleZExtremes=d):d={zMin:0,zMax:0}}for(r=0,n=g.length;r0&&(T=(r-g)/p)}return C&&T>=0&&(T=Math.sqrt(T)),Math.ceil(o+T*(n-o))/2}hasData(){return!!this.processedXData.length}pointAttribs(g,v){let o=this.options.marker.fillOpacity,n=X.prototype.pointAttribs.call(this,g,v);return 1!==o&&(n.fill=ue(n.fill).setOpacity(o).get("rgba")),n}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:g,options:v,radii:o}=this,{minPxSize:n}=this.getPxExtremes(),r=g.length;for(;r--;){let l=g[r],d=o?o[r]:0;"z"===this.zoneAxis&&(l.negative=(l.z||0)<(v.zThreshold||0)),_(d)&&d>=n/2?(l.marker=I(l.marker,{radius:d,width:2*d,height:2*d}),l.dlBox={x:l.plotX-d,y:l.plotY-d,width:2*d,height:2*d}):(l.shapeArgs=l.plotY=l.dlBox=void 0,l.isInside=!1)}}getPxExtremes(){let g=Math.min(this.chart.plotWidth,this.chart.plotHeight),v=r=>{let l;return"string"==typeof r&&(l=/%$/.test(r),r=parseInt(r,10)),l?g*r/100:r},o=v(w(this.options.minSize,8));return{minPxSize:o,maxPxSize:Math.max(v(w(this.options.maxSize,"20%")),o)}}getZExtremes(){let g=this.options,v=(this.zData||[]).filter(_);if(v.length){let o=w(g.zMin,A(D(v),!1===g.displayNegative?g.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),n=w(g.zMax,P(v));if(_(o)&&_(n))return{zMin:o,zMax:n}}}}return f.defaultOptions=m(j.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:a}=this.series.chart,{z:g}=this.point;return _(g)?a(g,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),I(f.prototype,{alignDataLabel:E.alignDataLabel,applyZones:te,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:ne,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),F(f,"updatedData",a=>{delete a.target.chart.bubbleZExtremes}),F(f,"remove",a=>{delete a.target.chart.bubbleZExtremes}),le.registerSeriesType("bubble",f),f}),Le(V,"Series/MapBubble/MapBubblePoint.js",[V["Series/Bubble/BubblePoint.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{seriesTypes:{map:{prototype:{pointClass:{prototype:ve}}}}}=ne,{extend:le}=re;class pe extends q{isValid(){return"number"==typeof this.z}}return le(pe.prototype,{applyOptions:ve.applyOptions,getProjectedBounds:ve.getProjectedBounds}),pe}),Le(V,"Series/MapBubble/MapBubbleSeries.js",[V["Series/Bubble/BubbleSeries.js"],V["Series/MapBubble/MapBubblePoint.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{seriesTypes:{map:{prototype:le},mappoint:{prototype:pe}}}=re,{extend:ue,merge:J}=ve;class te extends q{constructor(){super(...arguments),this.clearBounds=le.clearBounds}searchPoint(E,j){return this.searchKDTree({plotX:E.chartX-this.chart.plotLeft,plotY:E.chartY-this.chart.plotTop},j,E)}translate(){pe.translate.call(this),this.getRadii(),this.translateBubble()}updateParallelArrays(E,j,F){super.updateParallelArrays.call(this,E,j,F);let P=this.processedXData,D=this.xData;P&&D&&(P.length=D.length)}}return te.defaultOptions=J(q.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),ue(te.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:le.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:ne,processData:le.processData,projectPoint:pe.projectPoint,kdAxisArray:["plotX","plotY"],setData:le.setData,setOptions:le.setOptions,updateData:le.updateData,useMapGeometry:!0,xyFromShape:!0}),re.registerSeriesType("mapbubble",te),te}),Le(V,"Series/Heatmap/HeatmapPoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{scatter:{prototype:{pointClass:re}}}=q.seriesTypes,{clamp:ve,defined:le,extend:pe,pick:ue}=ne;class J extends re{applyOptions(X,E){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions(X,E),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let X=this.series,E=X.options,j=(E.colsize||1)/2,F=(E.rowsize||1)/2,P=X.xAxis,D=X.yAxis,A=this.options.marker||X.options.marker,I=X.pointPlacementToXValue(),_=ue(this.pointPadding,E.pointPadding,0),m={x1:ve(Math.round(P.len-P.translate(this.x-j,!1,!0,!1,!0,-I)),-P.len,2*P.len),x2:ve(Math.round(P.len-P.translate(this.x+j,!1,!0,!1,!0,-I)),-P.len,2*P.len),y1:ve(Math.round(D.translate(this.y-F,!1,!0,!1,!0)),-D.len,2*D.len),y2:ve(Math.round(D.translate(this.y+F,!1,!0,!1,!0)),-D.len,2*D.len)};for(let w of[["width","x"],["height","y"]]){let G=w[0],O=w[1],f=O+"1",a=O+"2",g=Math.abs(m[f]-m[a]),v=A&&A.lineWidth||0,o=Math.abs(m[f]+m[a])/2,n=A&&A[G];if(le(n)&&n"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}}),Le(V,"Series/InterpolationUtilities.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{doc:re}=q,{defined:ve,pick:le}=ne;return{colorFromPoint:function(pe,ue){let J=ue.series.colorAxis;if(J){let te=J.toColor(pe||0,ue).split(")")[0].split("(")[1].split(",").map(X=>le(parseFloat(X),parseInt(X,10)));return te[3]=255*le(te[3],1),ve(pe)&&ue.visible||(te[3]=0),te}return[0,0,0,0]},getContext:function(pe){let{canvas:ue,context:J}=pe;return ue&&J?(J.clearRect(0,0,ue.width,ue.height),J):(pe.canvas=re.createElement("canvas"),pe.context=pe.canvas.getContext("2d",{willReadFrequently:!0})||void 0,pe.context)}}}),Le(V,"Series/Heatmap/HeatmapSeries.js",[V["Core/Color/Color.js"],V["Series/ColorMapComposition.js"],V["Series/Heatmap/HeatmapPoint.js"],V["Series/Heatmap/HeatmapSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Utilities.js"],V["Series/InterpolationUtilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{series:te,seriesTypes:{column:X,scatter:E}}=le,{prototype:{symbols:j}}=pe,{addEvent:F,extend:P,fireEvent:D,isNumber:A,merge:I,pick:_}=ue,{colorFromPoint:m,getContext:w}=J;class G extends E{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let f=this,a=f.options,v=a.marker||{};if(a.interpolation){let{image:o,chart:n,xAxis:r,yAxis:l}=f,{reversed:d=!1,len:C}=r,{reversed:k=!1,len:p}=l,T={width:C,height:p};if(!o||f.isDirtyData||f.isDirtyCanvas){let B=w(f),{canvas:z,options:{colsize:K=1,rowsize:U=1},points:se,points:{length:S}}=f;if(z&&B&&n.colorAxis&&n.colorAxis[0]){let{min:H,max:x}=r.getExtremes(),{min:N,max:R}=l.getExtremes(),Z=x-H,Y=R-N,he=Math.round(Z/K/8*8),ge=Math.round(Y/U/8*8),[_e,Te]=[[he,he/Z,d,"ceil"],[ge,ge/Y,!k,"floor"]].map(([be,xe,Ie,we])=>Ie?Ee=>Math[we](be-xe*Ee):Ee=>Math[we](xe*Ee)),Oe=z.width=he+1,De=Oe*(z.height=ge+1),Be=(S-1)/De,oe=new Uint8ClampedArray(4*De),ee=(be,xe)=>4*Math.ceil(Oe*Te(xe-N)+_e(be-H));f.buildKDTree();for(let be=0;be{o.graphic&&(o.graphic[f.chart.styledMode?"css":"animate"](f.colorAttribs(o)),null===o.value&&o.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:f,dataMax:a}=te.prototype.getExtremes.call(this,this.valueData);return A(f)&&(this.valueMin=f),A(a)&&(this.valueMax=a),te.prototype.getExtremes.call(this)}getValidPoints(f,a){return te.prototype.getValidPoints.call(this,f,a,!0)}hasData(){return!!this.processedXData.length}init(){super.init.apply(this,arguments);let f=this.options;f.pointRange=_(f.pointRange,f.colsize||1),this.yAxis.axisPointRange=f.rowsize||1,j.ellipse=j.circle,f.marker&&A(f.borderRadius)&&(f.marker.r=f.borderRadius)}markerAttribs(f,a){let g=f.shapeArgs||{};if(f.hasImage)return{x:f.plotX,y:f.plotY};if(a&&"normal"!==a){let v=f.options.marker||{},o=this.options.marker||{},n=o.states&&o.states[a]||{},r=v.states&&v.states[a]||{},l=(r.width||n.width||g.width||0)+(r.widthPlus||n.widthPlus||0),d=(r.height||n.height||g.height||0)+(r.heightPlus||n.heightPlus||0);return{x:(g.x||0)+((g.width||0)-l)/2,y:(g.y||0)+((g.height||0)-d)/2,width:l,height:d}}return g}pointAttribs(f,a){let g=te.prototype.pointAttribs.call(this,f,a),v=this.options||{},o=this.chart.options.plotOptions||{},n=o.series||{},r=o.heatmap||{},d=f&&f.options.borderWidth||v.borderWidth||r.borderWidth||n.borderWidth||g["stroke-width"];if(g.stroke=f&&f.marker&&f.marker.lineColor||v.marker&&v.marker.lineColor||f&&f.options.borderColor||v.borderColor||r.borderColor||n.borderColor||this.color,g["stroke-width"]=d,a&&"normal"!==a){let C=I(v.states&&v.states[a],v.marker&&v.marker.states&&v.marker.states[a],f&&f.options.states&&f.options.states[a]||{});g.fill=C.color||q.parse(g.fill).brighten(C.brightness||0).get(),g.stroke=C.lineColor||g.stroke}return g}translate(){let{borderRadius:f,marker:a}=this.options,g=a&&a.symbol||"rect",v=j[g]?g:"rect",o=-1!==["circle","square"].indexOf(v);for(let n of(this.generatePoints(),this.points)){let r=n.getCellAttributes(),l=Math.min(r.x1,r.x2),d=Math.min(r.y1,r.y2),C=Math.max(Math.abs(r.x2-r.x1),0),k=Math.max(Math.abs(r.y2-r.y1),0);if(n.hasImage=0===(n.marker&&n.marker.symbol||g||"").indexOf("url"),o){let p=Math.abs(C-k);l=Math.min(r.x1,r.x2)+(CparseInt(ne.userAgent.split("Firefox/")[1],10),ne.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ne.noop=function(){},ne.supportsPassiveEvents=function(){let re=!1;if(!ne.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ne.win.addEventListener&&ne.win.removeEventListener&&(ne.win.addEventListener("testPassive",ne.noop,ve),ne.win.removeEventListener("testPassive",ne.noop,ve))}return re}(),ne.charts=[],ne.composed=[],ne.dateFormats={},ne.seriesTypes={},ne.symbolSizes={},ne.chartCount=0,q}),Le(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(q){let ne,{charts:re,doc:ve,win:le}=q;function pe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(T,B){p+=`\n - ${B}: ${T}`,C&&(k+=encodeURI(B)+"="+encodeURI(T))}),k+=p}g(q,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===pe.messages.indexOf(k)&&console.warn(k)}),pe.messages.push(k)}function ue(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function X(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function E(o){return X(o)&&"number"==typeof o.nodeType}function j(o){let n=o&&o.constructor;return!(!X(o,!0)||E(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function P(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!P(r),C=(k,p)=>{P(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function A(o){return te(o)?o:[o]}function I(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(pe||(pe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-T.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){q[n]=function(r){return pe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let v=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ne?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(q[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;q.Point&&o instanceof q.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!q.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((T,B)=>T.order-B.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){K=A(K),T[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=ue(d))),d},inArray:function(o,n,r){return pe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return G(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:ue,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:A,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:v,useSerialIds:function(o){return ne=_(o,ne)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Le(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Le(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Le(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{win:re}=q,{defined:ve,error:le,extend:pe,isNumber:ue,isObject:J,merge:te,objectEach:X,pad:E,pick:j,splat:F,timeUnits:P}=ne,D=q.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,A=q.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class I{constructor(m){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(m)}get(m,w){if(this.variableTimezone||this.timezoneOffset){let G=w.getTime(),O=G-this.getTimezoneOffset(w);w.setTime(O);let f=w["getUTC"+m]();return w.setTime(G),f}return this.useUTC?w["getUTC"+m]():w["get"+m]()}set(m,w,G){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===m||"Seconds"===m||"Minutes"===m&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+m](G);let O=this.getTimezoneOffset(w),f=w.getTime()-O;w.setTime(f),w["setUTC"+m](G);let a=this.getTimezoneOffset(w);return f=w.getTime()+a,w.setTime(f)}return this.useUTC||D&&"FullYear"===m?w["setUTC"+m](G):w["set"+m](G)}update(m={}){let w=j(m.useUTC,!0);this.options=m=te(!0,this.options,m),this.Date=m.Date||re.Date||Date,this.useUTC=w,this.timezoneOffset=w&&m.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!m.getTimezoneOffset&&!m.timezone)}makeTime(m,w,G,O,f,a){let g,v,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),v=this.getTimezoneOffset(g),g+=v,v!==(o=this.getTimezoneOffset(g))?g+=o-v:v-36e5!==this.getTimezoneOffset(g-36e5)||A||(g-=36e5)):g=new this.Date(m,w,j(G,1),j(O,0),j(f,0),j(a,0)).getTime(),g}timezoneOffsetFunction(){let m=this,w=this.options,G=w.getTimezoneOffset;return this.useUTC?w.timezone?O=>{try{let f=`shortOffset,${w.timezone||""}`,[a,g,v,o,n=0]=(I.formatCache[f]=I.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:w.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(v+n/60);if(ue(r))return r}catch{le(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(m.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(m,w,G){if(!ve(w)||isNaN(w))return q.defaultOptions.lang&&q.defaultOptions.lang.invalidDate||"";m=j(m,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(w),a=this.get("Hours",f),g=this.get("Day",f),v=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=q.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return X(pe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:E(v),e:E(v,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:E(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:E(a),k:a,I:E(a%12||12),l:a%12||12,M:E(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:E(this.get("Seconds",f)),L:E(Math.floor(w%1e3),3)},q.dateFormats),function(C,k){for(;-1!==m.indexOf("%"+k);)m=m.replace("%"+k,"function"==typeof C?C.call(O,w):C)}),G?m.substr(0,1).toUpperCase()+m.substr(1):m}resolveDTLFormat(m){return J(m,!0)?m:{main:(m=F(m))[0],from:m[1],to:m[2]}}getTimeTicks(m,w,G,O){let f,a,g,v,o=this,r=[],l={},d=new(0,o.Date)(w),C=m.unitRange,k=m.count||1;if(O=j(O,1),ve(w)){o.set("Milliseconds",d,C>=P.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=P.second&&o.set("Seconds",d,C>=P.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=P.minute&&o.set("Minutes",d,C>=P.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=P.hour&&o.set("Hours",d,C>=P.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=P.day&&o.set("Date",d,C>=P.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=P.month&&(o.set("Month",d,C>=P.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=P.year&&(a-=a%k,o.set("FullYear",d,a)),C===P.week&&(v=o.get("Day",d),o.set("Date",d,o.get("Date",d)-v+O+(v4*P.month||o.getTimezoneOffset(w)!==o.getTimezoneOffset(G));let z=d.getTime();for(f=1;z1?z=o.makeTime(a,p,T,B+f*k):z+=C*k:z=o.makeTime(a,p,T+f*k*(C===P.day?1:7)),f++;r.push(z),C<=P.hour&&r.length<1e4&&r.forEach(function(K){K%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",K)&&(l[K]="day")})}return r.info=pe(m,{higherRanks:l,totalRange:C*k}),r}getDateFormat(m,w,G,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",w),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond",o=v;for(v in P){if(m===P.week&&+this.dateFormat("%w",w)===G&&f.substr(6)===a.substr(6)){v="week";break}if(P[v]>m){v=o;break}if(g[v]&&f.substr(g[v])!==a.substr(g[v]))break;"week"!==v&&(o=v)}return this.resolveDTLFormat(O[v]).main}}return I.formatCache={},I}),Le(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{isTouchDevice:pe,svg:ue}=ne,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ue,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:pe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let X=new ve(te.time);return{defaultOptions:te,defaultTime:X,getOptions:function(){return te},setOptions:function(E){return J(!0,te,E),(E.time||E.global)&&(ne.time?ne.time.update(J(te.global,te.time,E.global,E.time)):ne.time=X),te}}}),Le(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isNumber:re,merge:ve,pInt:le}=ne;class pe{static parse(J){return J?new pe(J):pe.None}constructor(J){let te,X,E,j;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=q.Color;if(F&&F!==pe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(P=>new pe(P[1]));else if("string"==typeof J){if(this.input=J=pe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let P=J.length,D=parseInt(J.substr(1),16);7===P?X=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===P&&(X=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!X)for(E=pe.parsers.length;E--&&!X;)(te=(j=pe.parsers[E]).regex.exec(J))&&(X=j.parse(te))}X&&(this.rgba=X)}get(J){let te=this.input,X=this.rgba;if("object"==typeof te&&void 0!==this.stops){let E=ve(te);return E.stops=[].slice.call(E.stops),this.stops.forEach((j,F)=>{E.stops[F]=[E.stops[F][0],j.get(J)]}),E}return X&&re(X[0])?"rgb"===J||!J&&1===X[3]?"rgb("+X[0]+","+X[1]+","+X[2]+")":"a"===J?`${X[3]}`:"rgba("+X.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function(X){X.brighten(J)});else if(re(J)&&0!==J)for(let X=0;X<3;X++)te[X]+=le(255*J),te[X]<0&&(te[X]=0),te[X]>255&&(te[X]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let X=this.rgba,E=J.rgba;if(!re(X[0])||!re(E[0]))return J.input||"none";let j=1!==E[3]||1!==X[3];return(j?"rgba(":"rgb(")+Math.round(E[0]+(X[0]-E[0])*(1-te))+","+Math.round(E[1]+(X[1]-E[1])*(1-te))+","+Math.round(E[2]+(X[2]-E[2])*(1-te))+(j?","+(E[3]+(X[3]-E[3])*(1-te)):"")+")"}}return pe.names={white:"#ffffff",black:"#000000"},pe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),parseFloat(ue[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),1]}}],pe.None=new pe(""),pe}),Le(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{parse:ve}=q,{win:le}=ne,{isNumber:pe,objectEach:ue}=re;class J{constructor(X,E,j){this.pos=NaN,this.options=E,this.elem=X,this.prop=j}dSetter(){let X=this.paths,E=X&&X[0],j=X&&X[1],F=this.now||0,P=[];if(1!==F&&E&&j)if(E.length===j.length&&F<1)for(let D=0;D=I+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,j=!0,ue(_,function(m){!0!==m&&(j=!1)}),j&&A&&A.call(D),E=!1):(this.pos=P.easing((F-this.startTime)/I),this.now=this.start+(this.end-this.start)*this.pos,this.update(),E=!0),E}initPath(X,E,j){let _,m,w,G,F=X.startX,P=X.endX,D=j.slice(),A=X.isArea,I=A?2:1,O=E&&E.slice();if(!O)return[D,D];function f(g,v){for(;g.length{let G=E(w.options.animation);_=ue(P)&&re(P.defer)?A.defer:Math.max(_,G.duration+G.defer),m=Math.min(A.duration,G.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-m),duration:Math.min(_,m)}},setAnimation:function(F,P){P.renderer.globalAnimation=X(F,P.options.chart.animation,!0)},stop:j}}),Le(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{SVG_NS:re,win:ve}=q,{attr:le,createElement:pe,css:ue,error:J,isFunction:te,isString:X,objectEach:E,splat:j}=ne,{trustedTypes:F}=ve,P=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=P?P.createHTML(""):"",A=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class I{static filterUserAttributes(m){return E(m,(w,G)=>{let O=!0;-1===I.allowedAttributes.indexOf(G)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(G)&&(O=X(w)&&I.allowedReferences.some(f=>0===w.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete m[G]),X(w)&&m[G]&&(m[G]=w.replace(/{let O=G.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(w[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),w},{})}static setElementHTML(m,w){m.innerHTML=I.emptyHTML,w&&new I(w).addToDOM(m)}constructor(m){this.nodes="string"==typeof m?this.parseMarkup(m):m}addToDOM(m){return function w(G,O){let f;return j(G).forEach(function(a){let g,v=a.tagName,o=a.textContent?q.doc.createTextNode(a.textContent):void 0,n=I.bypassHTMLFiltering;if(v)if("#text"===v)g=o;else if(-1!==I.allowedTags.indexOf(v)||n){let l=q.doc.createElementNS("svg"===v?re:O.namespaceURI||re,v),d=a.attributes||{};E(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:I.filterUserAttributes(d)),a.style&&ue(l,a.style),o&&l.appendChild(o),w(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":v});g&&O.appendChild(g),f=g}),f}(this.nodes,m)}parseMarkup(m){let w,G=[];if(m=m.trim().replace(/ style=(["'])/g," data-style=$1"),A)w=(new DOMParser).parseFromString(P?P.createHTML(m):m,"text/html");else{let f=pe("div");f.innerHTML=m,w={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),v={tagName:g};"#text"===g&&(v.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?v.style=I.parseStyle(r.value):n[r.name]=r.value}),v.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(v.children=n)}a.push(v)};return[].forEach.call(w.body.childNodes,f=>O(f,G)),G}}return I.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],I.allowedReferences=["https://","http://","mailto:","/","../","./","#"],I.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],I.emptyHTML=D,I.bypassHTMLFiltering=!1,I}),Le(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne){let{defaultOptions:re,defaultTime:ve}=q,{extend:le,getNestedProperty:pe,isArray:ue,isNumber:J,isObject:te,pick:X,pInt:E}=ne,j={add:(D,A)=>D+A,divide:(D,A)=>0!==A?D/A:"",eq:(D,A)=>D==A,each:function(D){let A=arguments[arguments.length-1];return!!ue(D)&&D.map((I,_)=>F(A.body,le(te(I)?I:{"@this":I},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,A)=>D>=A,gt:(D,A)=>D>A,if:D=>!!D,le:(D,A)=>D<=A,lt:(D,A)=>DD*A,ne:(D,A)=>D!=A,subtract:(D,A)=>D-A,unless:D=>!D};function F(D="",A,I){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,m=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,w=[],G=/f$/,O=/\.([0-9])/,f=re.lang,a=I&&I.time||ve,g=I&&I.numberFormatter||P,v=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:pe(d,A))},r=0;for(;null!==(o=_.exec(D));){let d=m.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:A,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");j[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,T=D.substr(p,o.index-p);void 0===n.body?(n.body=T,n.startInner=o.index+o[0].length):n.elseBody=T,n.find+=T+o[0],k||(w.push(n),n=void 0)}else n.isBlock||w.push(n);if(d&&!n?.isBlock)break}return w.forEach(d=>{let C,k,{body:p,elseBody:T,expression:B,fn:z}=d;if(z){let K=[d],U=B.split(" ");for(k=j[z].length;k--;)K.unshift(v(U[k+1]));C=j[z].apply(A,K),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:T,A))}else{let K=B.split(":");if(C=v(K.shift()||""),K.length&&"number"==typeof C){let U=K.join(":");if(G.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,X(C,""))}),l?F(D,A,I):D}function P(D,A,I,_){let m,w;A=+A;let G=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=A;-1===A?A=Math.min(O,20):J(A)?A&&f[1]&&f[1]<0&&((w=A+ +f[1])>=0?(f[0]=(+f[0]).toExponential(w).split("e")[0],A=w):(f[0]=f[0].split(".")[0]||0,D=A<20?(f[0]*Math.pow(10,f[1])).toFixed(A):0,f[1]=0)):A=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(A,O)-1)).toFixed(A),v=String(E(g)),o=v.length>3?v.length%3:0;return I=X(I,G.decimalPoint),_=X(_,G.thousandsSep),m=(D<0?"-":"")+(o?v.substr(0,o)+_:""),0>+f[1]&&!a?m="0":m+=v.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),A&&(m+=I+g.slice(-A)),f[1]&&0!=+m&&(m+="e"+f[1]),m}return{dateFormat:function(D,A,I){return ve.dateFormat(D,A,I)},format:F,helpers:j,numberFormat:P}}),Le(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(q){var ne,re;let ve;return(re=ne||(ne={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,pe,ue){re.rendererTypes[le]=pe,(!ve||ue)&&(ve=le,q.Renderer=pe)},ne}),Le(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(q){var ne;let{clamp:re,pick:ve,pushUnique:le,stableSort:pe}=q;return(ne||(ne={})).distribute=function ue(J,te,X){let _,m,w,O,f,g,E=J,j=E.reducedLen||te,F=(v,o)=>v.target-o.target,P=[],D=J.length,A=[],I=P.push,G=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>j){for(pe(J,(v,o)=>(o.rank||0)-(v.rank||0)),w=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,m=g?w:D-1;w&&a>j;)O=J[_=Math.floor(m)],le(A,_)&&(a-=O.size),m+=w,g&&m>=J.length&&(w/=2,m=w);A.sort((v,o)=>o-v).forEach(v=>I.apply(P,J.splice(v,1)))}for(pe(J,F),J=J.map(v=>({size:v.size,targets:[v.target],align:ve(v.align,.5)}));G;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,G=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),G=!0)}return I.apply(E,P),_=0,J.some(v=>{let o=0;return(v.targets||[]).some(()=>(E[_].pos=v.pos+o,void 0!==X&&Math.abs(E[_].pos-E[_].target)>X?(E.slice(0,_+1).forEach(n=>delete n.pos),E.reducedLen=(E.reducedLen||te)-.1*te,E.reducedLen>.1*te&&ue(E,te,X),!0):(o+=E[_].size,_++,!1)))}),pe(E,F),E},ne}),Le(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{animate:le,animObject:pe,stop:ue}=q,{deg2rad:J,doc:te,svg:X,SVG_NS:E,win:j}=re,{addEvent:F,attr:P,createElement:D,css:A,defined:I,erase:_,extend:m,fireEvent:w,isArray:G,isFunction:O,isObject:f,isString:a,merge:g,objectEach:v,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let T=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(T)&&(T=parseFloat(T)),T}_defaultSetter(p,T,B){B.setAttribute(T,p)}add(p){let T,B=this.renderer,z=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&B.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(T=this.zIndexSetter()),T||(p?p.element:B.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(p,T){let B=T?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(z,K){return-1===B.indexOf(K)&&z.push(K),z},B?[B]:[]).join(" "))!==B&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,T,B,z=!0){let K,U,se,S,$,H={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=T,(!B||a(B))&&(this.alignTo=se=B||"renderer",_(N,this),N.push(this),B=void 0)):(p=this.alignOptions,T=this.alignByTranslate,se=this.alignTo),B=o(B,x[se],x);let R=p.align,Z=p.verticalAlign;return K=(B.x||0)+(p.x||0),U=(B.y||0)+(p.y||0),"right"===R?S=1:"center"===R&&(S=2),S&&(K+=(B.width-(p.width||0))/S),H[T?"translateX":"x"]=Math.round(K),"bottom"===Z?$=1:"middle"===Z&&($=2),$&&(U+=(B.height-(p.height||0))/$),H[T?"translateY":"y"]=Math.round(U),z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(p){let T={left:"start",center:"middle",right:"end"};T[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",T[p]))}animate(p,T,B){let z=pe(o(T,this.renderer.globalAnimation,!0)),K=z.defer;return te.hidden&&(z.duration=0),0!==z.duration?(B&&(z.complete=B),l(()=>{this.element&&le(this,p,z)},K)):(this.attr(p,void 0,B||z.complete),v(p,function(U,se){z.step&&z.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let T=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(T.style.fill)));let B=p.split(" "),z=B[B.length-1],K=B[0];if(K&&"none"!==K&&re.svg){this.fakeTS=!0,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(H,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(E,"tspan");P(U,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":K,"stroke-linejoin":"round"});let se=T.querySelector("textPath")||T;[].forEach.call(se.childNodes,H=>{let x=H.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let S=0;[].forEach.call(se.querySelectorAll("text tspan"),H=>{S+=Number(H.getAttribute("dy"))});let $=te.createElementNS(E,"tspan");$.textContent="\u200b",P($,{x:Number(T.getAttribute("x")),dy:-S}),U.appendChild($),se.insertBefore(U,se.firstChild)}}attr(p,T,B,z){let se,S,H,K=this.element,U=C.symbolCustomAttribs,$=this;return"string"==typeof p&&void 0!==T&&(se=p,(p={})[se]=T),"string"==typeof p?$=(this[p+"Getter"]||this._defaultGetter).call(this,p,K):(v(p,function(x,N){H=!1,z||ue(this,N),this.symbolName&&-1!==U.indexOf(N)&&(S||(this.symbolAttr(p),S=!0),H=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),H||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,K)},this),this.afterSetters()),B&&B.call(this),$}clip(p){if(p&&!p.clipPath){let T=d()+"-",B=this.renderer.createElement("clipPath").attr({id:T}).add(this.renderer.defs);m(p,{clipPath:B,id:T,count:0}),p.add(B)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,T){let B=Math.round(T=T||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+B,p.y=Math.floor(p.y||this.y||0)+B,p.width=Math.floor((p.width||this.width||0)-2*B),p.height=Math.floor((p.height||this.height||0)-2*B),I(p.strokeWidth)&&(p.strokeWidth=T),p}complexColor(p,T,B){let K,U,se,S,$,H,x,N,R,Z,he,z=this.renderer,Y=[];w(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],$=z.gradients,H=p.stops,R=B.radialReference,G(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!I(se.gradientUnits)&&(S=se,se=g(se,z.getRadialAttr(R,S),{gradientUnits:"userSpaceOnUse"})),v(se,function(ge,_e){"id"!==_e&&Y.push(_e,ge)}),v(H,function(ge){Y.push(ge)}),$[Y=Y.join(",")])Z=$[Y].attr("id");else{se.id=Z=d();let ge=$[Y]=z.createElement(U).attr(se).add(z.defs);ge.radAttr=S,ge.stops=[],H.forEach(function(_e){0===_e[1].indexOf("rgba")?(x=(K=ne.parse(_e[1])).get("rgb"),N=K.get("a")):(x=_e[1],N=1);let Te=z.createElement("stop").attr({offset:_e[0],"stop-color":x,"stop-opacity":N}).add(ge);ge.stops.push(Te)})}he="url("+z.url+"#"+Z+")",B.setAttribute(T,he),B.gradient=Y,p.toString=function(){return he}}})}css(p){let K,T=this.styles,B={},z=this.element,U=!T;if(T&&v(p,function(se,S){T&&T[S]!==se&&(B[S]=se,U=!0)}),U){T&&(p=m(T,B)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&p.width&&(K=this.textWidth=n(p.width)),m(this.styles,p),K&&!X&&this.renderer.forExport&&delete p.width;let se=g(p);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(S=>se&&delete se[S]),se.color&&(se.fill=se.color)),A(z,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let T,B=this["stroke-width"];if("inherit"===B&&(B=1),p=p&&p.toLowerCase()){let z=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(T=z.length;T--;)z[T]=""+n(z[T])*o(B,NaN);p=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,T=p.element||{},B=p.renderer,z=T.ownerSVGElement,K="SPAN"===T.nodeName&&p.parentGroup||void 0;if(T.onclick=T.onmouseout=T.onmouseover=T.onmousemove=T.point=null,ue(p),p.clipPath&&z){let S=p.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function($){$.getAttribute("clip-path").indexOf(S.element.id)>-1&&$.removeAttribute("clip-path")}),p.clipPath=S.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seK&&K.join?(U?z+" ":"")+K.join(" "):(K||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[T]!==p&&(B.setAttribute(T,p),this[T]=p)}fillSetter(p,T,B){"string"==typeof p?B.setAttribute(T,p):p&&this.complexColor(p,T,B)}hrefSetter(p,T,B){B.setAttributeNS("http://www.w3.org/1999/xlink",T,p)}getBBox(p,T){let B,z,K,U,{alignValue:se,element:S,renderer:$,styles:H,textStr:x}=this,{cache:N,cacheKeys:R}=$,Z=S.namespaceURI===this.SVG_NS,Y=o(T,this.rotation,0),he=$.styledMode?S&&C.prototype.getStyle.call(S,"font-size"):H.fontSize;if(I(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",$.rootFontSize,he,Y,this.textWidth,se,H.textOverflow,H.fontWeight].join(",")),U&&!p&&(B=N[U]),!B){if(Z||$.forExport){try{K=this.fakeTS&&function(ge){let _e=S.querySelector(".highcharts-text-outline");_e&&A(_e,{display:ge})},O(K)&&K("none"),B=S.getBBox?m({},S.getBBox()):{width:S.offsetWidth,height:S.offsetHeight,x:0,y:0},O(K)&&K("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();z=B.height,Z&&(B.height=z={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(z)}`]||z),Y&&(B=this.getRotatedBox(B,Y))}if(U&&(""===x||B.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=B}return B}getRotatedBox(p,T){let{x:B,y:z,width:K,height:U}=p,{alignValue:se,translateY:S,rotationOriginX:$=0,rotationOriginY:H=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(S?0:z),R=T*J,Z=(T-90)*J,Y=Math.cos(R),he=Math.sin(R),ge=K*Y,_e=K*he,Te=Math.cos(Z),Oe=Math.sin(Z),[[De,Be],[oe,ee]]=[$,H].map(pt=>[pt-pt*Y,pt*he]),be=B+x*(K-ge)+De+ee+N*Te,xe=be+ge,Ie=xe-U*Te,we=Ie-ge,Ee=z+N-x*_e-Be+oe+N*Oe,Me=Ee+_e,Xe=Me-U*Oe,Je=Xe-_e,lt=Math.min(be,xe,Ie,we),qe=Math.min(Ee,Me,Xe,Je);return{x:lt,y:qe,width:Math.max(be,xe,Ie,we)-lt,height:Math.max(Ee,Me,Xe,Je)-qe}}getStyle(p){return j.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,T){this.onEvents={},this.opacity=1,this.SVG_NS=E,this.element="span"===T||"body"===T?D(T):te.createElementNS(this.SVG_NS,T),this.renderer=p,this.styles={},w(this,"afterInit")}on(p,T){let{onEvents:B}=this;return B[p]&&B[p](),B[p]=F(this.element,p,T),this}opacitySetter(p,T,B){let z=Number(Number(p).toFixed(3));this.opacity=z,B.setAttribute(T,z)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let T=p.parentNode;T&&T.removeChild(p)}setRadialReference(p){let T=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,T&&T.radAttr&&T.animate(this.renderer.getRadialAttr(p,T.radAttr)),this}setTextPath(p,T){T=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},T);let B=this.renderer.url,z=this.text||this,K=z.textPath,{attributes:U,enabled:se}=T;if(p=p||K&&K.path,K&&K.undo(),p&&se){let S=F(z,"afterModifyTree",$=>{if(p&&se){let H=p.attr("id");H||p.attr("id",H=d());let x={x:0,y:0};I(U.dx)&&(x.dx=U.dx,delete U.dx),I(U.dy)&&(x.dy=U.dy,delete U.dy),z.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=$.nodes.slice(0);$.nodes.length=0,$.nodes[0]={tagName:"textPath",attributes:m(U,{"text-anchor":U.textAnchor,href:`${B}#${H}`}),children:N}}});z.textPath={path:p,undo:S}}else z.attr({dx:0,dy:0}),delete z.textPath;return this.added&&(z.textCache="",this.renderer.buildText(z)),this}shadow(p){let{renderer:T}=this,B=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),z=T.shadowDefinition(B);return this.attr({filter:p?`url(${T.url}#${z})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,T,B){this[T]=p,B.setAttribute(T,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let B,p=this.getStyle("stroke-width"),T=0;return/px$/.test(p)?T=n(p):""!==p&&(P(B=te.createElementNS(E,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(B),T=B.getBBox().width,B.parentNode.removeChild(B)),T}symbolAttr(p){let T=this;C.symbolCustomAttribs.forEach(function(B){T[B]=o(p[B],T[B])}),T.attr({d:T.renderer.symbols[T.symbolName](T.x,T.y,T.width,T.height,T)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let T=this.element,B=T.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");T.insertBefore?T.insertBefore(B,T.firstChild):T.appendChild(B),B.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,T){return this.attr({translateX:p,translateY:T})}updateTransform(p="transform"){let{element:T,matrix:B,rotation:z=0,rotationOriginX:K,rotationOriginY:U,scaleX:se,scaleY:S,translateX:$=0,translateY:H=0}=this,x=["translate("+$+","+H+")"];I(B)&&x.push("matrix("+B.join(",")+")"),z&&(x.push("rotate("+z+" "+o(K,T.getAttribute("x"),0)+" "+o(U,T.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(K||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(I(se)||I(S))&&x.push("scale("+o(se,1)+" "+o(S,1)+")"),x.length&&!(this.text||this).textPath&&T.setAttribute(p,x.join(" "))}visibilitySetter(p,T,B){"inherit"===p?B.removeAttribute(T):this[T]!==p&&B.setAttribute(T,p),this[T]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,T){let S,$,H,N,Z,B=this.renderer,z=this.parentGroup,K=(z||B).element||B.box,U=this.element,se=K===B.box,x=!1,R=this.added;if(I(p)?(U.setAttribute("data-z-index",p),this[T]===(p=+p)&&(R=!1)):I(this[T])&&U.removeAttribute("data-z-index"),this[T]=p,R){for((p=this.zIndex)&&z&&(z.handleZ=!0),Z=(S=K.childNodes).length-1;Z>=0&&!x;Z--)N=!I(H=($=S[Z]).getAttribute("data-z-index")),$!==U&&(p<0&&N&&!se&&!Z?(K.insertBefore(U,S[Z]),x=!0):(n(H)<=p||N&&(!I(p)||p>=0))&&(K.insertBefore(U,S[Z+1]),x=!0));x||(K.insertBefore(U,S[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Le(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,extend:ve,isNumber:le,merge:pe,pick:ue,removeEvent:J}=ne;class te extends q{constructor(E,j,F,P,D,A,I,_,m,w){let G;super(E,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=j,this.x=F,this.y=P,this.anchorX=A,this.anchorY=I,this.baseline=m,this.className=w,this.addClass("button"===w?"highcharts-no-tooltip":"highcharts-label"),w&&this.addClass("highcharts-"+w),this.text=E.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((G=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=E.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(E){let j={left:0,center:.5,right:1}[E];j!==this.alignFactor&&(this.alignFactor=j,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(E,j){this.anchorX=E,this.boxAttr(j,Math.round(E)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(E,j){this.anchorY=E,this.boxAttr(j,E-this.ySetting)}boxAttr(E,j){this.box?this.box.attr(E,j):this.deferredAttr[E]=j}css(E){if(E){let j={};E=pe(E),te.textProps.forEach(F=>{void 0!==E[F]&&(j[F]=E[F],delete E[F])}),this.text.css(j),"fontSize"in j||"fontWeight"in j?this.updateTextPadding():("width"in j||"textOverflow"in j)&&this.updateBoxSize()}return q.prototype.css.call(this,E)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),q.prototype.destroy.call(this)}fillSetter(E,j){E&&(this.needsBox=!0),this.fill=E,this.boxAttr(j,E)}getBBox(E,j){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:P=0,translateX:D=0,translateY:A=0,width:I=0}=this,_=ue(this.paddingLeft,F),m=j??(this.rotation||0),w={width:I,height:P,x:D+this.bBox.x-_,y:A+this.bBox.y-F+this.baselineOffset};return m&&(w=this.getRotatedBox(w,m)),w}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(E){this.heightSetting=E}onAdd(){this.text.add(this),this.attr({text:ue(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(E,j){le(E)?E!==this[j]&&(this[j]=E,this.updateTextPadding()):this[j]=void 0}rSetter(E,j){this.boxAttr(j,E)}strokeSetter(E,j){this.stroke=E,this.boxAttr(j,E)}"stroke-widthSetter"(E,j){E&&(this.needsBox=!0),this["stroke-width"]=E,this.boxAttr(j,E)}"text-alignSetter"(E){this.textAlign=E}textSetter(E){void 0!==E&&this.text.attr({text:E}),this.updateTextPadding()}updateBoxSize(){let E,j=this.text,F={},P=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(j.textStr)?te.emptyBBox:j.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*P;let A=this.renderer.fontMetrics(j);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||A).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-A.h)/2),this.needsBox&&!j.textPath){if(!this.box){let I=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();I.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),I.add(this)}E=this.getCrispAdjust(),F.x=E,F.y=(this.baseline?-this.baselineOffset:0)+E,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let E=this.text;if(!E.textPath){this.updateBoxSize();let j=this.baseline?0:this.baselineOffset,F=ue(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==E.x||j!==E.y)&&(E.attr("x",F),E.hasBoxWidthChanged&&(this.bBox=E.getBBox(!0)),void 0!==j&&E.attr("y",j)),E.x=F,E.y=j}}widthSetter(E){this.widthSetting=le(E)?E:void 0}getPaddedWidth(){let E=this.padding,j=ue(this.paddingLeft,E),F=ue(this.paddingRight,E);return(this.widthSetting||this.bBox.width||0)+j+F}xSetter(E){this.x=E,this.alignFactor&&(E-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(E),this.attr("translateX",this.xSetting)}ySetter(E){this.ySetting=this.y=Math.round(E),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Le(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(q){let{defined:ne,isNumber:re,pick:ve}=q;function le(J,te,X,E,j){let F=[];if(j){let P=j.start||0,D=ve(j.r,X),A=ve(j.r,E||X),I=.001>Math.abs((j.end||0)-P-2*Math.PI),_=(j.end||0)-.001,m=j.innerR,w=ve(j.open,I),G=Math.cos(P),O=Math.sin(P),f=Math.cos(_),a=Math.sin(_),g=ve(j.longArc,_-P-Math.PI<.001?0:1),v=["A",D,A,0,g,ve(j.clockwise,1),J+D*f,te+A*a];v.params={start:P,end:_,cx:J,cy:te},F.push(["M",J+D*G,te+A*O],v),ne(m)&&((v=["A",m,m,0,g,ne(j.clockwise)?1-j.clockwise:0,J+m*G,te+m*O]).params={start:_,end:P,cx:J,cy:te},F.push(w?["M",J+m*f,te+m*a]:["L",J+m*f,te+m*a],v)),w||F.push(["Z"])}return F}function pe(J,te,X,E,j){return j&&j.r?ue(J,te,X,E,j):[["M",J,te],["L",J+X,te],["L",J+X,te+E],["L",J,te+E],["Z"]]}function ue(J,te,X,E,j){let F=j?.r||0;return[["M",J+F,te],["L",J+X-F,te],["A",F,F,0,0,1,J+X,te+F],["L",J+X,te+E-F],["A",F,F,0,0,1,J+X-F,te+E],["L",J+F,te+E],["A",F,F,0,0,1,J,te+E-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,X,E,j){let F=Math.min(j&&j.r||0,X,E),P=F+6,D=j&&j.anchorX,A=j&&j.anchorY||0,I=ue(J,te,X,E,{r:F});if(!re(D)||D0&&A0)return I;if(J+D>X-P)if(A>te+P&&Ate+P&&A0){let _=AE&&DP&&I.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",X-F,te]);return I},circle:function(J,te,X,E){return le(J+X/2,te+E/2,X/2,E/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E/2],["L",J+X/2,te+E],["L",J,te+E/2],["Z"]]},rect:pe,roundedRect:ue,square:pe,triangle:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E],["L",J,te+E],["Z"]]},"triangle-down":function(J,te,X,E){return[["M",J,te],["L",J+X,te],["L",J+X/2,te+E],["Z"]]}}}),Le(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{doc:ve,SVG_NS:le,win:pe}=ne,{attr:ue,extend:J,fireEvent:te,isString:X,objectEach:E,pick:j}=re;return class{constructor(F){let P=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!(!P||"ellipsis"!==P.textOverflow),this.noWrap=!(!P||"nowrap"!==P.whiteSpace)}buildSVG(){let F=this.svgElement,P=F.element,D=F.renderer,A=j(F.textStr,"").toString(),I=-1!==A.indexOf("<"),_=P.childNodes,m=!F.added&&D.box,w=[A,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(w!==F.textCache){F.textCache=w,delete F.actualWidth;for(let G=_.length;G--;)P.removeChild(_[G]);if(I||this.ellipsis||this.width||F.textPath||-1!==A.indexOf(" ")&&(!this.noWrap||//g.test(A))){if(""!==A){m&&m.appendChild(P);let G=new q(A);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&-1!==(P.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),m&&m.removeChild(P)}}else P.appendChild(ve.createTextNode(this.unescapeEntities(A)));X(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,P=this.svgElement,D=ue(P.element,"x");for(P.firstLineMetrics=void 0;(F=P.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)P.element.removeChild(F);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(m,w)=>{m.nextSibling&&m.previousSibling&&(0===w&&1===m.previousSibling.nodeType&&(P.firstLineMetrics=P.renderer.fontMetrics(m.previousSibling)),ue(m,{dy:this.getLineHeight(m.nextSibling),x:D}))});let A=this.width||0;if(!A)return;let I=(m,w)=>{let G=m.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),a=this.getLineHeight(w),g=0,v=P.actualWidth;if(this.ellipsis)G&&this.truncate(m,G,void 0,0,Math.max(0,A-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;w.firstChild&&w.firstChild!==m;)n.push(w.firstChild),w.removeChild(w.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(m.textContent||""),m.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(m,void 0,O,0===g&&v||0,A,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),v=P.actualWidth,g++;n.forEach(r=>{w.insertBefore(r,m)}),o.forEach(r=>{w.insertBefore(ve.createTextNode(r),m);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",ue(l,{dy:a,x:D}),w.insertBefore(l,m)})}},_=m=>{[].slice.call(m.childNodes).forEach(w=>{w.nodeType===pe.Node.TEXT_NODE?I(w,m):(-1!==w.className.baseVal.indexOf("highcharts-br")&&(P.actualWidth=0),_(w))})};_(P.element)}getLineHeight(F){let P=F.nodeType===pe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(F){let P=(D,A)=>{let{attributes:I={},children:_,style:m={},tagName:w}=D,G=this.renderer.styledMode;if("b"===w||"strong"===w?G?I.class="highcharts-strong":m.fontWeight="bold":("i"===w||"em"===w)&&(G?I.class="highcharts-emphasized":m.fontStyle="italic"),m&&m.color&&(m.fill=m.color),"br"===w){I.class="highcharts-br",D.textContent="\u200b";let O=F[A+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===w&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==w&&"a"!==w&&(D.tagName="tspan"),J(D,{attributes:I,style:m}),_&&_.filter(O=>"#text"!==O.tagName).forEach(P)};F.forEach(P),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,P,D,A,I,_){let m,w,G=this.svgElement,{rotation:O}=G,f=[],a=D?1:0,g=(P||D||"").length,v=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=A+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(G.rotation=0,A+(w=o(F.textContent.length))>I){for(;a<=g;)v=Math.ceil((a+g)/2),D&&(m=_(D,v)),w=o(v,m&&m.length-1),a===g?a=g+1:w>I?g=v-1:a=v;0===g?F.textContent="":P&&g===P.length-1||(F.textContent=m||_(P||D,v))}D&&D.splice(0,v),G.actualWidth=w,G.rotation=O}unescapeEntities(F,P){return E(this.renderer.escapes,function(D,A){P&&-1!==P.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),A))}),F}}}),Le(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let X,{charts:E,deg2rad:j,doc:F,isFirefox:P,isMS:D,isWebKit:A,noop:I,SVG_NS:_,symbolSizes:m,win:w}=re,{addEvent:G,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:v,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:T,uniqueKey:B}=te;class z{constructor(U,se,S,$,H,x,N){let R,Z,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=Y.element;N||Y.css(this.getStyle($||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(se,S,!1),P&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),Z=U.getBoundingClientRect(),a(U,{left:Math.ceil(Z.left)-Z.left+"px",top:Math.ceil(Z.top)-Z.top+"px"})})(),this.unSubPixelFix=G(w,"resize",R))}definition(U){return new q([U]).addToDOM(this.defs.element)}getReferenceURL(){if((P||A)&&F.getElementsByTagName("base").length){if(!g(X)){let U=B(),se=new q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let S=F.elementFromPoint(6,6);X="hitme"===(S&&S.id),F.body.removeChild(se)}if(X)return T(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),v(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map($=>`${$}-${U[$]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),S=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:S.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:S.offsetX,dy:S.offsetY,"flood-color":S.color,"flood-opacity":Math.min(5*S.opacity,1),stdDeviation:S.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ne.parse(U).rgba.map($=>{let H=$/255;return H<=.03928?H/12.92:Math.pow((H+.055)/1.055,2.4)}),S=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(S+.05)>(S+.05)/.05?"#FFFFFF":"#000000"}button(U,se,S,$,H={},x,N,R,Z,Y){let he,ge,_e,Te=this.label(U,se,S,Z,void 0,void 0,Y,void 0,"button"),Oe=this.styledMode,De=H.states||{},Be=0;delete(H=C(H)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},H.style);delete H.style;let ee=q.filterUserAttributes(H);return Te.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},q.filterUserAttributes(x||De.hover||{}))).style,delete x.style,ge=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},q.filterUserAttributes(N||De.select||{}))).style,delete N.style,_e=(R=C(ee,{style:{color:"#cccccc"}},q.filterUserAttributes(R||De.disabled||{}))).style,delete R.style),G(Te.element,D?"mouseover":"mouseenter",function(){3!==Be&&Te.setState(1)}),G(Te.element,D?"mouseout":"mouseleave",function(){3!==Be&&Te.setState(Be)}),Te.setState=function(be){if(1!==be&&(Te.state=Be=be),Te.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][be||0]),!Oe){Te.attr([ee,x,N,R][be||0]);let xe=[oe,he,ge,_e][be||0];l(xe)&&Te.css(xe)}},!Oe&&(Te.attr(ee).css(o({cursor:"default"},oe)),Y&&Te.text.css({pointerEvents:"none"})),Te.on("touchstart",be=>be.stopPropagation()).on("click",function(be){3!==Be&&$.call(Te,be)})}crispLine(U,se,S="round"){let $=U[0],H=U[1];return g($[1])&&$[1]===H[1]&&($[1]=H[1]=Math[S]($[1])-se%2/2),g($[2])&&$[2]===H[2]&&($[2]=H[2]=Math[S]($[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,S){let $=l(U)?U:void 0===U?{}:{x:U,y:se,r:S},H=this.createElement("circle");return H.xSetter=H.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},H.attr($)}arc(U,se,S,$,H,x){let N;l(U)?(se=(N=U).y,S=N.r,$=N.innerR,H=N.start,x=N.end,U=N.x):N={innerR:$,start:H,end:x};let R=this.symbol("arc",U,se,S,S,N);return R.r=S,R}rect(U,se,S,$,H,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:H,width:Math.max(S||0,0),height:Math.max($||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(Z,Y,he){R.r=Z,O(he,{rx:Z,ry:Z})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,S){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(S,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,S,$,H,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(S)&&(N.y=S),r($)&&(N.width=$),r(H)&&(N.height=H);let R=this.createElement("image").attr(N),Z=function(Y){R.attr({href:U}),x.call(R,Y)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new w.Image;G(Y,"load",Z),Y.src=U,Y.complete&&Z({})}else R.attr({href:U});return R}symbol(U,se,S,$,H,x){let N,R,Z,Y,he=this,ge=/^url\((.*?)\)$/,_e=ge.test(U),Te=!_e&&(this.symbols[U]?U:"circle"),Oe=Te&&this.symbols[Te];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(S||0),$||0,H||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Te||void 0,x:se,y:S,width:$,height:H}),x&&o(N,x);else if(_e){Z=U.match(ge)[1];let De=N=this.image(Z);De.imgwidth=k(x&&x.width,m[Z]&&m[Z].width),De.imgheight=k(x&&x.height,m[Z]&&m[Z].height),Y=Be=>Be.attr({width:Be.width,height:Be.height}),["width","height"].forEach(Be=>{De[`${Be}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:be,element:xe,width:Ie,height:we,imgwidth:Ee,imgheight:Me}=this,Xe="width"===ee?Ee:Me,Je=1;x&&"within"===x.backgroundSize&&Ie&&we&&Ee&&Me?(Je=Math.min(Ie/Ee,we/Me),O(xe,{width:Math.round(Ee*Je),height:Math.round(Me*Je)})):xe&&Xe&&xe.setAttribute(ee,Xe),!be&&Ee&&Me&&this.translate(((Ie||0)-Ee*Je)/2,((we||0)-Me*Je)/2)}}),g(se)&&De.attr({x:se,y:S}),De.isImg=!0,g(De.imgwidth)&&g(De.imgheight)?Y(De):(De.attr({width:0,height:0}),f("img",{onload:function(){let Be=E[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),m[Z]={width:this.width,height:this.height},De.imgwidth=this.width,De.imgheight=this.height,De.element&&Y(De),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Be||Be.hasLoaded||Be.onload()},src:Z}),this.imgCount++)}return N}clipRect(U,se,S,$){return this.rect(U,se,S,$,0)}text(U,se,S,$){let H={};if($&&(this.allowHTML||!this.forExport))return this.html(U,se,S);H.x=Math.round(se||0),S&&(H.y=Math.round(S)),g(U)&&(H.text=U);let x=this.createElement("text").attr(H);return $&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,Z){let Y=Z.getElementsByTagName("tspan"),he=Z.getAttribute(R);for(let _e,ge=0;geU.align())}}return o(z.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ue,draw:I}),ve.registerRendererType("svg",z,!0),z}),Le(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{composed:le}=ne,{attr:pe,css:ue,createElement:J,defined:te,extend:X,pInt:E,pushUnique:j}=ve;function F(I,_,m){let w=this.div?.style||m.style;re.prototype[`${_}Setter`].call(this,I,_,m),w&&(w[_]=I)}let P=(I,_)=>{if(!I.div){let m=pe(I.element,"class"),w=I.css,G=J("div",m?{className:m}:void 0,{position:"absolute",left:`${I.translateX||0}px`,top:`${I.translateY||0}px`,...I.styles,display:I.display,opacity:I.opacity,visibility:I.visibility},I.parentGroup?.div||_);I.classSetter=(O,f,a)=>{a.setAttribute("class",O),G.className=O},I.translateXSetter=I.translateYSetter=(O,f)=>{I[f]=O,G.style["translateX"===f?"left":"top"]=`${O}px`,I.doTransform=!0},I.opacitySetter=I.visibilitySetter=F,I.css=O=>(w.call(I,O),O.cursor&&(G.style.cursor=O.cursor),O.pointerEvents&&(G.style.pointerEvents=O.pointerEvents),I),I.on=function(){return re.prototype.on.apply({element:G,onEvents:I.onEvents},arguments),I},I.div=G}return I.div};class D extends re{static compose(_){j(le,this.compose)&&(_.prototype.html=function(m,w,G){return new D(this,"span").attr({text:m,x:Math.round(w),y:Math.round(G)})})}constructor(_,m){super(_,m),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,m,w){this.xCorr=-_*w,this.yCorr=-m}css(_){let m,{element:w}=this,G="SPAN"===w.tagName&&_&&"width"in _,O=G&&_.width;return G&&(delete _.width,this.textWidth=E(O)||void 0,m=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),X(this.styles,_),ue(w,_),m&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:m,rotation:w,rotationOriginX:G,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:v=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(ue(_,{marginLeft:`${v}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[w,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(ue(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(ue(_,{width:U>se||w?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=m.fontMetrics(_).b,te(w)&&(w!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(w,C,C),this.getSpanCorrection(!te(w)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:T=0,yCorr:B=0}=this;ue(_,{left:`${n+T}px`,top:`${r+B}px`,transformOrigin:`${(G??n)-T-n-C}px ${(O??r)-B-r-C}px`}),this.cTT=d,this.oldRotation=w,this.oldAlign=a}}setSpanRotation(_,m,w){ue(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${m}% ${w}px`})}add(_){let m,w=this.renderer.box.parentNode,G=[];if(this.parentGroup=_,_&&!(m=_.div)){let O=_;for(;O;)G.push(O),O=O.parentGroup;for(let f of G.reverse())m=P(f,w)}return(m||w).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,q.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,m){this[m]=_,this.doTransform=!0}}let A=D.prototype;return A.visibilitySetter=A.opacitySetter=F,A.ySetter=A.rotationSetter=A.rotationOriginXSetter=A.rotationOriginYSetter=A.xSetter,D}),Le(V,"Core/Axis/AxisDefaults.js",[],function(){var q,ne;return(ne=q||(q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ne.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},q}),Le(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(q){var ne;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:pe}=q;return(ne||(ne={})).registerEventOptions=function(ue,J){ue.eventOptions=ue.eventOptions||{},le(J.events,function(te,X){ue.eventOptions[X]!==te&&(ue.eventOptions[X]&&(pe(ue,X,ue.eventOptions[X]),delete ue.eventOptions[X]),ve(te)&&(ue.eventOptions[X]=te,re(ue,X,te,{order:0})))})},ne}),Le(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{deg2rad:ve}=ne,{clamp:le,correctFloat:pe,defined:ue,destroyObjectProperties:J,extend:te,fireEvent:X,isNumber:E,merge:j,objectEach:F,pick:P}=re;return class{constructor(D,A,I,_,m){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=A,this.type=I||"",this.parameters=m||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,X(this,"init"),I||_||this.addLabel()}addLabel(){let l,d,C,D=this,A=D.axis,I=A.options,_=A.chart,m=A.categories,w=A.logarithmic,G=A.names,O=D.pos,f=P(D.options&&D.options.labels,I.labels),a=A.tickPositions,g=O===a[0],v=O===a[a.length-1],o=(!f.step||1===f.step)&&1===A.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(m?P(m[O],G[O],O):O);w&&E(k)&&(k=pe(w.lin2log(k))),A.dateTime&&(n?l=(d=_.time.resolveDTLFormat(I.dateTimeLabelFormats[!I.grid&&n.higherRanks[O]||n.unitName])).main:E(k)&&(l=A.dateTime.getXDateFormat(k,I.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=v;let p={axis:A,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:v,pos:O,tick:D,tickPositionInfo:n,value:k};X(this,"labelFormat",p);let T=K=>f.formatter?f.formatter.call(K,K):f.format?(K.text=A.defaultLabelFormatter.call(K),q.format(f.format,K,_)):A.defaultLabelFormatter.call(K),B=T.call(p,p),z=d&&d.list;D.shortenLabel=z?function(){for(C=0;C0&&_+g*v>O&&(k=Math.round((m-_)/Math.cos(a*ve))):(d=_-g*v,C=_+(1-g)*v,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||A.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(I.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,A){let G,I=this,_=I.label,m=I.axis,w=!1;_&&_.textStr===D?(I.movedLabel=_,w=!0,delete I.label):F(m.ticks,function(O){w||O.isNew||O===I||!O.label||O.label.textStr!==D||(I.movedLabel=O.label,w=!0,O.labelPos=I.movedLabel.xy,delete O.label)}),!w&&(I.labelPos||_)&&(G=I.labelPos||_.xy,I.movedLabel=I.createLabel(D,A,G),I.movedLabel&&I.movedLabel.attr({opacity:0}))}render(D,A,I){let _=this.axis,m=_.horiz,w=this.pos,G=P(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(m,w,G,A),f=O.x,a=O.y,g=_.pos,v=g+_.len,o=m&&f===v||!m&&a===g?-1:1,n=m?f:a;!_.chart.polar&&this.isNew&&(pe(n)v)&&(I=0);let r=P(I,this.label&&this.label.newOpacity,1);I=P(I,1),this.isActive=!0,this.renderGridLine(A,I,o),this.renderMark(O,I,o),this.renderLabel(O,A,r,D),this.isNew=!1,X(this,"afterRender")}renderGridLine(D,A,I){let v,_=this.axis,m=_.options,w={},G=this.pos,O=this.type,f=P(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=m.gridLineWidth,n=m.gridLineColor,r=m.gridLineDashStyle;"minor"===this.type&&(o=m.minorGridLineWidth,n=m.minorGridLineColor,r=m.minorGridLineDashStyle),g||(_.chart.styledMode||(w.stroke=n,w["stroke-width"]=o||0,w.dashstyle=r),O||(w.zIndex=1),D&&(A=0),this.gridLine=g=a.path().attr(w).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(v=_.getPlotLinePath({value:G+f,lineWidth:g.strokeWidth()*I,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:v,opacity:A})}renderMark(D,A,I){let _=this.axis,m=_.options,w=_.chart.renderer,G=this.type,O=_.tickSize(G?G+"Tick":"tick"),f=D.x,a=D.y,g=P(m["minor"!==G?"tickWidth":"minorTickWidth"],!G&&_.isXAxis?1:0),v=m["minor"!==G?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=w.path().addClass("highcharts-"+(G?G+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:v,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*I,_.horiz,w),opacity:A}))}renderLabel(D,A,I,_){let m=this.axis,w=m.horiz,G=m.options,O=this.label,f=G.labels,a=f.step,g=P(this.tickmarkOffset,m.tickmarkOffset),v=D.x,o=D.y,n=!0;O&&E(v)&&(O.xy=D=this.getLabelPosition(v,o,O,w,f,g,_,a),this.isFirst&&!this.isLast&&!G.showFirstLabel||this.isLast&&!this.isFirst&&!G.showLastLabel?n=!1:!w||f.step||f.rotation||A||0===I||this.handleOverflow(D),a&&_%a&&(n=!1),n&&E(D.y)?(D.opacity=I,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,A=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),A.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Le(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{animObject:te}=q,{xAxis:X,yAxis:E}=ne,{defaultOptions:j}=ve,{registerEventOptions:F}=le,{deg2rad:P}=pe,{arrayMax:D,arrayMin:A,clamp:I,correctFloat:_,defined:m,destroyObjectProperties:w,erase:G,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:v,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:T,splat:B,syncTimeout:z}=J,K=(se,S)=>d(S,void 0,void 0,k(se.options.allowDecimals,S<.5||void 0!==se.tickAmount),!!se.tickAmount);f(j,{xAxis:X,yAxis:l(X,E)});class U{constructor(S,$,H){this.init(S,$,H)}init(S,$,H=this.coll){let x="xAxis"===H,N=this.isZAxis||(S.inverted?!x:x);this.chart=S,this.horiz=N,this.isXAxis=x,this.coll=H,a(this,"init",{userOptions:$}),this.opposite=k($.opposite,this.opposite),this.side=k($.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions($);let R=this.options,Z=R.labels,Y=R.type;this.userOptions=$,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===Y||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=m(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,B(S.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===S.axes.indexOf(this)&&(x?S.axes.splice(S.xAxis.length,0,this):S.axes.push(this),v(this,S[this.coll])),S.orderItems(this.coll),this.series=this.series||[],S.inverted&&!this.isZAxis&&x&&!m(this.reversed)&&(this.reversed=!0),this.labelRotation=n(Z.rotation)?Z.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(S){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},j[this.coll],S),a(this,"afterSetOptions",{userOptions:S})}defaultLabelFormatter(){let Te,Oe,S=this.axis,{numberFormatter:$}=this.chart,H=n(this.value)?this.value:NaN,x=S.chart.time,N=S.categories,R=this.dateTimeLabelFormat,Z=j.lang,Y=Z.numericSymbols,he=Z.numericSymbolMagnitude||1e3,ge=S.logarithmic?Math.abs(H):S.tickInterval,_e=Y&&Y.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,H);else if(_e&&Y&&ge>=1e3)for(;_e--&&void 0===Oe;)ge>=(Te=Math.pow(he,_e+1))&&10*H%Te==0&&null!==Y[_e]&&0!==H&&(Oe=$(H/Te,-1)+Y[_e]);return void 0===Oe&&(Oe=Math.abs(H)>=1e4?$(H,-1):$(H,-1,void 0,"")),Oe}getSeriesExtremes(){let S,$=this;a(this,"getSeriesExtremes",null,function(){$.hasVisibleSeries=!1,$.dataMin=$.dataMax=$.threshold=void 0,$.softThreshold=!$.isXAxis,$.series.forEach(H=>{if(H.reserveSpace()){let N,Z,Y,x=H.options,R=x.threshold;if($.hasVisibleSeries=!0,$.positiveValuesOnly&&0>=(R||0)&&(R=void 0),$.isXAxis)(N=H.xData)&&N.length&&(N=$.logarithmic?N.filter(he=>he>0):N,Z=(S=H.getXExtremes(N)).min,Y=S.max,n(Z)||Z instanceof Date||(N=N.filter(n),Z=(S=H.getXExtremes(N)).min,Y=S.max),N.length&&($.dataMin=Math.min(k($.dataMin,Z),Z),$.dataMax=Math.max(k($.dataMax,Y),Y)));else{let he=H.applyExtremes();n(he.dataMin)&&(Z=he.dataMin,$.dataMin=Math.min(k($.dataMin,Z),Z)),n(he.dataMax)&&(Y=he.dataMax,$.dataMax=Math.max(k($.dataMax,Y),Y)),m(R)&&($.threshold=R),(!x.softThreshold||$.positiveValuesOnly)&&($.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(S,$,H,x,N,R){let Z=this.linkedParent||this,Y=x&&Z.old?Z.old.min:Z.min;if(!n(Y))return NaN;let he=Z.minPixelPadding,ge=(Z.isOrdinal||Z.brokenAxis?.hasBreaks||Z.logarithmic&&N)&&Z.lin2val,_e=1,Te=0,Oe=x&&Z.old?Z.old.transA:Z.transA,De=0;if(Oe||(Oe=Z.transA),H&&(_e*=-1,Te=Z.len),Z.reversed&&(_e*=-1,Te-=_e*(Z.sector||Z.len)),$)De=(S=S*_e+Te-he)/Oe+Y,ge&&(De=Z.lin2val(De));else{ge&&(S=Z.val2lin(S));let Be=_e*(S-Y)*Oe;De=(Z.isRadial?Be:_(Be))+Te+_e*he+(n(R)?Oe*R:0)}return De}toPixels(S,$){return this.translate(S,!1,!this.horiz,void 0,!0)+($?0:this.pos)}toValue(S,$){return this.translate(S-($?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(S){let De,Be,oe,ee,be,$=this,H=$.chart,x=$.left,N=$.top,R=S.old,Z=S.value,Y=S.lineWidth,he=R&&H.oldChartHeight||H.chartHeight,ge=R&&H.oldChartWidth||H.chartWidth,_e=$.transB,Te=S.translatedValue,Oe=S.force;function xe(we,Ee,Me){return"pass"!==Oe&&(weMe)&&(Oe?we=I(we,Ee,Me):be=!0),we}let Ie={value:Z,lineWidth:Y,old:R,force:Oe,acrossPanes:S.acrossPanes,translatedValue:Te};return a(this,"getPlotLinePath",Ie,function(we){De=oe=Math.round((Te=I(Te=k(Te,$.translate(Z,void 0,void 0,R)),-1e5,1e5))+_e),Be=ee=Math.round(he-Te-_e),n(Te)?$.horiz?(Be=N,ee=he-$.bottom+(H.scrollablePixelsY||0),De=oe=xe(De,x,x+$.width)):(De=x,oe=ge-$.right+(H.scrollablePixelsX||0),Be=ee=xe(Be,N,N+$.height)):(be=!0,Oe=!1),we.path=be&&!Oe?void 0:H.renderer.crispLine([["M",De,Be],["L",oe,ee]],Y||1)}),Ie.path}getLinearTickPositions(S,$,H){let x,N,R,Z=_(Math.floor($/S)*S),Y=_(Math.ceil(H/S)*S),he=[];if(_(Z+S)===Z&&(R=20),this.single)return[$];for(x=Z;x<=Y&&(he.push(x),(x=_(x+S,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:S,minorTickInterval:$}=this.options;return!0===S?k($,"auto"):!1!==S?$:void 0}getMinorTickPositions(){let he,S=this.options,$=this.tickPositions,H=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,Z=R-N,Y=[];if(Z&&Z/H(ge.xIncrement?ge.xData?.slice(0,2):ge.xData)||[]))||0),this.dataMax-this.dataMin)),n(H)&&n(x)&&n(N)&&H-x=N,R=(N-H+x)/2,Y=[x-R,k(S.min,x-R)],Z&&(Y[2]=$?$.log2lin(this.dataMin):this.dataMin),he=[(x=D(Y))+N,k(S.max,x+N)],Z&&(he[2]=$?$.log2lin(this.dataMax):this.dataMax),(H=A(he))-xx-N),S=g([H]))}return S&&$?Math.min(S,$):S||$}nameToX(S){let N,$=o(this.options.categories),H=$?this.categories:this.names,x=S.options.x;return S.series.requireSorting=!1,m(x)||(x=this.options.uniqueNames&&H?$?H.indexOf(S.name):k(H.keys[S.name],-1):S.series.autoIncrement()),-1===x?!$&&H&&(N=H.length):N=x,void 0!==N?(this.names[N]=S.name,this.names.keys[S.name]=N):S.x&&(N=S.x),N}updateNames(){let S=this,$=this.names;$.length>0&&(Object.keys($.keys).forEach(function(H){delete $.keys[H]}),$.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(H=>{H.xIncrement=null,(!H.points||H.isDirtyData)&&(S.max=Math.max(S.max,H.xData.length-1),H.processData(),H.generatePoints()),H.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=S.nameToX(x))&&R!==x.x&&(x.x=R,H.xData[N]=R)})}))}setAxisTranslation(){let Z,ge,S=this,$=S.max-S.min,H=S.linkedParent,x=!!S.categories,N=S.isXAxis,R=S.axisPointRange||0,Y=0,he=0,_e=S.transA;(N||x||R)&&(Z=S.getClosest(),H?(Y=H.minPointOffset,he=H.pointRangePadding):S.series.forEach(function(Te){let Oe=x?1:N?k(Te.options.pointRange,Z,0):S.axisPointRange||0,De=Te.options.pointPlacement;if(R=Math.max(R,Oe),!S.single||x){let Be=Te.is("xrange")?!N:N;Y=Math.max(Y,Be&&r(De)?0:Oe/2),he=Math.max(he,Be&&"on"===De?0:Oe)}}),ge=S.ordinal&&S.ordinal.slope&&Z?S.ordinal.slope/Z:1,S.minPointOffset=Y*=ge,S.pointRangePadding=he*=ge,S.pointRange=Math.min(R,S.single&&x?1:$),N&&Z&&(S.closestPointRange=Z)),S.translationSlope=S.transA=_e=S.staticScale||S.len/($+he||1),S.transB=S.horiz?S.left:S.bottom,S.minPixelPadding=_e*Y,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:S,min:$}=this;return n(S)&&n($)&&S-$||void 0}setTickInterval(S){let Me,Je,lt,qe,st,{categories:$,chart:H,dataMax:x,dataMin:N,dateTime:R,isXAxis:Z,logarithmic:Y,options:he,softThreshold:ge}=this,_e=n(this.threshold)?this.threshold:void 0,Te=this.minRange||0,{ceiling:Oe,floor:De,linkedTo:Be,softMax:oe,softMin:ee}=he,be=n(Be)&&H[this.coll]?.[Be],xe=he.tickPixelInterval,Ie=he.maxPadding,we=he.minPadding,Ee=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||$||be||this.getTickAmount(),qe=k(this.userMin,he.min),st=k(this.userMax,he.max),be?(this.linkedParent=be,Me=be.getExtremes(),this.min=k(Me.min,Me.dataMin),this.max=k(Me.max,Me.dataMax),he.type!==be.options.type&&O(11,!0,H)):(ge&&m(_e)&&n(x)&&n(N)&&(N>=_e?(Je=_e,we=0):x<=_e&&(lt=_e,Ie=0)),this.min=k(qe,Je,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(Y&&(this.positiveValuesOnly&&!S&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,H),this.min=_(Y.log2lin(this.min),16),this.max=_(Y.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),$||this.axisPointRange||this.stacking?.usePercentage||be||!(Ee=this.max-this.min)||(!m(qe)&&we&&(this.min-=Ee*we),m(st)||!Ie||(this.max+=Ee*Ie)),!n(this.userMin)&&n(De)&&(this.min=Math.max(this.min,De)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),ge&&n(N)&&n(x)){let pt=_e||0;!m(qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Te):pt:!m(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Te):pt)}!H.polar&&this.min>this.max&&(m(he.min)?this.max=this.min:m(he.max)&&(this.min=this.max)),Ee=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?be&&!Xe&&xe===be.options.tickPixelInterval?Xe=be.tickInterval:k(Xe,this.tickAmount?Ee/Math.max(this.tickAmount-1,1):void 0,$?1:Ee*xe/Math.max(this.len,xe)):1,Z&&!S){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Tt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))Y=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)Y=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,S.units),this.min,this.max,S.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)Y=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let ge=this.tickInterval,_e=ge;for(;_e<=2*ge&&(Y=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&Y.length>this.tickAmount);)this.tickInterval=K(this,_e*=1.1)}Y.length>this.len&&(Y=[Y[0],Y[Y.length-1]])[0]===Y[1]&&(Y.length=1),H&&(this.tickPositions=Y,(he=H.apply(this,[this.min,this.max]))&&(Y=he))}this.tickPositions=Y,this.paddedTicks=Y.slice(0),this.trimTicks(Y,R,Z),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&Y.length<2&&!this.categories&&!this.series.some(ge=>ge.is("heatmap")&&"between"===ge.options.pointPlacement)&&(this.min-=.5,this.max+=.5),$||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(S,$,H){let x=S[0],N=S[S.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if($&&x!==-1/0)this.min=x;else for(;this.min-R>S[0];)S.shift();if(H)this.max=N;else for(;this.max+R{let{horiz:Te,options:Oe}=_e;return[Te?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},ge=he(this);H[this.coll].forEach(function(_e){let{series:Te}=_e;Te.length&&Te.some(Oe=>Oe.visible)&&_e!==$&&he(_e)===ge&&(S=!0,x.push(_e))})}if(S&&Z){x.forEach(ge=>{let _e=ge.getThresholdAlignment($);n(_e)&&Y.push(_e)});let he=Y.length>1?Y.reduce((ge,_e)=>ge+_e,0)/Y.length:void 0;x.forEach(ge=>{ge.thresholdAlignment=he})}return S}getThresholdAlignment(S){if((!n(this.dataMin)||this!==S&&this.series.some($=>$.isDirty||$.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let $=I((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&($=1-$),$}}getTickAmount(){let S=this.options,$=S.tickPixelInterval,H=S.tickAmount;m(S.tickInterval)||H||!(this.len<$)||this.isRadial||this.logarithmic||!S.startOnTick||!S.endOnTick||(H=2),!H&&this.alignToOthers()&&(H=Math.ceil(this.len/$)+1),H<4&&(this.finalTickAmt=H,H=5),this.tickAmount=H}adjustTickAmount(){let _e,Te,De,S=this,{finalTickAmt:$,max:H,min:x,options:N,tickPositions:R,tickAmount:Z,thresholdAlignment:Y}=S,he=R?.length,ge=k(S.threshold,S.softThreshold?0:null),Oe=S.tickInterval,Be=()=>R.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(Y)&&(De=Y<.5?Math.ceil(Y*(Z-1)):Math.floor(Y*(Z-1)),N.reversed&&(De=Z-1-De)),S.hasData()&&n(x)&&n(H)){let ee=()=>{S.transA*=(he-1)/(Z-1),S.min=N.startOnTick?R[0]:Math.min(x,R[0]),S.max=N.endOnTick?R[R.length-1]:Math.max(H,R[R.length-1])};if(n(De)&&n(S.threshold)){for(;R[De]!==ge||R.length!==Z||R[0]>x||R[R.length-1]S.threshold?oe():Be();if(Oe>8*S.tickInterval)break;Oe*=2}ee()}else if(he0&&Te<_e-1)&&R.splice(Te,1);S.finalTickAmt=void 0}}}setScale(){let{coll:S,stacking:$}=this,H=!1,x=!1;this.series.forEach(R=>{H=H||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||H||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?($&&"yAxis"===S&&$.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),$&&"xAxis"===S&&$.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):$&&$.cleanStacks(),H&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(S,$,H=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:S,max:$}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,H&&this.chart.redraw(x)})}setAxisSize(){let S=this.chart,$=this.options,H=$.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k($.width,S.plotWidth-H[3]+H[1]),S.plotWidth)),R=this.height=Math.round(p(k($.height,S.plotHeight-H[0]+H[2]),S.plotHeight)),Z=this.top=Math.round(p(k($.top,S.plotTop+H[0]),S.plotHeight,S.plotTop)),Y=this.left=Math.round(p(k($.left,S.plotLeft+H[3]),S.plotWidth,S.plotLeft));this.bottom=S.chartHeight-R-Z,this.right=S.chartWidth-N-Y,this.len=Math.max(x?N:R,0),this.pos=x?Y:Z}getExtremes(){let S=this.logarithmic;return{min:S?_(S.lin2log(this.min)):this.min,max:S?_(S.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(S){let $=this.logarithmic,H=$?$.lin2log(this.min):this.min,x=$?$.lin2log(this.max):this.max;return null===S||S===-1/0?S=H:S===1/0?S=x:H>S?S=H:x15&&$<165?x.align="right":$>195&&$<345&&(x.align="left")}),H.align}tickSize(S){let N,$=this.options,H=k($["tick"===S?"tickWidth":"minorTickWidth"],"tick"===S&&this.isXAxis&&!this.categories?1:0),x=$["tick"===S?"tickLength":"minorTickLength"];H&&x&&("inside"===$[S+"Position"]&&(x=-x),N=[x,H]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let S=this.chart.renderer,$=this.ticks,H=$[Object.keys($)[0]]||{};return this.chart.renderer.fontMetrics(H.label||H.movedLabel||S.box)}unsquish(){let ge,Te,S=this.options.labels,$=this.horiz,H=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/H),N=S.rotation,R=this.labelMetrics().h,Z=Math.max(this.max-this.min,0),Y=function(Oe){let De=Oe/(x||1);return(De=De>1?Math.ceil(De):1)*H>Z&&Oe!==1/0&&x!==1/0&&Z&&(De=Math.ceil(Z/H)),_(De*H)},he=H,_e=Number.MAX_VALUE;if($){if(!S.staggerLines&&(n(N)?Te=[N]:x=-90&&Be<=90)&&(De=(Oe=Y(Math.abs(R/Math.sin(P*Be))))+Math.abs(Be/360))<_e&&(_e=De,ge=Be,he=Oe)}}else he=Y(.75*R);return this.autoRotation=Te,this.labelRotation=k(ge,n(N)?N:0),S.step?H:he}getSlotWidth(S){let $=this.chart,H=this.horiz,x=this.options.labels,N=Math.max(this.tickPositions.length-(this.categories?0:1),1),R=$.margin[3];if(S&&n(S.slotWidth))return S.slotWidth;if(H&&x.step<2)return x.rotation?0:(this.staggerLines||1)*this.len/N;if(!H){let Z=x.style.width;if(void 0!==Z)return parseInt(String(Z),10);if(R)return R-$.spacing[3]}return.33*$.chartWidth}renderUnsquish(){let Oe,De,oe,ee,S=this.chart,$=S.renderer,H=this.tickPositions,x=this.ticks,N=this.options.labels,R=N.style,Z=this.horiz,Y=this.getSlotWidth(),he=Math.max(1,Math.round(Y-2*N.padding)),ge={},_e=this.labelMetrics(),Te=R.textOverflow,Be=0;if(r(N.rotation)||(ge.rotation=N.rotation||0),H.forEach(function(be){let xe=x[be];xe.movedLabel&&xe.replaceMovedLabel(),xe&&xe.label&&xe.label.textPxLength>Be&&(Be=xe.label.textPxLength)}),this.maxLabelLength=Be,this.autoRotation)Be>he&&Be>_e.h?ge.rotation=this.labelRotation:this.labelRotation=0;else if(Y&&(Oe=he,!Te))for(De="clip",ee=H.length;!Z&&ee--;)(oe=x[H[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>Y&&oe.css({width:Y+"px"}),oe.getBBox().height>this.len/H.length-(_e.h-_e.f)&&(oe.specificTextOverflow="ellipsis"));ge.rotation&&(Oe=Be>.5*S.chartHeight?.33*S.chartHeight:Be,Te||(De="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(ge.align=this.labelAlign),H.forEach(function(be){let xe=x[be],Ie=xe&&xe.label,we=R.width,Ee={};Ie&&(Ie.attr(ge),xe.shortenLabel?xe.shortenLabel():Oe&&!we&&"nowrap"!==R.whiteSpace&&(OeN.g(Z).attr({zIndex:he}).addClass(`highcharts-${H.toLowerCase()}${Y} `+(this.isRadial?`highcharts-radial-axis${Y} `:"")+(x.className||"")).add(S);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,xe,Ee,Me,S=this,{chart:$,horiz:H,options:x,side:N,ticks:R,tickPositions:Z,coll:Y}=S,he=$.inverted&&!S.isZAxis?[1,0,3,2][N]:N,ge=S.hasData(),_e=x.title,Te=x.labels,Oe=n(x.crossing),De=$.axisOffset,Be=$.clipOffset,oe=[-1,1,1,-1][N],be=0,Ie=0,we=0;if(S.showAxis=ee=ge||x.showEmpty,S.staggerLines=S.horiz&&Te.staggerLines||void 0,S.createGroups(),ge||S.isLinked?(Z.forEach(function(Xe){S.generateTick(Xe)}),S.renderUnsquish(),S.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===S.labelAlign,k(Te.reserveSpace,!Oe&&null,"center"===S.labelAlign||null,S.reserveSpaceDefault)&&Z.forEach(function(Xe){we=Math.max(R[Xe].getLabelSize(),we)}),S.staggerLines&&(we*=S.staggerLines),S.labelOffset=we*(S.opposite?-1:1)):C(R,function(Xe,Je){Xe.destroy(),delete R[Je]}),_e?.text&&!1!==_e.enabled&&(S.addTitle(ee),ee&&!Oe&&!1!==_e.reserveSpace&&(S.titleOffset=be=S.axisTitle.getBBox()[H?"height":"width"],Ie=m(xe=_e.offset)?0:k(_e.margin,H?5:10))),S.renderLine(),S.offset=oe*k(x.offset,De[N]?De[N]+(x.margin||0):0),S.tickRotCorr=S.tickRotCorr||{x:0,y:0},Me=0===N?-S.labelMetrics().h:2===N?S.tickRotCorr.y:0,Ee=Math.abs(we)+Ie,we&&(Ee-=Me,Ee+=oe*(H?k(Te.y,S.tickRotCorr.y+oe*Te.distance):k(Te.x,oe*Te.distance))),S.axisTitleMargin=k(xe,Ee),S.getMaxLabelDimensions&&(S.maxLabelDimensions=S.getMaxLabelDimensions(R,Z)),"colorAxis"!==Y){let Xe=this.tickSize("tick");De[N]=Math.max(De[N],(S.axisTitleMargin||0)+be+oe*S.offset,Ee,Z&&Z.length&&Xe?Xe[0]+oe*S.offset:0);let Je=!S.axisLine||x.offset?0:2*Math.floor(S.axisLine.strokeWidth()/2);Be[he]=Math.max(Be[he],Je)}a(this,"afterGetOffset")}getLinePath(S){let $=this.chart,H=this.opposite,x=this.offset,N=this.horiz,R=this.left+(H?this.width:0)+x,Z=$.chartHeight-this.bottom-(H?this.height:0)+x;return H&&(S*=-1),$.renderer.crispLine([["M",N?this.left:R,N?Z:this.top],["L",N?$.chartWidth-this.right:R,N?Z:$.chartHeight-this.bottom]],S)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(S){let $=this.horiz,H=this.left,x=this.top,N=this.len,R=this.options.title,Z=$?H:x,Y=this.opposite,he=this.offset,ge=R.x,_e=R.y,Te=this.chart.renderer.fontMetrics(S),Oe=S?Math.max(S.getBBox(!1,0).height-Te.h-1,0):0,De={low:Z+($?0:N),middle:Z+N/2,high:Z+($?N:0)}[R.align],Be=($?x+this.height:H)+($?1:-1)*(Y?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Te.f,-Oe][this.side],oe={x:$?De+ge:Be+(Y?this.width:0)+he+ge,y:$?Be+_e-(Y?this.height:0)+he:De+_e};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(S,$){let H=this.minorTicks;H[S]||(H[S]=new ue(this,S,"minor")),$&&H[S].isNew&&H[S].render(null,!0),H[S].render(null,!1,1)}renderTick(S,$,H){let N=this.ticks;(!this.isLinked||S>=this.min&&S<=this.max||this.grid&&this.grid.isColumn)&&(N[S]||(N[S]=new ue(this,S)),H&&N[S].isNew&&N[S].render($,!0,-1),N[S].render($))}render(){let S,$,H=this,x=H.chart,N=H.logarithmic,Z=H.options,Y=H.isLinked,he=H.tickPositions,ge=H.axisTitle,_e=H.ticks,Te=H.minorTicks,Oe=H.alternateBands,De=Z.stackLabels,Be=Z.alternateGridColor,oe=Z.crossing,ee=H.tickmarkOffset,be=H.axisLine,xe=H.showAxis,Ie=te(x.renderer.globalAnimation);if(H.labelEdge.length=0,H.overlap=!1,[_e,Te,Oe].forEach(function(we){C(we,function(Ee){Ee.isActive=!1})}),n(oe)){let we=this.isXAxis?x.yAxis[0]:x.xAxis[0],Ee=[1,-1,-1,1][this.side];if(we){let Me=we.toPixels(oe,!0);H.horiz&&(Me=we.len-Me),H.offset=Ee*Me}}if(H.hasData()||Y){let we=H.chart.hasRendered&&H.old&&n(H.old.min);H.minorTickInterval&&!H.categories&&H.getMinorTickPositions().forEach(function(Ee){H.renderMinorTick(Ee,we)}),he.length&&(he.forEach(function(Ee,Me){H.renderTick(Ee,Me,we)}),ee&&(0===H.min||H.single)&&(_e[-1]||(_e[-1]=new ue(H,-1,null,!0)),_e[-1].render(-1))),Be&&he.forEach(function(Ee,Me){$=void 0!==he[Me+1]?he[Me+1]+ee:H.max-ee,Me%2==0&&Ee=.5)E=Math.round(E),_=D.getLinearTickPositions(E,j,F);else if(E>=.08){let m,w,G,O,f,a,g;for(m=E>.3?[1,2,4]:E>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],w=Math.floor(j);wj&&(!P||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let m=this.lin2log(j),w=this.lin2log(F),G=P?D.getMinorTickInterval():I.tickInterval;E=ve(E=le("auto"===G?null:G,this.minorAutoInterval,I.tickPixelInterval/(P?5:1)*(w-m)/((P?A/D.tickPositions.length:A)||1))),_=D.getLinearTickPositions(E,m,w).map(this.log2lin),P||(this.minorAutoInterval=E/5)}return P||(D.tickInterval=E),_}lin2log(E){return Math.pow(10,E)}log2lin(E){return Math.log(E)/Math.LN10}}pe.Additions=te}(ne||(ne={})),ne}),Le(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(q){var ne;let{erase:re,extend:ve,isNumber:le}=q;return function(pe){let ue;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,A){let I=this.userOptions,_=new ue(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(I.plotLines||[]).concat(I.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),A){let m=I[A]||[];m.push(D),I[A]=m}this.plotLinesAndBands.push(_)}return _}function X(D){return this.addPlotBandOrLine(D,"plotLines")}function E(D,A,I){let f,g,_=this.getPlotLinePath({value:A,force:!0,acrossPanes:(I=I||this.options).acrossPanes}),m=[],w=this.horiz,G=!le(this.min)||!le(this.max)||Dthis.max&&A>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:I.acrossPanes}),a=1;if(O&&_)for(G&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(K,U=>{m[K].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&P.width>0&&P.height>0&&!l.isFlat?(o=te({align:A&&C&&"center",x:A?!C&&4:10,verticalAlign:!A&&C&&"middle",y:A?C?16:10:C?6:-4,rotation:A&&!C&&90},o),this.renderLabel(o,l,C,w)):n&&n.hide(),this}renderLabel(P,D,A,I){let _=this.axis,w=this.label;w||(this.label=w=_.chart.renderer.text(this.getLabelText(P),0,0,P.useHTML).attr({align:P.textAlign||P.align,rotation:P.rotation,class:"highcharts-plot-"+(A?"band":"line")+"-label"+(P.className||""),zIndex:I}),_.chart.styledMode||w.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},P.style)),w.add());let G=D.xBounds||[D[0][1],D[1][1],A?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],A?D[2][2]:D[0][2]],f=ve(G),a=ve(O);w.align(P,!1,{x:f,y:a,width:re(G)-f,height:re(O)-a}),w.alignValue&&"left"!==w.alignValue||w.css({width:(90===w.rotation?_.height-(w.alignAttr.y-_.top):(P.clip?_.width:_.chart.chartWidth)-(w.alignAttr.x-_.left))+"px"}),w.show(!0)}getLabelText(P){return le(P.formatter)?P.formatter.call(this):P.text}destroy(){ue(this.axis.plotLinesAndBands,this),delete this.axis,pe(this)}}return j}),Le(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{format:ue}=q,{composed:J,doc:te,isSafari:X}=ne,{distribute:E}=re,{addEvent:j,clamp:F,css:P,discardElement:D,extend:A,fireEvent:I,isArray:_,isNumber:m,isString:w,merge:G,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class v{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,T=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-T,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let B=0,z=0;n.forEach(function(K){let U=K.pos(!0);U&&(B+=U[0],z+=U[1])}),B/=n.length,z/=n.length,this.shared&&n.length>1&&r&&(k?B=r.chartX:z=r.chartY),l=[B-T,z-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(w).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,T=ve.getRendererType();this.container=C=ne.doc.createElement("div"),C.className="highcharts-tooltip-container",P(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new T(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:T,ySetter:B}=p;p.xSetter=function(z){T.call(p,n.distance),C&&(C.style.left=z+"px")},p.ySetter=function(z){B.call(p,n.distance),C&&(C.style.top=z+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ne.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let _e,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:T,plotLeft:B,plotTop:z,polar:K}=C,{plotX:U=0,plotY:se=0}=l,S={},$=T&&l.h||0,{height:H,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=be=>be*N.scaleX,Z=be=>be*N.scaleY,Y=be=>{let xe="x"===be;return[be,xe?x:H,xe?n:r].concat(k?[xe?R(n):Z(r),xe?N.left-d+R(U+B):N.top-d+Z(se+z),0,xe?x:H]:[xe?n:r,xe?U+B:se+z,xe?B:z,xe?B+C.plotWidth:z+C.plotHeight])},he=Y("y"),ge=Y("x"),Te=!!l.negative;!K&&C.hoverSeries?.yAxis?.reversed&&(Te=!Te);let Oe=!this.followPointer&&O(l.ttBelow,!K&&!T===Te),De=function(be,xe,Ie,we,Ee,Me,Xe){let Je=k?"y"===be?Z(d):R(d):d,lt=(Ie-we)/2,qe=wexe?pt:pt+$)}},Be=function(be,xe,Ie,we,Ee){if(Eexe-d)return!1;S[be]=Eexe-we/2?xe-we-2:Ee-Ie/2},oe=function(be){[he,ge]=[ge,he],_e=be},ee=()=>{!1!==De.apply(0,he)?!1!==Be.apply(0,ge)||_e||(oe(!0),ee()):_e?S.x=S.y=0:(oe(!0),ee())};return(T&&!K||this.len>1)&&oe(),ee(),S}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),T=C.followPointer||C.len>1;A(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:T?void 0:p?(2*k.anchorX+l)/3:l,anchorY:T?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),T=p[0],B=[],z=d.format,K=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!T.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&T.series.tooltipOptions.followPointer;let S=this.getAnchor(n,r),$=S[0],H=S[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),B.push(R.getLabelConfig())}),(se=T.getLabelConfig()).points=B):se=T.getLabelConfig(),this.len=B.length;let x=w(z)?ue(z,se,l):K.call(se,this),N=T.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=$,Z=H;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,Z=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(Y=>C.isDirectTouch||Y.series.shouldShowTooltip(R,Z)))return void this.hide();{let Y=this.getLabel();(!d.style.width||U)&&Y.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),Y.attr({text:x&&x.join?x.join(""):x}),Y.addClass(this.getClassName(T),!0),U||Y.attr({stroke:d.borderColor||T.color||N.color||"#666666"}),this.updatePosition({plotX:$,plotY:H,negative:T.negative,ttBelow:T.ttBelow,h:S[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}I(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:T,plotTop:B,scrollablePixelsY:z=0,scrollablePixelsX:K,styledMode:U},distance:se,options:S,options:{positioner:$},pointer:H}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof K?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},Z=l.getLabel(),Y=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:ge,top:_e}=H.getChartPosition(),Te=B+N,Oe=0,De=p-z;function Be(we,Ee,Me,Xe,Je=!0){let lt,qe;return Me?(lt=he?0:De,qe=F(we-Xe/2,R.left,R.right-Xe-(l.outside?ge:0))):(lt=Ee-Te,qe=F(qe=Je?we-Xe-se:we+se,Je?qe:R.left,R.right)),{x:qe,y:lt}}w(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(we,Ee,Me){if(!1!==Ee&&""!==Ee){let Xe=r[Me-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Je=Xe.isHeader,lt=Je?l:Xe.series,qe=lt.tt=function(Pt,Gt,ti){let Dt=Pt,{isHeader:It,series:xt}=Gt;if(!Dt){let wt={padding:S.padding,r:S.borderRadius};U||(wt.fill=S.backgroundColor,wt["stroke-width"]=S.borderWidth??1),Dt=Y.label("",0,0,S[It?"headerShape":"shape"],void 0,void 0,S.useHTML).addClass(l.getClassName(Gt,!0,It)).attr(wt).add(Z)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(S.style).attr({stroke:S.borderColor||Gt.color||xt.color||"#333333"}),Dt}(lt.tt,Xe,Ee.toString()),st=qe.getBBox(),Tt=st.width+qe.strokeWidth();Je&&(Oe=st.height,De+=Oe,he&&(Te-=Oe));let{anchorX:pt,anchorY:ht}=function(Pt){let Gt,ti,{isHeader:Dt,plotX:It=0,plotY:xt=0,series:wt}=Pt;if(Dt)Gt=Math.max(T+It,T),ti=B+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(It,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-B+xt,{ignoreX:!0})&&(ti=di.pos+xt)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Pt=st.height+1,Gt=$?$.call(l,Tt,Pt,Xe):Be(pt,ht,Je,Tt);we.push({align:$?0:void 0,anchorX:pt,anchorY:ht,boxWidth:Tt,point:Xe,rank:O(Gt.rank,Je?1:0),size:Pt,target:Gt.y,tt:qe,x:Gt.x})}else qe.isActive=!1}return we},[]);!$&&oe.some(we=>{let{outside:Ee}=l,Me=(Ee?ge:0)+we.anchorX;return MeMe})&&(oe=oe.map(we=>{let{x:Ee,y:Me}=Be(we.anchorX,we.anchorY,we.point.isHeader,we.boxWidth,!1);return A(we,{target:Me,x:Ee})})),l.cleanSplit(),E(oe,De);let ee={left:ge,right:ge};oe.forEach(function(we){let{x:Ee,boxWidth:Me,isHeader:Xe}=we;!Xe&&(l.outside&&ge+Eeee.right&&(ee.right=ge+Ee))}),oe.forEach(function(we){let{x:Ee,anchorX:Me,anchorY:Xe,pos:Je,point:{isHeader:lt}}=we,qe={visibility:void 0===Je?"hidden":"inherit",x:Ee,y:(Je||0)+Te,anchorX:Me,anchorY:Xe};if(l.outside&&Ee0&&(lt||(qe.x=Ee+st,qe.anchorX=Me+st),lt&&(qe.x=(ee.right-ee.left)/2,qe.anchorX=Me+st))}we.tt.attr(qe)});let{container:be,outside:xe,renderer:Ie}=l;if(xe&&be&&Ie){let{width:we,height:Ee,x:Me,y:Xe}=Z.getBBox();Ie.setSize(we+Me,Ee+Xe,!1),be.style.left=ee.left+"px",be.style.top=_e+"px"}X&&Z.attr({opacity:1===Z.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},T=d.xDateFormat,B=d[r?"footerFormat":"headerFormat"];return I(this,"headerFormatter",p,function(z){k&&!T&&m(n.key)&&(T=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&T&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(K){B=B.replace("{point."+K+"}","{point."+K+":"+T+"}")}),l.chart.styledMode&&(B=this.styledModeFormat(B)),z.text=ue(B,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,G(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:T=0,width:B=0}=this.getLabel(),{left:z,top:K,scaleX:U,scaleY:se}=k.getChartPosition(),S=(C.positioner||this.getPosition).call(this,B,T,n),$=(n.plotX||0)+r.plotLeft,H=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(S.x+=z-d,S.y+=K-d),x=(C.borderWidth||0)+2*d+2,p.setSize(B+x,T+x,!1),(1!==U||1!==se)&&(P(l,{transform:`scale(${U}, ${se})`}),$*=U,H*=se),$+=z-S.x,H+=K-S.y),this.move(Math.round(S.x),Math.round(S.y||0),$,H)}}return(pe=v||(v={})).compose=function(o){f(J,"Core.Tooltip")&&j(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new pe(n,n.options.tooltip,this))})},v}),Le(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{animObject:pe}=ne,{defaultOptions:ue}=re,{format:J}=ve,{addEvent:te,erase:X,extend:E,fireEvent:j,getNestedProperty:F,isArray:P,isFunction:D,isNumber:A,isObject:I,pick:_,syncTimeout:m,removeEvent:w,uniqueKey:G}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},v=a.getGraphicalProps();v.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),v.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(E({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let v=this.series,o=v.options.pointValKey||v.pointValKey;return E(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?E(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&v.xAxis&&v.xAxis.hasNames&&(this.x=v.xAxis.nameToX(this)),void 0===this.x&&v?this.x=void 0===g?v.autoIncrement():g:A(a.x)&&v.options.relativeXValue&&(this.x=v.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,v=g.chart,o=g.options.dataSorting,n=v.hoverPoints,r=pe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(w(a),a.destroyElements()),a)delete a[d]};a.legendItem&&v.legend.destroyItem(a),n&&(a.setState(),X(n,a),n.length||(v.hoverPoints=null)),a===v.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),m(l,r.duration)):l(),v.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,v=g.getGraphicalProps(a);v.singular.forEach(function(o){g[o]=g[o].destroy()}),v.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,v){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(v=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),j(o,a,g,v)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,v,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),v=n.length;v--;)o[g=n[v]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,v=a.zoneAxis||"y",n=0;for(o=g[0];this[v]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,v){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,v),this.id??(this.id=G()),this.resolveColor(),a.chart.pointCount++,j(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(a){let l,g=this.series,v=g.options.keys,o=v||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(A(a)||null===a)r[o[0]]=a;else if(P(a))for(!v&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:v,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(A(v)&&A(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-v+d]:[v+d,g+C]}}resolveColor(){let o,n,l,a=this.series,v=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(v||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(v||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,v){return v.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:I(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,v=g.tooltipOptions,o=_(v.valueDecimals,""),n=v.valuePrefix||"",r=v.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,v,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let T=d&&r.hasMockGraphic;d&&(null===r.y?!T:T)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),I(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=I(k.data[n],!0)||I(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(v)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let v=this,o=v.series,n=o.chart;a=_(a,!v.selected),this.selectedStaging=a,v.firePointEvent(a?"select":"unselect",{accumulate:g},function(){v.selected=v.options.selected=a,o.options.data[o.data.indexOf(v)]=v.options,v.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==v&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:v}=this.series.chart;v&&(a=a?v.normalize(a):v.getChartCoordinatesFromPoint(this,g),v.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},v=g.events?.[a];!D(v)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(v)?this.hasImportedEvents&&!v&&this.hcEvents?.[a]&&(w(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,v),this.hasImportedEvents=!0)}setState(a,g){let z,K,U,S,v=this.series,o=this.state,n=v.options.states[a||"normal"]||{},r=ue.plotOptions[v.type].marker&&v.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=v.chart,T=r&&v.markerAttribs,B=v.halo,se=v.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,T&&(z=v.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){K=v.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=K.opacity;v.options.inactiveOtherPoints&&A(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(K,U)}z&&this.graphic.animate(z,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(S=k.symbol||v.symbol,se&&se.currentSymbol!==S&&(se=se.destroy()),z&&(se?se[g?"animate":"attr"]({x:z.x,y:z.y}):S&&(v.stateMarkerGraphic=se=p.renderer.symbol(S,z.x,z.y,z.width,z.height).add(v.markerGroup),se.currentSymbol=S)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(v.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let $=n.halo,H=this.graphic||se,x=H&&H.visibility||"inherit";$&&$.size&&H&&"hidden"!==x&&!this.isCluster?(B||(v.halo=B=p.renderer.path().add(H.parentGroup)),B.show()[g?"animate":"attr"]({d:this.haloPath($.size)}),B.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,v.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),B.point=this,p.styledMode||B.attr(E({fill:this.color||v.color,"fill-opacity":$.opacity},q.filterUserAttributes($.attributes||{})))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide),j(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Le(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{parse:le}=q,{charts:pe,composed:ue}=ne,{addEvent:J,attr:te,css:X,extend:E,find:j,fireEvent:F,isNumber:P,isObject:D,objectEach:A,offset:I,pick:_,pushUnique:m,splat:w}=re;class G{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(v){g=v.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(v){-1===a.indexOf(v)?v.setState("inactive",!0):v.options.inactiveOtherPoints&&v.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ne.chartCount&&(G.unbindDocumentMouseUp&&(G.unbindDocumentMouseUp=G.unbindDocumentMouseUp()),G.unbindDocumentTouchEnd&&(G.unbindDocumentTouchEnd=G.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),A(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,v=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=v.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let K,{chart:a}=this,{mouseDownX:g=0,mouseDownY:v=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,T=n&&f[`${n}Key`],B=f.chartX,z=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(Bl+C&&(B=l+C),zd+k&&(z=d+k),this.hasDragged=Math.sqrt(Math.pow(g-B,2)+Math.pow(v-z,2)),this.hasDragged>10)){K=a.isInsidePlot(g-l,v-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:S}=this.getSelectionMarkerAttrs(B,z);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&K&&!T&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(S),K&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:v}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),v&&f){if(this.hasDragged){let o=this.getSelectionBox(v);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}P(g.index)&&(this.selectionMarker=v.destroy())}g&&P(g.index)&&(X(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let v;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(v,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(v,r)>0)&&(v=r)}),v}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:v}=f.series,o=f.shapeArgs;if(g&&v){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&P(o.x)&&P(o.y)&&(n=o.x,r=o.y),a?{chartX:v.len+v.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+v.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=I(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:v}=f;return v>2&&g>2&&(this.chartPosition.scaleX=a.width/v,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,v,o,n){let C,r=[],l=function(T){return T.visible&&!(!o&&T.directTouch)&&_(T.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(T=>T.stickyTracking&&(k.filter||l)(T));let p=v&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(T){return k.filter?k.filter(T):l(T)&&!T.noSharedTooltip})).forEach(function(T){let B=j(T.points,function(z){return z.x===p.x&&!z.isNull});D(B)&&(T.boosted&&T.boost&&(B=T.boost.getPoint(B)),r.push(B))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,v=this.chart.hoverSeries;this.isDirectTouch=!1,!v||!g||v.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+v.index)&&this.inClass(g,"highcharts-tracker")||v.onMouseOut()}inClass(f,a){let v,g=f;for(;g;){if(v=te(g,"class")){if(-1!==v.indexOf(a))return!0;if(-1!==v.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,v=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=v.pageX-a.left,n=v.pageY-a.top;return E(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,v=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(v.target,"highcharts-tracker")?(F(g.series,"click",E(v,{point:g})),a.hoverPoint&&g.firePointEvent("click",v)):(E(v,this.getCoordinates(v)),a.isInsidePlot(v.chartX-o,v.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",v)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ne.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=pe[_(G.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,v=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(v))&&this.drag(v),!a.openMenu&&(this.inClass(v.target,"highcharts-tracker")||a.isInsidePlot(v.chartX-a.plotLeft,v.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(v))&&(this.inClass(v.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(v))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,v=this.chartPosition,o=this.normalize(f,v);!v||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){pe[_(G.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:v,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),v&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let T=p[0],B=p[1]||T;return{x:T.chartX,y:T.chartY,width:B.chartX-T.chartX,height:B.chartY-T.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,v=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&w(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&w(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),v&&v.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let v=this.chart,n=v.tooltip&&v.tooltip.options.enabled?v.tooltip:void 0,r=!!n&&n.shared,l=a||v.hoverPoint,d=l&&l.series||v.hoverSeries,k=this.getHoverData(l,d,v.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,T=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,B=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==v.hoverPoint||n&&n.isHidden)){if((v.hoverPoints||[]).forEach(function(z){-1===p.indexOf(z)&&z.setState()}),v.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(z){z.setState("hover")}),v.hoverPoint&&v.hoverPoint.firePointEvent("mouseOut"),!l.series)return;v.hoverPoints=p,v.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(B?p:l,f)})}else if(T&&n&&!n.isHidden){let z=n.getAnchor([{}],f);v.isInsidePlot(z[0],z[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:z[0],plotY:z[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(v.container.ownerDocument,"mousemove",z=>pe[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(z)),this.eventsToUnbind.push(this.unDocMouseMove)),v.axes.forEach(function(z){let K,U=_((z.crosshair||{}).snap,!0);!U||(K=v.hoverPoint)&&K.series[z.coll]===z||(K=j(p,se=>se.series&&se.series[z.coll]===z)),K||!U?z.drawCrosshair(f,K):z.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp||(G.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||(G.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ne.charts[_(G.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(G.hoverChartIndex=a.index)}touch(f,a){let g,{chart:v,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),v.isInsidePlot(f.chartX-v.plotLeft,f.chartY-v.plotTop,{visiblePlotOnly:!0})&&!v.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,v=a.zooming.type||"";/touch/.test(f.type)&&(v=_(a.zooming.pinchType,v)),this.zoomX=o=/x/.test(v),this.zoomY=n=/y/.test(v),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=G||(G={})).compose=function(O){m(ue,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},G}),Le(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){var ue;let{animObject:J,setAnimation:te}=q,{format:X}=ne,{composed:E,marginNames:j}=re,{distribute:F}=le,{addEvent:P,createElement:D,css:A,defined:I,discardElement:_,find:m,fireEvent:w,isNumber:G,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:v,syncTimeout:o}=pe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),P(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),P(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),w(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:T,symbol:B}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:z={}}=this,K=z.color,{fillColor:U,fillOpacity:se,lineColor:S,marker:$}=l.options,H=x=>(!d&&(x.fill&&(x.fill=K),x.stroke&&(x.stroke=K)),x);p?.css(O(d?this.itemStyle:z)),T?.attr(H({stroke:S||l.color})),B&&B.attr(H($&&B.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(H({fill:U||l.color,"fill-opacity":U?1:se??.75}))}w(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,z=l.checkbox;if(d&&d.element){let K={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[I(d.translateY)?"animate":"attr"](K,void 0,()=>{w(this,"afterPositionItem",{item:l})})}z&&(z.x=C,z.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let T,B=p.checkbox;B&&(T=l+k+B.y+(this.scrollOffset||0)+3,A(B,{left:d.translateX+p.checkboxOffset+B.x-20+"px",top:T+"px",display:this.proximate||T>l-6&&T1.5*_e?ge.height:_e))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,T=this.itemMarginBottom,B=this.itemMarginTop,z=k?f(d.itemDistance,20):0,K=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>K?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>K&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=B+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=B+this.itemY+T,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=B+p+T,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:z):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!I(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),w(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,B){T.test(p)&&!I(l[B])&&(C[j[B]]=Math.max(C[j[B]],C.legend[(B+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][B]*k[B%2?"x":"y"]+f(k.margin,12)+d[B]+(C.titleOffset[B]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(T){let B,z,U,se,K=k;T.yAxis&&(T.xAxis.options.reversed&&(K=!K),T.points&&(B=m(K?T.points:T.points.slice(0).reverse(),function(S){return G(S.plotY)})),z=this.itemMarginTop+T.legendItem.label.getBBox().height+this.itemMarginBottom,se=T.yAxis.top-d.plotTop,U=T.visible?(B?B.plotY:T.yAxis.height)+(se-.3*z):se+T.yAxis.height,C.push({target:U,size:z,item:T}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},G(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let T,B,z,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),K=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,K||(this.group=K=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(K),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),v(p,(S,$)=>(S.options&&S.options.legendIndex||0)-($.options&&$.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=T=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),B=(this.widthOption||this.offsetWidth)+k,z=this.lastItemY+this.lastLineHeight+this.titleHeight,z=this.handleOverflow(z)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(K)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),B>0&&z>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:B,height:z},se.strokeWidth())),K[T?"show":"hide"](),l.styledMode&&"none"===K.getStyle("display")&&(B=z=0),this.legendWidth=B,this.legendHeight=z,T&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,Z,Y,d=this,C=this.chart,k=C.renderer,p=this.options,T=p.y,B="top"===p.verticalAlign,z=this.padding,K=p.maxHeight,U=p.navigation,se=f(U.animation,!0),S=U.arrowSize||12,$=this.pages,H=this.allItems,x=function(Te){"number"==typeof Te?_e.attr({height:Te}):_e&&(d.clipRect=_e.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Te?"rect("+z+"px,9999px,"+(z+Te)+"px,0)":"auto")},N=function(Te){return d[Te]=k.circle(0,0,1.3*S).translate(S/2,S/2).add(ge),C.styledMode||d[Te].attr("fill","rgba(0,0,0,0.0001)"),d[Te]},he=C.spacingBox.height+(B?-T:T)-z,ge=this.nav,_e=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),K&&(he=Math.min(he,K)),$.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-z,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,H.forEach((Te,Oe)=>{let De=(Y=Te.legendItem||{}).y||0,Be=Math.round(Y.label.getBBox().height),oe=$.length;(!oe||De-$[oe-1]>R&&(Z||De)!==$[oe-1])&&($.push(Z||De),oe++),Y.pageIx=oe-1,Z&&((H[Oe-1].legendItem||{}).pageIx=oe-1),Oe===H.length-1&&De+Be-$[oe-1]>R&&De>$[oe-1]&&($.push(De),Y.pageIx=oe),De!==Z&&(Z=De)}),_e||(_e=d.clipRect=k.clipRect(0,z-2,9999,0),d.contentGroup.clip(_e)),x(R),ge||(this.nav=ge=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,S,S).add(ge),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(ge),this.down=k.symbol("triangle-down",0,0,S,S).add(ge),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):ge&&(x(),this.nav=ge.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,T=this.clipHeight,B=this.options.navigation,z=this.pager,K=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:K,translateY:T+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),z.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?B.inactiveColor:B.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?B.inactiveColor:B.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{w(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},T=k.chart.renderer.boxWrapper,B=l instanceof ve,z="highcharts-legend-"+(B?"point":"series")+"-active",K=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=S=>{k.allItems.forEach($=>{l!==$&&[$].concat($.linkedSeries||[]).forEach(H=>{H.setState(S,!B)})})};for(let S of U)S&&S.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&T.addClass(z),K||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),T.removeClass(z),l.setState()}).on("click",function($){let H="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};T.removeClass(z),$={browserEvent:$},l.firePointEvent?l.firePointEvent(H,$,x):w(l,H,$,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),P(l.checkbox,"click",function(d){w(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(ue=n||(n={})).compose=function(r){a(E,"Core.Legend")&&P(r,"beforeMargins",function(){this.legend=new ue(this,this.options.legend)})},n}),Le(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(q){var ne;let{extend:re,merge:ve,pick:le}=q;return function(pe){function ue(J,te,X){let f,E=this.legendItem=this.legendItem||{},{chart:j,options:F}=this,{baseline:P=0,symbolWidth:D,symbolHeight:A}=J,I=this.symbol||"circle",_=A/2,m=j.renderer,w=E.group,G=P-Math.round(A*(X?.4:.3)),O={},a=F.marker,g=0;if(j.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),E.line=m.path().addClass("highcharts-graph").attr(O).add(w),X&&(E.area=m.path().addClass("highcharts-area").add(w)),O["stroke-linecap"]&&(g=Math.min(E.line.strokeWidth(),D)/2),D){let v=[["M",g,G],["L",D-g,G]];E.line.attr({d:v}),E.area?.attr({d:[...v,["L",D-g,P],["L",g,P]]})}if(a&&!1!==a.enabled&&D){let v=Math.min(le(a.radius,_),_);0===I.indexOf("url")&&(a=ve(a,{width:A,height:A}),v=0),E.symbol=f=m.symbol(I,D/2-v,G-v,2*v,2*v,re({context:"legend"},a)).addClass("highcharts-point").add(w),f.isMarker=!0}}pe.areaMarker=function(J,te){ue.call(this,J,te,!0)},pe.lineMarker=ue,pe.rectangle=function(J,te){let X=te.legendItem||{},j=J.symbolHeight,F=J.options.squareSymbol;X.symbol=this.chart.renderer.rect(F?(J.symbolWidth-j)/2:0,J.baseline-j+1,F?j:J.symbolWidth,j,le(J.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(X.group)}}(ne||(ne={})),ne}),Le(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:q}=this.series.chart;return"number"!=typeof this.y?"":q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Le(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{defaultOptions:pe}=ne,{extend:ue,extendClass:J,merge:te}=ve;return function(X){function E(j,F){let P=pe.plotOptions||{},D=F.defaultOptions,A=F.prototype;return A.type=j,A.pointClass||(A.pointClass=re),!X.seriesTypes[j]&&(D&&(P[j]=D),X.seriesTypes[j]=F,!0)}X.seriesTypes=q.seriesTypes,X.registerSeriesType=E,X.seriesType=function(j,F,P,D,A){let I=pe.plotOptions||{};if(I[j]=te(I[F=F||""],P),delete X.seriesTypes[j],E(j,J(X.seriesTypes[F]||function(){},D)),X.seriesTypes[j].prototype.type=j,A){class _ extends re{}ue(_.prototype,A),X.seriesTypes[j].prototype.pointClass=_}return X.seriesTypes[j]}}(le||(le={})),le}),Le(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,setAnimation:j}=q,{defaultOptions:F}=ne,{registerEventOptions:P}=re,{svg:D,win:A}=ve,{seriesTypes:I}=J,{arrayMax:_,arrayMin:m,clamp:w,correctFloat:G,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:v,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:T,merge:B,objectEach:z,pick:K,removeEvent:U,splat:se,syncTimeout:S}=X;class ${constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let Z=this,Y=x.series;this.eventsToUnbind=[],Z.chart=x,Z.options=Z.setOptions(N);let he=Z.options,ge=!1!==he.visible;Z.linkedSeries=[],Z.bindAxes(),o(Z,{name:he.name,state:"",visible:ge,selected:!0===he.selected}),P(this,he);let _e=he.events;(_e&&_e.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),Z.getColor(),Z.getSymbol(),Z.parallelArrays.forEach(function(Te){Z[Te+"Data"]||(Z[Te+"Data"]=[])}),Z.isCartesian&&(x.hasCartesianSeries=!0),Y.length&&(R=Y[Y.length-1]),Z._i=K(R&&R._i,-1)+1,Z.opacity=Z.options.opacity,x.orderItems("series",C(this,Y)),he.dataSorting&&he.dataSorting.enabled?Z.setDataSortingOptions():Z.points||Z.data||Z.setData(he.data,!1),r(this,"afterInit")}is(x){return I[x]&&this instanceof I[x]}bindAxes(){let x,N=this,R=N.options,Z=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(Y){Z[Y].forEach(function(he){x=he.options,(K(R[Y],0)===he.index||void 0!==R[Y]&&R[Y]===x.id)&&(C(N,he.series),N[Y]=he,he.isDirty=!0)}),N[Y]||N.optionalAxis===Y||v(18,!0,Z)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let Z=x.series,Y=p(N)?function(he){let ge="y"===he&&Z.toYData?Z.toYData(x):x[he];Z[he+"Data"][N]=ge}:function(he){Array.prototype[N].apply(Z[he+"Data"],R)};Z.parallelArrays.forEach(Y)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,Z=N.marker||{};return R&&(Z.enabled&&!R.enabled||Z.symbol!==R.symbol||Z.height!==R.height||Z.width!==R.width)}autoIncrement(x){let ge,_e,N=this.options,R=N.pointIntervalUnit,Z=N.relativeXValue,Y=this.chart.time,he=this.xIncrement;return he=K(he,N.pointStart,0),this.pointInterval=_e=K(this.pointInterval,N.pointInterval,1),Z&&p(x)&&(_e*=x),R&&(ge=new Y.Date(he),"day"===R?Y.set("Date",ge,Y.get("Date",ge)+_e):"month"===R?Y.set("Month",ge,Y.get("Month",ge)+_e):"year"===R&&Y.set("FullYear",ge,Y.get("FullYear",ge)+_e),_e=ge.getTime()-he),Z&&p(x)?he+_e:(this.xIncrement=he+_e,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,Z=R.options.plotOptions,Y=R.userOptions||{},he=B(x),ge=R.styledMode,_e={plotOptions:Z,userOptions:he};r(this,"setOptions",_e);let Te=_e.plotOptions[this.type],Oe=Y.plotOptions||{},De=Oe.series||{},Be=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=_e.userOptions;let ee=B(Te,Z.series,oe,he);this.tooltipOptions=B(F.tooltip,F.plotOptions.series?.tooltip,Be?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=K(he.stickyTracking,oe.stickyTracking,De.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Te.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let be=this.zones=(ee.zones||[]).map(xe=>({...xe}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},ge||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),be.push(N)),be.length&&O(be[be.length-1].value)&&be.push(ge?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return K(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let Z,Y,he=this.chart,ge=`${x}Index`,_e=`${x}Counter`,Te=R?.length||he.options.chart.colorCount;!N&&(O(Y=K("color"===x?this.options.colorIndex:void 0,this[ge]))?Z=Y:(he.series.length||(he[_e]=0),Z=he[_e]%Te,he[_e]+=1),R&&(N=R[Z])),void 0!==Z&&(this[ge]=Z),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,Z,Y,he=x.id,ge=x.x,_e=this.points,Te=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof pe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=De=>!De.touched&&De.index===x.index;if(Te&&Te.matchByName?Oe=De=>!De.touched&&De.name===x.name:this.options.relativeXValue&&(Oe=De=>!De.touched&&De.options.x===x.x),!(R=n(_e,Oe)))return}return R&&void 0!==(Y=R&&R.index)&&(Z=!0),void 0===Y&&p(ge)&&(Y=this.xData.indexOf(ge,N)),-1!==Y&&void 0!==Y&&this.cropped&&(Y=Y>=this.cropStart?Y-this.cropStart:Y),!Z&&p(Y)&&_e[Y]&&_e[Y].touched&&(Y=void 0),Y}updateData(x,N){let Te,Oe,De,Be,R=this.options,Z=R.dataSorting,Y=this.points,he=[],ge=this.requireSorting,_e=x.length===Y.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,be){let xe,Ie=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Ie.id||p(Ie.x)?(-1===(xe=this.findPointIndex(Ie,Be))||void 0===xe?he.push(ee):Y[xe]&&ee!==R.data[xe]?(Y[xe].update(ee,!1,null,!1),Y[xe].touched=!0,ge&&(Be=xe+1)):Y[xe]&&(Y[xe].touched=!0),(!_e||be!==xe||Z&&Z.enabled||this.hasDerivedData)&&(Te=!0)):he.push(ee)},this),Te)for(Oe=Y.length;Oe--;)(De=Y[Oe])&&!De.touched&&De.remove&&De.remove(!1,N);else!_e||Z&&Z.enabled?oe=!1:(x.forEach(function(ee,be){ee===Y[be].y||Y[be].destroyed||Y[be].update(ee,!1,null,!1)}),he.length=0);return Y.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,Z){let we,Ee,Me,qe,Y=this,he=Y.points,ge=he&&he.length||0,_e=Y.options,Te=Y.chart,Oe=_e.dataSorting,De=Y.xAxis,Be=_e.turboThreshold,oe=this.xData,ee=this.yData,be=Y.pointArrayMap,xe=be&&be.length,Ie=_e.keys,Xe=0,Je=1,lt=null;Te.options.chart.allowMutatingData||(_e.data&&delete Y.options.data,Y.userOptions.data&&delete Y.userOptions.data,qe=B(!0,x));let st=(x=qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Te.options.chart.allowMutatingData&&!1!==Z&&st&&ge&&!Y.cropped&&!Y.hasGroupedData&&Y.visible&&!Y.boosted&&(Me=this.updateData(x,R)),!Me){if(Y.xIncrement=null,Y.colorCounter=0,this.parallelArrays.forEach(function(Tt){Y[Tt+"Data"].length=0}),Be&&st>Be)if(p(lt=Y.getFirstValidPoint(x)))for(we=0;we=0?Xe:0,Je=Je>=0?Je:1),1===lt.length&&(Je=0),Xe===Je)for(we=0;we{let ge=d(R,Y),_e=d(R,he);return _ege?1:0}).forEach(function(Y,he){Y.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(Y){let he=Y.options,ge=he.data;he.dataSorting&&he.dataSorting.enabled||!ge||(ge.forEach(function(_e,Te){ge[Te]=Z(Y,_e),x[Te]&&(ge[Te].x=x[Te].x,ge[Te].index=Te)}),Y.setData(ge,!1))}),x}getProcessedData(x){let Te,Oe,Be,oe,ee,N=this,R=N.xAxis,Z=N.options,Y=Z.cropThreshold,he=x||N.getExtremesFromAll||Z.getExtremesFromAll,ge=R?.logarithmic,_e=N.isCartesian,De=0,be=N.xData,xe=N.yData,Ie=!1,we=be.length;R&&(oe=(Be=R.getExtremes()).min,ee=Be.max,Ie=!(!R.categories||R.names.length)),_e&&N.sorted&&!he&&(!Y||we>Y||N.forceCrop)&&(be[we-1]ee?(be=[],xe=[]):N.yData&&(be[0]ee)&&(be=(Te=this.cropData(N.xData,N.yData,oe,ee)).xData,xe=Te.yData,De=Te.start,Oe=!0));let Ee=l([ge?be.map(ge.log2lin):be],()=>N.requireSorting&&!Ie&&v(15,!1,N.chart));return{xData:be,yData:xe,cropped:Oe,cropStart:De,closestPointRange:Ee}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,Z){let he,ge,Y=x.length,_e=0,Te=Y;for(he=0;he=R){_e=Math.max(0,he-1);break}for(ge=he;geZ){Te=ge+1;break}return{xData:x.slice(_e,Te),yData:N.slice(_e,Te),start:_e,end:Te}}generatePoints(){let Be,oe,ee,be,x=this.options,N=this.processedData||x.data,R=this.processedXData,Z=this.processedYData,Y=this.pointClass,he=R.length,ge=this.cropStart||0,_e=this.hasGroupedData,Te=x.keys,Oe=[],De=x.dataGrouping&&x.dataGrouping.groupAll?ge:0,xe=this.data;if(!xe&&!_e){let Ie=[];Ie.length=N.length,xe=this.data=Ie}for(Te&&_e&&(this.options.keys=!1),be=0;be0:oe.length)||!_e),De=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(Y[ee+ge]||Be)>=xe&&(Y[ee-ge]||Be)<=Ie,Oe&&De)if(be=oe.length)for(;be--;)p(oe[be])&&(he[we++]=oe[be]);else he[we++]=oe;let Me={activeYData:he,dataMin:m(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Me}),Me}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,Z=null;for(;null===Z&&R1)&&(he.step=function(Be,oe){De&&De.apply(oe,arguments),"width"===oe.prop&&Te?.element&&Te.attr(Y?"height":"width",Be+99)}),_e.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,Z,Y,he,ge,_e,Te=this.chart,Oe=Te.styledMode,{colorAxis:De,options:Be}=this,oe=Be.marker,ee=this[this.specialGroup||"markerGroup"],be=this.xAxis,xe=K(oe.enabled,!be||!!be.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=Z=Te.renderer.symbol(Ie,_e.x,_e.y,_e.width,_e.height,ge?he:oe).add(ee),this.enabledDataSorting&&Te.hasRendered&&(Z.attr({x:R.startXPos}),Y="animate")),Z&&"animate"===Y&&Z[we?"show":"hide"](we).animate(_e),Z){let Ee=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?De&&Z.css({fill:Ee.fill}):Z[Y](Ee)}Z&&Z.addClass(R.getClassName(),!0)}else Z&&(R.graphic=Z.destroy())}markerAttribs(x,N){let _e,Te,R=this.options,Z=R.marker,Y=x.marker||{},he=Y.symbol||Z.symbol,ge={},Oe=K(Y.radius,Z&&Z.radius);N&&(_e=Z.states[N],Oe=K((Te=Y.states&&Y.states[N])&&Te.radius,_e&&_e.radius,Oe&&Oe+(_e&&_e.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let De=x.pos();return p(Oe)&&De&&(ge.x=De[0]-Oe,ge.y=De[1]-Oe,R.crisp&&(ge.x=Math.floor(ge.x))),Oe&&(ge.width=ge.height=2*Oe),ge}pointAttribs(x,N){let Te,Oe,Be,oe,R=this.options.marker,Z=x&&x.options,Y=Z&&Z.marker||{},he=Z&&Z.color,ge=x&&x.color,_e=x&&x.zone&&x.zone.color,De=this.color,ee=K(Y.lineWidth,R.lineWidth),be=1;return De=he||_e||ge||De,Be=Y.fillColor||R.fillColor||De,oe=Y.lineColor||R.lineColor||De,Te=R.states[N=N||"normal"]||{},ee=K((Oe=Y.states&&Y.states[N]||{}).lineWidth,Te.lineWidth,ee+K(Oe.lineWidthPlus,Te.lineWidthPlus,0)),Be=Oe.fillColor||Te.fillColor||Be,{stroke:oe=Oe.lineColor||Te.lineColor||oe,"stroke-width":ee,fill:Be,opacity:be=K(Oe.opacity,Te.opacity,be)}}destroy(x){let N,R,Z,Y=this,he=Y.chart,ge=/AppleWebKit\/533/.test(A.navigator.userAgent),_e=Y.data||[];for(r(Y,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(Y.axisTypes||[]).forEach(function(Te){(Z=Y[Te])&&Z.series&&(g(Z.series,Y),Z.isDirty=Z.forceRedraw=!0)}),Y.legendItem&&Y.chart.legend.destroyItem(Y),N=_e.length;N--;)(R=_e[N])&&R.destroy&&R.destroy();for(let Te of Y.zones)f(Te,void 0,!0);X.clearTimeout(Y.animationTimeout),z(Y,function(Te,Oe){Te instanceof te&&!Te.survive&&Te[ge&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===Y&&(he.hoverSeries=void 0),g(he.series,Y),he.orderItems("series"),z(Y,function(Te,Oe){x&&"hcEvents"===Oe||delete Y[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:Z,points:Y,xAxis:he,yAxis:ge,zoneAxis:_e}=this,{inverted:Te,renderer:Oe}=N,De=this[`${_e}Axis`],{isXAxis:Be,len:oe=0}=De||{},ee=(R?.strokeWidth()||0)/2+1,be=(xe,Ie=0,we=0)=>{Te&&(we=oe-we);let{translated:Ee=0,lineClip:Me}=xe,Xe=we-Ee;Me?.push(["L",Ie,Math.abs(Xe){Me.forEach((Xe,Je)=>{("M"===Xe[0]||"L"===Xe[0])&&(Me[Je]=[Xe[0],Be?oe-Xe[1]:Xe[1],Be?Xe[2]:oe-Xe[2]])})};if(Z.forEach(Me=>{Me.lineClip=[],Me.translated=w(De.toPixels(K(Me.value,xe),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===_e&&Y.length{let Xe=Me.lineClip||[],Je=Math.round(Me.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:qe}=Me,st=0,Tt=0,pt=he.len,ht=ge.len;Be?(st=Je,pt=Ee):(Tt=Je,ht=Ee);let Pt=[["M",st,Tt],["L",pt,Tt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Pt[0],...Xe,Pt[1],Pt[2],...we,Pt[3],Pt[4]];we=Xe.reverse(),Ee=Je,Te&&(Ie(Gt),x&&Ie(Pt)),lt?(lt.animate({d:Gt}),qe?.animate({d:Pt})):(lt=Me.clip=Oe.path(Gt),x&&(qe=Me.simpleClip=Oe.path(Pt))),R&&Me.graph?.clip(lt),x&&Me.area?.clip(qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,Z,Y){let he=this[x],ge=!he,_e={visibility:R,zIndex:Z||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(_e.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(Y)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(_e)[ge?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,Z=this.chart,Y=Z.inverted&&!Z.polar&&N&&this.invertible&&"series"===x;return Z.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:Z.plotLeft,translateY:R?R.top:Z.plotTop,rotation:Y?90:0,rotationOriginX:Y?(N.len-R.len)/2:0,rotationOriginY:Y?(N.len+R.len)/2:0,scaleX:Y?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:Z}=x,Y=E(R.animation),he=x.visible?"inherit":"hidden",ge=R.zIndex,_e=N.seriesGroup,Te=x.finishedAnimating?0:Y.duration;r(this,"render"),x.plotGroup("group","series",he,ge,_e),x.markerGroup=x.plotGroup("markerGroup","markers",he,ge,_e),!1!==R.clip&&x.setClip(),Te&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Te&&x.animate?.(),Z||(Te&&Y.defer&&(Te+=Y.defer),x.animationTimeout=S(()=>{x.afterAnimate()},Te||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:Z}=this,Y=this.chart.inverted;return this.searchKDTree({clientX:Y?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:Y?Z.len-x.chartX+Z.pos:x.chartY-Z.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,S(function(){N.kdTree=function Z(Y,he,ge){let _e,Te,Oe=Y?.length;if(Oe)return _e=N.kdAxisArray[he%ge],Y.sort((De,Be)=>(De[_e]||0)-(Be[_e]||0)),{point:Y[Te=Math.floor(Oe/2)],left:Z(Y.slice(0,Te),he+1,ge),right:Z(Y.slice(Te+1),he+1,ge)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let Z=this,[Y,he]=this.kdAxisArray,ge=N?"distX":"dist",_e=(Z.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Te=!!Z.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(De,Be,oe,ee){let Ie,we,be=Be.point,xe=Z.kdAxisArray[oe%ee],Ee=be;!function(lt,qe){let st=lt[Y],Tt=qe[Y],pt=O(st)&&O(Tt)?st-Tt:null,ht=lt[he],Pt=qe[he],Gt=O(ht)&&O(Pt)?ht-Pt:0,ti=Te&&qe.marker?.radius||0;qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(De,be);let Me=(De[xe]||0)-(be[xe]||0)+(Te&&be.marker?.radius||0),Xe=Me<0?"left":"right",Je=Me<0?"right":"left";return Be[Xe]&&(Ee=(Ie=Oe(De,Be[Xe],oe+1,ee))[ge]=0&&he<=(Z?Z.len:N.plotHeight)&&Y>=0&&Y<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,Z=[].concat((R?x.areaPath:x.graphPath)||[]),Y=x.chart,he=Y.pointer,ge=Y.renderer,_e=Y.options.tooltip?.snap||0,Te=()=>{N.enableMouseTracking&&Y.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",De=x.tracker;De?De.attr({d:Z}):x.graph&&(x.tracker=De=ge.path(Z).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),Y.styledMode||De.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*_e)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Be=>{Be&&(Be.addClass("highcharts-tracker").on("mouseover",Te).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!Y.styledMode&&Be.css({cursor:N.cursor}),Be.on("touchstart",Te))})),r(this,"afterDrawTracker")}addPoint(x,N,R,Z,Y){let he,ge,_e=this.options,Te=this.data,Oe=this.chart,De=this.xAxis,Be=De&&De.hasNames&&De.names,oe=_e.data,ee=this.xData;N=K(N,!0);let be={series:this};this.pointClass.prototype.applyOptions.apply(be,[x]);let xe=be.x;if(ge=ee.length,this.requireSorting&&xexe;)ge--;this.updateParallelArrays(be,"splice",[ge,0,0]),this.updateParallelArrays(be,ge),Be&&be.name&&(Be[xe]=be.name),oe.splice(ge,0,x),(he||this.processedData)&&(this.data.splice(ge,0,null),this.processData()),"point"===_e.legendType&&this.generatePoints(),R&&(Te[0]&&Te[0].remove?Te[0].remove(!1):(Te.shift(),this.updateParallelArrays(be,"shift"),oe.shift())),!1!==Y&&r(this,"addPoint",{point:be}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(Z)}removePoint(x,N,R){let Z=this,Y=Z.data,he=Y[x],ge=Z.points,_e=Z.chart,Te=function(){ge&&ge.length===Y.length&&ge.splice(x,1),Y.splice(x,1),Z.options.data.splice(x,1),Z.updateParallelArrays(he||{series:Z},"splice",[x,1]),he&&he.destroy(),Z.isDirty=!0,Z.isDirtyData=!0,N&&_e.redraw()};j(R,_e),N=K(N,!0),he?he.firePointEvent("remove",null,Te):Te()}remove(x,N,R,Z){let Y=this,he=Y.chart;function ge(){Y.destroy(Z),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(Z),K(x,!0)&&he.redraw(N)}!1!==R?r(Y,"remove",null,ge):ge()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let De,Be,R=this,Z=R.chart,Y=R.userOptions,he=R.initialType||R.type,ge=Z.options.plotOptions,_e=I[he].prototype,Te=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||Y.type||Z.options.chart.type,be=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Ie=>R.hasOptionChanged(Ie)));ee=ee||he,be&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Ie){oe.push(Ie+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=B(Y,{index:void 0===Y.index?R.index:Y.index,pointStart:ge?.series?.pointStart??Y.pointStart??R.xData?.[0]},!be&&{data:R.options.data},x,Te),be&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Ie){oe[Ie]=R[Ie],delete R[Ie]});let xe=!1;if(I[ee]){if(xe=ee!==R.type,R.remove(!1,!1,!1,!0),xe)if(Z.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,I[ee].prototype);else{let Ie=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Be in _e)R[Be]=void 0;o(R,I[ee].prototype),Ie?R.hcEvents=Ie:delete R.hcEvents}}else v(17,!0,Z,{missingModuleFor:ee});if(oe.forEach(function(Ie){R[Ie]=oe[Ie]}),R.init(Z,x),be&&this.points)for(let Ie of(!1===(De=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(De,Y)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Ie&&Ie.series&&(Ie.resolveColor(),Object.keys(Oe).length&&Ie.destroyElements(Oe),!1===De.showInLegend&&Ie.legendItem&&Z.legend.destroyItem(Ie));R.initialType=he,Z.linkSeries(),Z.setSortedData(),xe&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),K(N,!0)&&Z.redraw(!!be&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],Z=this.chart.options.plotOptions,Y=this.userOptions[x],he=K(Z?.[this.type]?.[x],Z?.series?.[x]);return Y&&!O(he)?R!==Y:R!==K(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,Z=N.hoverPoint;N.hoverSeries=null,Z&&Z.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(Y){Y.setState("",!0)})}setState(x,N){let R=this,Z=R.options,Y=R.graph,he=Z.inactiveOtherPoints,ge=Z.states,_e=K(ge[x||"normal"]&&ge[x||"normal"].animation,R.chart.options.chart.animation),Te=Z.lineWidth,Oe=Z.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(De){De&&(R.state&&De.removeClass("highcharts-series-"+R.state),x&&De.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(ge[x]&&!1===ge[x].enabled)return;if(x&&(Te=ge[x].lineWidth||Te+(ge[x].lineWidthPlus||0),Oe=K(ge[x].opacity,Oe)),Y&&!Y.dashstyle&&p(Te))for(let De of[Y,...this.zones.map(Be=>Be.graph)])De?.animate({"stroke-width":Te},_e);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(De){De&&De.animate({opacity:Oe},_e)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,Z=R.chart,Y=Z.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let ge=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_e=>{R[_e]?.[ge]()}),(Z.hoverSeries===R||Z.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&Z.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&Z.series.forEach(_e=>{_e.options.stacking&&_e.visible&&(_e.isDirty=!0)}),R.linkedSeries.forEach(_e=>{_e.setVisible(x,!1)}),Y&&(Z.isDirtyBox=!0),r(R,ge),!1!==N&&Z.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return $.defaultOptions=ue,$.types=J.seriesTypes,$.registerType=J.registerSeriesType,o($.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),J.series=$,$}),Le(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P){let{animate:D,animObject:A,setAnimation:I}=q,{defaultOptions:_,defaultTime:m}=re,{numberFormat:w}=ve,{registerEventOptions:G}=le,{charts:O,doc:f,marginNames:a,svg:g,win:v}=pe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:T,error:B,extend:z,find:K,fireEvent:U,getStyle:se,isArray:S,isNumber:$,isObject:H,isString:x,merge:N,objectEach:R,pick:Z,pInt:Y,relativeLength:he,removeEvent:ge,splat:_e,syncTimeout:Te,uniqueKey:Oe}=j;class De{static chart(oe,ee,be){return new De(oe,ee,be)}constructor(oe,ee,be){this.sharedClips={};let xe=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=xe.shift()),this.init(xe[0],xe[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:Z(oe.zoomType,ee.type),key:Z(oe.zoomKey,ee.key),pinchType:Z(oe.pinchType,ee.pinchType),singleTouch:Z(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let be=N(_,oe),xe=be.chart;this.userOptions=z({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=be,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new E(oe.time):pe.time,this.numberFormatter=xe.numberFormatter||w,this.styledMode=xe.styledMode,this.hasCartesianSeries=xe.showAxes,this.index=O.length,O.push(this),pe.chartCount++,G(this,xe),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let be=oe.type||this.options.chart.type,xe=o[be];xe||B(17,!0,this,{missingModuleFor:be});let Ie=new xe;return"function"==typeof Ie.init&&Ie.init(this,oe),Ie}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let be=this[oe],xe=this.options[oe]=_e(this.options[oe]).slice(),Ie=this.userOptions[oe]=this.userOptions[oe]?_e(this.userOptions[oe]).slice():[];if(this.hasRendered&&(xe.splice(ee),Ie.splice(ee)),be)for(let we=ee,Ee=be.length;we=Math.max(Xe+we,ht.pos)&&Pt<=Math.min(Xe+we+qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!be.ignoreY&&pt.isInsidePlot){let ht=!xe&&be.axis&&!be.axis.isXAxis&&be.axis||lt&&(xe?lt.xAxis:lt.yAxis)||{pos:Ee,len:1/0},Pt=be.paneCoordinates?ht.pos+Tt:Ee+Tt;Pt>=Math.max(Je+Ee,ht.pos)&&Pt<=Math.min(Je+Ee+qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Je,lt,qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],be=this.series,xe=this.pointer,Ie=this.legend,we=this.userOptions.legend,Ee=this.renderer,Me=Ee.isHidden(),Xe=[],st=this.isDirtyBox,Tt=this.isDirtyLegend;for(Ee.rootFontSize=Ee.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),I(!!this.hasRendered&&oe,this),Me&&this.temporaryDisplay(),this.layOutTitles(!1),qe=be.length;qe--;)if(((pt=be[qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Je=!0;break}if(Je)for(qe=be.length;qe--;)(pt=be[qe]).options.stacking&&(pt.isDirty=!0);be.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),Tt=!0):we&&(we.labelFormatter||we.labelFormat)&&(Tt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),Tt&&Ie&&Ie.options.enabled&&(Ie.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Pt=ht.min+","+ht.max;ht.extKey!==Pt&&(ht.extKey=Pt,Xe.push(function(){U(ht,"afterSetExtremes",z(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),be.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),xe&&xe.reset(!0),Ee.draw(),U(this,"redraw"),U(this,"render"),Me&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function be(Ie){return Ie.id===oe||Ie.options&&Ie.options.id===oe}let xe=K(this.axes,be)||K(this.series,be);for(let Ie=0;!xe&&Ie(ee.getPointsCollection().forEach(be=>{Z(be.selectedStaging,be.selected)&&oe.push(be)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,be){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(be)}applyDescription(oe,ee){let be=this,xe=this.options[oe]=N(this.options[oe],ee),Ie=this[oe];Ie&&ee&&(this[oe]=Ie=Ie.destroy()),xe&&!Ie&&((Ie=this.renderer.text(xe.text,0,0,xe.useHTML).attr({align:xe.align,class:"highcharts-"+oe,zIndex:xe.zIndex||4}).add()).update=function(we,Ee){be.applyDescription(oe,we),be.layOutTitles(Ee)},this.styledMode||Ie.css(z("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},xe.style)),this[oe]=Ie)}layOutTitles(oe=!0){let ee=[0,0,0],be=this.renderer,xe=this.spacingBox;["title","subtitle","caption"].forEach(function(we){let Ee=this[we],Me=this.options[we],Xe=Me.verticalAlign||"top",Je="title"===we?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Ee){Ee.css({width:(Me.width||xe.width+(Me.widthAdjust||0))+"px"});let lt=be.fontMetrics(Ee).b,qe=Math.round(Ee.getBBox(Me.useHTML).height);Ee.align(z({y:"bottom"===Xe?lt:Je+lt,height:qe},Me),!1,"spacingBox"),Me.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Ie=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Ie&&(this.isDirtyBox=this.isDirtyLegend=Ie,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,be=oe.height,xe=this.getContainerBox();this.chartWidth=Math.max(0,ee||xe.width||600),this.chartHeight=Math.max(0,he(be,this.chartWidth)||(xe.height>1?xe.height:400)),this.containerBox=xe}temporaryDisplay(oe){let be,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},be={display:"block",overflow:"hidden"},ee!==this.renderTo&&(be.height=0),d(ee,be),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Ie,oe=this.options,ee=oe.chart,be="data-highcharts-chart",xe=Oe(),we=this.renderTo;we||(this.renderTo=we=ee.renderTo),x(we)&&(this.renderTo=we=f.getElementById(we)),we||B(13,!0,this);let Ee=Y(r(we,be));$(Ee)&&O[Ee]&&O[Ee].hasRendered&&O[Ee].destroy(),r(we,be,this.index),we.innerHTML=F.emptyHTML,ee.skipClone||we.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Me=this.chartHeight,Xe=this.chartWidth;d(we,{overflow:"hidden"}),this.styledMode||(Ie=z({position:"relative",overflow:"hidden",width:Xe+"px",height:Me+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Je=l("div",{id:xe},Ie,we);this.container=Je,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Je,{width:Z(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Je.style.cursor;let lt=ee.renderer||!g?ue.getRendererType(ee.renderer):X;if(this.renderer=new lt(Je,Xe,Me,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),I(void 0,this),this.setClassName(ee.className),this.styledMode)for(let qe in oe.defs)this.renderer.definition(oe.defs[qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:be,titleOffset:xe}=this;this.resetMargins(),xe[0]&&!C(be[0])&&(this.plotTop=Math.max(this.plotTop,xe[0]+ee[0])),xe[2]&&!C(be[2])&&(this.marginBottom=Math.max(this.marginBottom,xe[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(be,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],be=oe.colorAxis,xe=oe.margin,Ie=function(we){we.forEach(function(Ee){Ee.visible&&Ee.getOffset()})};oe.hasCartesianSeries?Ie(oe.axes):be&&be.length&&Ie(be),a.forEach(function(we,Ee){C(xe[Ee])||(oe[we]+=ee[Ee])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,be=ee.containerBox,xe=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&be&&xe.width&&((xe.width!==be.width||xe.height!==be.height)&&(j.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Te(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=xe)}setReflow(){let oe=this,ee=be=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(be)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let be=n(v,"resize",ee);n(this,"destroy",be)}}setSize(oe,ee,be){let xe=this,Ie=xe.renderer;xe.isResizing+=1,I(be,xe);let we=Ie.globalAnimation;xe.oldChartHeight=xe.chartHeight,xe.oldChartWidth=xe.chartWidth,void 0!==oe&&(xe.options.chart.width=oe),void 0!==ee&&(xe.options.chart.height=ee),xe.getChartSize();let{chartWidth:Ee,chartHeight:Me,scrollablePixelsX:Xe=0,scrollablePixelsY:Je=0}=xe;(xe.isDirtyBox||Ee!==xe.oldChartWidth||Me!==xe.oldChartHeight)&&(xe.styledMode||(we?D:d)(xe.container,{width:`${Ee+Xe}px`,height:`${Me+Je}px`},we),xe.setChartSize(!0),Ie.setSize(Ee,Me,we),xe.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),xe.isDirtyLegend=!0,xe.isDirtyBox=!0,xe.layOutTitles(),xe.getMargins(),xe.redraw(we),xe.oldChartHeight=void 0,U(xe,"resize"),setTimeout(()=>{xe&&U(xe,"endResize",void 0,()=>{xe.isResizing-=1})},A(we).duration))}setChartSize(oe){let ee,be,xe,Ie,we=this.inverted,Ee=this.renderer,Me=this.chartWidth,Xe=this.chartHeight,Je=this.options.chart,lt=this.spacing,qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=be=Math.round(this.plotTop),this.plotWidth=xe=Math.max(0,Math.round(Me-ee-this.marginRight)),this.plotHeight=Ie=Math.max(0,Math.round(Xe-be-this.marginBottom)),this.plotSizeX=we?Ie:xe,this.plotSizeY=we?xe:Ie,this.plotBorderWidth=Je.plotBorderWidth||0,this.spacingBox=Ee.spacingBox={x:lt[3],y:lt[0],width:Me-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Ee.plotBox={x:ee,y:be,width:xe,height:Ie};let st=2*Math.floor(this.plotBorderWidth/2),Tt=Math.ceil(Math.max(st,qe[3])/2),pt=Math.ceil(Math.max(st,qe[0])/2);this.clipBox={x:Tt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,qe[1])/2-Tt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Ee.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(be){let xe=ee[be],Ie=H(xe)?xe:[xe,xe,xe,xe];["Top","Right","Bottom","Left"].forEach(function(we,Ee){oe[be][Ee]=Z(ee[be+we],Ie[Ee])})}),a.forEach(function(be,xe){oe[be]=Z(oe.margin[xe],oe.spacing[xe])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,It,xt,oe=this.options.chart,ee=this.renderer,be=this.chartWidth,xe=this.chartHeight,Ie=this.styledMode,we=this.plotBGImage,Ee=oe.backgroundColor,Me=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Je=this.plotLeft,lt=this.plotTop,qe=this.plotWidth,st=this.plotHeight,Tt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Pt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Pt||(this.chartBackground=Pt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Ie?Dt=It=Pt.strokeWidth():(It=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),xt={fill:Ee||"none"},(Dt||Pt["stroke-width"])&&(xt.stroke=oe.borderColor,xt["stroke-width"]=Dt),Pt.attr(xt).shadow(oe.shadow)),Pt[wt]({x:It/2,y:It/2,width:be-It-Dt%2,height:xe-It-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](Tt),!Ie&&(Gt.attr({fill:Me||"none"}).shadow(oe.plotShadow),Xe&&(we?(Xe!==we.attr("href")&&we.attr("href",Xe),we.animate(Tt)):this.plotBGImage=ee.image(Xe,Je,lt,qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Ie||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Je,y:lt,width:qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,be,xe=this,Ie=xe.options.chart,we=xe.options.series;["inverted","angular","polar"].forEach(function(Ee){for(ee=o[Ie.type],be=Ie[Ee]||ee&&ee.prototype[Ee],oe=we&&we.length;!be&&oe--;)(ee=o[we[oe].type])&&ee.prototype[Ee]&&(be=!0);xe[Ee]=be})}linkSeries(oe){let ee=this,be=ee.series;be.forEach(function(xe){xe.linkedSeries.length=0}),be.forEach(function(xe){let{linkedTo:Ie}=xe.options;if(x(Ie)){let we;(we=":previous"===Ie?ee.series[xe.index-1]:ee.get(Ie))&&we.linkedParent!==xe&&(we.linkedSeries.push(xe),xe.linkedParent=we,we.enabledDataSorting&&xe.setDataSortingOptions(),xe.visible=Z(xe.options.visible,we.options.visible,xe.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Me,oe=this.axes,ee=this.colorAxis,be=this.renderer,xe=this.options.chart.axisLayoutRuns||2,Ie=Je=>{Je.forEach(lt=>{lt.visible&<.render()})},we=0,Ee=!0,Xe=0;for(let Je of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Je,{labels:qe}=lt;if(Je.horiz&&Je.visible&&qe.enabled&&Je.series.length&&"colorAxis"!==Je.coll&&!this.polar){we=lt.tickLength,Je.createGroups();let st=new P(Je,0,"",!0),Tt=st.createLabel("x",qe);if(st.destroy(),Tt&&Z(qe.reserveSpace,!$(lt.crossing))&&(we=Tt.getBBox().height+qe.distance+Math.max(lt.offset||0,0)),we){Tt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-we,0);(Ee||Me||xe>1)&&Xe(Xe?1:1.1),Me=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Ie(oe):ee&&ee.length&&Ie(ee),this.seriesGroup||(this.seriesGroup=be.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,be=N(!0,this.options.credits,oe);be.enabled&&!this.credits&&(this.credits=this.renderer.text(be.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){be.href&&(v.location.href=be.href)}).attr({align:be.position.align,zIndex:8}),ee.styledMode||this.credits.css(be.style),this.credits.add().align(be.position),this.credits.update=function(xe){ee.credits=ee.credits.destroy(),ee.addCredits(xe)})}destroy(){let oe,ee=this,be=ee.axes,xe=ee.series,Ie=ee.container,we=Ie&&Ie.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?T(O,ee):O[ee.index]=void 0,pe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),ge(ee),oe=be.length;oe--;)be[oe]=be[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=xe.length;oe--;)xe[oe]=xe[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Ee){let Me=ee[Ee];Me&&Me.destroy&&(ee[Ee]=Me.destroy())}),Ie&&(Ie.innerHTML=F.emptyHTML,ge(Ie),we&&p(Ie)),R(ee,function(Ee,Me){delete ee[Me]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let be=S(ee.series)?ee.series:[];ee.series=[],be.forEach(function(xe){oe.initSeries(xe)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let be=this,xe="object"==typeof ee?ee:{enabled:ee,type:"x"},Ie=xe.type,we=Ie&&be[{x:"xAxis",xy:"axes",y:"yAxis"}[Ie]].filter(Me=>Me.options.panningEnabled&&!Me.options.isInternal),Ee=be.options.chart;Ee?.panning&&(Ee.panning=xe),U(this,"pan",{originalEvent:oe},()=>{be.transform({axes:we,event:oe,to:{x:oe.chartX-(be.mouseDownX||0),y:oe.chartY-(be.mouseDownY||0)},trigger:"pan"}),d(be.container,{cursor:"move"})})}transform(oe){let qe,{axes:ee=this.axes,event:be,from:xe={},reset:Ie,selection:we,to:Ee={},trigger:Me}=oe,{inverted:Xe,resetZoomButton:Je}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(Tt=>Tt.setState()),ee)){let{horiz:Tt,len:pt,minPointOffset:ht=0,options:Pt,reversed:Gt}=st,ti=Tt?"width":"height",Dt=Tt?"x":"y",It=Ee[ti]||st.len,xt=xe[ti]||st.len,wt=10>Math.abs(It)?1:It/xt,Qt=(xe[Dt]||0)+xt/2-st.pos,di=Qt-((Ee[Dt]??st.pos)+It/2-st.pos)/wt,Ni=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Ie&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Ni,vi=st.toValue(di+pt/wt,!0)-(ht*Ni||0),zi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Ie&&"yAxis"===st.coll&&!zi){for(let js of st.series){let On=js.getExtremes(js.getProcessedData(!0).yData,!0);zi??(zi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),$(On.dataMin)&&$(On.dataMax)&&(zi.dataMin=Math.min(On.dataMin,zi.dataMin),zi.dataMax=Math.max(On.dataMax,zi.dataMax))}st.allExtremes=zi}let{dataMin:gs,dataMax:Fn,min:as,max:ms}=z(st.getExtremes(),zi||{}),Ln=gs??Pt.min,fn=Fn??Pt.max,ki=vi-mi,Cs=st.categories?0:Math.min(ki,fn-Ln),Kn=Ln-Cs*(C(Pt.min)?0:Pt.minPadding),In=fn+Cs*(C(Pt.max)?0:Pt.maxPadding),Bs=st.allowZoomOutside||1===wt||"zoom"!==Me&&wt>1,qn=Math.min(Pt.min??Kn,Kn,Bs?as:Kn),Wi=Math.max(Pt.max??In,In,Bs?ms:In);(!st.isOrdinal||1!==wt||Ie)&&(mi=1&&(vi=mi+ki)),vi>Wi&&(vi=Wi,wt>=1&&(mi=vi-ki)),(Ie||st.series.length&&(mi!==as||vi!==ms)&&mi>=qn&&vi<=Wi)&&(we?we[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Me,st.setExtremes(Ie?void 0:mi,Ie?void 0:vi,!1,!1,{move:di,trigger:Me,scale:wt}),!Ie&&(mi>qn||vi{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(qe&&!Je?this.showResetZoom():!qe&&Je&&(this.resetZoomButton=Je.destroy()),this.redraw("zoom"===Me&&(this.options.chart.animation??this.pointCount<100)))),lt}}return z(De.prototype,{callbacks:[],collectionsWithInit:{xAxis:[De.prototype.addAxis,[!0]],yAxis:[De.prototype.addAxis,[!1]],series:[De.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),De}),Le(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{stop:le}=q,{composed:pe}=ne,{addEvent:ue,createElement:J,css:te,defined:X,merge:E,pushUnique:j}=ve;function F(){let A=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!A&&(this.scrollablePlotArea=A=new D(this)),A?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(I,_,m){j(pe,this.compose)&&(ue(I,"afterInit",P),ue(_,"afterSetChartSize",w=>this.afterSetSize(w.target,w)),ue(_,"render",F),ue(m,"show",P))}static afterSetSize(I,_){let m,w,G,{minWidth:O,minHeight:f}=I.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:v,renderer:o}=I;if(!o.forExport&&(O?(I.scrollablePixelsX=m=Math.max(0,O-I.chartWidth),m&&(I.scrollablePlotBox=E(I.plotBox),g.width=I.plotWidth+=m,a[v?"height":"width"]+=m,G=!0)):f&&(I.scrollablePixelsY=w=Math.max(0,f-I.chartHeight),X(w)&&(I.scrollablePlotBox=E(I.plotBox),g.height=I.plotHeight+=w,a[v?"width":"height"]+=w,G=!1)),X(G)&&!_.skipAxes))for(let n of I.axes)n.horiz===G&&(n.setAxisSize(),n.setAxisTranslation())}constructor(I){let _,m=I.options.chart,w=re.getRendererType(),G=m.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};I.scrollablePixelsX&&(f.overflowX="auto"),I.scrollablePixelsY&&(f.overflowY="auto"),this.chart=I;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},I.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),v=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(m.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new w(o,I.chartWidth,I.chartHeight,m.style);this.mask=n.path().attr({fill:m.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(I.renderTo,{overflow:"visible"}),ue(I,"afterShowResetZoom",O),ue(I,"afterApplyDrilldown",O),ue(I,"afterLayOutTitles",O),ue(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=I;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),v.appendChild(I.container)}applyFixed(){let{chart:I,fixedRenderer:_,isDirty:m,scrollingContainer:w}=this,{axisOffset:G,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:v,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=I,{scrollPositionX:d=0,scrollPositionY:C=0}=I.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(m??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(I.container),te(a,{width:`${k}px`,height:`${p}px`}),I.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),I.chartBackground?.attr({width:k,height:p}),te(w,{width:`${O}px`,height:`${f}px`}),X(m)||(w.scrollLeft=r*d,w.scrollTop=l*C);let T=o-G[0]-1,B=v-G[3]-1,z=o+g+G[2]+1,K=v+n+G[1]+1,U=v+n-r,se=o+g-l,S=[["M",0,0]];r?S=[["M",0,T],["L",v-1,T],["L",v-1,z],["L",0,z],["Z"],["M",U,T],["L",O,T],["L",O,z],["L",U,z],["Z"]]:l&&(S=[["M",B,0],["L",B,o-1],["L",K,o-1],["L",K,0],["Z"],["M",B,se],["L",B,f],["L",K,f],["L",K,se],["Z"]]),"adjustHeight"!==I.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let I,{container:_,inverted:m,scrollablePixelsX:w,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(w&&!m?I=".highcharts-yaxis":w&&m||G&&!m?I=".highcharts-xaxis":G&&m&&(I=".highcharts-yaxis"),I&&f.push(`${I}:not(.highcharts-radial-axis)`,`${I}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Le(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{format:ve}=q,{series:le}=ne,{destroyObjectProperties:pe,fireEvent:ue,isNumber:J,pick:te}=re;return class{constructor(X,E,j,F,P){let D=X.chart.inverted,A=X.reversed;this.axis=X;let I=this.isNegative=!!j!=!!A;this.options=E=E||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:E.align||(D?I?"left":"right":"center"),verticalAlign:E.verticalAlign||(D?"middle":I?"bottom":"top"),y:E.y,x:E.x},this.textAlign=E.textAlign||(D?I?"right":"left":"center")}destroy(){pe(this,this.axis)}render(X){let E=this.axis.chart,j=this.options,F=j.format,P=F?ve(F,this,E):j.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=E.renderer.label(P,null,void 0,j.shape,void 0,void 0,j.useHTML,!1,"stack-labels");let D={r:j.borderRadius||0,text:P,padding:te(j.padding,5),visibility:"hidden"};E.styledMode||(D.fill=j.backgroundColor,D.stroke=j.borderColor,D["stroke-width"]=j.borderWidth,this.label.css(j.style||{})),this.label.attr(D),this.label.added||this.label.add(X)}this.label.labelrank=E.plotSizeY,ue(this,"afterRender")}setOffset(X,E,j,F,P,D){let{alignOptions:A,axis:I,label:_,options:m,textAlign:w}=this,G=I.chart,O=this.getStackBox({xOffset:X,width:E,boxBottom:j,boxTop:F,defaultX:P,xAxis:D}),{verticalAlign:f}=A;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,v="justify"===te(m.overflow,"justify");A.x=m.x||0,A.y=m.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:w});O.x-=n,O.y-=r,_.align(A,!1,O),(o=G.isInsidePlot(_.alignAttr.x+A.x+n,_.alignAttr.y+A.y+r))||(v=!1),v&&le.prototype.justifyDataLabel.call(I,_,A,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:m.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[m.textAlign||"center"],rotationOriginY:a.height/2}),te(!v&&m.crop,!0)&&(o=J(_.x)&&J(_.y)&&G.isInsidePlot(_.x-g+(_.width||0),_.y)&&G.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}ue(this,"afterSetOffset",{xOffset:X,width:E})}adjustStackPosition({labelBox:X,verticalAlign:E,textAlign:j}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:X.width/2+X.width/2*F[j],y:X.height/2*F[E]}}getStackBox(X){let E=this.axis,j=E.chart,{boxTop:F,defaultX:P,xOffset:D,width:A,boxBottom:I}=X,_=E.stacking.usePercentage?100:te(F,this.total,0),m=E.toPixels(_),w=X.xAxis||j.xAxis[0],G=te(P,w.translate(this.x))+D,O=Math.abs(m-E.toPixels(I||J(E.min)&&E.logarithmic&&E.logarithmic.lin2log(E.min)||0)),a=this.isNegative;return j.inverted?{x:(a?m:m-O)-j.plotLeft,y:w.height-G-A,width:O,height:A}:{x:G+w.transB-j.plotLeft,y:(a?m-O:m)-j.plotTop,width:A,height:O}}}}),Le(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{getDeferredAnimation:ue}=q,{series:{prototype:J}}=re,{addEvent:te,correctFloat:X,defined:E,destroyObjectProperties:j,fireEvent:F,isArray:P,isNumber:D,objectEach:A,pick:I}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,I(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function m(){let o=this.stacking;if(o){let n=o.stacks;A(n,(r,l)=>{j(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function w(){this.stacking||(this.stacking=new v(this))}function G(o,n,r,l){return!E(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(T=>{let z,K,U,B=C.length;for(;B--;)z=C[B],o=n.getStackIndicator(o,z,n.index,T),K=d[T]?.[z],(U=K?.points[o.key||""])&&p.call(n,U,K,B)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=X(o[0]*l),o[1]=X(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,T,B,z,K=n||this.options.stacking;if(!K||!this.reserveSpace()||({group:"xAxis"}[K]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,S=[],$=se.length,H=this.options,x=H.threshold||0,N=H.startFromThreshold?x:0,R=H.stack,Z=n?`${this.type},${K}`:this.stackKey||"",Y="-"+Z,he=this.negStacks,ge=o.stacking,_e=ge.stacks,Te=ge.oldStacks;for(ge.stacksTouched+=1,T=0;T<$;T++){B=U[T],z=se[T],p=(r=this.getStackIndicator(r,B,this.index)).key||"",_e[k=(l=he&&z<(N?0:x))?Y:Z]||(_e[k]={}),_e[k][B]||(Te[k]?.[B]?(_e[k][B]=Te[k][B],_e[k][B].total=null):_e[k][B]=new ve(o,o.options.stackLabels,!!l,B,R)),d=_e[k][B],null!==z?(d.points[p]=d.points[this.index]=[I(d.cumulative,N)],E(d.cumulative)||(d.base=p),d.touched=ge.stacksTouched,r.index>0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+B+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===K?(C=l?Z:Y,Oe=he&&_e[C]?.[B]?(C=_e[C][B]).total=Math.max(C.total||0,Oe)+Math.abs(z)||0:X(Oe+(Math.abs(z)||0))):"group"===K?(P(z)&&(z=z[0]),null!==z&&Oe++):Oe=X(Oe+(z||0)),d.cumulative="group"===K?(Oe||1)-1:X(I(d.cumulative,N)+(z||0)),d.total=Oe,null!==z&&(d.points[p].push(d.cumulative),S[T]=d.cumulative,d.hasValidPoints=!0)}"percent"===K&&(ge.usePercentage=!0),"group"!==K&&(this.stackedYData=S),ge.oldStacks={}}class v{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{A(n,r=>{r.cumulative=r.total})}))}resetStacks(){A(this.stacks,n=>{A(n,(r,l)=>{D(r.touched)&&r.touched{A(p,T=>{T.render(k)})}),k.animate({opacity:1},C)}}return(pe||(pe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",w),te(o,"destroy",m),l.getStacks=_,d.getStackIndicator=G,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},pe}),Le(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defined:ve,merge:le,isObject:pe}=re;class ue extends q{drawGraph(){let te=this.options,X=(this.gappedPath||this.getGraphPath).call(this),E=this.chart.styledMode;[this,...this.zones].forEach((j,F)=>{let P,D=j.graph,A=D?"animate":"attr",I=j.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:X.xMap,D.animate({d:X})):X.length&&(j.graph=D=this.chart.renderer.path(X).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&j.className||"")).attr({zIndex:1}).add(this.group)),D&&!E&&(P={stroke:!F&&te.lineColor||j.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},I?P.dashstyle=I:"square"!==te.linecap&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),D[A](P).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},pe(te.shadow)?te.shadow:{}))),D&&(D.startX=X.xMap,D.isArea=X.isArea)})}getGraphPath(te,X,E){let A,j=this,F=j.options,P=[],D=[],I=F.step,_=(te=te||j.points).reversed;return _&&te.reverse(),(I={right:1,center:2}[I]||I&&3)&&_&&(I=4-I),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!X&&!E))).forEach(function(m,w){let G,O=m.plotX,f=m.plotY,a=te[w-1],g=m.isNull||"number"!=typeof f;(m.leftCliff||a&&a.rightCliff)&&!E&&(A=!0),g&&!ve(X)&&w>0?A=!F.connectNulls:g&&!X?A=!0:(0===w||A?G=[["M",m.plotX,m.plotY]]:j.getPointSpline?G=[j.getPointSpline(te,m,w)]:I?(G=1===I?[["L",a.plotX,f]]:2===I?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):G=[["L",O,f]],D.push(m.x),I&&(D.push(m.x),2===I&&D.push(m.x)),P.push.apply(P,G),A=!1)}),P.xMap=D,j.graphPath=P,P}}return ue.defaultOptions=le(q.defaultOptions,{legendSymbol:"lineMarker"}),ne.registerSeriesType("line",ue),ue}),Le(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{seriesTypes:{line:re}}=q,{extend:ve,merge:le,objectEach:pe,pick:ue}=ne;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:X,options:E}=this;[this,...this.zones].forEach((j,F)=>{let P={},D=j.fillColor||E.fillColor,A=j.area,I=A?"animate":"attr";A?(A.endX=this.preventGraphAnimation?null:X.xMap,A.animate({d:X})):(P.zIndex=0,(A=j.area=this.chart.renderer.path(X).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(P.fill=D||j.color||this.color,P["fill-opacity"]=D?1:E.fillOpacity??.75,A.css({pointerEvents:this.stickyTracking?"none":"auto"})),A[I](P),A.startX=X.xMap,A.shiftUnit=E.step?2:1})}getGraphPath(X){let E,j,F,P=re.prototype.getGraphPath,D=this.options,A=D.stacking,I=this.yAxis,_=[],m=[],w=this.index,G=I.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(I.getThreshold(D.threshold)),a=ue(D.connectNulls,"percent"===A),g=function(d,C,k){let K,U,p=X[d],T=A&&G[p.x].points[w],B=p[k+"Null"]||0,z=p[k+"Cliff"]||0,se=!0;z||B?(K=(B?T[0]:T[1])+z,U=T[0]+z,se=!!B):!A&&X[C]&&X[C].isNull&&(K=U=O),void 0!==K&&(m.push({plotX:E,plotY:null===K?f:I.getThreshold(K),isNull:se,isCliff:!0}),_.push({plotX:E,plotY:null===U?f:I.getThreshold(U),doCurve:!1}))};X=X||this.points,A&&(X=this.getStackPoints(X));for(let d=0,C=X.length;df.visible);F.forEach(function(f,a){let v,o,g=0;if(I[f]&&!I[f].isNull)j.push(I[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=A[F[a+n]],d=0;if(l){let C=G;for(;C>=0&&C=0&&nO&&j>A?(j=Math.max(O,A),P=2*A-j):ja&&P>A?(P=Math.max(a,A),j=2*A-P):P=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let v=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;m(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==v.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,v=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,T=O.dataMax,B=O.barW=Math.max(C,1+2*v),z=O.translatedThreshold=n.getThreshold(r);f.inverted&&(z-=.5),a.pointPadding&&(B=Math.ceil(B)),le.prototype.translate.apply(O),O.points.forEach(function(K){let H,U=_(K.yBottom,z),se=999+Math.abs(U),S=K.plotX||0,$=E(K.plotY,-se,n.len+se),x=Math.min($,U),N=Math.max($,U)-x,R=C,Z=S+k,Y=B;l&&Math.abs(N)l?U-l:z-(H?l:0)),j(K.options.pointWidth)&&(Z-=Math.round(((R=Y=Math.ceil(K.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(Z=O.adjustForMissingColumns(Z,R,K,d)),K.barX=Z,K.pointWidth=R,K.tooltipPos=f.inverted?[E(n.len+n.pos-f.plotLeft-$,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-Z-Y/2,N]:[o.left-f.plotLeft+Z+Y/2,E($+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],K.shapeType=O.pointClass.prototype.shapeType||"roundedRect",K.shapeArgs=O.crispCol(Z,K.isNull?z:x,Y,K.isNull?0:N)}),P(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},v=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[v]||a[v]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,T=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=I(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[v]||C,p=n[o]||p,k=n.dashStyle||k,T=_(n.opacity,T));let B={fill:d,stroke:C,"stroke-width":p,opacity:T};return k&&(B.dashstyle=k),B}drawPoints(O=this.points){let f,a=this,g=this.chart,v=a.options,o=g.renderer,n=v.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function m(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,T=o.plotX,B=o.plotY,z=r.rotation||0,K=ue(T)&&ue(B)&&C.isInsidePlot(T,Math.round(B),{inverted:k,paneCoordinates:!0,series:this}),U=0===z&&"justify"===P(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&ue(T)&&(o.series.forceDL||p&&!U||K||P(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(T,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),S=o.pos();if(se&&S){let H=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:S[0],y:Math.round(S[1]),width:0,height:0},l||{}),J(r,{width:H.width,height:H.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,K,l),n.align(j(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-H.width),n.alignAttr.y+=R*(x.height-H.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(H.width-x.width)/2,y:n.alignAttr.y+(H.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,H,l,d);else if(P(r.crop,!0)){let{x:Z,y:Y}=n.alignAttr;se=C.isInsidePlot(Z,Y,{paneCoordinates:!0,series:this})&&C.isInsidePlot(Z+H.width-1,Y+H.height-1,{paneCoordinates:!0,series:this})}r.shape&&!z&&n[d?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function w(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,T=C.getContrast(E(p)&&p||E(k)&&k||"#000000"),B=g(r),{animation:z,defer:K}=B[0],U=K?le(l,z,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let S=se.dataLabels||[];A(a(B,se.dlOptions||se.options?.dataLabels)).forEach((H,x)=>{let ge,_e,Te,Oe,ee,N=H.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(be,xe){let Ie=xe.filter;if(Ie){let we=Ie.operator,Ee=be[Ie.property],Me=Ie.value;return">"===we&&Ee>Me||"<"===we&&Ee="===we&&Ee>=Me||"<="===we&&Ee<=Me||"=="===we&&Ee==Me||"==="===we&&Ee===Me||"!="===we&&Ee!=Me||"!=="===we&&Ee!==Me}return!0}(se,H),{backgroundColor:R,borderColor:Z,distance:Y,style:he={}}=H,De={},Be=S[x],oe=!Be;if(N&&(_e=P(H[se.formatPrefix+"Format"],H.format),ge=se.getLabelConfig(),Te=ue(_e)?pe(_e,ge,l):(H[se.formatPrefix+"Formatter"]||H.formatter).call(ge,H),Oe=H.rotation,!l.styledMode&&(he.color=P(H.color,he.color,E(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!ue(Y)&&H.inside||0>D(Y||0)||d.stacking?se.contrastColor:T):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),De={r:H.borderRadius||0,rotation:Oe,padding:H.padding,zIndex:1},l.styledMode||(De.fill="auto"===R?se.color:R,De.stroke="auto"===Z?se.color:Z,De["stroke-width"]=H.borderWidth),F(De,(be,xe)=>{void 0===be&&delete De[xe]})),!Be||N&&ue(Te)&&!!Be.div==!!H.useHTML&&(Be.rotation&&H.rotation||Be.rotation===H.rotation)||(Be=void 0,oe=!0),N&&ue(Te)&&(Be?De.text=Te:(Be=C.label(Te,0,0,H.shape,void 0,void 0,H.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(H.className||"")+(H.useHTML?" highcharts-tracker":"")),Be)){Be.options=H,Be.attr(De),l.styledMode||Be.css(he).shadow(H.shadow);let be=H[se.formatPrefix+"TextPath"]||H.textPath;be&&!H.useHTML&&(Be.setTextPath(se.getDataLabelPath?.(Be)||se.graphic,be),se.dataLabelPath&&!be.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Be.added||Be.add(n),r.alignDataLabel(se,Be,H,void 0,oe),Be.isActive=!0,S[x]&&S[x]!==Be&&S[x].destroy(),S[x]=Be}});let $=S.length;for(;$--;)S[$]&&S[$].isActive?S[$].isActive=!1:(S[$]?.destroy(),S.splice($,1));se.dataLabel=S[0],se.dataLabels=S})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,T=n.verticalAlign,B=o.box?0:o.padding||0,{x:z=0,y:K=0}=n;return(U=(r.x||0)+B)<0&&("right"===p&&z>=0?(n.align="left",n.inside=!0):z-=U,se=!0),(U=(r.x||0)+l.width-B)>k.plotWidth&&("left"===p&&z<=0?(n.align="right",n.inside=!0):z+=k.plotWidth-U,se=!0),(U=r.y+B)<0&&("bottom"===T&&K>=0?(n.verticalAlign="top",n.inside=!0):K-=U,se=!0),(U=(r.y||0)+l.height-B)>k.plotHeight&&("top"===T&&K<=0?(n.verticalAlign="bottom",n.inside=!0):K+=k.plotHeight-U,se=!0),se&&(n.x=z,n.y=K,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if(X(o)&&!X(n))r=o.map(function(d){return j(d,n)});else if(X(n)&&!X(o))r=n.map(function(d){return j(o,d)});else if(X(o)||X(n)){if(X(o)&&X(n))for(l=Math.max(o.length,n.length);l--;)r[l]=j(o[l],n[l])}else r=j(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return A(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function v(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,T=p.reversed,B=((k?n.height:n.width)||0)/2,z=o.pointWidth,K=z?z/2:0;n.startXPos=k?d.x:T?-B-K:p.width-B+K,n.startYPos=k?T?this.yAxis.height-B+K:-B-K:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}I.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=G,n.initDataLabelsGroup=w,n.alignDataLabel=m,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=v,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Le(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{series:ue}=re,{merge:J,pick:te,pushUnique:X}=ve;return function(E){function j(F,P,D,A,I){let _=this.chart.inverted,m=F.series,w=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||0,G=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,G)),a=te(D.inside,!!this.options.stacking);if(O){if(A=J(O),"allow"!==D.overflow||!1!==D.crop){A.y<0&&(A.height+=A.y,A.y=0);let g=A.y+A.height-G;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Le(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{column:ve,line:le}=ne.seriesTypes,{addEvent:pe,extend:ue,merge:J}=re;class te extends le{applyJitter(){let E=this,j=this.options.jitter,F=this.points.length;j&&this.points.forEach(function(P,D){["x","y"].forEach(function(A,I){let _,w,G,O,m="plot"+A.toUpperCase();j[A]&&!P.isNull&&(_=E[A+"Axis"],O=j[A]*_.transA,_&&!_.isLog&&(w=Math.max(0,P[m]-O),G=Math.min(_.len,P[m]+O),P[m]=w+(G-w)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+I*F),"x"===A&&(P.clientX=P.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,q),ue(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),pe(te,"afterTranslate",function(){this.applyJitter()}),ne.registerSeriesType("scatter",te),te}),Le(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve,le;let{deg2rad:pe}=q,{fireEvent:ue,isNumber:J,pick:te,relativeLength:X}=re;return(le=ve||(ve={})).getCenter=function(){let m,O,f,E=this.options,j=this.chart,F=2*(E.slicedOffset||0),P=j.plotWidth-2*F,D=j.plotHeight-2*F,A=E.center,I=Math.min(P,D),_=E.thickness,w=E.size,G=E.innerSize||0;"string"==typeof w&&(w=parseFloat(w)),"string"==typeof G&&(G=parseFloat(G));let a=[te(A[0],"50%"),te(A[1],"50%"),te(w&&w<0?void 0:E.size,"100%"),te(G&&G<0?void 0:E.innerSize||0,"0%")];for(!j.angular||this instanceof ne||(a[3]=0),O=0;O<4;++O)f=a[O],m=O<2||2===O&&/%$/.test(f),a[O]=X(f,[P,D,I,a[2]][O])+(m?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),ue(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(E,j){let F=J(E)?E:0,P=J(j)&&j>F&&j-F<360?j:F+360;return{start:pe*(F+-90),end:pe*(P+-90)}},ve}),Le(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re){let{setAnimation:ve}=q,{addEvent:le,defined:pe,extend:ue,isNumber:J,pick:te,relativeLength:X}=re;class E extends ne{getConnectorPath(F){let P=F.dataLabelPosition,D=F.options||{},A=D.connectorShape;return P&&(this.connectorShapes[A]||A).call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+F,P.r+F,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(F,P,D){super(F,P,D),this.half=0,this.name??(this.name="Slice");let A=I=>{this.slice("select"===I.type)};le(this,"select",A),le(this,"unselect",A)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,P=!0){F!==this.visible&&this.update({visible:F??!this.visible},P,void 0,!1)}slice(F,P,D){let A=this.series;ve(D,A.chart),P=te(P,!0),this.sliced=this.options.sliced=F=pe(F)?F:!this.sliced,A.options.data[A.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ue(E.prototype,{connectorShapes:{fixedOffset:function(j,F,P){let D=F.breakAt,A=F.touchingSliceAt;return[["M",j.x,j.y],P.softConnector?["C",j.x+("left"===j.alignment?-5:5),j.y,2*D.x-A.x,2*D.y-A.y,D.x,D.y]:["L",D.x,D.y],["L",A.x,A.y]]},straight:function(j,F){let P=F.touchingSliceAt;return[["M",j.x,j.y],["L",P.x,P.y]]},crookedLine:function(j,F,P){let{breakAt:D,touchingSliceAt:A}=F,{series:I}=this,[_,m,w]=I.center,G=w/2,{plotLeft:O,plotWidth:f}=I.chart,a="left"===j.alignment,{x:g,y:v}=j,o=D.x;if(P.crookDistance){let r=X(P.crookDistance,1);o=a?_+G+(f+O-_-G)*(1-r):O+(_-G)*r}else o=_+(m-v)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,v]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,v]),n.push(["L",D.x,D.y],["L",A.x,A.y]),n}}}),E}),Le(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Le(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{getStartAndEndRadians:X}=q,{noop:E}=re,{clamp:j,extend:F,fireEvent:P,merge:D,pick:A}=te;class I extends pe{animate(m){let w=this,O=w.startAngleRad;m||w.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:A(f.startR,w.center&&w.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},w.options.animation))})}drawEmpty(){let m,w,G=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(m=this.center[0],w=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(m,w,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(m,w,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let m=this.chart.renderer;this.points.forEach(function(w){w.graphic&&w.hasNewShapeType()&&(w.graphic=w.graphic.destroy()),w.graphic||(w.graphic=m[w.shapeType](w.shapeArgs).add(w.series.group),w.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(m,w,G,O){let f=this.center,a=this.radii?this.radii[G.index]||0:f[2]/2,g=O.dataLabelPosition,v=g?.distance||0,o=Math.asin(j((m-f[1])/(a+v),-1,1));return f[0]+Math.cos(o)*(a+v)*(w?-1:1)+(v>0?(w?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let m,w,G,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let v={};w=g.graphic,!g.isNull&&w?(O=g.shapeArgs,m=g.getTranslate(),a.styledMode||(G=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(w.setRadialReference(f.center).attr(O).attr(m),a.styledMode||w.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(w.setRadialReference(f.center),a.styledMode||D(!0,v,G),D(!0,v,O,m),w.animate(v)),w.attr({visibility:g.visible?"inherit":"hidden"}),w.addClass(g.getClassName(),!0)):w&&(g.graphic=w.destroy())})}sortByAngle(m,w){m.sort(function(G,O){return void 0!==G.angle&&(O.angle-G.angle)*w})}translate(m){P(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,w=this.options,G=w.slicedOffset,O=X(w.startAngle,w.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,v=w.ignoreHiddenPoint,o=g.length,T=0;for(m||(this.center=m=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*G),translateY:Math.round(Math.sin(l)*G)},d=Math.cos(l)*m[2]/2,C=Math.sin(l)*m[2]/2,p.tooltipPos=[m[0]+.7*d,m[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}P(this,"afterTranslate")}updateTotals(){let O,f,m=this.points,w=m.length,G=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!G)?f.y/a*100:0,f.total=a}}return I.defaultOptions=D(pe.defaultOptions,le),F(I.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ne.prototype.drawTracker,getCenter:q.getCenter,getSymbol:E,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ne.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:E,trackerGroups:["group","dataLabelsGroup"]}),ue.registerSeriesType("pie",I),I}),Le(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{composed:ue,noop:J}=ne,{distribute:te}=re,{series:X}=ve,{arrayMax:E,clamp:j,defined:F,pick:P,pushUnique:D,relativeLength:A}=le;return function(I){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,v,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?v:g,a.half,a,o)},justify:function(f,a,g,v){return v[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,v){let o=f.getBBox().width;return a?o+v:g-o-v},alignToConnectors:function(f,a,g,v){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+v:g-o-v}};function m(f,a){let{center:g,options:v}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((v.slicedOffset||0)+(v.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function w(){let B,z,K,f=this,a=f.points,g=f.chart,v=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],T=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),X.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((S,$)=>{let H=l[2]/2,x=S.options,N=A(x?.distance||0,H);0===$&&k[se.half].push(se),!F(x?.style?.width)&&S.getBBox().width>r&&(S.css({width:Math.round(.7*r)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,S)=>{let x,N,Z,H=[],R=0;se.length&&(f.sortByAngle(se,S-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.dataLabelPosition;ge&&ge.distance>0&&(ge.top=Math.max(0,C-d-ge.distance),ge.bottom=Math.min(C+d+ge.distance,g.plotHeight),R=he.getBBox().height||21,Y.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-ge.top+R/2,size:R,rank:Y.y},H.push(Y.distributeBox))})}),te(H,Z=N+R-x,Z/5)),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.options||{},_e=Y.distributeBox,Te=he.dataLabelPosition,Oe=Te?.natural.y||0,De=ge.connectorPadding||0,Be=0,oe=Oe,ee="inherit";if(Te){if(H&&F(_e)&&Te.distance>0&&(void 0===_e.pos?ee="hidden":(K=_e.size,oe=T.radialDistributionY(Y,he))),ge.justify)Be=T.justify(Y,he,d,l);else switch(ge.alignTo){case"connectors":Be=T.alignToConnectors(se,S,v,n);break;case"plotEdges":Be=T.alignToPlotEdges(he,S,v,n);break;default:Be=T.radialDistributionX(f,Y,oe,Oe,he)}if(Te.attribs={visibility:ee,align:Te.alignment},Te.posAttribs={x:Be+(ge.x||0)+({left:De,right:-De}[Te.alignment]||0),y:oe+(ge.y||0)-he.getBBox().height/2},Te.computed.x=Be,Te.computed.y=oe,P(ge.crop,!0)){let be;Be-(z=he.getBBox().width)v-De&&0===S&&(be=Math.round(Be+z-v+De),p[1]=Math.max(be,p[1])),oe-K/2<0?p[0]=Math.max(Math.round(K/2-oe),p[0]):oe+K/2>o&&(p[2]=Math.max(Math.round(oe+K/2-o),p[2])),Te.sideOverflow=be}}})}))}),(0===E(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(S=>{let{connectorColor:$,connectorWidth:H=1}=S.options||{},x=S.dataLabelPosition;if(H){let N;B=S.connector,x&&x.distance>0?(N=!B,B||(S.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||B.attr({"stroke-width":H,stroke:$||se.color||"#666666"}),B[N?"attr":"animate"]({d:se.getConnectorPath(S)}),B.attr({visibility:x.attribs?.visibility})):B&&(S.connector=B.destroy())}})})))}function G(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,v=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==v[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==v[1]?n=j(n,o,a[2]-Math.max(f[0],f[2])):(n=j(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(m.x>=_.x+_.width||m.x+m.width<=_.x||m.y>=_.y+_.height||m.y+m.height<=_.y),I=!1;for(let _=0;_(m.labelrank||0)-(_.labelrank||0));for(let _=0;_{ve(j,F=>{F.label&&X.push(F.label)})});for(let E of te.series||[])if(E.visible&&E.hasDataLabels?.()){let j=F=>{for(let P of F)P.visible&&(P.dataLabels||[]).forEach(D=>{let A=D.options||{};D.labelrank=le(A.labelrank,P.labelrank,P.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,ue(D,te)):X.push(D)})};j(E.nodes||[]),j(E.points)}this.hideOverlappingLabels(X)}return{compose:function(te){let X=te.prototype;X.hideOverlappingLabels||(X.hideOverlappingLabels=pe,ne(te,"render",J))}}}),Le(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defaultOptions:ve}=q,{noop:le}=ne,{addEvent:pe,extend:ue,isObject:J,merge:te,relativeLength:X}=re,E={radius:0,scope:"stack",where:void 0},j=le,F=le;function P(m,w,G,O,f={}){let a=j(m,w,G,O,f),{innerR:g=0,r:v=G,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min(X(f.borderRadius||0,v-g),(v-g)/2,v*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,T,B){let z,K,U,se=p[T],S=p[T+1];if("Z"===S[0]&&(S=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==S[0]?"A"===se[0]&&("M"===S[0]||"L"===S[0])&&(z=S,K=se):(z=se,K=S,U=!0),z&&K&&K.params){let $=K[1],H=K[5],x=K.params,{start:N,end:R,cx:Z,cy:Y}=x,he=H?$-B:$+B,ge=he?Math.asin(B/he):0,_e=H?ge:-ge,Te=Math.cos(ge)*he;U?(x.start=N+_e,z[1]=Z+Te*Math.cos(N),z[2]=Y+Te*Math.sin(N),p.splice(T+1,0,["A",B,B,0,0,1,Z+$*Math.cos(x.start),Y+$*Math.sin(x.start)])):(x.end=R-_e,K[6]=Z+$*Math.cos(x.end),K[7]=Y+$*Math.sin(x.end),p.splice(T+1,0,["A",B,B,0,0,1,Z+Te*Math.cos(R),Y+Te*Math.sin(R)])),K[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:m,yAxis:w}=this,G="percent"===m.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=A(m.borderRadius,J(O)?O:{}),a=w.options.reversed;for(let g of this.points){let{shapeArgs:v}=g;if("roundedRect"===g.shapeType&&v){let{width:o=0,height:n=0,y:r=0}=v,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let T=w.translate(G?100:g.stackTotal,!1,!0,!1,!0),B=w.translate(m.threshold||0,!1,!0,!1,!0),z=this.crispCol(0,Math.min(T,B),0,Math.abs(T-B));l=z.y,d=z.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min(X(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),ue(v,{brBoxHeight:d,brBoxY:l,r:p})}}}}function A(m,w){return J(m)||(m={radius:m||0}),te(E,w,m)}function I(){let m=A(this.options.borderRadius);for(let w of this.points){let G=w.shapeArgs;G&&(G.borderRadius=X(m.radius,(G.r||0)-(G.innerR||0)))}}function _(m,w,G,O,f={}){let a=F(m,w,G,O,f),{r:g=0,brBoxHeight:v=O,brBoxY:o=w}=f,n=w-o,r=o+v-(w+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[m+l,w],T=[m+G-l,w],B=[m+G,w+l],z=[m+G,w+O-d],K=[m+G-d,w+O],U=[m+d,w+O],se=[m,w+O-d],S=[m,w+l],$=(H,x)=>Math.sqrt(Math.pow(H,2)-Math.pow(x,2));if(C){let H=$(l,l-C);p[0]-=H,T[0]+=H,B[1]=S[1]=w+l-C}if(O=ue(P.minWidth,0)&&this.chartHeight>=ue(P.minHeight,0)}).call(this)&&F.push(j._id)}function E(j,F){let I,P=this.options.responsive,D=this.currentResponsive,A=[];!F&&P&&P.rules&&P.rules.forEach(w=>{void 0===w._id&&(w._id=J()),this.matchResponsiveRule(w,A)},this);let _=pe(...A.map(w=>le((P||{}).rules||[],G=>G._id===w)).map(w=>w&&w.chartOptions));_.isResponsiveOptions=!0,A=A.toString()||void 0,A!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,j,!0),A?((I=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:A,mergedOptions:_,undoOptions:I},this.update(_,j,!0)):this.currentResponsive=void 0)}te.compose=function(j){let F=j.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:X,setResponsive:E}),j}}(ne||(ne={})),ne}),Le(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P,D,A,I,_,m,w,G,O,f,a,g,v,o,n,r,l,d,C,k,p,T,B){return q.AST=pe,q.Axis=F,q.Chart=f,q.Color=T,q.DataLabel=d,q.Fx=ve,q.HTMLElement=j,q.Legend=G,q.LegendSymbol=O,q.OverlappingDataLabels=q.OverlappingDataLabels||C,q.PlotLineOrBand=A,q.Point=m,q.Pointer=w,q.RendererRegistry=J,q.Series=o,q.SeriesRegistry=n,q.StackItem=v,q.SVGElement=X,q.SVGRenderer=E,q.Templating=ue,q.Tick=I,q.Time=B,q.Tooltip=_,q.animate=le.animate,q.animObject=le.animObject,q.chart=f.chart,q.color=T.parse,q.dateFormat=ue.dateFormat,q.defaultOptions=re.defaultOptions,q.distribute=te.distribute,q.format=ue.format,q.getDeferredAnimation=le.getDeferredAnimation,q.getOptions=re.getOptions,q.numberFormat=ue.numberFormat,q.seriesType=n.seriesType,q.setAnimation=le.setAnimation,q.setOptions=re.setOptions,q.stop=le.stop,q.time=re.defaultTime,q.timers=ve.timers,k.compose(q.Series,q.SVGElement,q.SVGRenderer),r.compose(q.Series.types.column),d.compose(q.Series),P.compose(q.Axis),j.compose(q.SVGRenderer),G.compose(q.Chart),D.compose(q.Axis),C.compose(q.Chart),l.compose(q.Series.types.pie),A.compose(q.Axis),w.compose(q.Chart),p.compose(q.Chart),a.compose(q.Axis,q.Chart,q.Series),g.compose(q.Axis,q.Chart,q.Series),_.compose(q.Pointer),ne.extend(q,ne),q}),Le(V,"Series/DataModifyComposition.js",[V["Core/Axis/Axis.js"],V["Core/Series/Point.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{tooltipFormatter:pe}=ne.prototype,{addEvent:ue,arrayMax:J,arrayMin:te,correctFloat:X,defined:E,isArray:j,isNumber:F,isString:P,pick:D}=ve;return function(A){function I(o,n,r){!this.isXAxis&&(this.series.forEach(function(l){"compare"===o&&"boolean"!=typeof n?l.setCompare(n,!1):"cumulative"!==o||P(n)||l.setCumulative(n,!1)}),D(r,!0)&&this.chart.redraw())}function _(o){let n=this,{numberFormatter:r}=n.series.chart,l=function(d){o=o.replace("{point."+d+"}",(n[d]>0&&"change"===d?"+":"")+r(n[d],D(n.series.tooltipOptions.changeDecimals,2)))};return E(n.change)&&l("change"),E(n.cumulativeSum)&&l("cumulativeSum"),pe.apply(this,[o])}function m(){let o,n=this.options.compare;("percent"===n||"value"===n||this.options.cumulative)&&(o=new v(this),"percent"===n||"value"===n?o.initCompare(n):o.initCumulative()),this.dataModify=o}function w(o){let n=o.dataExtremes,r=n.activeYData;if(this.dataModify&&n){let l;this.options.compare?l=[this.dataModify.modifyValue(n.dataMin),this.dataModify.modifyValue(n.dataMax)]:this.options.cumulative&&j(r)&&r.length>=2&&(l=v.getCumulativeExtremes(r)),l&&(n.dataMin=te(l),n.dataMax=J(l))}}function G(o,n){this.options.compare=this.userOptions.compare=o,this.update({},D(n,!0)),!this.dataModify||"value"!==o&&"percent"!==o?this.points.forEach(r=>{delete r.change}):this.dataModify.initCompare(o)}function O(){if(this.xAxis&&this.processedYData&&this.dataModify){let C,o=this.processedXData,n=this.processedYData,r=n.length,l=!0===this.options.compareStart?0:1,d=-1;for(this.pointArrayMap&&(d=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),C=0;C-1?n[C][d]:n[C];if(F(k)&&0!==k&&o[C+l]>=(this.xAxis.min||0)){this.dataModify.compareValue=k;break}}}}function f(o,n){this.setModifier("compare",o,n)}function a(o,n){o=D(o,!1),this.options.cumulative=this.userOptions.cumulative=o,this.update({},D(n,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(r=>{delete r.cumulativeSum})}function g(o,n){this.setModifier("cumulative",o,n)}A.compose=function(o,n,r){let l=n.prototype,d=r.prototype,C=o.prototype;return C.setCompare||(C.setCompare=G,C.setCumulative=a,ue(o,"afterInit",m),ue(o,"afterGetExtremes",w),ue(o,"afterProcessData",O)),l.setCompare||(l.setCompare=f,l.setModifier=I,l.setCumulative=g,d.tooltipFormatter=_),o};class v{constructor(n){this.series=n}modifyValue(){return 0}static getCumulativeExtremes(n){let r=1/0,l=-1/0;return n.reduce((d,C)=>{let k=d+C;return r=Math.min(r,k,d),l=Math.max(l,k,d),k}),[r,l]}initCompare(n){this.modifyValue=function(r,l){null===r&&(r=0);let d=this.compareValue;if(void 0!==r&&void 0!==d){if("value"===n?r-=d:r=r/d*100-(100===this.series.options.compareBase?0:100),void 0!==l){let C=this.series.points[l];C&&(C.change=r)}return r}return 0}}initCumulative(){this.modifyValue=function(n,r){if(null===n&&(n=0),void 0!==n&&void 0!==r){let l=r>0?this.series.points[r-1]:null;l&&l.cumulativeSum&&(n=X(l.cumulativeSum+n));let d=this.series.points[r];return d&&(d.cumulativeSum=n),n}return 0}}}A.Additions=v}(le||(le={})),le}),Le(V,"Stock/Navigator/ChartNavigatorComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let re,{isTouchDevice:ve}=q,{addEvent:le,merge:pe,pick:ue}=ne,J=[];function te(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function X(){let A,I,_,m=this.legend,w=this.navigator;if(w){A=m&&m.options,I=w.xAxis,_=w.yAxis;let{scrollbarHeight:G,scrollButtonSize:O}=w;this.inverted?(w.left=w.opposite?this.chartWidth-G-w.height:this.spacing[3]+G,w.top=this.plotTop+O):(w.left=ue(I.left,this.plotLeft+O),w.top=w.navigatorOptions.top||this.chartHeight-w.height-G-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(A&&"bottom"===A.verticalAlign&&"proximate"!==A.layout&&A.enabled&&!A.floating?m.legendHeight+ue(A.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),I&&_&&(this.inverted?I.options.left=_.options.left=w.left:I.options.top=_.options.top=w.top,I.setAxisSize(),_.setAxisSize())}}function E(A){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this),ue(A.redraw,!0)&&this.redraw(A.animation))}function j(){let A=this.options;(A.navigator.enabled||A.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this))}function F(){let A=this.options,I=A.navigator,_=A.rangeSelector;if((I&&I.enabled||_&&_.enabled)&&(!ve&&"x"===this.zooming.type||ve&&"x"===this.zooming.pinchType))return!1}function P(A){let I=A.navigator;if(I&&A.xAxis[0]){let _=A.xAxis[0].getExtremes();I.render(_.min,_.max)}}function D(A){let I=A.options.navigator||{},_=A.options.scrollbar||{};!this.navigator&&!this.scroller&&(I.enabled||_.enabled)&&(pe(!0,this.options.navigator,I),pe(!0,this.options.scrollbar,_),delete A.options.navigator,delete A.options.scrollbar)}return{compose:function(A,I){ne.pushUnique(J,A)&&(re=I,A.prototype.callbacks.push(P),le(A,"afterAddSeries",te),le(A,"afterSetChartSize",X),le(A,"afterUpdate",E),le(A,"beforeRender",j),le(A,"beforeShowResetZoom",F),le(A,"update",D))}}}),Le(V,"Core/Axis/NavigatorAxisComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isTouchDevice:re}=q,{addEvent:ve,correctFloat:le,defined:pe,isNumber:ue,pick:J}=ne;function te(){this.navigatorAxis||(this.navigatorAxis=new E(this))}function X(j){let F,P=this.chart,D=P.options,A=D.navigator,I=this.navigatorAxis,_=P.zooming.pinchType,m=D.rangeSelector,w=P.zooming.type;if(this.isXAxis&&(A?.enabled||m?.enabled))if("y"===w&&"zoom"===j.trigger)F=!1;else if(("zoom"===j.trigger&&"xy"===w||re&&"xy"===_)&&this.options.range){let G=I.previousZoom;pe(j.min)?I.previousZoom=[this.min,this.max]:G&&(j.min=G[0],j.max=G[1],I.previousZoom=void 0)}void 0!==F&&j.preventDefault()}class E{static compose(F){F.keepProps.includes("navigatorAxis")||(F.keepProps.push("navigatorAxis"),ve(F,"init",te),ve(F,"setExtremes",X))}constructor(F){this.axis=F}destroy(){this.axis=void 0}toFixedRange(F,P,D,A){let I=this.axis,_=I.chart,m=J(I.ordinal?.convertOverscroll(I.options.overscroll),0),w=J(D,I.translate(F,!0,!I.horiz)),G=J(A,I.translate(P,!0,!I.horiz)),O=_&&_.fixedRange,f=(I.pointRange||0)/2;if(pe(D)||(w=le(w+f)),pe(A)||(G=le(G-f)),O&&I.dataMin&&I.dataMax){let a=I.dataMax+m;G>=a&&(w=le(a-O),G=le(a)),w<=I.dataMin&&(G=le(I.dataMin+O))}return ue(w)&&ue(G)||(w=G=void 0),{min:w,max:G}}}return E}),Le(V,"Stock/Navigator/NavigatorDefaults.js",[V["Core/Color/Color.js"],V["Core/Series/SeriesRegistry.js"]],function(q,ne){let{parse:re}=q,{seriesTypes:ve}=ne;return{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:re("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===ve.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),Le(V,"Stock/Navigator/NavigatorSymbols.js",[],function(){return{"navigator-handle":function(q,ne,re,ve,le={}){let pe=le.width?le.width/2:re,ue=Math.round(pe/3)+.5;return[["M",-pe-1,.5],["L",pe,.5],["L",pe,(ve=le.height||ve)+.5],["L",-pe-1,ve+.5],["L",-pe-1,.5],["M",-ue,4],["L",-ue,ve-3],["M",ue-1,4],["L",ue-1,ve-3]]}}}),Le(V,"Stock/Utilities/StockUtilities.js",[V["Core/Utilities.js"]],function(q){let{defined:ne}=q;return{setFixedRange:function(re){let ve=this.xAxis[0];this.fixedRange=ne(ve.dataMax)&&ne(ve.dataMin)&&re?Math.min(re,ve.dataMax-ve.dataMin):re}}}),Le(V,"Stock/Navigator/NavigatorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorDefaults.js"],V["Stock/Navigator/NavigatorSymbols.js"],V["Core/Renderer/RendererRegistry.js"],V["Stock/Utilities/StockUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{setOptions:te}=q,{composed:X}=ne,{getRendererType:E}=pe,{setFixedRange:j}=ue,{addEvent:F,extend:P,pushUnique:D}=J;function A(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(I,_,m){re.compose(_),D(X,"Navigator")&&(I.prototype.setFixedRange=j,P(E().prototype.symbols,le),F(m,"afterUpdate",A),te({navigator:ve}))}}}),Le(V,"Core/Axis/ScrollbarAxis.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{composed:ve}=q,{addEvent:le,defined:pe,pick:ue,pushUnique:J}=ne;return function(te){let X;function E(D){let A=ue(D.options&&D.options.min,D.min),I=ue(D.options&&D.options.max,D.max);return{axisMin:A,axisMax:I,scrollMin:pe(D.dataMin)?Math.min(A,D.min,D.dataMin,ue(D.threshold,1/0)):A,scrollMax:pe(D.dataMax)?Math.max(I,D.max,D.dataMax,ue(D.threshold,-1/0)):I}}function j(){let D=this.scrollbar,I=this.horiz?2:D&&!D.options.opposite?3:1;D&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[I]+=D.size+(D.options.margin||0))}function F(){let D=this;D.options&&D.options.scrollbar&&D.options.scrollbar.enabled&&(D.options.scrollbar.vertical=!D.horiz,D.options.startOnTick=D.options.endOnTick=!1,D.scrollbar=new X(D.chart.renderer,D.options.scrollbar,D.chart),le(D.scrollbar,"changed",function(A){let I,_,{axisMin:m,axisMax:w,scrollMin:G,scrollMax:O}=E(D),f=O-G;pe(m)&&pe(w)&&(D.horiz&&!D.reversed||!D.horiz&&D.reversed?(I=G+f*this.to,_=G+f*this.from):(I=G+f*(1-this.from),_=G+f*(1-this.to)),this.shouldUpdateExtremes(A.DOMType)?D.setExtremes(_,I,!0,"mousemove"!==A.DOMType&&"touchmove"!==A.DOMType&&void 0,A):this.setRange(this.from,this.to))}))}function P(){let D,A,I,{scrollMin:_,scrollMax:m}=E(this),w=this.scrollbar,G=this.axisTitleMargin+(this.titleOffset||0),O=this.chart.scrollbarsOffsets,f=this.options.margin||0;if(w&&O){if(this.horiz)this.opposite||(O[1]+=G),w.position(this.left,this.top+this.height+2+O[1]-(this.opposite?f:0),this.width,this.height),this.opposite||(O[1]+=f),D=1;else{let a;this.opposite&&(O[0]+=G),a=w.options.opposite?this.left+this.width+2+O[0]-(this.opposite?0:f):this.opposite?0:f,w.position(a,this.top,this.width,this.height),this.opposite&&(O[0]+=f),D=0}O[D]+=w.size+(w.options.margin||0),isNaN(_)||isNaN(m)||!pe(this.min)||!pe(this.max)||this.min===this.max?w.setRange(0,1):(A=(this.min-_)/(m-_),I=(this.max-_)/(m-_),this.horiz&&!this.reversed||!this.horiz&&this.reversed?w.setRange(A,I):w.setRange(1-I,1-A))}}te.compose=function(D,A){J(ve,"Axis.Scrollbar")&&(X=A,le(D,"afterGetOffset",j),le(D,"afterInit",F),le(D,"afterRender",P))}}(re||(re={})),re}),Le(V,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),Le(V,"Stock/Scrollbar/Scrollbar.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/ScrollbarAxis.js"],V["Stock/Scrollbar/ScrollbarDefaults.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{defaultOptions:pe}=q,{addEvent:ue,correctFloat:J,defined:te,destroyObjectProperties:X,fireEvent:E,merge:j,pick:F,removeEvent:P}=le;class D{static compose(I){re.compose(I,D)}static swapXY(I,_){return _&&I.forEach(m=>{let w,G=m.length;for(let O=0;Othis.calculatedWidth?_.minWidth:0;return{chartX:(I.chartX-this.x-this.xOffset)/(this.barWidth-m),chartY:(I.chartY-this.y-this.yOffset)/(this.barWidth-m)}}destroy(){let I=this,_=I.chart.scroller;I.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(m){I[m]&&I[m].destroy&&(I[m]=I[m].destroy())}),_&&I===_.scrollbar&&(_.scrollbar=null,X(_.scrollbarButtons))}drawScrollbarButton(I){let _=this.renderer,m=this.scrollbarButtons,w=this.options,G=this.size,O=_.g().add(this.group);if(m.push(O),w.buttonsEnabled){let f=_.rect().addClass("highcharts-scrollbar-button").add(O);this.chart.styledMode||f.attr({stroke:w.buttonBorderColor,"stroke-width":w.buttonBorderWidth,fill:w.buttonBackgroundColor}),f.attr(f.crisp({x:-.5,y:-.5,width:G+1,height:G+1,r:w.buttonBorderRadius},f.strokeWidth()));let a=_.path(D.swapXY([["M",G/2+(I?-1:1),G/2-3],["L",G/2+(I?-1:1),G/2+3],["L",G/2+(I?2:-2),G/2]],w.vertical)).addClass("highcharts-scrollbar-arrow").add(m[I]);this.chart.styledMode||a.attr({fill:w.buttonArrowColor})}}init(I,_,m){this.scrollbarButtons=[],this.renderer=I,this.userOptions=_,this.options=j(ve,pe.scrollbar,_),this.options.margin=F(this.options.margin,10),this.chart=m,this.size=F(this.options.size,this.options.height),_.enabled&&(this.render(),this.addEvents())}mouseDownHandler(I){let _=this.chart.pointer?.normalize(I)||I,m=this.cursorToScrollbarPosition(_);this.chartX=m.chartX,this.chartY=m.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(I){let _,m=this.chart.pointer?.normalize(I)||I,w=this.options.vertical?"chartY":"chartX",G=this.initPositions||[];this.grabbedCenter&&(!I.touches||0!==I.touches[0][w])&&(_=this.cursorToScrollbarPosition(m)[w]-this[w],this.hasDragged=!0,this.updatePosition(G[0]+_,G[1]+_),this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:I.type,DOMEvent:I}))}mouseUpHandler(I){this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:I.type,DOMEvent:I}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(I,_,m,w){let{buttonsEnabled:G,margin:O=0,vertical:f}=this.options,a=this.rendered?"animate":"attr",g=w,v=0;this.group.show(),this.x=I,this.y=_+this.trackBorderWidth,this.width=m,this.height=w,this.xOffset=g,this.yOffset=v,f?(this.width=this.yOffset=m=v=this.size,this.xOffset=g=0,this.yOffset=v=G?this.size:0,this.barWidth=w-(G?2*m:0),this.x=I+=O):(this.height=w=this.size,this.xOffset=g=G?this.size:0,this.barWidth=m-(G?2*w:0),this.y=this.y+O),this.group[a]({translateX:I,translateY:this.y}),this.track[a]({width:m,height:w}),this.scrollbarButtons[1][a]({translateX:f?0:m-g,translateY:f?w-v:0})}removeEvents(){this._events.forEach(function(I){P.apply(null,I)}),this._events.length=0}render(){let I=this.renderer,_=this.options,m=this.size,w=this.chart.styledMode,G=I.g("scrollbar").attr({zIndex:_.zIndex}).hide().add();this.group=G,this.track=I.rect().addClass("highcharts-scrollbar-track").attr({r:_.trackBorderRadius||0,height:m,width:m}).add(G),w||this.track.attr({fill:_.trackBackgroundColor,stroke:_.trackBorderColor,"stroke-width":_.trackBorderWidth});let O=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-O%2/2,y:-O%2/2}),this.scrollbarGroup=I.g().add(G),this.scrollbar=I.rect().addClass("highcharts-scrollbar-thumb").attr({height:m-O,width:m-O,r:_.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=I.path(D.swapXY([["M",-3,m/4],["L",-3,2*m/3],["M",0,m/4],["L",0,2*m/3],["M",3,m/4],["L",3,2*m/3]],_.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),w||(this.scrollbar.attr({fill:_.barBackgroundColor,stroke:_.barBorderColor,"stroke-width":_.barBorderWidth}),this.scrollbarRifles.attr({stroke:_.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(I,_){let m,w,G=this.options,O=G.vertical,f=G.minWidth,a=this.barWidth,g=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!te(a))return;let v=a*Math.min(_,1);m=Math.ceil(a*(I=Math.max(I,0))),this.calculatedWidth=w=J(v-m),w=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(I){return F(this.options.liveRedraw,ne.svg&&!ne.isTouchDevice&&!this.chart.boosted)||"mouseup"===I||"touchend"===I||!te(I)}trackClick(I){let _=this.chart.pointer?.normalize(I)||I,m=this.to-this.from;this.options.vertical&&_.chartY>this.y+this.scrollbarTop||!this.options.vertical&&_.chartX>this.x+this.scrollbarLeft?this.updatePosition(this.from+m,this.to+m):this.updatePosition(this.from-m,this.to-m),E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:I})}update(I){this.destroy(),this.init(this.chart.renderer,j(!0,this.options,I),this.chart)}updatePosition(I,_){_>1&&(I=J(1-J(_-I)),_=1),I<0&&(_=J(_-I),I=0),this.from=I,this.to=_}}return D.defaultOptions=ve,pe.scrollbar=j(!0,D.defaultOptions,pe.scrollbar),D}),Le(V,"Stock/Navigator/Navigator.js",[V["Core/Axis/Axis.js"],V["Stock/Navigator/ChartNavigatorComposition.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorComposition.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{defaultOptions:te}=re,{isTouchDevice:X}=ve,{addEvent:E,clamp:j,correctFloat:F,defined:P,destroyObjectProperties:D,erase:A,extend:I,find:_,fireEvent:m,isArray:w,isNumber:G,merge:O,pick:f,removeEvent:a,splat:g}=J;function v(n,...r){let l=[].filter.call(r,G);if(l.length)return Math[n].apply(0,l)}class o{static compose(r,l,d){ne.compose(r,o),pe.compose(r,l,d)}constructor(r){this.scrollbarHeight=0,this.init(r)}drawHandle(r,l,d,C){let k=this.navigatorOptions.handles.height;this.handles[l][C](d?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(r,10)+.5-k)}:{translateX:Math.round(this.left+parseInt(r,10)),translateY:Math.round(this.top+this.height/2-k/2-1)})}drawOutline(r,l,d,C){let x,N,k=this.navigatorOptions.maskInside,p=this.outline.strokeWidth(),T=p/2,B=p%2/2,z=this.scrollButtonSize,K=this.size,U=this.top,se=this.height,S=U-T,$=U+se,H=this.left;d?(x=U+l+B,N=[["M",H+se,U-z-B],["L",H+se,x],["L",H,x],["M",H,l=U+r+B],["L",H+se,l],["L",H+se,U+K+z]],k&&N.push(["M",H+se,x-T],["L",H+se,l+T])):(H-=z,N=[["M",H,S],["L",r+=H+z-B,S],["L",r,$],["M",l+=H+z-B,$],["L",l,S],["L",H+K+2*z,U+T]],k&&N.push(["M",r-T,S],["L",l+T,S])),this.outline[C]({d:N})}drawMasks(r,l,d,C){let k,p,T,B,z=this.left,K=this.top,U=this.height;d?(T=[z,z,z],B=[K,K+r,K+l],p=[U,U,U],k=[r,l-r,this.size-l]):(T=[z,z+r,z+l],B=[K,K,K],p=[r,l-r,this.size-l],k=[U,U,U]),this.shades.forEach((se,S)=>{se[C]({x:T[S],y:B[S],width:p[S],height:k[S]})})}renderElements(){let r=this,l=r.navigatorOptions,d=l.maskInside,C=r.chart,p=C.renderer,T={cursor:C.inverted?"ns-resize":"ew-resize"},B=r.navigatorGroup=p.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();if([!d,d,!d].forEach((z,K)=>{let U=p.rect().addClass("highcharts-navigator-mask"+(1===K?"-inside":"-outside")).add(B);C.styledMode||(U.attr({fill:z?l.maskFill:"rgba(0,0,0,0)"}),1===K&&U.css(T)),r.shades[K]=U}),r.outline=p.path().addClass("highcharts-navigator-outline").add(B),C.styledMode||r.outline.attr({"stroke-width":l.outlineWidth,stroke:l.outlineColor}),l.handles&&l.handles.enabled){let z=l.handles,{height:K,width:U}=z;[0,1].forEach(se=>{r.handles[se]=p.symbol(z.symbols[se],-U/2-1,0,U,K,z),C.inverted&&r.handles[se].attr({rotation:90,rotationOriginX:Math.floor(-U/2),rotationOriginY:(K+U)/2}),r.handles[se].attr({zIndex:7-se}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][se]).add(B),C.styledMode||r.handles[se].attr({fill:z.backgroundColor,stroke:z.borderColor,"stroke-width":z.lineWidth}).css(T)})}}update(r){(this.series||[]).forEach(l=>{l.baseSeries&&delete l.baseSeries.navigatorSeries}),this.destroy(),O(!0,this.chart.options.navigator,r),this.init(this.chart)}render(r,l,d,C){let H,x,N,Z,Y,k=this.chart,p=this.xAxis,T=p.pointRange||0,B=p.navigatorAxis.fake?k.xAxis[0]:p,z=this.navigatorEnabled,K=this.rendered,U=k.inverted,se=k.xAxis[0].minRange,S=k.xAxis[0].options.maxRange,$=this.scrollButtonSize,R=this.scrollbarHeight;if(this.hasDragged&&!P(d))return;if(r=F(r-T/2),l=F(l+T/2),!G(r)||!G(l)){if(!K)return;d=0,C=f(p.width,B.width)}this.left=f(p.left,k.plotLeft+$+(U?k.plotWidth:0));let he=this.size=Z=f(p.len,(U?k.plotHeight:k.plotWidth)-2*$);H=U?R:Z+2*$,d=f(d,p.toPixels(r,!0)),C=f(C,p.toPixels(l,!0)),G(d)&&Math.abs(d)!==1/0||(d=0,C=H);let ge=p.toValue(d,!0),_e=p.toValue(C,!0),Te=Math.abs(F(_e-ge));TeS&&(this.grabbedLeft?d=p.toPixels(_e-S-T,!0):this.grabbedRight&&(C=p.toPixels(ge+S+T,!0))),this.zoomedMax=j(Math.max(d,C),0,he),this.zoomedMin=j(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,C),0,he),this.range=this.zoomedMax-this.zoomedMin,he=Math.round(this.zoomedMax);let Oe=Math.round(this.zoomedMin);z&&(this.navigatorGroup.attr({visibility:"inherit"}),Y=K&&!this.hasDragged?"animate":"attr",this.drawMasks(Oe,he,U,Y),this.drawOutline(Oe,he,U,Y),this.navigatorOptions.handles.enabled&&(this.drawHandle(Oe,0,U,Y),this.drawHandle(he,1,U,Y))),this.scrollbar&&(U?(N=this.top-$,x=this.left-R+(z||!B.opposite?0:(B.titleOffset||0)+B.axisTitleMargin),R=Z+2*$):(N=this.top+(z?this.height:-R),x=this.left-$),this.scrollbar.position(x,N,H,R),this.scrollbar.setRange(this.zoomedMin/(Z||1),this.zoomedMax/(Z||1))),this.rendered=!0,m(this,"afterRender")}addMouseEvents(){let k,p,r=this,l=r.chart,d=l.container,C=[];r.mouseMoveHandler=k=function(T){r.onMouseMove(T)},r.mouseUpHandler=p=function(T){r.onMouseUp(T)},(C=r.getPartsEvents("mousedown")).push(E(l.renderTo,"mousemove",k),E(d.ownerDocument,"mouseup",p),E(l.renderTo,"touchmove",k),E(d.ownerDocument,"touchend",p)),C.concat(r.getPartsEvents("touchstart")),r.eventsToUnbind=C,r.series&&r.series[0]&&C.push(E(r.series[0].xAxis,"foundExtremes",function(){l.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(r){let l=this,d=[];return["shades","handles"].forEach(function(C){l[C].forEach(function(k,p){d.push(E(k.element,r,function(T){l[C+"Mousedown"](T,p)}))})}),d}shadesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let K,U,se,S,C=this.xAxis,k=this.zoomedMin,p=this.size,T=this.range,B=this.left,z=r.chartX;this.chart.inverted&&(z=r.chartY,B=this.top),1===l?(this.grabbedCenter=z,this.fixedWidth=T,this.dragOffset=z-k):(S=z-B-T/2,0===l?S=Math.max(0,S):2===l&&S+T>=p&&(S=p-T,this.reversedExtremes?(S-=T,U=this.getUnionExtremes().dataMin):K=this.getUnionExtremes().dataMax),S!==k&&(this.fixedWidth=T,P((se=C.navigatorAxis.toFixedRange(S,S+T,U,K)).min)&&m(this,"setRange",{min:Math.min(se.min,se.max),max:Math.max(se.min,se.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let d=this.chart,C=d.xAxis[0],k=this.reversedExtremes;0===l?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=k?C.min:C.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=k?C.max:C.min),d.setFixedRange(void 0)}onMouseMove(r){let z,l=this,d=l.chart,C=l.navigatorSize,k=l.range,p=l.dragOffset,T=d.inverted,B=l.left;(!r.touches||0!==r.touches[0].pageX)&&(z=(r=d.pointer?.normalize(r)||r).chartX,T&&(B=l.top,z=r.chartY),l.grabbedLeft?(l.hasDragged=!0,l.render(0,0,z-B,l.otherHandlePos)):l.grabbedRight?(l.hasDragged=!0,l.render(0,0,l.otherHandlePos,z-B)):l.grabbedCenter&&(l.hasDragged=!0,zC+p-k&&(z=C+p-k),l.render(0,0,z-p,z-p+k)),l.hasDragged&&l.scrollbar&&f(l.scrollbar.options.liveRedraw,!X&&!this.chart.boosted)&&(r.DOMType=r.type,setTimeout(function(){l.onMouseUp(r)},0)))}onMouseUp(r){let l,d,C,k,p,T,z=this.xAxis,K=this.scrollbar,U=r.DOMEvent||r,se=this.chart.inverted,S=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!K||!K.hasDragged)||"scrollbar"===r.trigger)&&(C=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?k=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(p=this.fixedExtreme),this.zoomedMax===this.size&&(p=this.reversedExtremes?C.dataMin:C.dataMax),0===this.zoomedMin&&(k=this.reversedExtremes?C.dataMax:C.dataMin),P((T=z.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,k,p)).min)&&m(this,"setRange",{min:Math.min(T.min,T.max),max:Math.max(T.min,T.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:U}})),"mousemove"!==r.DOMType&&"touchmove"!==r.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&G(this.zoomedMin)&&G(this.zoomedMax)&&(d=Math.round(this.zoomedMin),l=Math.round(this.zoomedMax),this.shades&&this.drawMasks(d,l,se,S),this.outline&&this.drawOutline(d,l,se,S),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(d,0,se,S),this.drawHandle(l,1,se,S)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(r){r()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let r=this.baseSeries||[];this.navigatorEnabled&&r[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&r.forEach(function(l){a(l,"updatedData",this.updatedDataHandler)},this),r[0].xAxis&&a(r[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(r){let l=r.options,d=l.navigator||{},C=d.enabled,k=l.scrollbar||{},p=k.enabled,T=C&&d.height||0,B=p&&k.height||0,z=k.buttonsEnabled&&B||0;this.handles=[],this.shades=[],this.chart=r,this.setBaseSeries(),this.height=T,this.scrollbarHeight=B,this.scrollButtonSize=z,this.scrollbarEnabled=p,this.navigatorEnabled=C,this.navigatorOptions=d,this.scrollbarOptions=k,this.opposite=f(d.opposite,!(C||!r.inverted));let K=this,U=K.baseSeries,se=r.xAxis.length,S=r.yAxis.length,$=U&&U[0]&&U[0].xAxis||r.xAxis[0]||{options:{}};if(r.isDirtyBox=!0,K.navigatorEnabled?(K.xAxis=new q(r,O({breaks:$.options.breaks,ordinal:$.options.ordinal,overscroll:$.options.overscroll},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:se,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},r.inverted?{offsets:[z,0,-z,0],width:T}:{offsets:[0,-z,0,z],height:T}),"xAxis"),K.yAxis=new q(r,O(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:S,isInternal:!0,reversed:f(d.yAxis&&d.yAxis.reversed,r.yAxis[0]&&r.yAxis[0].reversed,!1),zoomEnabled:!1},r.inverted?{width:T}:{height:T}),"yAxis"),U||d.series.data?K.updateNavigatorSeries(!1):0===r.series.length&&(K.unbindRedraw=E(r,"beforeRedraw",function(){r.series.length>0&&!K.series&&(K.setBaseSeries(),K.unbindRedraw())})),K.reversedExtremes=r.inverted&&!K.xAxis.reversed||!r.inverted&&K.xAxis.reversed,K.renderElements(),K.addMouseEvents()):(K.xAxis={chart:r,navigatorAxis:{fake:!0},translate:function(H,x){let N=r.xAxis[0],R=N.getExtremes(),Z=N.len-2*z,Y=v("min",N.options.min,R.dataMin),he=v("max",N.options.max,R.dataMax)-Y;return x?H*he/Z+Y:Z*(H-Y)/he},toPixels:function(H){return this.translate(H)},toValue:function(H){return this.translate(H,!0)}},K.xAxis.navigatorAxis.axis=K.xAxis,K.xAxis.navigatorAxis.toFixedRange=le.prototype.toFixedRange.bind(K.xAxis.navigatorAxis)),r.options.scrollbar.enabled){let H=O(r.options.scrollbar,{vertical:r.inverted});!G(H.margin)&&K.navigatorEnabled&&(H.margin=r.inverted?-3:3),r.scrollbar=K.scrollbar=new ue(r.renderer,H,r),E(K.scrollbar,"changed",function(x){let N=K.size,R=N*this.to,Z=N*this.from;K.hasDragged=K.scrollbar.hasDragged,K.render(0,0,Z,R),this.shouldUpdateExtremes(x.DOMType)&&setTimeout(function(){K.onMouseUp(x)})})}K.addBaseSeriesEvents(),K.addChartEvents()}getUnionExtremes(r){let l,d=this.chart.xAxis[0],C=this.xAxis,k=C.options,p=d.options;return r&&null===d.dataMin||(l={dataMin:f(k&&k.min,v("min",p.min,d.dataMin,C.dataMin,C.min)),dataMax:f(k&&k.max,v("max",p.max,d.dataMax,C.dataMax,C.max))}),l}setBaseSeries(r,l){let d=this.chart,C=this.baseSeries=[];r=r||d.options&&d.options.navigator.baseSeries||(d.series.length?_(d.series,k=>!k.options.isInternal).index:0),(d.series||[]).forEach((k,p)=>{!k.options.isInternal&&(k.options.showInNavigator||(p===r||k.options.id===r)&&!1!==k.options.showInNavigator)&&C.push(k)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,l)}updateNavigatorSeries(r,l){let B,z,U,d=this,C=d.chart,k=d.baseSeries,p={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},T=d.series=(d.series||[]).filter(se=>{let S=se.baseSeries;return!(0>k.indexOf(S)&&(S&&(a(S,"updatedData",d.updatedDataHandler),delete S.navigatorSeries),se.chart&&se.destroy(),1))}),K=d.navigatorOptions.series;k&&k.length&&k.forEach(se=>{let S=se.navigatorSeries,$=I({color:se.color,visible:se.visible},w(K)?te.navigator.series:K);if(S&&!1===d.navigatorOptions.adaptToUpdatedData)return;p.name="Navigator "+k.length,U=(B=se.options||{}).navigatorOptions||{},$.dataLabels=g($.dataLabels),(z=O(B,p,$,U)).pointRange=f($.pointRange,U.pointRange,te.plotOptions[z.type||"line"].pointRange);let H=U.data||$.data;d.hasNavigatorData=d.hasNavigatorData||!!H,z.data=H||B.data&&B.data.slice(0),S&&S.options?S.update(z,l):(se.navigatorSeries=C.initSeries(z),C.setSortedData(),se.navigatorSeries.baseSeries=se,T.push(se.navigatorSeries))}),(K.data&&!(k&&k.length)||w(K))&&(d.hasNavigatorData=!1,(K=g(K)).forEach((se,S)=>{p.name="Navigator "+(T.length+1),(z=O(te.navigator.series,{color:C.series[S]&&!C.series[S].options.isInternal&&C.series[S].color||C.options.colors[S]||C.options.colors[0]},p,se)).data=se.data,z.data&&(d.hasNavigatorData=!0,T.push(C.initSeries(z)))})),r&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let r=this,l=r.baseSeries||[];l[0]&&l[0].xAxis&&l[0].eventsToUnbind.push(E(l[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),l.forEach(d=>{d.eventsToUnbind.push(E(d,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),d.eventsToUnbind.push(E(d,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&d.xAxis&&d.eventsToUnbind.push(E(d,"updatedData",this.updatedDataHandler)),d.eventsToUnbind.push(E(d,"remove",function(){this.navigatorSeries&&(A(r.series,this.navigatorSeries),P(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(r){return this.baseSeries.reduce(function(l,d){return Math.min(l,d.xData&&d.xData.length?d.xData[0]:l)},r)}modifyNavigatorAxisExtremes(){let r=this.xAxis;if(void 0!==r.getExtremes){let l=this.getUnionExtremes(!0);l&&(l.dataMin!==r.min||l.dataMax!==r.max)&&(r.min=l.dataMin,r.max=l.dataMax)}}modifyBaseAxisExtremes(){let r,l,d=this.chart.navigator,C=this.getExtremes(),T=C.dataMin,B=C.dataMax,z=C.max-C.min,K=d.stickToMin,U=d.stickToMax,se=f(this.ordinal?.convertOverscroll(this.options.overscroll),0),S=d.series&&d.series[0],$=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(K&&(r=(l=T)+z),U&&(r=B+se,K||(l=Math.max(T,r-z,d.getBaseSeriesMin(S&&S.xData?S.xData[0]:-Number.MAX_VALUE)))),$&&(K||U)&&G(l)&&(this.min=this.userMin=l,this.max=this.userMax=r)),d.stickToMin=d.stickToMax=null}updatedDataHandler(){let r=this.chart.navigator,l=this.navigatorSeries,d=r.reversedExtremes?0===Math.round(r.zoomedMin):Math.round(r.zoomedMax)>=Math.round(r.size);r.stickToMax=f(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,d),r.stickToMin=r.shouldStickToMin(this,r),l&&!r.hasNavigatorData&&(l.options.pointStart=this.xData[0],l.setData(this.options.data,!1,null,!1))}shouldStickToMin(r,l){let d=l.getBaseSeriesMin(r.xData[0]),C=r.xAxis,k=C.max,p=C.min,T=C.options.range;return!(!G(k)||!G(p))&&(T&&k-d>0?k-d{r.destroy&&r.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(r=>{this[r]&&this[r].destroy&&this[r].destroy(),this[r]=null}),[this.handles].forEach(r=>{D(r)})}}return o}),Le(V,"Core/Axis/OrdinalAxis.js",[V["Core/Axis/Axis.js"],V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{addEvent:pe,correctFloat:ue,css:J,defined:te,error:X,isNumber:E,pick:j,timeUnits:F,isString:P}=ve;return function(D){function A(n,r,l,d,C=[],k=0,p){let U,se,S,$,H,T={},B=this.options.tickPixelInterval,z=this.chart.time,K=[],x=0,N=[],R=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!C||C.length<3||void 0===r)return z.getTimeTicks.apply(z,arguments);let Z=C.length;for(U=0;Ul,C[U]5*k||H){if(C[U]>R){for(se=z.getTimeTicks(n,C[x],C[U],d);se.length&&se[0]<=R;)se.shift();se.length&&(R=se[se.length-1]),K.push(N.length),N=N.concat(se)}x=U+1}if(H)break}if(se){if($=se.info,p&&$.unitRange<=F.hour){for(x=1,U=N.length-1;xl?Y-1:Y,Oe=void 0;oe--;)Be=Math.abs(Oe-(Te=he[oe])),Oe&&Be<.8*B&&(null===De||Be<.8*De)?(T[N[oe]]&&!T[N[oe+1]]?(_e=oe+1,Oe=Te):_e=oe,N.splice(_e,1)):Oe=Te}return N}function I(n){let r=this.ordinal.positions;if(!r)return n;let d,l=r.length-1;return n<0?n=r[0]:n>l?n=r[l]:(l=Math.floor(n),d=n-l),void 0!==d&&void 0!==r[l]?r[l]+(d?d*(r[l+1]-r[l]):0):n}function _(n){let r=this.ordinal,l=this.old?this.old.min:this.min,d=this.old?this.old.transA:this.transA,C=r.getExtendedPositions();if(C&&C.length){let k=ue((n-l)*d+this.minPixelPadding),p=ue(r.getIndexOfPoint(k,C)),T=ue(p%1);if(p>=0&&p<=C.length-1){let B=C[Math.floor(p)],z=C[Math.ceil(p)];return C[Math.floor(p)]+T*(z-B)}}return n}function m(n,r){let l=D.Additions.findIndexOf(n,r,!0);return n[l]===r?l:l+(r-n[l])/(n[l+1]-n[l])}function w(){this.ordinal||(this.ordinal=new D.Additions(this))}function G(){let{eventArgs:n,options:r}=this;if(this.isXAxis&&te(r.overscroll)&&0!==r.overscroll&&E(this.max)&&E(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==n?.trigger||this.isInternal)&&"navigator"!==n?.trigger)){let l=this.ordinal.convertOverscroll(r.overscroll);this.max+=l,!this.isInternal&&te(this.userMin)&&"mousewheel"!==n?.trigger&&(this.min+=l)}}function O(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function f(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function a(n){let r=this.xAxis[0],l=r.ordinal.convertOverscroll(r.options.overscroll),d=n.originalEvent.chartX,C=this.options.chart.panning,k=!1;if(C&&"y"!==C.type&&r.options.ordinal&&r.series.length){let p,T,B=this.mouseDownX,z=r.getExtremes(),K=z.dataMax,U=z.min,se=z.max,S=this.hoverPoints,H=Math.round((B-d)/(r.translationSlope*(r.ordinal.slope||r.closestPointRange||r.ordinal&&r.ordinal.overscrollPointsRange))),x=r.ordinal.getExtendedPositions(),N={ordinal:{positions:x,extendedOrdinalPositions:x}},R=r.index2val,Z=r.val2lin;N.ordinal.positions?Math.abs(H)>1&&(S&&S.forEach(function(Y){Y.setState()}),K>(T=N.ordinal.positions)[T.length-1]&&T.push(K),this.setFixedRange(se-U),(p=r.navigatorAxis.toFixedRange(void 0,void 0,R.apply(N,[Z.apply(N,[U,!0])+H]),R.apply(N,[Z.apply(N,[se,!0])+H]))).min>=Math.min(z.dataMin,U)&&p.max<=Math.max(K,se)+l&&r.setExtremes(p.min,p.max,!0,!1,{trigger:"pan"}),this.mouseDownX=d,J(this.container,{cursor:"move"})):k=!0}else k=!0;k||C&&/y/.test(C.type)?l&&(r.max=r.dataMax+l):n.preventDefault()}function g(){let n=this.xAxis;n&&n.options.ordinal&&(delete n.ordinal.index,delete n.ordinal.originalOrdinalRange)}function v(n,r){let l,p,d=this.ordinal,C=d.positions,k=d.slope;if(!C)return n;if(C[0]<=n&&C[C.length-1]>=n)l=m(C,n);else{if(!(p=d.getExtendedPositions&&d.getExtendedPositions())||!p.length)return n;let B=p.length;k||(k=(p[B-1]-p[0])/B);let z=m(p,C[0]);if(n>=p[0]&&n<=p[B-1])l=m(p,n)-z;else{if(!r)return n;l=n0&&"highcharts-navigator-series"!==he.options.id&&he.processedXData.length>1&&(R=Y!==he.processedXData[1]-he.processedXData[0]),Y=he.processedXData[1]-he.processedXData[0],he.boosted&&(Z=he.boosted),he.reserveSpace()&&(!1!==he.takeOrdinalPosition||p)&&(B=(H=H.concat(he.processedXData)).length,H.sort(function(_e,Te){return _e-Te}),x=Math.min(x,j(he.closestPointRange,x)),B)){for(ge=0;ge2){for(K=H[1]-H[0],$=B-1;$--&&!N;)H[$+1]-H[$]!==K&&(N=!0);!r.options.keepOrdinalPadding&&(H[0]-C>K||k-H[H.length-1]>K)&&(N=!0)}else r.options.overscroll&&(2===B?x=H[1]-H[0]:1===B?(x=r.ordinal.convertOverscroll(r.options.overscroll),H=[H[0],H[0]+x]):x=l.overscrollPointsRange);N||r.forceOrdinal?(r.options.overscroll&&(l.overscrollPointsRange=x,H=H.concat(l.getOverscrollPositions())),l.positions=H,U=r.ordinal2lin(Math.max(C,H[0]),!0),se=Math.max(r.ordinal2lin(Math.min(k,H[H.length-1]),!0),1),l.slope=S=(k-C)/(se-U),l.offset=C-U*S):(l.overscrollPointsRange=j(r.closestPointRange,l.overscrollPointsRange),l.positions=r.ordinal.slope=l.offset=void 0)}r.isOrdinal=T&&N,l.groupIntervalFactor=null}static findIndexOf(r,l,d){let p,C=0,k=r.length-1;for(;C{let K=z.points?.[0];te(K?.plotX)&&(K.plotXse.x>=K&&se.x<=U)}(z)&&(d=K.plotX,k=K.x)}),d??(d=C.minPixelPadding);let B=ue((r-d)/(C.translationSlope*(this.slope||C.closestPointRange||this.overscrollPointsRange)));return o.findIndexOf(l,k,!0)+B}getOverscrollPositions(){let r=this.axis,l=this.convertOverscroll(r.options.overscroll),d=this.overscrollPointsRange,C=[],k=r.dataMax;if(te(d))for(;k<=r.dataMax+l;)C.push(k+=d);return C}postProcessTickInterval(r){let l=this.axis,d=this.slope;return d?l.options.breaks?l.closestPointRange||r:r/(d/l.closestPointRange):r}convertOverscroll(r=0){let l=this,d=l.axis,C=function(k){return j(l.originalOrdinalRange,te(d.dataMax)&&te(d.dataMin)?d.dataMax-d.dataMin:0)*k};if(P(r)){let k=parseInt(r,10);if(/%$/.test(r))return C(k/100);if(/px/.test(r)){let p=Math.min(k,.9*d.len)/d.len;return C(p/(1-p))}return 0}return r}}D.Additions=o}(le||(le={})),le}),Le(V,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),Le(V,"Stock/RangeSelector/RangeSelectorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorDefaults.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let le,{defaultOptions:pe}=q,{composed:ue}=ne,{addEvent:J,defined:te,extend:X,find:E,isNumber:j,merge:F,pick:P,pushUnique:D}=ve,A=[];function I(){let g,v,o=this.range,n=o.type,r=this.max,l=this.chart.time,d=function(k,p){let T="year"===n?"FullYear":"Month",B=new l.Date(k),z=l.get(T,B);return l.set(T,B,z+p),z===l.get(T,B)&&l.set("Date",B,0),B.getTime()-k};j(o)?(g=r-o,v=o):o&&(g=r+d(r,-(o.count||1)),this.chart&&this.chart.setFixedRange(r-g));let C=P(this.dataMin,Number.MIN_VALUE);return j(g)||(g=C),g<=C&&(g=C,void 0===v&&(v=d(g,o.count)),this.newMax=Math.min(g+v,P(this.dataMax,Number.MAX_VALUE))),j(r)?!j(o)&&o&&o._offsetMin&&(g+=o._offsetMin):g=void 0,g}function _(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new le(this))}function m(){let g=this.axes,v=this.rangeSelector;if(v){j(v.deferredYTDClick)&&(v.clickButton(v.deferredYTDClick),delete v.deferredYTDClick),g.forEach(n=>{n.updateNames(),n.setScale()}),this.getAxisMargins(),v.render();let o=v.options.verticalAlign;v.options.floating||("bottom"===o?this.extraBottomMargin=!0:"middle"===o||(this.extraTopMargin=!0))}}function w(g){let v,o,n,r,l=g.rangeSelector,d=()=>{l&&(v=g.xAxis[0].getExtremes(),o=g.legend,r=l&&l.options.verticalAlign,j(v.min)&&l.render(v.min,v.max),o.display&&"top"===r&&r===o.options.verticalAlign&&(n=F(g.spacingBox),"vertical"===o.options.layout?n.y=g.plotTop:n.y+=l.getHeight(),o.group.placed=!1,o.align(n)))};l&&(E(A,C=>C[0]===g)||A.push([g,[J(g.xAxis[0],"afterSetExtremes",function(C){l&&l.render(C.min,C.max)}),J(g,"redraw",d)]]),d())}function G(){for(let g=0,v=A.length;gn()),void A.splice(g,1)}}function O(){let g=this.rangeSelector;if(g){let v=g.getHeight();this.extraTopMargin&&(this.plotTop+=v),this.extraBottomMargin&&(this.marginBottom+=v)}}function f(){let g=this.rangeSelector;if(g&&!g.options.floating){g.render();let v=g.options.verticalAlign;"bottom"===v?this.extraBottomMargin=!0:"middle"!==v&&(this.extraTopMargin=!0)}}function a(g){let v=g.options.rangeSelector,o=this.extraBottomMargin,n=this.extraTopMargin,r=this.rangeSelector;if(v&&v.enabled&&!te(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new le(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){w(this);let l=v&&v.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===l?this.extraBottomMargin=!0:"middle"===l||(this.extraTopMargin=!0)),(this.extraBottomMargin!==o||this.extraTopMargin!==n)&&(this.isDirtyBox=!0)}}return{compose:function(g,v,o){if(le=o,D(ue,"RangeSelector")){let n=v.prototype;g.prototype.minFromRange=I,J(v,"afterGetContainer",_),J(v,"beforeRender",m),J(v,"destroy",G),J(v,"getMargins",O),J(v,"render",f),J(v,"update",a),n.callbacks.push(w),X(pe,{rangeSelector:re.rangeSelector}),X(pe.lang,re.lang)}}}}),Le(V,"Stock/RangeSelector/RangeSelector.js",[V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorComposition.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{defaultOptions:ue}=ne,{addEvent:J,createElement:te,css:X,defined:E,destroyObjectProperties:j,discardElement:F,extend:P,fireEvent:D,isNumber:A,merge:I,objectEach:_,pad:m,pick:w,pInt:G,splat:O}=pe;class f{static compose(g,v){ve.compose(g,v,f)}constructor(g){this.buttonOptions=f.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.chart=g,this.init(g)}clickButton(g,v){let T,z,U,se,S,$,H,o=this.chart,n=this.buttonOptions[g],r=o.xAxis[0],l=o.scroller&&o.scroller.getUnionExtremes()||r||{},d=n.type,C=n.dataGrouping,k=l.dataMin,p=l.dataMax,B=r&&Math.round(Math.min(r.max,w(p,r.max))),K=n._range,x=!0;if(null!==k&&null!==p){if(this.setSelected(g),C&&(this.forcedDataGrouping=!0,q.prototype.setDataGrouping.call(r||{chart:this.chart},C,!1),this.frozenStates=n.preserveDataGrouping),"month"===d||"year"===d)r?($={range:n,max:B,chart:o,dataMin:k,dataMax:p},T=r.minFromRange.call($),A($.newMax)&&(B=$.newMax),x=!1):K=n;else if(K)B=Math.min((T=Math.max(B-K,k))+K,p),x=!1;else if("ytd"===d){if(!r)return void(this.deferredYTDClick=g);(void 0===p||void 0===k)&&(k=Number.MAX_VALUE,p=Number.MIN_VALUE,o.series.forEach(N=>{let R=N.xData;R&&(k=Math.min(R[0],k),p=Math.max(R[R.length-1],p))}),v=!1),T=U=(H=this.getYTDExtremes(p,k,o.time.useUTC)).min,B=H.max}else"all"===d&&r&&(o.navigator&&o.navigator.baseSeries[0]&&(o.navigator.baseSeries[0].xAxis.options.range=void 0),T=k,B=p);x&&n._offsetMin&&E(T)&&(T+=n._offsetMin),n._offsetMax&&E(B)&&(B+=n._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=g+1),r?(r.setExtremes(T,B,w(v,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:n}),o.setFixedRange(n._range)):(S=(z=O(o.options.xAxis)[0]).range,z.range=K,se=z.min,z.min=U,J(o,"load",function(){o.setFixedRange(n._range),z.range=S,z.min=se})),D(this,"afterBtnClick")}}setSelected(g){this.selected=this.options.selected=g}init(g){let v=this,o=g.options.rangeSelector,n=o.buttons||v.defaultButtons.slice(),r=o.selected,l=function(){let d=v.minInput,C=v.maxInput;d&&d.blur&&D(d,"blur"),C&&C.blur&&D(C,"blur")};v.chart=g,v.options=o,v.buttons=[],v.buttonOptions=n,this.eventsToUnbind=[],this.eventsToUnbind.push(J(g.container,"mousedown",l)),this.eventsToUnbind.push(J(g,"resize",l)),n.forEach(v.computeButtonRange),void 0!==r&&n[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(J(g,"load",function(){g.xAxis&&g.xAxis[0]&&J(g.xAxis[0],"setExtremes",function(d){A(this.max)&&A(this.min)&&this.max-this.min!==g.fixedRange&&"rangeSelectorButton"!==d.trigger&&"updatedData"!==d.trigger&&v.forcedDataGrouping&&!v.frozenStates&&this.setDataGrouping(!1,!1)})}))}updateButtonStates(){let g=this,v=this.chart,o=this.dropdown,n=v.xAxis[0],r=Math.round(n.max-n.min),l=!n.hasVisibleSeries,d=864e5,C=v.scroller&&v.scroller.getUnionExtremes()||n,k=C.dataMin,p=C.dataMax,T=g.getYTDExtremes(p,k,v.time.useUTC),B=T.min,z=T.max,K=g.selected,U=g.options.allButtonsEnabled,se=g.buttons,S=A(K),$=!1;g.buttonOptions.forEach((H,x)=>{let N=H._range,R=H.type,Z=H.count||1,Y=se[x],he=H._offsetMax-H._offsetMin,ge=x===K,_e=N>p-k,Te=NN&&(oe=!0)}else("month"===R||"year"===R)&&r+36e5>={month:28,year:365}[R]*d*Z-he&&r-36e5<={month:31,year:366}[R]*d*Z+he?oe=!0:"ytd"===R?(oe=z-B+he===r,De=!ge):"all"===R&&(oe=n.max-n.min>=p-k,Be=!ge&&S&&oe);let ee=!U&&!($&&"all"===R)&&(_e||Te||Be||l);ee?Oe=3:($&&"all"===R||ge&&oe||oe&&!S&&!De||ge&&g.frozenStates)&&(S=!0,Oe=2),Y.state!==Oe&&(Y.setState(Oe),o&&(o.options[x+1].disabled=ee,2===Oe&&(o.selectedIndex=x+1)),0===Oe&&K===x?g.setSelected():(2===Oe&&!E(K)||$)&&g.setSelected(x))})}computeButtonRange(g){let v=g.type,o=g.count||1,n={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};n[v]?g._range=n[v]*o:("month"===v||"year"===v)&&(g._range=24*{month:30,year:365}[v]*36e5*o),g._offsetMin=w(g.offsetMin,0),g._offsetMax=w(g.offsetMax,0),g._range+=g._offsetMax-g._offsetMin}getInputValue(g){let v="min"===g?this.minInput:this.maxInput,n=this.chart.time;return v?("text"===v.type&&this.chart.options.rangeSelector.inputDateParser||this.defaultInputDateParser)(v.value,n.useUTC,n):0}setInputValue(g,v){let o=this.options,n=this.chart.time,r="min"===g?this.minInput:this.maxInput,l="min"===g?this.minDateBox:this.maxDateBox;if(r){let d=r.getAttribute("data-hc-time"),C=E(d)?Number(d):void 0;if(E(v)){let k=C;E(k)&&r.setAttribute("data-hc-time-previous",k),r.setAttribute("data-hc-time",v),C=v}r.value=n.dateFormat(this.inputTypeFormats[r.type]||o.inputEditDateFormat,C),l&&l.attr({text:n.dateFormat(o.inputDateFormat,C)})}}setInputExtremes(g,v,o){let n="min"===g?this.minInput:this.maxInput;if(n){let r=this.inputTypeFormats[n.type],l=this.chart.time;if(r){let d=l.dateFormat(r,v);n.min!==d&&(n.min=d);let C=l.dateFormat(r,o);n.max!==C&&(n.max=C)}}}showInput(g){let v="min"===g?this.minDateBox:this.maxDateBox,o="min"===g?this.minInput:this.maxInput;if(o&&v&&this.inputGroup){let n="text"===o.type,{translateX:r=0,translateY:l=0}=this.inputGroup,{x:d=0,width:C=0,height:k=0}=v,{inputBoxWidth:p}=this.options;X(o,{width:n?C+(p?-2:20)+"px":"auto",height:k-2+"px",border:"2px solid silver"}),X(o,n&&p?{left:r+d+"px",top:l+"px"}:{left:Math.min(Math.round(d+r-(o.offsetWidth-C)/2),this.chart.chartWidth-o.offsetWidth)+"px",top:l-(o.offsetHeight-k)/2+"px"})}}hideInput(g){let v="min"===g?this.minInput:this.maxInput;v&&X(v,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(g,v,o){let n=g.split("/").join("-").split(" ").join("T");if(-1===n.indexOf("T")&&(n+="T00:00"),v)n+="Z";else{let l;if(re.isSafari&&(!((l=n).length>6)||l.lastIndexOf("-")!==l.length-6&&l.lastIndexOf("+")!==l.length-6)){let d=new Date(n).getTimezoneOffset()/60;n+=d<=0?`+${m(-d)}:00`:`-${m(d)}:00`}}let r=Date.parse(n);if(!A(r)){let l=g.split("-");r=Date.UTC(G(l[0]),G(l[1])-1,G(l[2]))}return o&&v&&A(r)&&(r+=o.getTimezoneOffset(r)),r}drawInput(g){let{chart:v,div:o,inputGroup:n}=this,r=this,l=v.renderer.style||{},d=v.renderer,C=v.options.rangeSelector,p="min"===g;function T(){let{maxInput:S,minInput:$}=r,H=v.xAxis[0],x=v.scroller&&v.scroller.getUnionExtremes()||H,N=x.dataMin,R=x.dataMax,Z=r.getInputValue(g);Z!==Number(U.getAttribute("data-hc-time-previous"))&&A(Z)&&(U.setAttribute("data-hc-time-previous",Z),p&&S&&A(N)?Z>Number(S.getAttribute("data-hc-time"))?Z=void 0:ZR&&(Z=R)),void 0!==Z&&H.setExtremes(p?Z:H.min,p?H.max:Z,void 0,void 0,{trigger:"rangeSelectorInput"}))}let B=ue.lang[p?"rangeSelectorFrom":"rangeSelectorTo"]||"",z=d.label(B,0).addClass("highcharts-range-label").attr({padding:B?2:0,height:B?C.inputBoxHeight:0}).add(n),K=d.label("",0).addClass("highcharts-range-input").attr({padding:2,width:C.inputBoxWidth,height:C.inputBoxHeight,"text-align":"center"}).on("click",function(){r.showInput(g),r[g+"Input"].focus()});v.styledMode||K.attr({stroke:C.inputBoxBorderColor,"stroke-width":1}),K.add(n);let U=te("input",{name:g,className:"highcharts-range-selector"},void 0,o);U.setAttribute("type",function(S){if(-1!==S.indexOf("%L"))return"text";let $=["a","A","d","e","w","b","B","m","o","y","Y"].some(x=>-1!==S.indexOf("%"+x)),H=["H","k","I","l","M","S"].some(x=>-1!==S.indexOf("%"+x));return $&&H?"datetime-local":$?"date":H?"time":"text"}(C.inputDateFormat||"%e %b %Y")),v.styledMode||(z.css(I(l,C.labelStyle)),K.css(I({color:"#333333"},l,C.inputStyle)),X(U,P({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:l.fontSize,fontFamily:l.fontFamily,top:"-9999em"},C.inputStyle))),U.onfocus=()=>{r.showInput(g)},U.onblur=()=>{U===re.doc.activeElement&&T(),r.hideInput(g),r.setInputValue(g),U.blur()};let se=!1;return U.onchange=()=>{se||(T(),r.hideInput(g),U.blur())},U.onkeypress=S=>{13===S.keyCode&&T()},U.onkeydown=S=>{se=!0,(38===S.keyCode||40===S.keyCode)&&T()},U.onkeyup=()=>{se=!1},{dateBox:K,input:U,label:z}}getPosition(){let g=this.chart,v=g.options.rangeSelector,o="top"===v.verticalAlign?g.plotTop-g.axisOffset[0]:0;return{buttonTop:o+v.buttonPosition.y,inputTop:o+v.inputPosition.y-10}}getYTDExtremes(g,v,o){let n=this.chart.time,r=new n.Date(g),l=n.get("FullYear",r),d=Math.max(v,o?n.Date.UTC(l,0,1):+new n.Date(l,0,1)),C=r.getTime();return{max:Math.min(g||C,C),min:d}}render(g,v){let o=this.chart,n=o.renderer,r=o.container,l=o.options,d=l.rangeSelector,C=w(l.chart.style&&l.chart.style.zIndex,0)+1,k=d.inputEnabled;if(!1!==d.enabled){if(!this.rendered&&(this.group=n.g("range-selector-group").attr({zIndex:7}).add(),this.div=te("div",void 0,{position:"relative",height:0,zIndex:C}),this.buttonOptions.length&&this.renderButtons(),r.parentNode&&r.parentNode.insertBefore(this.div,r),k)){this.inputGroup=n.g("input-group").add(this.group);let T=this.drawInput("min");this.minDateBox=T.dateBox,this.minLabel=T.label,this.minInput=T.input;let B=this.drawInput("max");this.maxDateBox=B.dateBox,this.maxLabel=B.label,this.maxInput=B.input}if(k){this.setInputValue("min",g),this.setInputValue("max",v);let T=o.scroller&&o.scroller.getUnionExtremes()||o.xAxis[0]||{};if(E(T.dataMin)&&E(T.dataMax)){let B=o.xAxis[0].minRange||0;this.setInputExtremes("min",T.dataMin,Math.min(T.dataMax,this.getInputValue("max"))-B),this.setInputExtremes("max",Math.max(T.dataMin,this.getInputValue("min"))+B,T.dataMax)}if(this.inputGroup){let B=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(z=>{if(z){let{width:K}=z.getBBox();K&&(z.attr({x:B}),B+=K+d.inputSpacing)}})}}this.alignElements(),this.rendered=!0}}renderButtons(){let{buttons:g,chart:v,options:o}=this,n=ue.lang,r=v.renderer,l=I(o.buttonTheme),d=l&&l.states,C=l.width||28;delete l.width,delete l.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group);let k=this.dropdown=te("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);J(k,"touchstart",()=>{k.style.fontSize="16px"}),[[re.isMS?"mouseover":"mouseenter"],[re.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(([p,T])=>{J(k,p,()=>{let B=g[this.currentButtonIndex()];B&&D(B.element,T||p)})}),this.zoomText=r.label(n&&n.rangeSelectorZoom||"",0).attr({padding:o.buttonTheme.padding,height:o.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(o.labelStyle),l["stroke-width"]=w(l["stroke-width"],0)),te("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,k),this.buttonOptions.forEach((p,T)=>{te("option",{textContent:p.title||p.text},void 0,k),g[T]=r.button(p.text,0,0,B=>{let z,K=p.events&&p.events.click;K&&(z=K.call(p,B)),!1!==z&&this.clickButton(T),this.isActive=!0},l,d&&d.hover,d&&d.select,d&&d.disabled).attr({"text-align":"center",width:C}).add(this.buttonGroup),p.title&&g[T].attr("title",p.title)})}alignElements(){let{buttonGroup:g,buttons:v,chart:o,group:n,inputGroup:r,options:l,zoomText:d}=this,C=o.options,k=C.exporting&&!1!==C.exporting.enabled&&C.navigation&&C.navigation.buttonOptions,{buttonPosition:p,inputPosition:T,verticalAlign:B}=l,z=(U,se)=>k&&this.titleCollision(o)&&"top"===B&&"right"===se.align&&se.y-U.getBBox().height-12<(k.y||0)+(k.height||0)+o.spacing[0]?-40:0,K=o.plotLeft;if(n&&p&&T){let U=p.x-o.spacing[3];if(g){if(this.positionButtons(),!this.initialButtonGroupWidth){let Y=0;d&&(Y+=d.getBBox().width+5),v.forEach((he,ge)=>{Y+=he.width||0,ge!==v.length-1&&(Y+=l.buttonSpacing)}),this.initialButtonGroupWidth=Y}K-=o.spacing[3],this.updateButtonStates();let Z=z(g,p);this.alignButtonGroup(Z),n.placed=g.placed=o.hasLoaded}let se=0;r&&(se=z(r,T),"left"===T.align?U=K:"right"===T.align&&(U=-Math.max(o.axisOffset[1],-se)),r.align({y:T.y,width:r.getBBox().width,align:T.align,x:T.x+U-2},!0,o.spacingBox),r.placed=o.hasLoaded),this.handleCollision(se),n.align({verticalAlign:B},!0,o.spacingBox);let S=n.alignAttr.translateY,$=n.getBBox().height+20,H=0;if("bottom"===B){let Z=o.legend&&o.legend.options;H=S-($=$+(Z&&"bottom"===Z.verticalAlign&&Z.enabled&&!Z.floating?o.legend.legendHeight+w(Z.margin,10):0)-20)-(l.floating?0:l.y)-(o.titleOffset?o.titleOffset[2]:0)-10}"top"===B?(l.floating&&(H=0),o.titleOffset&&o.titleOffset[0]&&(H=o.titleOffset[0]),H+=o.margin[0]-o.spacing[0]||0):"middle"===B&&(T.y===p.y?H=S:(T.y||p.y)&&(T.y<0||p.y<0?H-=Math.min(T.y,p.y):H=S-$)),n.translate(l.x,l.y+Math.floor(H));let{minInput:x,maxInput:N,dropdown:R}=this;l.inputEnabled&&x&&N&&(x.style.marginTop=n.translateY+"px",N.style.marginTop=n.translateY+"px"),R&&(R.style.marginTop=n.translateY+"px")}}alignButtonGroup(g,v){let{chart:o,options:n,buttonGroup:r}=this,{buttonPosition:l}=n,d=o.plotLeft-o.spacing[3],C=l.x-o.spacing[3];"right"===l.align?C+=g-d:"center"===l.align&&(C-=d/2),r&&r.align({y:l.y,width:w(v,this.initialButtonGroupWidth),align:l.align,x:C},!0,o.spacingBox)}positionButtons(){let{buttons:g,chart:v,options:o,zoomText:n}=this,r=v.hasLoaded?"animate":"attr",{buttonPosition:l}=o,d=v.plotLeft,C=d;n&&"hidden"!==n.visibility&&(n[r]({x:w(d+l.x,d)}),C+=l.x+n.getBBox().width+5);for(let k=0,p=this.buttonOptions.length;k{let T=0;return this.buttons.forEach(B=>{let z=B.getBBox();z.width>T&&(T=z.width)}),T},k=T=>{if(n&&o){let B=n.alignAttr.translateX+n.alignOptions.x-g+n.getBBox().x+2,z=n.alignOptions.width,K=o.alignAttr.translateX+o.getBBox().x;return K+T>B&&B+z>K&&r.y{n&&o&&n.attr({translateX:n.alignAttr.translateX+(v.axisOffset[1]>=-g?0:-g),translateY:n.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===l)return this.collapseButtons(g),void(k(C())&&p());"never"===l&&this.expandButtons()}n&&o?d.align===r.align||k(this.initialButtonGroupWidth+20)?"responsive"===l?(this.collapseButtons(g),k(C())&&p()):p():"responsive"===l&&this.expandButtons():o&&"responsive"===l&&(this.initialButtonGroupWidth>v.plotWidth?this.collapseButtons(g):this.expandButtons())}collapseButtons(g){let{buttons:v,buttonOptions:o,chart:n,dropdown:r,options:l,zoomText:d}=this;if(!0===this.isCollapsed)return;this.isCollapsed=!0;let C=n.userOptions.rangeSelector&&n.userOptions.rangeSelector.buttonTheme||{},k=B=>({text:B?`${B} \u25be`:"\u25be",width:"auto",paddingLeft:w(l.buttonTheme.paddingLeft,C.padding,8),paddingRight:w(l.buttonTheme.paddingRight,C.padding,8)});d&&d.hide();let p=!1;o.forEach((B,z)=>{let K=v[z];2!==K.state?K.hide():(K.show(),K.attr(k(B.text)),p=!0)}),p||(r&&(r.selectedIndex=0),v[0].show(),v[0].attr(k(this.zoomText&&this.zoomText.textStr)));let{align:T}=l.buttonPosition;this.positionButtons(),("right"===T||"center"===T)&&this.alignButtonGroup(g,v[this.currentButtonIndex()].getBBox().width),this.showDropdown()}expandButtons(){let{buttons:g,buttonOptions:v,options:o,zoomText:n}=this;this.hideDropdown(),!1!==this.isCollapsed&&(this.isCollapsed=!1,n&&n.show(),v.forEach((r,l)=>{let d=g[l];d.show(),d.attr({text:r.text,width:o.buttonTheme.width||28,paddingLeft:w(o.buttonTheme.paddingLeft,"unset"),paddingRight:w(o.buttonTheme.paddingRight,"unset")}),d.state<2&&d.setState(0)}),this.positionButtons())}currentButtonIndex(){let{dropdown:g}=this;return g&&g.selectedIndex>0?g.selectedIndex-1:0}showDropdown(){let{buttonGroup:g,buttons:v,chart:o,dropdown:n}=this;if(g&&n){let{translateX:r=0,translateY:l=0}=g,d=v[this.currentButtonIndex()].getBBox();X(n,{left:o.plotLeft+r+"px",top:l+.5+"px",width:d.width+"px",height:d.height+"px"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:g}=this;g&&(X(g,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let g=this.options,v=this.group,r=g.y,l=g.buttonPosition.y,d=g.inputPosition.y,C=0;if(g.height)return g.height;this.alignElements(),C=v?v.getBBox(!0).height+13+r:0;let k=Math.min(d,l);return(d<0&&l<0||d>0&&l>0)&&(C+=Math.abs(k)),C}titleCollision(g){return!(g.options.title.text||g.options.subtitle.text)}update(g){let v=this.chart;I(!0,v.options.rangeSelector,g),this.destroy(),this.init(v),this.render()}destroy(){let g=this,v=g.minInput,o=g.maxInput;g.eventsToUnbind&&(g.eventsToUnbind.forEach(n=>n()),g.eventsToUnbind=void 0),j(g.buttons),v&&(v.onfocus=v.onblur=v.onchange=null),o&&(o.onfocus=o.onblur=o.onchange=null),_(g,function(n,r){n&&"chart"!==r&&(n instanceof le?n.destroy():n instanceof e.HTMLElement&&F(n)),n!==f.prototype[r]&&(g[r]=null)},this)}}return P(f.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),f}),Le(V,"Core/Chart/StockChart.js",[V["Core/Chart/Chart.js"],V["Core/Templating.js"],V["Core/Defaults.js"],V["Stock/Navigator/NavigatorDefaults.js"],V["Stock/RangeSelector/RangeSelectorDefaults.js"],V["Stock/Scrollbar/ScrollbarDefaults.js"],V["Stock/Utilities/StockUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{format:te}=ne,{getOptions:X}=re,{setFixedRange:E}=ue,{addEvent:j,clamp:F,defined:P,extend:D,find:A,isNumber:I,isString:_,merge:m,pick:w,splat:G}=J;function O(g,v,o){return"xAxis"===g?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===g?{labels:{y:-2},opposite:o.opposite??v.opposite??!0,showLastLabel:!(!v.categories&&"category"!==v.type),title:{text:"Values"!==o.title?.text?o.title?.text:null}}:{}}function f(g,v){if("xAxis"===g){let n={type:"datetime",categories:void 0};return w(v.navigator&&v.navigator.enabled,ve.enabled,!0)&&(n.startOnTick=!1,n.endOnTick=!1),n}return{}}class a extends q{init(v,o){let n=X(),r=v.xAxis,l=v.yAxis,d=w(v.navigator&&v.navigator.enabled,ve.enabled,!0);v.xAxis=v.yAxis=void 0;let C=m({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:d},scrollbar:{enabled:w(pe.enabled,!0)},rangeSelector:{enabled:w(le.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:w(n.tooltip&&n.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},v,{isStock:!0});v.xAxis=r,v.yAxis=l,C.xAxis=G(v.xAxis||{}).map(k=>m(O("xAxis",k,n.xAxis),k,f("xAxis",v))),C.yAxis=G(v.yAxis||{}).map(k=>m(O("yAxis",k,n.yAxis),k)),super.init(C,o)}createAxis(v,o){return o.axis=m(O(v,o.axis,X()[v]),o.axis,f(v,this.userOptions)),super.createAxis(v,o)}}return j(q,"update",function(g){let v=g.options;"scrollbar"in v&&this.navigator&&(m(!0,this.options.scrollbar,v.scrollbar),this.navigator.update({}),delete v.scrollbar)}),function(g){function v(p){if(!(this.crosshair&&this.crosshair.label&&this.crosshair.label.enabled&&this.cross&&I(this.min)&&I(this.max)))return;let Y,he,Te,T=this.chart,B=this.logarithmic,z=this.crosshair.label,K=this.horiz,U=this.opposite,se=this.left,S=this.top,$=this.width,H="inside"===this.options.tickPosition,x=!1!==this.crosshair.snap,N=p.e||this.cross&&this.cross.e,R=p.point,Z=this.crossLabel,ge=z.format,_e="",Oe=0,De=this.min,Be=this.max;B&&(De=B.lin2log(this.min),Be=B.lin2log(this.max));let oe=K?"center":U?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";Z||(Z=this.crossLabel=T.renderer.label("",0,void 0,z.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(R&&R.series?R.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:z.align||oe,padding:w(z.padding,8),r:w(z.borderRadius,3),zIndex:2}).add(this.labelGroup),T.styledMode||Z.attr({fill:z.backgroundColor||R&&R.series&&R.series.color||"#666666",stroke:z.borderColor||"","stroke-width":z.borderWidth||0}).css(D({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},z.style||{}))),K?(Y=x?(R.plotX||0)+se:N.chartX,he=S+(U?0:this.height)):(Y=se+this.offset+(U?$:0),he=x?(R.plotY||0)+S:N.chartY),ge||z.formatter||(this.dateTime&&(_e="%b %d, %Y"),ge="{value"+(_e?":"+_e:"")+"}");let ee=x?this.isXAxis?R.x:R.y:this.toValue(K?N.chartX:N.chartY),be=R&&R.series?R.series.isPointInside(R):I(ee)&&ee>De&&ee=Te.right&&(Oe=-(we+Ie.width-Te.right)),Z.attr({x:Y+Oe,y:he,anchorX:K?Y:this.opposite?0:T.chartWidth,anchorY:K?this.opposite?T.chartHeight:0:he+Ie.height/2})}function o(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function n(p){let T=this.chart,B=this.options,z=T._labelPanes=T._labelPanes||{},K=B.labels;if(T.options.isStock&&"yAxis"===this.coll){let U=B.top+","+B.height;!z[U]&&K.enabled&&(15===K.distance&&1===this.side&&(K.distance=0),void 0===K.align&&(K.align="right"),z[U]=this,p.align="right",p.preventDefault())}}function r(){let p=this.chart,T=this.options&&this.options.top+","+this.options.height;T&&p._labelPanes&&p._labelPanes[T]===this&&delete p._labelPanes[T]}function l(p){let N,R,Z,Y,ge,_e,T=this,B=T.isLinked&&!T.series&&T.linkedParent?T.linkedParent.series:T.series,z=T.chart,K=z.renderer,U=T.left,se=T.top,S=[],$=p.translatedValue,H=p.value,x=p.force,he=[];if(z.options.isStock&&!1!==p.acrossPanes&&"xAxis"===T.coll||"yAxis"===T.coll){for(let Te of(p.preventDefault(),he=(Oe=>{let De="xAxis"===Oe?"yAxis":"xAxis",Be=T.options[De];return I(Be)?[z[De][Be]]:_(Be)?[z.get(Be)]:B.map(oe=>oe[De])})(T.coll),T.isXAxis?z.yAxis:z.xAxis))if(!P(Te.options.id)||-1===Te.options.id.indexOf("navigator")){let Oe=Te.isXAxis?"yAxis":"xAxis";T===(P(Te.options[Oe])?z[Oe][Te.options[Oe]]:z[Oe][0])&&he.push(Te)}for(let Te of(ge=he.length?[]:[T.isXAxis?z.yAxis[0]:z.xAxis[0]],he))-1!==ge.indexOf(Te)||A(ge,Oe=>Oe.pos===Te.pos&&Oe.len===Te.len)||ge.push(Te);if(I(_e=w($,T.translate(H||0,void 0,void 0,p.old))))if(T.horiz)for(let Te of ge){let Oe;Y=(R=Te.pos)+Te.len,N=Z=Math.round(_e+T.transB),"pass"!==x&&(NU+T.width)&&(x?N=Z=F(N,U,U+T.width):Oe=!0),Oe||S.push(["M",N,R],["L",Z,Y])}else for(let Te of ge){let Oe;Z=(N=Te.pos)+Te.len,R=Y=Math.round(se+T.height-_e),"pass"!==x&&(Rse+T.height)&&(x?R=Y=F(R,se,se+T.height):Oe=!0),Oe||S.push(["M",N,R],["L",Z,Y])}p.path=S.length>0?K.crispPolyLine(S,p.lineWidth||1):void 0}}function d(p){if(this.chart.options.isStock){let T;this.is("column")||this.is("columnrange")?T={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(T={marker:{enabled:!1,radius:2}}),T&&(p.plotOptions[this.type]=m(p.plotOptions[this.type],T))}}function C(){let T=this.options.dataGrouping;return!1!==this.allowDG&&T&&w(T.enabled,this.chart.options.isStock)}function k(p,T){for(let B=0;B\u25cf {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}}),Le(V,"Series/HLC/HLCSeries.js",[V["Series/HLC/HLCPoint.js"],V["Series/HLC/HLCSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{column:le}=re.seriesTypes,{extend:pe,merge:ue}=ve;class J extends le{extendStem(X,E,j){let F=X[0],P=X[1];"number"==typeof F[2]&&(F[2]=Math.max(j+E,F[2])),"number"==typeof P[2]&&(P[2]=Math.min(j-E,P[2]))}getPointPath(X,E){let j=E.strokeWidth(),F=X.series,P=j%2/2,D=Math.round(X.plotX)-P,A=Math.round(X.shapeArgs.width/2),I=X.plotClose,_=[["M",D,Math.round(X.yBottom)],["L",D,Math.round(X.plotHigh)]];return null!==X.close&&(I=Math.round(X.plotClose)+P,_.push(["M",D,I],["L",D+A,I]),F.extendStem(_,j/2,I)),_}drawSinglePoint(X){let F,E=X.series,j=E.chart,P=X.graphic;void 0!==X.plotY&&(P||(X.graphic=P=j.renderer.path().add(E.group)),j.styledMode||P.attr(E.pointAttribs(X,X.selected&&"select")),F=E.getPointPath(X,P),P[P?"animate":"attr"]({d:F}).addClass(X.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(X,E){let j=super.pointAttribs.call(this,X,E);return delete j.fill,j}toYData(X){return[X.high,X.low,X.close]}translate(){let X=this,E=X.yAxis,j=this.pointArrayMap&&this.pointArrayMap.slice()||[],F=j.map(P=>`plot${P.charAt(0).toUpperCase()+P.slice(1)}`);F.push("yBottom"),j.push("low"),super.translate.apply(X),X.points.forEach(function(P){j.forEach(function(D,A){let I=P[D];null!==I&&(X.dataModify&&(I=X.dataModify.modifyValue(I)),P[F[A]]=E.toPixels(I,!0))}),P.tooltipPos[1]=P.plotHigh+E.pos-X.chart.plotTop})}}return J.defaultOptions=ue(le.defaultOptions,ne),pe(J.prototype,{pointClass:q,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),re.registerSeriesType("hlc",J),J}),Le(V,"Series/OHLC/OHLCPoint.js",[V["Core/Series/SeriesRegistry.js"]],function(q){let{seriesTypes:{hlc:ne}}=q;return class re extends ne.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open\u25cf {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}}),Le(V,"Series/OHLC/OHLCSeries.js",[V["Core/Globals.js"],V["Series/OHLC/OHLCPoint.js"],V["Series/OHLC/OHLCSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{composed:pe}=q,{hlc:ue}=ve.seriesTypes,{addEvent:J,extend:te,merge:X,pushUnique:E}=le;function j(D){let A=D.options,I=A.dataGrouping;I&&A.useOhlcData&&"highcharts-navigator-series"!==A.id&&(I.approximation="ohlc")}function F(D){let A=D.options;A.useOhlcData&&"highcharts-navigator-series"!==A.id&&te(this,{pointValKey:P.prototype.pointValKey,pointArrayMap:P.prototype.pointArrayMap,toYData:P.prototype.toYData})}class P extends ue{static compose(A,...I){E(pe,"OHLCSeries")&&(J(A,"afterSetOptions",j),J(A,"init",F))}getPointPath(A,I){let _=super.getPointPath(A,I),m=I.strokeWidth(),w=m%2/2,G=Math.round(A.plotX)-w,O=Math.round(A.shapeArgs.width/2),f=A.plotOpen;return null!==A.open&&(f=Math.round(A.plotOpen)+w,_.push(["M",G,f],["L",G-O,f]),super.extendStem(_,m/2,f)),_}pointAttribs(A,I){let _=super.pointAttribs.call(this,A,I),m=this.options;return delete _.fill,!A.options.color&&m.upColor&&A.openE&&(te-=Math.round((j-E)/2),E=j),P=ue[J](te,X,E,j),D&&A){let I=D;if("circle"===J)I=te+E/2;else{let m=P[0],w=P[1];"M"===m[0]&&"L"===w[0]&&(I=(m[1]+w[1])/2)}P.push(["M",I,X>A?X:X+j],["L",D,A]),P=P.concat(ue.circle(D-1,A-1,2,2))}return P}}re.compose=function(ue){if(-1===ve.indexOf(ue)){ve.push(ue);let te=ue.prototype.symbols;te.flag=le,pe(te,"circle"),pe(te,"square")}let J=q.getRendererType();ve.indexOf(J)&&ve.push(J)}}(ne||(ne={})),ne}),Le(V,"Series/OnSeriesComposition.js",[V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{prototype:ue}=q,{prototype:J}=re,{defined:te,pushUnique:X,stableSort:E}=ve;return function(j){function F(D){return J.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,D)}function P(){ue.translate.apply(this);let o,n,C,k,p,T,B,D=this,A=D.options,I=D.chart,_=D.points,m=A.onSeries,w=m&&I.get(m),G=w&&w.options.step,O=w&&w.points,f=I.inverted,a=D.xAxis,g=D.yAxis,v=_.length-1,r=A.onKey||"y",l=O&&O.length,d=0;if(w&&w.visible&&l)for(d=(w.pointXOffset||0)+(w.barW||0)/2,T=w.currentDataGrouping,k=O[l-1].x+(T?T.totalRange:0),E(_,(z,K)=>z.x-K.x),r="plot"+r[0].toUpperCase()+r.substr(1);l--&&_[v];)if(C=O[l],(o=_[v]).y=C.y,C.x<=o.x&&void 0!==C[r]){if(o.x<=k&&(o.plotY=C[r],C.xMath.pow(1-N,3)*z[R]+3*(1-N)*(1-N)*N*U[R]+3*(1-N)*N*N*se[R]+N*N*N*K[R],$=0,H=1;for(let N=0;N<100;N++){let R=($+H)/2,Z=S(R,0);if(null===Z)break;if(.25>Math.abs(Z-o.plotX)){x=R;break}Z{let U;z.plotX+=d,(void 0===z.plotY||f)&&(z.plotX>=0&&z.plotX<=a.len?f?(z.plotY=a.translate(z.x,0,1,0,1),z.plotX=te(z.y)?g.translate(z.y,0,0,0,1):0):z.plotY=(a.opposite?0:D.yAxis.len)+a.offset:z.shapeArgs={}),(n=_[K-1])&&n.plotX===z.plotX&&(void 0===n.stackIndex&&(n.stackIndex=0),U=n.stackIndex+1),z.stackIndex=U}),this.onSeries=w}j.compose=function(D){if(X(pe,"OnSeries")){let A=D.prototype;A.getPlotBox=F,A.translate=P}return D},j.getPlotBox=F,j.translate=P}(le||(le={})),le}),Le(V,"Series/Flags/FlagsSeries.js",[V["Series/Flags/FlagsPoint.js"],V["Series/Flags/FlagsSeriesDefaults.js"],V["Series/Flags/FlagsSymbols.js"],V["Core/Globals.js"],V["Series/OnSeriesComposition.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{noop:X}=ve,{distribute:E}=pe,{series:j,seriesTypes:{column:F}}=ue,{addEvent:P,defined:D,extend:A,merge:I,objectEach:_,wrap:m}=te;class w extends F{animate(O){O&&this.setClip()}drawPoints(){let O,f,a,g,v,o,n,r,l,d,C,k=this.points,p=this.chart,T=p.renderer,B=p.inverted,z=this.options,K=z.y,U=this.yAxis,se={},S=[];for(g=k.length;g--;)v=k[g],d=(B?v.plotY:v.plotX)>this.xAxis.len,O=v.plotX,n=v.stackIndex,a=v.options.shape||z.shape,void 0!==(f=v.plotY)&&(f=v.plotY+K-(void 0!==n&&n*z.stackDistance)),v.anchorX=n?void 0:v.plotX,r=n?void 0:v.plotY,C="flag"!==a,o=v.graphic,void 0!==f&&O>=0&&!d?(o&&v.hasNewShapeType()&&(o=o.destroy()),o||(o=v.graphic=T.label("",null,null,a,null,null,z.useHTML).addClass("highcharts-point").add(this.markerGroup),v.graphic.div&&(v.graphic.div.point=v),o.isNew=!0),o.attr({align:C?"center":"left",width:z.width,height:z.height,"text-align":z.textAlign}),p.styledMode||o.attr(this.pointAttribs(v)).css(I(z.style,v.style)).shadow(z.shadow),O>0&&(O-=o.strokeWidth()%2),l={y:f,anchorY:r},z.allowOverlapX&&(l.x=O,l.anchorX=v.anchorX),o.attr({text:v.options.title||z.title||"A"})[o.isNew?"attr":"animate"](l),z.allowOverlapX||(se[v.plotX]?se[v.plotX].size=Math.max(se[v.plotX].size,o.width||0):se[v.plotX]={align:C?.5:0,size:o.width||0,target:O,anchorX:O}),v.tooltipPos=[O,f+U.pos-p.plotTop]):o&&(v.graphic=o.destroy());if(!z.allowOverlapX){let $=100;for(let H of(_(se,function(x){x.plotX=x.anchorX,S.push(x),$=Math.max(x.size,$)}),E(S,B?U.len:this.xAxis.len,$),k)){let N=H.graphic,R=N&&se[H.plotX];R&&N&&(D(R.pos)?N[N.isNew?"attr":"animate"]({x:R.pos+(R.align||0)*R.size,anchorX:H.anchorX}).show().isNew=!1:N.hide().isNew=!0)}}z.useHTML&&this.markerGroup&&m(this.markerGroup,"on",function($){return J.prototype.on.apply($.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})}drawTracker(){let O=this.points;for(let f of(super.drawTracker(),O)){let a=f.graphic;a&&(f.unbindMouseOver&&f.unbindMouseOver(),f.unbindMouseOver=P(a.element,"mouseover",function(){for(let g of(f.stackIndex>0&&!f.raised&&(f._y=a.y,a.attr({y:f._y-8}),f.raised=!0),O))g!==f&&g.raised&&g.graphic&&(g.graphic.attr({y:g._y}),g.raised=!1)}))}}pointAttribs(O,f){let a=this.options,g=O&&O.color||this.color,v=a.lineColor,o=O&&O.lineWidth,n=O&&O.fillColor||a.fillColor;return f&&(n=a.states[f].fillColor,v=a.states[f].lineColor,o=a.states[f].lineWidth),{fill:n||g,stroke:v||g,"stroke-width":o||a.lineWidth||0}}setClip(){j.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}return w.compose=re.compose,w.defaultOptions=I(F.defaultOptions,ne),le.compose(w),A(w.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:q,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:X,init:j.prototype.init}),ue.registerSeriesType("flags",w),w}),Le(V,"Core/Axis/BrokenAxis.js",[V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{addEvent:ve,find:le,fireEvent:pe,isArray:ue,isNumber:J,pick:te}=ne;return function(X){function E(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function j(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function F(){let w=this.brokenAxis;if(w?.hasBreaks){let G=this.tickPositions,O=this.tickPositions.info,f=[];for(let a=0;ad.to||f>d.from&&ad.from&&ad.from&&a>d.to&&a0){let v,o;for("value"!==this.options.gapUnit&&(a*=this.basePointRange),G&&G>a&&G>=this.basePointRange&&(a=G);g--;)if(o&&!1!==o.visible||(o=O[g+1]),v=O[g],!1!==o.visible&&!1!==v.visible){if(o.x-v.x>a){let n=(v.x+o.x)/2;O.splice(g+1,0,{isNull:!0,x:n}),f.stacking&&this.options.stacking&&((f.stacking.stacks[this.stackKey][n]=new q(f,f.options.stackLabels,!1,n,this.stack)).total=0)}o=v}}return this.getGraphPath(O)}X.compose=function(w,G){if(!w.keepProps.includes("brokenAxis")){w.keepProps.push("brokenAxis"),ve(w,"init",P),ve(w,"afterInit",E),ve(w,"afterSetTickPositions",F),ve(w,"afterSetOptions",j);let O=G.prototype;O.drawBreaks=I,O.gappedPath=_,ve(G,"afterGeneratePoints",D),ve(G,"afterRender",A)}return w};class m{static isInBreak(G,O){let f=G.repeat||1/0,a=G.from,g=G.to-G.from,v=O>=a?(O-a)%f:f-(a-O)%f;return G.inclusive?v<=g:v=a);v++)(g.to=G)break;if(m.isInBreak(g,G)){a-=G-g.from;break}}return a}constructor(G){this.hasBreaks=!1,this.axis=G}findBreakAt(G,O){return le(O,function(f){return f.fromk;)T-=C;for(;Tthis.chart.plotSizeX/P||A&&I.forced)&&(D=!0));return D?P:0}function X(){this.series.forEach(function(j){j.hasProcessed=!1})}function E(j,F){let P;if(F=ue(F,!0),j||(j={forced:!1,units:null}),this instanceof re)for(P=this.series.length;P--;)this.series[P].update({dataGrouping:j},!1);else this.chart.options.series.forEach(function(D){D.dataGrouping="boolean"==typeof j?j:pe(j,D.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),F&&this.chart.redraw()}return{compose:function(j){re=j;let F=j.prototype;F.applyGrouping||(ve(j,"afterSetScale",X),ve(j,"postProcessData",J),le(F,{applyGrouping:J,getGroupPixelWidth:te,setDataGrouping:E}))}}}),Le(V,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[V["Extensions/DataGrouping/ApproximationRegistry.js"],V["Extensions/DataGrouping/DataGroupingDefaults.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Defaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{series:{prototype:ue}}=le,{addEvent:J,defined:te,error:X,extend:E,isNumber:j,merge:F,pick:P}=pe,D=ue.generatePoints;function A(O){var f;let a,g,d,C,v=this.chart,o=this.options.dataGrouping,n=!1!==this.allowDG&&o&&P(o.enabled,v.options.isStock),r=this.reserveSpace(),l=this.currentDataGrouping,k=!1;n&&!this.requireSorting&&(this.requireSorting=k=!0);let p=!(!this.isCartesian||this.isDirty||this.xAxis.isDirty||this.yAxis.isDirty||O)||!n;if(k&&(this.requireSorting=!1),p)return;this.destroyGroupedData();let T=o.groupAll?this.xData:this.processedXData,B=o.groupAll?this.yData:this.processedYData,z=v.plotSizeX,K=this.xAxis,U=K.options.ordinal,se=this.groupPixelWidth;if(se&&T&&T.length&&z){g=!0,this.isDirty=!0,this.points=null;let S=K.getExtremes(),$=S.min,H=S.max,x=U&&K.ordinal&&K.ordinal.getGroupIntervalFactor($,H,this)||1,R=K.getTimeTicks(re.Additions.prototype.normalizeTimeTickInterval(se*(H-$)/z*x,o.units||ne.units),Math.min($,T[0]),Math.max(H,T[T.length-1]),K.options.startOfWeek,T,this.closestPointRange),Z=ue.groupData.apply(this,[T,B,R,o.approximation]),Y=Z.groupedXData,he=Z.groupedYData,ge=0;for(o&&o.smoothed&&Y.length&&(o.firstAnchor="firstPoint",o.anchor="middle",o.lastAnchor="lastPoint",X(32,!1,v,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),a=1;a=Te[0]){let Ee;we++;let Me=_e.groupMap[0].start,Xe=_e.groupMap[0].length;j(Me)&&j(Xe)&&(Ee=Me+(Xe-1)),Te[0]={start:Te[0],middle:Te[0]+.5*Be,end:Te[0]+Be,firstPoint:_e.xData[0],lastPoint:Ee&&_e.xData[Ee]}[be]}if(oe>0&&xe&&Be&&Te[oe]>=Oe-Be){Ie--;let Ee=_e.groupMap[_e.groupMap.length-1].start;Te[oe]={start:Te[oe],middle:Te[oe]+.5*Be,end:Te[oe]+Be,firstPoint:Ee&&_e.xData[Ee],lastPoint:_e.xData[_e.xData.length-1]}[xe]}if(ee&&"start"!==ee){let Ee=Be*{middle:.5,end:1}[ee];for(;Ie>=we;)Te[Ie]+=Ee,Ie--}}(this,Y,H),r&&(te((f=Y)[0])&&j(K.min)&&j(K.dataMin)&&f[0]K.max&&((!te(K.options.max)&&j(K.dataMax)&&K.max>=K.dataMax||K.max===K.dataMax)&&(K.max=Math.max(f[f.length-1],K.max)),K.dataMax=Math.max(f[f.length-1],K.dataMax))),o.groupAll&&(this.allGroupedData=he,Y=(C=this.cropData(Y,he,K.min,K.max)).xData,he=C.yData,this.cropStart=C.start),this.processedXData=Y,this.processedYData=he}else this.groupMap=null;this.hasGroupedData=g,this.preventGraphAnimation=(l&&l.totalRange)!==(d&&d.totalRange)}function I(){this.groupedData&&(this.groupedData.forEach(function(O,f){O&&(this.groupedData[f]=O.destroy?O.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function _(){D.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function m(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function w(O,f,a,g){let U,se,S,v=this,o=v.data,n=v.options&&v.options.data,r=[],l=[],d=[],C=O.length,k=!!f,p=[],T=v.pointArrayMap,B=T&&T.length,z=["x"].concat(T||["y"]),K=this.options.dataGrouping&&this.options.dataGrouping.groupAll,$=0,H=0,x="function"==typeof g?g:g&&q[g]?q[g]:q[v.getDGApproximation&&v.getDGApproximation()||"average"];if(B){let R=T.length;for(;R--;)p.push([])}else p.push([]);let N=B||1;for(let R=0;R<=C;R++)if(!(O[R]=a[$+1]||R===C;){U=a[$],v.dataGroupInfo={start:K?H:v.cropStart+H,length:p[0].length,groupStart:U},S=x.apply(v,p),v.pointClass&&!te(v.dataGroupInfo.options)&&(v.dataGroupInfo.options=F(v.pointClass.prototype.optionsToObject.call({series:v},v.options.data[v.cropStart+H])),z.forEach(function(Z){delete v.dataGroupInfo.options[Z]})),void 0!==S&&(r.push(U),l.push(S),d.push(v.dataGroupInfo)),H=R;for(let Z=0;Z{let J=ue.axis.getExtremes(),te=J.min,X=J.max,E=ve(ue.axis.minPointOffset,0);return re(te)&&re(X)&&ue.value>=te-E&&ue.value<=X+E&&!ue.axis.options.isInternal})[0]},getFieldType:function(pe,ue){let J=le[pe],te=typeof ue;return ne(J)&&(te=J),{string:"text",number:"number",boolean:"checkbox"}[te]}}}),Le(V,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[V["Core/Utilities.js"],V["Extensions/Annotations/NavigationBindingsUtilities.js"]],function(q,ne){let re,{addEvent:ve,isObject:le,pick:pe,defined:ue,merge:J}=q,{getAssignedAxis:te}=ne,X=[],E={enabled:!0,sensitivity:1.1};function P(){let D=(D=>(le(D)||(D={enabled:D??!0}),J(E,D)))(this.zooming.mouseWheel);D.enabled&&ve(this.container,"wheel",A=>{A=this.pointer?.normalize(A)||A;let{pointer:I}=this,_=I&&!I.inClass(A.target,"highcharts-no-mousewheel");if(this.isInsidePlot(A.chartX-this.plotLeft,A.chartY-this.plotTop)&&_){let m=D.sensitivity||1.1,w=A.detail||(A.deltaY||0)/120,G=te(I.getCoordinates(A).xAxis),O=te(I.getCoordinates(A).yAxis);(function(D,A,I,_,m,w,G){let O=pe(G.type,D.zooming.type,""),f=[];"x"===O?f=I:"y"===O?f=_:"xy"===O&&(f=D.axes);let a=D.transform({axes:f,to:{x:m-5,y:w-5,width:10,height:10},from:{x:m-5*A,y:w-5*A,width:10*A,height:10*A},trigger:"mousewheel"});return a&&(ue(re)&&clearTimeout(re),re=setTimeout(()=>{D.pointer?.drop()},400)),a})(this,Math.pow(m,w),G?[G.axis]:this.xAxis,O?[O.axis]:this.yAxis,A.chartX,A.chartY,D)&&A.preventDefault?.()}})}return{compose:function(D){-1===X.indexOf(D)&&(X.push(D),ve(D,"afterGetContainer",P))}}}),Le(V,"masters/modules/mouse-wheel-zoom.src.js",[V["Core/Globals.js"],V["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],function(q,ne){return q.MouseWheelZoom=q.MouseWheelZoom||ne,q.MouseWheelZoom.compose(q.Chart),q}),Le(V,"masters/modules/stock.src.js",[V["Core/Globals.js"],V["Series/DataModifyComposition.js"],V["Stock/Navigator/Navigator.js"],V["Core/Axis/OrdinalAxis.js"],V["Stock/RangeSelector/RangeSelector.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Core/Chart/StockChart.js"],V["Series/OHLC/OHLCSeries.js"],V["Series/Flags/FlagsSeries.js"]],function(q,ne,re,ve,le,pe,ue,J,te){return q.Navigator=q.Navigator||re,q.OrdinalAxis=q.OrdinalAxis||ve,q.RangeSelector=q.RangeSelector||le,q.Scrollbar=q.Scrollbar||pe,q.stockChart=q.stockChart||ue.stockChart,q.StockChart=q.StockChart||q.stockChart,q.extend(q.StockChart,ue),ne.compose(q.Series,q.Axis,q.Point),te.compose(q.Renderer),J.compose(q.Series),q.Navigator.compose(q.Chart,q.Axis,q.Series),q.OrdinalAxis.compose(q.Axis,q.Series,q.Chart),q.RangeSelector.compose(q.Axis,q.Chart),q.Scrollbar.compose(q.Axis),q.StockChart.compose(q.Chart,q.Axis,q.Series,q.SVGRenderer),q}),Le(V,"masters/highstock.src.js",[V["masters/highcharts.src.js"]],function(q){return q.product="Highstock",q}),V["masters/highstock.src.js"]._modules=V,V["masters/highstock.src.js"]},ri.exports?(V.default=V,ri.exports=e&&e.document?V(e):V):void 0!==(M=function(){return V(e)}.call(Bt,We,Bt,ri))&&(ri.exports=M)},38833:(ri,Bt,We)=>{var M,e,V;V=function(V){"use strict";var Le=V?V._modules:{};function q(ne,re,ve,le){ne.hasOwnProperty(re)||(ne[re]=le.apply(null,ve),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:re,module:ne[re]}})))}q(Le,"Core/Chart/ChartNavigationComposition.js",[],function(){var ne;return function(re){re.compose=function ve(pe){return pe.navigation||(pe.navigation=new le(pe)),pe};class le{constructor(ue){this.updates=[],this.chart=ue}addUpdate(ue){this.chart.navigation.updates.push(ue)}update(ue,J){this.updates.forEach(te=>{te.call(this.chart,ue,J)})}}re.Additions=le}(ne||(ne={})),ne}),q(Le,"Extensions/Exporting/ExportingDefaults.js",[Le["Core/Globals.js"]],function(ne){const{isTouchDevice:re}=ne;return{exporting:{allowTableSorting:!0,type:"image/png",url:"https://export.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadPDF","downloadSVG"]}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen&&this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:3,height:28,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:re?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}}}),q(Le,"Extensions/Exporting/ExportingSymbols.js",[],function(){var ne;return function(re){const ve=[];function pe(J,te,X,E){return[["M",J,te+2.5],["L",J+X,te+2.5],["M",J,te+E/2+.5],["L",J+X,te+E/2+.5],["M",J,te+E-1.5],["L",J+X,te+E-1.5]]}function ue(J,te,X,E){const j=E/3-2;let F=[];return F=F.concat(this.circle(X-j,te,j,j),this.circle(X-j,te+j+4,j,j),this.circle(X-j,te+2*(j+4),j,j)),F}re.compose=function le(J){if(-1===ve.indexOf(J)){ve.push(J);const te=J.prototype.symbols;te.menu=pe,te.menuball=ue.bind(te)}}}(ne||(ne={})),ne}),q(Le,"Extensions/Exporting/Fullscreen.js",[Le["Core/Renderer/HTML/AST.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{composed:le}=re,{addEvent:pe,fireEvent:ue,pushUnique:J}=ve;function te(){this.fullscreen=new X(this)}class X{static compose(j){J(le,"Fullscreen")&&pe(j,"beforeRender",te)}constructor(j){this.chart=j,this.isOpen=!1;const F=j.renderTo;this.browserProps||("function"==typeof F.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:F.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:F.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:F.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){const j=this,F=j.chart,P=F.options.chart;ue(F,"fullscreenClose",null,function(){j.isOpen&&j.browserProps&&F.container.ownerDocument instanceof Document&&F.container.ownerDocument[j.browserProps.exitFullscreen](),j.unbindFullscreenEvent&&(j.unbindFullscreenEvent=j.unbindFullscreenEvent()),F.setSize(j.origWidth,j.origHeight,!1),j.origWidth=void 0,j.origHeight=void 0,P.width=j.origWidthOption,P.height=j.origHeightOption,j.origWidthOption=void 0,j.origHeightOption=void 0,j.isOpen=!1,j.setButtonText()})}open(){const j=this,F=j.chart,P=F.options.chart;ue(F,"fullscreenOpen",null,function(){if(P&&(j.origWidthOption=P.width,j.origHeightOption=P.height),j.origWidth=F.chartWidth,j.origHeight=F.chartHeight,j.browserProps){const D=pe(F.container.ownerDocument,j.browserProps.fullscreenChange,function(){j.isOpen?(j.isOpen=!1,j.close()):(F.setSize(null,null,!1),j.isOpen=!0,j.setButtonText())}),A=pe(F,"destroy",D);j.unbindFullscreenEvent=()=>{D(),A()};const I=F.renderTo[j.browserProps.requestFullscreen]();I&&I.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){const j=this.chart,F=j.exportDivElements,P=j.options.exporting,D=P&&P.buttons&&P.buttons.contextButton.menuItems,A=j.options.lang;if(P&&P.menuItemDefinitions&&A&&A.exitFullscreen&&A.viewFullscreen&&D&&F){const I=F[D.indexOf("viewFullscreen")];I&&ne.setElementHTML(I,this.isOpen?A.exitFullscreen:P.menuItemDefinitions.viewFullscreen.text||A.viewFullscreen)}}toggle(){const j=this;j.isOpen?j.close():j.open()}}return X}),q(Le,"Core/HttpUtilities.js",[Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re){const{win:ve}=ne,{discardElement:le,objectEach:pe}=re,X={ajax:function ue(E){const j={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},F=new XMLHttpRequest;function P(D,A){E.error&&E.error(D,A)}if(!E.url)return!1;F.open((E.type||"get").toUpperCase(),E.url,!0),(!E.headers||!E.headers["Content-Type"])&&F.setRequestHeader("Content-Type",j[E.dataType||"json"]||j.text),pe(E.headers,function(D,A){F.setRequestHeader(A,D)}),E.responseType&&(F.responseType=E.responseType),F.onreadystatechange=function(){let D;if(4===F.readyState){if(200===F.status){if("blob"!==E.responseType&&(D=F.responseText,"json"===E.dataType))try{D=JSON.parse(D)}catch(A){if(A instanceof Error)return P(F,A)}return E.success&&E.success(D,F)}P(F,F.responseText)}},E.data&&"string"!=typeof E.data&&(E.data=JSON.stringify(E.data)),F.send(E.data)},getJSON:function J(E,j){X.ajax({url:E,success:j,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function te(E,j,F){const P=new ve.FormData;pe(j,function(I,_){P.append(_,I)}),P.append("b64","true");const{filename:D,type:A}=j;return ve.fetch(E,{method:"POST",body:P,...F}).then(I=>{I.ok&&I.text().then(_=>{const m=document.createElement("a");m.href=`data:${A};base64,${_}`,m.download=D,m.click(),le(m)})})}};return X}),q(Le,"Extensions/Exporting/Exporting.js",[Le["Core/Renderer/HTML/AST.js"],Le["Core/Chart/Chart.js"],Le["Core/Chart/ChartNavigationComposition.js"],Le["Core/Defaults.js"],Le["Extensions/Exporting/ExportingDefaults.js"],Le["Extensions/Exporting/ExportingSymbols.js"],Le["Extensions/Exporting/Fullscreen.js"],Le["Core/Globals.js"],Le["Core/HttpUtilities.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe,ue,J,te,X,E){const{defaultOptions:j}=le,{doc:F,SVG_NS:P,win:D}=te,{addEvent:A,css:I,createElement:_,discardElement:m,extend:w,find:G,fireEvent:O,isObject:f,merge:a,objectEach:g,pick:v,removeEvent:o,uniqueKey:n}=E;var r;return function(l){const d=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^[0-9]+$/],C=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"];l.inlineAllowlist=[];const k=["clipPath","defs","desc"];let p;function T(De){const Be=this,oe=Be.renderer,ee=a(Be.options.navigation.buttonOptions,De),be=ee.onclick,xe=ee.menuItems,Ie=ee.symbolSize||12;let we;if(Be.btnCount||(Be.btnCount=0),Be.exportDivElements||(Be.exportDivElements=[],Be.exportSVGElements=[]),!1===ee.enabled||!ee.theme)return;const Ee=ee.theme;let Me;Be.styledMode||(Ee.fill=v(Ee.fill,"#ffffff"),Ee.stroke=v(Ee.stroke,"none")),be?Me=function(Je){Je&&Je.stopPropagation(),be.call(Be,Je)}:xe&&(Me=function(Je){Je&&Je.stopPropagation(),Be.contextMenu(Xe.menuClassName,xe,Xe.translateX||0,Xe.translateY||0,Xe.width||0,Xe.height||0,Xe),Xe.setState(2)}),ee.text&&ee.symbol?Ee.paddingLeft=v(Ee.paddingLeft,30):ee.text||w(Ee,{width:ee.width,height:ee.height,padding:0}),Be.styledMode||(Ee["stroke-linecap"]="round",Ee.fill=v(Ee.fill,"#ffffff"),Ee.stroke=v(Ee.stroke,"none"));const Xe=oe.button(ee.text,0,0,Me,Ee,void 0,void 0,void 0,void 0,ee.useHTML).addClass(De.className).attr({title:v(Be.options.lang[ee._titleKey||ee.titleKey],"")});Xe.menuClassName=De.menuClassName||"highcharts-menu-"+Be.btnCount++,ee.symbol&&(we=oe.symbol(ee.symbol,ee.symbolX-Ie/2,ee.symbolY-Ie/2,Ie,Ie,{width:Ie,height:Ie}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(Xe),Be.styledMode||we.attr({stroke:ee.symbolStroke,fill:ee.symbolFill,"stroke-width":ee.symbolStrokeWidth||1})),Xe.add(Be.exportingGroup).align(w(ee,{width:Xe.width,x:v(ee.x,Be.buttonOffset)}),!0,"spacingBox"),Be.buttonOffset+=((Xe.width||0)+ee.buttonSpacing)*("right"===ee.align?-1:1),Be.exportSVGElements.push(Xe,we)}function B(){const De=this;if(!De.printReverseInfo)return;const{childNodes:Be,origDisplay:oe,resetParams:ee}=De.printReverseInfo;De.moveContainers(De.renderTo),[].forEach.call(Be,function(be,xe){1===be.nodeType&&(be.style.display=oe[xe]||"")}),De.isPrinting=!1,ee&&De.setSize.apply(De,ee),delete De.printReverseInfo,p=void 0,O(De,"afterPrint")}function z(){const De=this,Be=F.body,oe=De.options.exporting.printMaxWidth,ee={childNodes:Be.childNodes,origDisplay:[],resetParams:void 0};De.isPrinting=!0,De.pointer?.reset(void 0,0),O(De,"beforePrint"),oe&&De.chartWidth>oe&&(ee.resetParams=[De.options.chart.width,void 0,!1],De.setSize(oe,void 0,!1)),[].forEach.call(ee.childNodes,function(xe,Ie){1===xe.nodeType&&(ee.origDisplay[Ie]=xe.style.display,xe.style.display="none")}),De.moveContainers(Be),De.printReverseInfo=ee}function K(De){const Be=De;Be.renderExporting(),A(De,"redraw",Be.renderExporting),A(De,"destroy",Be.destroyExport)}function se(De,Be,oe,ee,be,xe,Ie){const we=this,Ee=we.options.navigation,Me=we.chartWidth,Xe=we.chartHeight,Je="cache-"+De,lt=Math.max(be,xe);let qe,st=we[Je];st||(we.exportContextMenu=we[Je]=st=_("div",{className:De},{position:"absolute",zIndex:1e3,padding:lt+"px",pointerEvents:"auto",...we.renderer.style},we.scrollablePlotArea?.fixedDiv||we.container),qe=_("ul",{className:"highcharts-menu"},we.styledMode?{}:{listStyle:"none",margin:0,padding:0},st),we.styledMode||I(qe,w({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},Ee.menuStyle)),st.hideMenu=function(){I(st,{display:"none"}),Ie&&Ie.setState(0),we.openMenu=!1,I(we.renderTo,{overflow:"hidden"}),I(we.container,{overflow:"hidden"}),E.clearTimeout(st.hideTimer),O(we,"exportMenuHidden")},we.exportEvents.push(A(st,"mouseleave",function(){st.hideTimer=D.setTimeout(st.hideMenu,500)}),A(st,"mouseenter",function(){E.clearTimeout(st.hideTimer)}),A(F,"mouseup",function(pt){we.pointer?.inClass(pt.target,De)||st.hideMenu()}),A(st,"click",function(){we.openMenu&&st.hideMenu()})),Be.forEach(function(pt){if("string"==typeof pt&&(pt=we.options.exporting.menuItemDefinitions[pt]),f(pt,!0)){let ht;pt.separator?ht=_("hr",void 0,void 0,qe):("viewData"===pt.textKey&&we.isDataTableVisible&&(pt.textKey="hideData"),ht=_("li",{className:"highcharts-menu-item",onclick:function(Pt){Pt&&Pt.stopPropagation(),st.hideMenu(),"string"!=typeof pt&&pt.onclick&&pt.onclick.apply(we,arguments)}},void 0,qe),ne.setElementHTML(ht,pt.text||we.options.lang[pt.textKey]),we.styledMode||(ht.onmouseover=function(){I(this,Ee.menuItemHoverStyle)},ht.onmouseout=function(){I(this,Ee.menuItemStyle)},I(ht,w({cursor:"pointer"},Ee.menuItemStyle||{})))),we.exportDivElements.push(ht)}}),we.exportDivElements.push(qe,st),we.exportMenuWidth=st.offsetWidth,we.exportMenuHeight=st.offsetHeight);const Tt={display:"block"};oe+we.exportMenuWidth>Me?Tt.right=Me-oe-be-lt+"px":Tt.left=oe-lt+"px",ee+xe+we.exportMenuHeight>Xe&&"top"!==Ie.alignOptions.verticalAlign?Tt.bottom=Xe-ee-lt+"px":Tt.top=ee+xe-lt+"px",I(st,Tt),I(we.renderTo,{overflow:""}),I(we.container,{overflow:""}),we.openMenu=!0,O(we,"exportMenuShown")}function S(De){const Be=De?De.target:this,oe=Be.exportSVGElements,ee=Be.exportDivElements,be=Be.exportEvents;let xe;oe&&(oe.forEach((Ie,we)=>{Ie&&(Ie.onclick=Ie.ontouchstart=null,xe="cache-"+Ie.menuClassName,Be[xe]&&delete Be[xe],oe[we]=Ie.destroy())}),oe.length=0),Be.exportingGroup&&(Be.exportingGroup.destroy(),delete Be.exportingGroup),ee&&(ee.forEach(function(Ie,we){Ie&&(E.clearTimeout(Ie.hideTimer),o(Ie,"mouseleave"),ee[we]=Ie.onmouseout=Ie.onmouseover=Ie.ontouchstart=Ie.onclick=null,m(Ie))}),ee.length=0),be&&(be.forEach(function(Ie){Ie()}),be.length=0)}function $(De,Be){const oe=this.getSVGForExport(De,Be);De=a(this.options.exporting,De),X.post(De.url,{filename:De.filename?De.filename.replace(/\//g,"-"):this.getFilename(),type:De.type,width:De.width,scale:De.scale,svg:oe},De.fetchOptions)}function H(){return this.styledMode&&this.inlineStyles(),this.container.innerHTML}function x(){const De=this.userOptions.title&&this.userOptions.title.text;let Be=this.options.exporting.filename;return Be?Be.replace(/\//g,"-"):("string"==typeof De&&(Be=De.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z0-9\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!Be||Be.length<5)&&(Be="chart"),Be)}function N(De){const Be=this;let oe,ee,be=a(Be.options,De);be.plotOptions=a(Be.userOptions.plotOptions,De&&De.plotOptions),be.time=a(Be.userOptions.time,De&&De.time);const xe=_("div",null,{position:"absolute",top:"-9999em",width:Be.chartWidth+"px",height:Be.chartHeight+"px"},F.body),Ie=Be.renderTo.style.width,we=Be.renderTo.style.height,Ee=be.exporting.sourceWidth||be.chart.width||/px$/.test(Ie)&&parseInt(Ie,10)||(be.isGantt?800:600),Me=be.exporting.sourceHeight||be.chart.height||/px$/.test(we)&&parseInt(we,10)||400;w(be.chart,{animation:!1,renderTo:xe,forExport:!0,renderer:"SVGRenderer",width:Ee,height:Me}),be.exporting.enabled=!1,delete be.data,be.series=[],Be.series.forEach(function(lt){ee=a(lt.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:lt.visible}),ee.isInternal||be.series.push(ee)});const Xe={};Be.axes.forEach(function(lt){lt.userOptions.internalKey||(lt.userOptions.internalKey=n()),lt.options.isInternal||(Xe[lt.coll]||(Xe[lt.coll]=!0,be[lt.coll]=[]),be[lt.coll].push(a(lt.userOptions,{visible:lt.visible})))}),be.colorAxis=Be.userOptions.colorAxis;const Je=new Be.constructor(be,Be.callback);return De&&["xAxis","yAxis","series"].forEach(function(lt){const qe={};De[lt]&&(qe[lt]=De[lt],Je.update(qe))}),Be.axes.forEach(function(lt){const qe=G(Je.axes,function(ht){return ht.options.internalKey===lt.userOptions.internalKey}),st=lt.getExtremes(),Tt=st.userMin,pt=st.userMax;qe&&(typeof Tt<"u"&&Tt!==qe.min||typeof pt<"u"&&pt!==qe.max)&&qe.setExtremes(Tt,pt,!0,!1)}),oe=Je.getChartHTML(),O(this,"getSVG",{chartCopy:Je}),oe=Be.sanitizeSVG(oe,be),be=null,Je.destroy(),m(xe),oe}function R(De,Be){const oe=this.options.exporting;return this.getSVG(a({chart:{borderRadius:0}},oe.chartOptions,Be,{exporting:{sourceWidth:De&&De.sourceWidth||oe.sourceWidth,sourceHeight:De&&De.sourceHeight||oe.sourceHeight}}))}function Y(){const De=d,Be=l.inlineAllowlist,oe={};let ee;const be=F.createElement("iframe");I(be,{width:"1px",height:"1px",visibility:"hidden"}),F.body.appendChild(be);const xe=be.contentWindow&&be.contentWindow.document;xe&&xe.body.appendChild(xe.createElementNS(P,"svg")),function Ie(Ee){const Me={};let Xe,Je,lt,qe,st,Tt;function pt(ht,Pt){if(qe=st=!1,Be.length){for(Tt=Be.length;Tt--&&!st;)st=Be[Tt].test(Pt);qe=!st}for("transform"===Pt&&"none"===ht&&(qe=!0),Tt=De.length;Tt--&&!qe;)qe=De[Tt].test(Pt)||"function"==typeof ht;qe||(Je[Pt]!==ht||"svg"===Ee.nodeName)&&oe[Ee.nodeName][Pt]!==ht&&(C&&-1===C.indexOf(Pt)?Me[Pt]=ht:ht&&Ee.setAttribute(function Z(De){return De.replace(/([A-Z])/g,function(Be,oe){return"-"+oe.toLowerCase()})}(Pt),ht))}if(xe&&1===Ee.nodeType&&-1===k.indexOf(Ee.nodeName)){if(Xe=D.getComputedStyle(Ee,null),Je="svg"===Ee.nodeName?{}:D.getComputedStyle(Ee.parentNode,null),!oe[Ee.nodeName]){ee=xe.getElementsByTagName("svg")[0],lt=xe.createElementNS(Ee.namespaceURI,Ee.nodeName),ee.appendChild(lt);const ht=D.getComputedStyle(lt,null),Pt={};for(const Gt in ht)"string"==typeof ht[Gt]&&!/^[0-9]+$/.test(Gt)&&(Pt[Gt]=ht[Gt]);oe[Ee.nodeName]=Pt,"text"===Ee.nodeName&&delete oe.text.fill,ee.removeChild(lt)}for(const ht in Xe)(te.isFirefox||te.isMS||te.isSafari||Object.hasOwnProperty.call(Xe,ht))&&pt(Xe[ht],ht);if(I(Ee,Me),"svg"===Ee.nodeName&&Ee.setAttribute("stroke-width","1px"),"text"===Ee.nodeName)return;[].forEach.call(Ee.children||Ee.childNodes,Ie)}}(this.container.querySelector("svg")),function we(){ee.parentNode.removeChild(ee),be.parentNode.removeChild(be)}()}function he(De){const{scrollablePlotArea:Be}=this;(Be?[Be.fixedDiv,Be.scrollingContainer]:[this.container]).forEach(function(oe){De.appendChild(oe)})}function ge(){const De=this,Be=(oe,ee,be)=>{De.isDirtyExporting=!0,a(!0,De.options[oe],ee),v(be,!0)&&De.redraw()};De.exporting={update:function(oe,ee){Be("exporting",oe,ee)}},ve.compose(De).navigation.addUpdate((oe,ee)=>{Be("navigation",oe,ee)})}function _e(){const De=this;De.isPrinting||(p=De,te.isSafari||De.beforePrint(),setTimeout(()=>{D.focus(),D.print(),te.isSafari||setTimeout(()=>{De.afterPrint()},1e3)},1))}function Te(){const De=this,Be=De.options.exporting,oe=Be.buttons,ee=De.isDirtyExporting||!De.exportSVGElements;De.buttonOffset=0,De.isDirtyExporting&&De.destroyExport(),ee&&!1!==Be.enabled&&(De.exportEvents=[],De.exportingGroup=De.exportingGroup||De.renderer.g("exporting-group").attr({zIndex:3}).add(),g(oe,function(be){De.addButton(be)}),De.isDirtyExporting=!1)}function Oe(De,Be){const oe=De.indexOf("")+6;let ee=De.substr(oe);return De=De.substr(0,oe),Be&&Be.exporting&&Be.exporting.allowHTML&&ee&&(ee=''+ee.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />")+"",De=De.replace("",ee+"")),De.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|")\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/{"use strict";function Bt(e){return e instanceof Buffer?Buffer.from(e):new e.constructor(e.buffer.slice(),e.byteOffset,e.length)}ri.exports=function We(e){return(e=e||{}).circles?function M(e){var V=[],Le=[];return e.proto?function re(ve){if("object"!=typeof ve||null===ve)return ve;if(ve instanceof Date)return new Date(ve);if(Array.isArray(ve))return q(ve,re);if(ve instanceof Map)return new Map(q(Array.from(ve),re));if(ve instanceof Set)return new Set(q(Array.from(ve),re));var le={};for(var pe in V.push(ve),Le.push(le),ve){var ue=ve[pe];if("object"!=typeof ue||null===ue)le[pe]=ue;else if(ue instanceof Date)le[pe]=new Date(ue);else if(ue instanceof Map)le[pe]=new Map(q(Array.from(ue),re));else if(ue instanceof Set)le[pe]=new Set(q(Array.from(ue),re));else if(ArrayBuffer.isView(ue))le[pe]=Bt(ue);else{var J=V.indexOf(ue);le[pe]=-1!==J?Le[J]:re(ue)}}return V.pop(),Le.pop(),le}:function ne(ve){if("object"!=typeof ve||null===ve)return ve;if(ve instanceof Date)return new Date(ve);if(Array.isArray(ve))return q(ve,ne);if(ve instanceof Map)return new Map(q(Array.from(ve),ne));if(ve instanceof Set)return new Set(q(Array.from(ve),ne));var le={};for(var pe in V.push(ve),Le.push(le),ve)if(!1!==Object.hasOwnProperty.call(ve,pe)){var ue=ve[pe];if("object"!=typeof ue||null===ue)le[pe]=ue;else if(ue instanceof Date)le[pe]=new Date(ue);else if(ue instanceof Map)le[pe]=new Map(q(Array.from(ue),ne));else if(ue instanceof Set)le[pe]=new Set(q(Array.from(ue),ne));else if(ArrayBuffer.isView(ue))le[pe]=Bt(ue);else{var J=V.indexOf(ue);le[pe]=-1!==J?Le[J]:ne(ue)}}return V.pop(),Le.pop(),le};function q(ve,le){for(var pe=Object.keys(ve),ue=new Array(pe.length),J=0;J{"use strict";We.d(Bt,{t:()=>e});var M=We(21413);class e extends M.B{constructor(Le){super(),this._value=Le}get value(){return this.getValue()}_subscribe(Le){const q=super._subscribe(Le);return!q.closed&&Le.next(this._value),q}getValue(){const{hasError:Le,thrownError:q,_value:ne}=this;if(Le)throw q;return this._throwIfClosed(),ne}next(Le){super.next(this._value=Le)}}},71985:(ri,Bt,We)=>{"use strict";We.d(Bt,{c:()=>ve});var M=We(47707),e=We(18359),V=We(3494),Le=We(71203),q=We(41026),ne=We(98071),re=We(49786);let ve=(()=>{class J{constructor(X){X&&(this._subscribe=X)}lift(X){const E=new J;return E.source=this,E.operator=X,E}subscribe(X,E,j){const F=function ue(J){return J&&J instanceof M.vU||function pe(J){return J&&(0,ne.T)(J.next)&&(0,ne.T)(J.error)&&(0,ne.T)(J.complete)}(J)&&(0,e.Uv)(J)}(X)?X:new M.Ms(X,E,j);return(0,re.Y)(()=>{const{operator:P,source:D}=this;F.add(P?P.call(F,D):D?this._subscribe(F):this._trySubscribe(F))}),F}_trySubscribe(X){try{return this._subscribe(X)}catch(E){X.error(E)}}forEach(X,E){return new(E=le(E))((j,F)=>{const P=new M.Ms({next:D=>{try{X(D)}catch(A){F(A),P.unsubscribe()}},error:F,complete:j});this.subscribe(P)})}_subscribe(X){var E;return null===(E=this.source)||void 0===E?void 0:E.subscribe(X)}[V.s](){return this}pipe(...X){return(0,Le.m)(X)(this)}toPromise(X){return new(X=le(X))((E,j)=>{let F;this.subscribe(P=>F=P,P=>j(P),()=>E(F))})}}return J.create=te=>new J(te),J})();function le(J){var te;return null!==(te=J??q.$.Promise)&&void 0!==te?te:Promise}},21413:(ri,Bt,We)=>{"use strict";We.d(Bt,{B:()=>re});var M=We(71985),e=We(18359);const Le=(0,We(81853).L)(le=>function(){le(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var q=We(57908),ne=We(49786);let re=(()=>{class le extends M.c{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(ue){const J=new ve(this,this);return J.operator=ue,J}_throwIfClosed(){if(this.closed)throw new Le}next(ue){(0,ne.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const J of this.currentObservers)J.next(ue)}})}error(ue){(0,ne.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=ue;const{observers:J}=this;for(;J.length;)J.shift().error(ue)}})}complete(){(0,ne.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:ue}=this;for(;ue.length;)ue.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var ue;return(null===(ue=this.observers)||void 0===ue?void 0:ue.length)>0}_trySubscribe(ue){return this._throwIfClosed(),super._trySubscribe(ue)}_subscribe(ue){return this._throwIfClosed(),this._checkFinalizedStatuses(ue),this._innerSubscribe(ue)}_innerSubscribe(ue){const{hasError:J,isStopped:te,observers:X}=this;return J||te?e.Kn:(this.currentObservers=null,X.push(ue),new e.yU(()=>{this.currentObservers=null,(0,q.o)(X,ue)}))}_checkFinalizedStatuses(ue){const{hasError:J,thrownError:te,isStopped:X}=this;J?ue.error(te):X&&ue.complete()}asObservable(){const ue=new M.c;return ue.source=this,ue}}return le.create=(pe,ue)=>new ve(pe,ue),le})();class ve extends re{constructor(pe,ue){super(),this.destination=pe,this.source=ue}next(pe){var ue,J;null===(J=null===(ue=this.destination)||void 0===ue?void 0:ue.next)||void 0===J||J.call(ue,pe)}error(pe){var ue,J;null===(J=null===(ue=this.destination)||void 0===ue?void 0:ue.error)||void 0===J||J.call(ue,pe)}complete(){var pe,ue;null===(ue=null===(pe=this.destination)||void 0===pe?void 0:pe.complete)||void 0===ue||ue.call(pe)}_subscribe(pe){var ue,J;return null!==(J=null===(ue=this.source)||void 0===ue?void 0:ue.subscribe(pe))&&void 0!==J?J:e.Kn}}},47707:(ri,Bt,We)=>{"use strict";We.d(Bt,{Ms:()=>j,vU:()=>J});var M=We(98071),e=We(18359),V=We(41026),Le=We(45334),q=We(85343);const ne=le("C",void 0,void 0);function le(I,_,m){return{kind:I,value:_,error:m}}var pe=We(19270),ue=We(49786);class J extends e.yU{constructor(_){super(),this.isStopped=!1,_?(this.destination=_,(0,e.Uv)(_)&&_.add(this)):this.destination=A}static create(_,m,w){return new j(_,m,w)}next(_){this.isStopped?D(function ve(I){return le("N",I,void 0)}(_),this):this._next(_)}error(_){this.isStopped?D(function re(I){return le("E",void 0,I)}(_),this):(this.isStopped=!0,this._error(_))}complete(){this.isStopped?D(ne,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(_){this.destination.next(_)}_error(_){try{this.destination.error(_)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const te=Function.prototype.bind;function X(I,_){return te.call(I,_)}class E{constructor(_){this.partialObserver=_}next(_){const{partialObserver:m}=this;if(m.next)try{m.next(_)}catch(w){F(w)}}error(_){const{partialObserver:m}=this;if(m.error)try{m.error(_)}catch(w){F(w)}else F(_)}complete(){const{partialObserver:_}=this;if(_.complete)try{_.complete()}catch(m){F(m)}}}class j extends J{constructor(_,m,w){let G;if(super(),(0,M.T)(_)||!_)G={next:_??void 0,error:m??void 0,complete:w??void 0};else{let O;this&&V.$.useDeprecatedNextContext?(O=Object.create(_),O.unsubscribe=()=>this.unsubscribe(),G={next:_.next&&X(_.next,O),error:_.error&&X(_.error,O),complete:_.complete&&X(_.complete,O)}):G=_}this.destination=new E(G)}}function F(I){V.$.useDeprecatedSynchronousErrorHandling?(0,ue.l)(I):(0,Le.m)(I)}function D(I,_){const{onStoppedNotification:m}=V.$;m&&pe.f.setTimeout(()=>m(I,_))}const A={closed:!0,next:q.l,error:function P(I){throw I},complete:q.l}},18359:(ri,Bt,We)=>{"use strict";We.d(Bt,{Kn:()=>ne,yU:()=>q,Uv:()=>re});var M=We(98071);const V=(0,We(81853).L)(le=>function(ue){le(this),this.message=ue?`${ue.length} errors occurred during unsubscription:\n${ue.map((J,te)=>`${te+1}) ${J.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=ue});var Le=We(57908);class q{constructor(pe){this.initialTeardown=pe,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let pe;if(!this.closed){this.closed=!0;const{_parentage:ue}=this;if(ue)if(this._parentage=null,Array.isArray(ue))for(const X of ue)X.remove(this);else ue.remove(this);const{initialTeardown:J}=this;if((0,M.T)(J))try{J()}catch(X){pe=X instanceof V?X.errors:[X]}const{_finalizers:te}=this;if(te){this._finalizers=null;for(const X of te)try{ve(X)}catch(E){pe=pe??[],E instanceof V?pe=[...pe,...E.errors]:pe.push(E)}}if(pe)throw new V(pe)}}add(pe){var ue;if(pe&&pe!==this)if(this.closed)ve(pe);else{if(pe instanceof q){if(pe.closed||pe._hasParent(this))return;pe._addParent(this)}(this._finalizers=null!==(ue=this._finalizers)&&void 0!==ue?ue:[]).push(pe)}}_hasParent(pe){const{_parentage:ue}=this;return ue===pe||Array.isArray(ue)&&ue.includes(pe)}_addParent(pe){const{_parentage:ue}=this;this._parentage=Array.isArray(ue)?(ue.push(pe),ue):ue?[ue,pe]:pe}_removeParent(pe){const{_parentage:ue}=this;ue===pe?this._parentage=null:Array.isArray(ue)&&(0,Le.o)(ue,pe)}remove(pe){const{_finalizers:ue}=this;ue&&(0,Le.o)(ue,pe),pe instanceof q&&pe._removeParent(this)}}q.EMPTY=(()=>{const le=new q;return le.closed=!0,le})();const ne=q.EMPTY;function re(le){return le instanceof q||le&&"closed"in le&&(0,M.T)(le.remove)&&(0,M.T)(le.add)&&(0,M.T)(le.unsubscribe)}function ve(le){(0,M.T)(le)?le():le.unsubscribe()}},41026:(ri,Bt,We)=>{"use strict";We.d(Bt,{$:()=>M});const M={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},28793:(ri,Bt,We)=>{"use strict";We.d(Bt,{x:()=>q});var M=We(26365),V=We(9326),Le=We(86648);function q(...ne){return function e(){return(0,M.U)(1)}()((0,Le.H)(ne,(0,V.lI)(ne)))}},59030:(ri,Bt,We)=>{"use strict";We.d(Bt,{v:()=>V});var M=We(71985),e=We(58750);function V(Le){return new M.c(q=>{(0,e.Tg)(Le()).subscribe(q)})}},983:(ri,Bt,We)=>{"use strict";We.d(Bt,{w:()=>e});const e=new(We(71985).c)(q=>q.complete())},27468:(ri,Bt,We)=>{"use strict";We.d(Bt,{p:()=>ve});var M=We(71985),e=We(93073),V=We(58750),Le=We(9326),q=We(54360),ne=We(6450),re=We(58496);function ve(...le){const pe=(0,Le.ms)(le),{args:ue,keys:J}=(0,e.D)(le),te=new M.c(X=>{const{length:E}=ue;if(!E)return void X.complete();const j=new Array(E);let F=E,P=E;for(let D=0;D{A||(A=!0,P--),j[D]=I},()=>F--,void 0,()=>{(!F||!A)&&(P||X.next(J?(0,re.e)(J,j):j),X.complete())}))}});return pe?te.pipe((0,ne.I)(pe)):te}},86648:(ri,Bt,We)=>{"use strict";We.d(Bt,{H:()=>w});var M=We(58750),e=We(45225),V=We(39974),Le=We(54360);function q(G,O=0){return(0,V.N)((f,a)=>{f.subscribe((0,Le._)(a,g=>(0,e.N)(a,G,()=>a.next(g),O),()=>(0,e.N)(a,G,()=>a.complete(),O),g=>(0,e.N)(a,G,()=>a.error(g),O)))})}function ne(G,O=0){return(0,V.N)((f,a)=>{a.add(G.schedule(()=>f.subscribe(a),O))})}var le=We(71985),ue=We(4761),J=We(98071);function X(G,O){if(!G)throw new Error("Iterable cannot be null");return new le.c(f=>{(0,e.N)(f,O,()=>{const a=G[Symbol.asyncIterator]();(0,e.N)(f,O,()=>{a.next().then(g=>{g.done?f.complete():f.next(g.value)})},0,!0)})})}var E=We(55055),j=We(59858),F=We(47441),P=We(85397),D=We(37953),A=We(50591),I=We(15196);function w(G,O){return O?function m(G,O){if(null!=G){if((0,E.l)(G))return function re(G,O){return(0,M.Tg)(G).pipe(ne(O),q(O))}(G,O);if((0,F.X)(G))return function pe(G,O){return new le.c(f=>{let a=0;return O.schedule(function(){a===G.length?f.complete():(f.next(G[a++]),f.closed||this.schedule())})})}(G,O);if((0,j.y)(G))return function ve(G,O){return(0,M.Tg)(G).pipe(ne(O),q(O))}(G,O);if((0,D.T)(G))return X(G,O);if((0,P.x)(G))return function te(G,O){return new le.c(f=>{let a;return(0,e.N)(f,O,()=>{a=G[ue.l](),(0,e.N)(f,O,()=>{let g,v;try{({value:g,done:v}=a.next())}catch(o){return void f.error(o)}v?f.complete():f.next(g)},0,!0)}),()=>(0,J.T)(a?.return)&&a.return()})}(G,O);if((0,I.U)(G))return function _(G,O){return X((0,I.C)(G),O)}(G,O)}throw(0,A.L)(G)}(G,O):(0,M.Tg)(G)}},33726:(ri,Bt,We)=>{"use strict";We.d(Bt,{R:()=>pe});var M=We(58750),e=We(71985),V=We(73028),Le=We(47441),q=We(98071),ne=We(6450);const re=["addListener","removeListener"],ve=["addEventListener","removeEventListener"],le=["on","off"];function pe(E,j,F,P){if((0,q.T)(F)&&(P=F,F=void 0),P)return pe(E,j,F).pipe((0,ne.I)(P));const[D,A]=function X(E){return(0,q.T)(E.addEventListener)&&(0,q.T)(E.removeEventListener)}(E)?ve.map(I=>_=>E[I](j,_,F)):function J(E){return(0,q.T)(E.addListener)&&(0,q.T)(E.removeListener)}(E)?re.map(ue(E,j)):function te(E){return(0,q.T)(E.on)&&(0,q.T)(E.off)}(E)?le.map(ue(E,j)):[];if(!D&&(0,Le.X)(E))return(0,V.Z)(I=>pe(I,j,F))((0,M.Tg)(E));if(!D)throw new TypeError("Invalid event target");return new e.c(I=>{const _=(...m)=>I.next(1A(_)})}function ue(E,j){return F=>P=>E[F](j,P)}},58750:(ri,Bt,We)=>{"use strict";We.d(Bt,{Sx:()=>j,Tg:()=>te});var M=We(31635),e=We(47441),V=We(59858),Le=We(71985),q=We(55055),ne=We(37953),re=We(50591),ve=We(85397),le=We(15196),pe=We(98071),ue=We(45334),J=We(3494);function te(I){if(I instanceof Le.c)return I;if(null!=I){if((0,q.l)(I))return function X(I){return new Le.c(_=>{const m=I[J.s]();if((0,pe.T)(m.subscribe))return m.subscribe(_);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(I);if((0,e.X)(I))return function E(I){return new Le.c(_=>{for(let m=0;m{for(const m of I)if(_.next(m),_.closed)return;_.complete()})}(I);if((0,le.U)(I))return function D(I){return P((0,le.C)(I))}(I)}throw(0,re.L)(I)}function j(I){return new Le.c(_=>{I.then(m=>{_.closed||(_.next(m),_.complete())},m=>_.error(m)).then(null,ue.m)})}function P(I){return new Le.c(_=>{(function A(I,_){var m,w,G,O;return(0,M.sH)(this,void 0,void 0,function*(){try{for(m=(0,M.xN)(I);!(w=yield m.next()).done;)if(_.next(w.value),_.closed)return}catch(f){G={error:f}}finally{try{w&&!w.done&&(O=m.return)&&(yield O.call(m))}finally{if(G)throw G.error}}_.complete()})})(I,_).catch(m=>_.error(m))})}},57786:(ri,Bt,We)=>{"use strict";We.d(Bt,{h:()=>ne});var M=We(26365),e=We(58750),V=We(983),Le=We(9326),q=We(86648);function ne(...re){const ve=(0,Le.lI)(re),le=(0,Le.R0)(re,1/0),pe=re;return pe.length?1===pe.length?(0,e.Tg)(pe[0]):(0,M.U)(le)((0,q.H)(pe,ve)):V.w}},7673:(ri,Bt,We)=>{"use strict";We.d(Bt,{of:()=>V});var M=We(9326),e=We(86648);function V(...Le){const q=(0,M.lI)(Le);return(0,e.H)(Le,q)}},18810:(ri,Bt,We)=>{"use strict";We.d(Bt,{$:()=>V});var M=We(71985),e=We(98071);function V(Le,q){const ne=(0,e.T)(Le)?Le:()=>Le,re=ve=>ve.error(ne());return new M.c(q?ve=>q.schedule(re,0,ve):re)}},41584:(ri,Bt,We)=>{"use strict";We.d(Bt,{O:()=>q});var M=We(71985),e=We(43236),V=We(79470);function q(ne=0,re,ve=e.b){let le=-1;return null!=re&&((0,V.m)(re)?ve=re:le=re),new M.c(pe=>{let ue=function Le(ne){return ne instanceof Date&&!isNaN(ne)}(ne)?+ne-ve.now():ne;ue<0&&(ue=0);let J=0;return ve.schedule(function(){pe.closed||(pe.next(J++),0<=le?this.schedule(void 0,le):pe.complete())},ue)})}},54360:(ri,Bt,We)=>{"use strict";We.d(Bt,{_:()=>e});var M=We(47707);function e(Le,q,ne,re,ve){return new V(Le,q,ne,re,ve)}class V extends M.vU{constructor(q,ne,re,ve,le,pe){super(q),this.onFinalize=le,this.shouldUnsubscribe=pe,this._next=ne?function(ue){try{ne(ue)}catch(J){q.error(J)}}:super._next,this._error=ve?function(ue){try{ve(ue)}catch(J){q.error(J)}finally{this.unsubscribe()}}:super._error,this._complete=re?function(){try{re()}catch(ue){q.error(ue)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var q;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:ne}=this;super.unsubscribe(),!ne&&(null===(q=this.onFinalize)||void 0===q||q.call(this))}}}},99437:(ri,Bt,We)=>{"use strict";We.d(Bt,{W:()=>Le});var M=We(58750),e=We(54360),V=We(39974);function Le(q){return(0,V.N)((ne,re)=>{let pe,ve=null,le=!1;ve=ne.subscribe((0,e._)(re,void 0,void 0,ue=>{pe=(0,M.Tg)(q(ue,Le(q)(ne))),ve?(ve.unsubscribe(),ve=null,pe.subscribe(re)):le=!0})),le&&(ve.unsubscribe(),ve=null,pe.subscribe(re))})}},70274:(ri,Bt,We)=>{"use strict";We.d(Bt,{H:()=>V});var M=We(73028),e=We(98071);function V(Le,q){return(0,e.T)(q)?(0,M.Z)(Le,q,1):(0,M.Z)(Le,1)}},70152:(ri,Bt,We)=>{"use strict";We.d(Bt,{B:()=>Le});var M=We(43236),e=We(39974),V=We(54360);function Le(q,ne=M.E){return(0,e.N)((re,ve)=>{let le=null,pe=null,ue=null;const J=()=>{if(le){le.unsubscribe(),le=null;const X=pe;pe=null,ve.next(X)}};function te(){const X=ue+q,E=ne.now();if(E{pe=X,ue=ne.now(),le||(le=ne.schedule(te,q),ve.add(le))},()=>{J(),ve.complete()},void 0,()=>{pe=le=null}))})}},91986:(ri,Bt,We)=>{"use strict";We.d(Bt,{c:()=>te});var M=We(43236),e=We(28793),V=We(96697),Le=We(39974),q=We(54360),ne=We(85343),ve=We(73703),le=We(73028),pe=We(58750);function ue(X,E){return E?j=>(0,e.x)(E.pipe((0,V.s)(1),function re(){return(0,Le.N)((X,E)=>{X.subscribe((0,q._)(E,ne.l))})}()),j.pipe(ue(X))):(0,le.Z)((j,F)=>(0,pe.Tg)(X(j,F)).pipe((0,V.s)(1),(0,ve.u)(j)))}var J=We(41584);function te(X,E=M.E){const j=(0,J.O)(X,E);return ue(()=>j)}},23294:(ri,Bt,We)=>{"use strict";We.d(Bt,{F:()=>Le});var M=We(33669),e=We(39974),V=We(54360);function Le(ne,re=M.D){return ne=ne??q,(0,e.N)((ve,le)=>{let pe,ue=!0;ve.subscribe((0,V._)(le,J=>{const te=re(J);(ue||!ne(pe,te))&&(ue=!1,pe=te,le.next(J))}))})}function q(ne,re){return ne===re}},5964:(ri,Bt,We)=>{"use strict";We.d(Bt,{p:()=>V});var M=We(39974),e=We(54360);function V(Le,q){return(0,M.N)((ne,re)=>{let ve=0;ne.subscribe((0,e._)(re,le=>Le.call(q,le,ve++)&&re.next(le)))})}},70980:(ri,Bt,We)=>{"use strict";We.d(Bt,{j:()=>e});var M=We(39974);function e(V){return(0,M.N)((Le,q)=>{try{Le.subscribe(q)}finally{q.add(V)}})}},96354:(ri,Bt,We)=>{"use strict";We.d(Bt,{T:()=>V});var M=We(39974),e=We(54360);function V(Le,q){return(0,M.N)((ne,re)=>{let ve=0;ne.subscribe((0,e._)(re,le=>{re.next(Le.call(q,le,ve++))}))})}},73703:(ri,Bt,We)=>{"use strict";We.d(Bt,{u:()=>e});var M=We(96354);function e(V){return(0,M.T)(()=>V)}},26365:(ri,Bt,We)=>{"use strict";We.d(Bt,{U:()=>V});var M=We(73028),e=We(33669);function V(Le=1/0){return(0,M.Z)(e.D,Le)}},85412:(ri,Bt,We)=>{"use strict";We.d(Bt,{h:()=>Le});var M=We(58750),e=We(45225),V=We(54360);function Le(q,ne,re,ve,le,pe,ue,J){const te=[];let X=0,E=0,j=!1;const F=()=>{j&&!te.length&&!X&&ne.complete()},P=A=>X{pe&&ne.next(A),X++;let I=!1;(0,M.Tg)(re(A,E++)).subscribe((0,V._)(ne,_=>{le?.(_),pe?P(_):ne.next(_)},()=>{I=!0},void 0,()=>{if(I)try{for(X--;te.length&&XD(_)):D(_)}F()}catch(_){ne.error(_)}}))};return q.subscribe((0,V._)(ne,P,()=>{j=!0,F()})),()=>{J?.()}}},73028:(ri,Bt,We)=>{"use strict";We.d(Bt,{Z:()=>ne});var M=We(96354),e=We(58750),V=We(39974),Le=We(85412),q=We(98071);function ne(re,ve,le=1/0){return(0,q.T)(ve)?ne((pe,ue)=>(0,M.T)((J,te)=>ve(pe,J,ue,te))((0,e.Tg)(re(pe,ue))),le):("number"==typeof ve&&(le=ve),(0,V.N)((pe,ue)=>(0,Le.h)(pe,ue,re,le)))}},97647:(ri,Bt,We)=>{"use strict";We.d(Bt,{u:()=>q});var M=We(58750),e=We(21413),V=We(47707),Le=We(39974);function q(re={}){const{connector:ve=(()=>new e.B),resetOnError:le=!0,resetOnComplete:pe=!0,resetOnRefCountZero:ue=!0}=re;return J=>{let te,X,E,j=0,F=!1,P=!1;const D=()=>{X?.unsubscribe(),X=void 0},A=()=>{D(),te=E=void 0,F=P=!1},I=()=>{const _=te;A(),_?.unsubscribe()};return(0,Le.N)((_,m)=>{j++,!P&&!F&&D();const w=E=E??ve();m.add(()=>{j--,0===j&&!P&&!F&&(X=ne(I,ue))}),w.subscribe(m),!te&&j>0&&(te=new V.Ms({next:G=>w.next(G),error:G=>{P=!0,D(),X=ne(A,le,G),w.error(G)},complete:()=>{F=!0,D(),X=ne(A,pe),w.complete()}}),(0,M.Tg)(_).subscribe(te))})(J)}}function ne(re,ve,...le){if(!0===ve)return void re();if(!1===ve)return;const pe=new V.Ms({next:()=>{pe.unsubscribe(),re()}});return(0,M.Tg)(ve(...le)).subscribe(pe)}},99172:(ri,Bt,We)=>{"use strict";We.d(Bt,{Z:()=>Le});var M=We(28793),e=We(9326),V=We(39974);function Le(...q){const ne=(0,e.lI)(q);return(0,V.N)((re,ve)=>{(ne?(0,M.x)(q,re,ne):(0,M.x)(q,re)).subscribe(ve)})}},25558:(ri,Bt,We)=>{"use strict";We.d(Bt,{n:()=>Le});var M=We(58750),e=We(39974),V=We(54360);function Le(q,ne){return(0,e.N)((re,ve)=>{let le=null,pe=0,ue=!1;const J=()=>ue&&!le&&ve.complete();re.subscribe((0,V._)(ve,te=>{le?.unsubscribe();let X=0;const E=pe++;(0,M.Tg)(q(te,E)).subscribe(le=(0,V._)(ve,j=>ve.next(ne?ne(te,j,E,X++):j),()=>{le=null,J()}))},()=>{ue=!0,J()}))})}},96697:(ri,Bt,We)=>{"use strict";We.d(Bt,{s:()=>Le});var M=We(983),e=We(39974),V=We(54360);function Le(q){return q<=0?()=>M.w:(0,e.N)((ne,re)=>{let ve=0;ne.subscribe((0,V._)(re,le=>{++ve<=q&&(re.next(le),q<=ve&&re.complete())}))})}},56977:(ri,Bt,We)=>{"use strict";We.d(Bt,{Q:()=>q});var M=We(39974),e=We(54360),V=We(58750),Le=We(85343);function q(ne){return(0,M.N)((re,ve)=>{(0,V.Tg)(ne).subscribe((0,e._)(ve,()=>ve.complete(),Le.l)),!ve.closed&&re.subscribe(ve)})}},88141:(ri,Bt,We)=>{"use strict";We.d(Bt,{M:()=>q});var M=We(98071),e=We(39974),V=We(54360),Le=We(33669);function q(ne,re,ve){const le=(0,M.T)(ne)||re||ve?{next:ne,error:re,complete:ve}:ne;return le?(0,e.N)((pe,ue)=>{var J;null===(J=le.subscribe)||void 0===J||J.call(le);let te=!0;pe.subscribe((0,V._)(ue,X=>{var E;null===(E=le.next)||void 0===E||E.call(le,X),ue.next(X)},()=>{var X;te=!1,null===(X=le.complete)||void 0===X||X.call(le),ue.complete()},X=>{var E;te=!1,null===(E=le.error)||void 0===E||E.call(le,X),ue.error(X)},()=>{var X,E;te&&(null===(X=le.unsubscribe)||void 0===X||X.call(le)),null===(E=le.finalize)||void 0===E||E.call(le)}))}):Le.D}},96780:(ri,Bt,We)=>{"use strict";We.d(Bt,{R:()=>q});var M=We(18359);class e extends M.yU{constructor(re,ve){super()}schedule(re,ve=0){return this}}const V={setInterval(ne,re,...ve){const{delegate:le}=V;return le?.setInterval?le.setInterval(ne,re,...ve):setInterval(ne,re,...ve)},clearInterval(ne){const{delegate:re}=V;return(re?.clearInterval||clearInterval)(ne)},delegate:void 0};var Le=We(57908);class q extends e{constructor(re,ve){super(re,ve),this.scheduler=re,this.work=ve,this.pending=!1}schedule(re,ve=0){var le;if(this.closed)return this;this.state=re;const pe=this.id,ue=this.scheduler;return null!=pe&&(this.id=this.recycleAsyncId(ue,pe,ve)),this.pending=!0,this.delay=ve,this.id=null!==(le=this.id)&&void 0!==le?le:this.requestAsyncId(ue,this.id,ve),this}requestAsyncId(re,ve,le=0){return V.setInterval(re.flush.bind(re,this),le)}recycleAsyncId(re,ve,le=0){if(null!=le&&this.delay===le&&!1===this.pending)return ve;null!=ve&&V.clearInterval(ve)}execute(re,ve){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const le=this._execute(re,ve);if(le)return le;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(re,ve){let pe,le=!1;try{this.work(re)}catch(ue){le=!0,pe=ue||new Error("Scheduled action threw falsy error")}if(le)return this.unsubscribe(),pe}unsubscribe(){if(!this.closed){const{id:re,scheduler:ve}=this,{actions:le}=ve;this.work=this.state=this.scheduler=null,this.pending=!1,(0,Le.o)(le,this),null!=re&&(this.id=this.recycleAsyncId(ve,re,null)),this.delay=null,super.unsubscribe()}}}},39687:(ri,Bt,We)=>{"use strict";We.d(Bt,{q:()=>V});var M=We(86129);class e{constructor(q,ne=e.now){this.schedulerActionCtor=q,this.now=ne}schedule(q,ne=0,re){return new this.schedulerActionCtor(this,q).schedule(re,ne)}}e.now=M.U.now;class V extends e{constructor(q,ne=e.now){super(q,ne),this.actions=[],this._active=!1}flush(q){const{actions:ne}=this;if(this._active)return void ne.push(q);let re;this._active=!0;do{if(re=q.execute(q.state,q.delay))break}while(q=ne.shift());if(this._active=!1,re){for(;q=ne.shift();)q.unsubscribe();throw re}}}},30536:(ri,Bt,We)=>{"use strict";We.d(Bt,{X:()=>re});var M=We(96780),e=We(18359);const V={schedule(le){let pe=requestAnimationFrame,ue=cancelAnimationFrame;const{delegate:J}=V;J&&(pe=J.requestAnimationFrame,ue=J.cancelAnimationFrame);const te=pe(X=>{ue=void 0,le(X)});return new e.yU(()=>ue?.(te))},requestAnimationFrame(...le){const{delegate:pe}=V;return(pe?.requestAnimationFrame||requestAnimationFrame)(...le)},cancelAnimationFrame(...le){const{delegate:pe}=V;return(pe?.cancelAnimationFrame||cancelAnimationFrame)(...le)},delegate:void 0};var q=We(39687);const re=new class ne extends q.q{flush(pe){this._active=!0;const ue=this._scheduled;this._scheduled=void 0;const{actions:J}=this;let te;pe=pe||J.shift();do{if(te=pe.execute(pe.state,pe.delay))break}while((pe=J[0])&&pe.id===ue&&J.shift());if(this._active=!1,te){for(;(pe=J[0])&&pe.id===ue&&J.shift();)pe.unsubscribe();throw te}}}(class Le extends M.R{constructor(pe,ue){super(pe,ue),this.scheduler=pe,this.work=ue}requestAsyncId(pe,ue,J=0){return null!==J&&J>0?super.requestAsyncId(pe,ue,J):(pe.actions.push(this),pe._scheduled||(pe._scheduled=V.requestAnimationFrame(()=>pe.flush(void 0))))}recycleAsyncId(pe,ue,J=0){var te;if(null!=J?J>0:this.delay>0)return super.recycleAsyncId(pe,ue,J);const{actions:X}=pe;null!=ue&&(null===(te=X[X.length-1])||void 0===te?void 0:te.id)!==ue&&(V.cancelAnimationFrame(ue),pe._scheduled=void 0)}})},43236:(ri,Bt,We)=>{"use strict";We.d(Bt,{E:()=>V,b:()=>Le});var M=We(96780);const V=new(We(39687).q)(M.R),Le=V},86129:(ri,Bt,We)=>{"use strict";We.d(Bt,{U:()=>M});const M={now:()=>(M.delegate||Date).now(),delegate:void 0}},19270:(ri,Bt,We)=>{"use strict";We.d(Bt,{f:()=>M});const M={setTimeout(e,V,...Le){const{delegate:q}=M;return q?.setTimeout?q.setTimeout(e,V,...Le):setTimeout(e,V,...Le)},clearTimeout(e){const{delegate:V}=M;return(V?.clearTimeout||clearTimeout)(e)},delegate:void 0}},4761:(ri,Bt,We)=>{"use strict";We.d(Bt,{l:()=>e});const e=function M(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}()},3494:(ri,Bt,We)=>{"use strict";We.d(Bt,{s:()=>M});const M="function"==typeof Symbol&&Symbol.observable||"@@observable"},9326:(ri,Bt,We)=>{"use strict";We.d(Bt,{R0:()=>ne,lI:()=>q,ms:()=>Le});var M=We(98071),e=We(79470);function V(re){return re[re.length-1]}function Le(re){return(0,M.T)(V(re))?re.pop():void 0}function q(re){return(0,e.m)(V(re))?re.pop():void 0}function ne(re,ve){return"number"==typeof V(re)?re.pop():ve}},93073:(ri,Bt,We)=>{"use strict";We.d(Bt,{D:()=>q});const{isArray:M}=Array,{getPrototypeOf:e,prototype:V,keys:Le}=Object;function q(re){if(1===re.length){const ve=re[0];if(M(ve))return{args:ve,keys:null};if(function ne(re){return re&&"object"==typeof re&&e(re)===V}(ve)){const le=Le(ve);return{args:le.map(pe=>ve[pe]),keys:le}}}return{args:re,keys:null}}},57908:(ri,Bt,We)=>{"use strict";function M(e,V){if(e){const Le=e.indexOf(V);0<=Le&&e.splice(Le,1)}}We.d(Bt,{o:()=>M})},81853:(ri,Bt,We)=>{"use strict";function M(e){const Le=e(q=>{Error.call(q),q.stack=(new Error).stack});return Le.prototype=Object.create(Error.prototype),Le.prototype.constructor=Le,Le}We.d(Bt,{L:()=>M})},58496:(ri,Bt,We)=>{"use strict";function M(e,V){return e.reduce((Le,q,ne)=>(Le[q]=V[ne],Le),{})}We.d(Bt,{e:()=>M})},49786:(ri,Bt,We)=>{"use strict";We.d(Bt,{Y:()=>V,l:()=>Le});var M=We(41026);let e=null;function V(q){if(M.$.useDeprecatedSynchronousErrorHandling){const ne=!e;if(ne&&(e={errorThrown:!1,error:null}),q(),ne){const{errorThrown:re,error:ve}=e;if(e=null,re)throw ve}}else q()}function Le(q){M.$.useDeprecatedSynchronousErrorHandling&&e&&(e.errorThrown=!0,e.error=q)}},45225:(ri,Bt,We)=>{"use strict";function M(e,V,Le,q=0,ne=!1){const re=V.schedule(function(){Le(),ne?e.add(this.schedule(null,q)):this.unsubscribe()},q);if(e.add(re),!ne)return re}We.d(Bt,{N:()=>M})},33669:(ri,Bt,We)=>{"use strict";function M(e){return e}We.d(Bt,{D:()=>M})},47441:(ri,Bt,We)=>{"use strict";We.d(Bt,{X:()=>M});const M=e=>e&&"number"==typeof e.length&&"function"!=typeof e},37953:(ri,Bt,We)=>{"use strict";We.d(Bt,{T:()=>e});var M=We(98071);function e(V){return Symbol.asyncIterator&&(0,M.T)(V?.[Symbol.asyncIterator])}},98071:(ri,Bt,We)=>{"use strict";function M(e){return"function"==typeof e}We.d(Bt,{T:()=>M})},55055:(ri,Bt,We)=>{"use strict";We.d(Bt,{l:()=>V});var M=We(3494),e=We(98071);function V(Le){return(0,e.T)(Le[M.s])}},85397:(ri,Bt,We)=>{"use strict";We.d(Bt,{x:()=>V});var M=We(4761),e=We(98071);function V(Le){return(0,e.T)(Le?.[M.l])}},74402:(ri,Bt,We)=>{"use strict";We.d(Bt,{A:()=>V});var M=We(71985),e=We(98071);function V(Le){return!!Le&&(Le instanceof M.c||(0,e.T)(Le.lift)&&(0,e.T)(Le.subscribe))}},59858:(ri,Bt,We)=>{"use strict";We.d(Bt,{y:()=>e});var M=We(98071);function e(V){return(0,M.T)(V?.then)}},15196:(ri,Bt,We)=>{"use strict";We.d(Bt,{C:()=>V,U:()=>Le});var M=We(31635),e=We(98071);function V(q){return(0,M.AQ)(this,arguments,function*(){const re=q.getReader();try{for(;;){const{value:ve,done:le}=yield(0,M.N3)(re.read());if(le)return yield(0,M.N3)(void 0);yield yield(0,M.N3)(ve)}}finally{re.releaseLock()}})}function Le(q){return(0,e.T)(q?.getReader)}},79470:(ri,Bt,We)=>{"use strict";We.d(Bt,{m:()=>e});var M=We(98071);function e(V){return V&&(0,M.T)(V.schedule)}},39974:(ri,Bt,We)=>{"use strict";We.d(Bt,{N:()=>V,S:()=>e});var M=We(98071);function e(Le){return(0,M.T)(Le?.lift)}function V(Le){return q=>{if(e(q))return q.lift(function(ne){try{return Le(ne,this)}catch(re){this.error(re)}});throw new TypeError("Unable to lift unknown Observable type")}}},6450:(ri,Bt,We)=>{"use strict";We.d(Bt,{I:()=>Le});var M=We(96354);const{isArray:e}=Array;function Le(q){return(0,M.T)(ne=>function V(q,ne){return e(ne)?q(...ne):q(ne)}(q,ne))}},85343:(ri,Bt,We)=>{"use strict";function M(){}We.d(Bt,{l:()=>M})},71203:(ri,Bt,We)=>{"use strict";We.d(Bt,{F:()=>e,m:()=>V});var M=We(33669);function e(...Le){return V(Le)}function V(Le){return 0===Le.length?M.D:1===Le.length?Le[0]:function(ne){return Le.reduce((re,ve)=>ve(re),ne)}}},45334:(ri,Bt,We)=>{"use strict";We.d(Bt,{m:()=>V});var M=We(41026),e=We(19270);function V(Le){e.f.setTimeout(()=>{const{onUnhandledError:q}=M.$;if(!q)throw Le;q(Le)})}},50591:(ri,Bt,We)=>{"use strict";function M(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}We.d(Bt,{L:()=>M})},49969:(ri,Bt,We)=>{"use strict";We.d(Bt,{FX:()=>O,If:()=>M,K2:()=>ne,hZ:()=>V,i0:()=>Le,iF:()=>re,kY:()=>pe,kp:()=>e,lY:()=>ue,sM:()=>te,sf:()=>w,ui:()=>G,wk:()=>ve});var M=function(f){return f[f.State=0]="State",f[f.Transition=1]="Transition",f[f.Sequence=2]="Sequence",f[f.Group=3]="Group",f[f.Animate=4]="Animate",f[f.Keyframes=5]="Keyframes",f[f.Style=6]="Style",f[f.Trigger=7]="Trigger",f[f.Reference=8]="Reference",f[f.AnimateChild=9]="AnimateChild",f[f.AnimateRef=10]="AnimateRef",f[f.Query=11]="Query",f[f.Stagger=12]="Stagger",f}(M||{});const e="*";function V(f,a){return{type:M.Trigger,name:f,definitions:a,options:{}}}function Le(f,a=null){return{type:M.Animate,styles:a,timings:f}}function ne(f,a=null){return{type:M.Sequence,steps:f,options:a}}function re(f){return{type:M.Style,styles:f,offset:null}}function ve(f,a,g){return{type:M.State,name:f,styles:a,options:g}}function pe(f,a,g=null){return{type:M.Transition,expr:f,animation:a,options:g}}function ue(f,a=null){return{type:M.Reference,animation:f,options:a}}function te(f,a=null){return{type:M.AnimateRef,animation:f,options:a}}class w{constructor(a=0,g=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=a+g}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(a=>a()),this._onDoneFns=[])}onStart(a){this._originalOnStartFns.push(a),this._onStartFns.push(a)}onDone(a){this._originalOnDoneFns.push(a),this._onDoneFns.push(a)}onDestroy(a){this._onDestroyFns.push(a)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(a=>a()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(a=>a()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(a){this._position=this.totalTime?a*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(a){const g="start"==a?this._onStartFns:this._onDoneFns;g.forEach(v=>v()),g.length=0}}class G{constructor(a){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=a;let g=0,v=0,o=0;const n=this.players.length;0==n?queueMicrotask(()=>this._onFinish()):this.players.forEach(r=>{r.onDone(()=>{++g==n&&this._onFinish()}),r.onDestroy(()=>{++v==n&&this._onDestroy()}),r.onStart(()=>{++o==n&&this._onStart()})}),this.totalTime=this.players.reduce((r,l)=>Math.max(r,l.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(a=>a()),this._onDoneFns=[])}init(){this.players.forEach(a=>a.init())}onStart(a){this._onStartFns.push(a)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(a=>a()),this._onStartFns=[])}onDone(a){this._onDoneFns.push(a)}onDestroy(a){this._onDestroyFns.push(a)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(a=>a.play())}pause(){this.players.forEach(a=>a.pause())}restart(){this.players.forEach(a=>a.restart())}finish(){this._onFinish(),this.players.forEach(a=>a.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(a=>a.destroy()),this._onDestroyFns.forEach(a=>a()),this._onDestroyFns=[])}reset(){this.players.forEach(a=>a.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(a){const g=a*this.totalTime;this.players.forEach(v=>{const o=v.totalTime?Math.min(1,g/v.totalTime):1;v.setPosition(o)})}getPosition(){const a=this.players.reduce((g,v)=>null===g||v.totalTime>g.totalTime?v:g,null);return null!=a?a.getPosition():0}beforeDestroy(){this.players.forEach(a=>{a.beforeDestroy&&a.beforeDestroy()})}triggerCallback(a){const g="start"==a?this._onStartFns:this._onDoneFns;g.forEach(v=>v()),g.length=0}}const O="!"},83801:(ri,Bt,We)=>{"use strict";We.d(Bt,{B0:()=>Le,FQ:()=>re});var M=We(60177),e=We(54438);class V{constructor(le,pe){this._document=pe;const ue=this._textarea=this._document.createElement("textarea"),J=ue.style;J.position="fixed",J.top=J.opacity="0",J.left="-999em",ue.setAttribute("aria-hidden","true"),ue.value=le,ue.readOnly=!0,(this._document.fullscreenElement||this._document.body).appendChild(ue)}copy(){const le=this._textarea;let pe=!1;try{if(le){const ue=this._document.activeElement;le.select(),le.setSelectionRange(0,le.value.length),pe=this._document.execCommand("copy"),ue&&ue.focus()}}catch{}return pe}destroy(){const le=this._textarea;le&&(le.remove(),this._textarea=void 0)}}let Le=(()=>{class ve{constructor(pe){this._document=pe}copy(pe){const ue=this.beginCopy(pe),J=ue.copy();return ue.destroy(),J}beginCopy(pe){return new V(pe,this._document)}static#e=this.\u0275fac=function(ue){return new(ue||ve)(e.KVO(M.qQ))};static#t=this.\u0275prov=e.jDH({token:ve,factory:ve.\u0275fac,providedIn:"root"})}return ve})(),re=(()=>{class ve{static#e=this.\u0275fac=function(ue){return new(ue||ve)};static#t=this.\u0275mod=e.$C({type:ve});static#i=this.\u0275inj=e.G2t({})}return ve})()},60177:(ri,Bt,We)=>{"use strict";We.d(Bt,{AJ:()=>ko,B3:()=>Ui,Jj:()=>wn,MD:()=>Yo,N0:()=>Do,QT:()=>V,Sm:()=>j,Sq:()=>si,T3:()=>ln,UE:()=>Qs,VF:()=>q,Vy:()=>ga,XO:()=>r,Xr:()=>cr,YU:()=>$e,Yq:()=>xe,ZD:()=>Le,_b:()=>Nt,aZ:()=>P,bT:()=>Ki,cH:()=>f,e1:()=>sn,fG:()=>Bn,fw:()=>F,hb:()=>X,hj:()=>le,lG:()=>Tr,oV:()=>O,qQ:()=>re,tL:()=>l,ux:()=>cs,vh:()=>Jr});var M=We(54438);let e=null;function V(){return e}function Le(Ge){e??=Ge}class q{}const re=new M.nKC("");let ve=(()=>{class Ge{historyGo(Ke){throw new Error("")}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275prov=M.jDH({token:Ge,factory:()=>(0,M.WQX)(pe),providedIn:"platform"})}return Ge})();const le=new M.nKC("");let pe=(()=>{class Ge extends ve{constructor(){super(),this._doc=(0,M.WQX)(re),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return V().getBaseHref(this._doc)}onPopState(Ke){const at=V().getGlobalEventTarget(this._doc,"window");return at.addEventListener("popstate",Ke,!1),()=>at.removeEventListener("popstate",Ke)}onHashChange(Ke){const at=V().getGlobalEventTarget(this._doc,"window");return at.addEventListener("hashchange",Ke,!1),()=>at.removeEventListener("hashchange",Ke)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(Ke){this._location.pathname=Ke}pushState(Ke,at,Et){this._history.pushState(Ke,at,Et)}replaceState(Ke,at,Et){this._history.replaceState(Ke,at,Et)}forward(){this._history.forward()}back(){this._history.back()}historyGo(Ke=0){this._history.go(Ke)}getState(){return this._history.state}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275prov=M.jDH({token:Ge,factory:()=>new Ge,providedIn:"platform"})}return Ge})();function ue(Ge,ut){if(0==Ge.length)return ut;if(0==ut.length)return Ge;let Ke=0;return Ge.endsWith("/")&&Ke++,ut.startsWith("/")&&Ke++,2==Ke?Ge+ut.substring(1):1==Ke?Ge+ut:Ge+"/"+ut}function J(Ge){const ut=Ge.match(/#|\?|$/),Ke=ut&&ut.index||Ge.length;return Ge.slice(0,Ke-("/"===Ge[Ke-1]?1:0))+Ge.slice(Ke)}function te(Ge){return Ge&&"?"!==Ge[0]?"?"+Ge:Ge}let X=(()=>{class Ge{historyGo(Ke){throw new Error("")}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275prov=M.jDH({token:Ge,factory:()=>(0,M.WQX)(j),providedIn:"root"})}return Ge})();const E=new M.nKC("");let j=(()=>{class Ge extends X{constructor(Ke,at){super(),this._platformLocation=Ke,this._removeListenerFns=[],this._baseHref=at??this._platformLocation.getBaseHrefFromDOM()??(0,M.WQX)(re).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(Ke){this._removeListenerFns.push(this._platformLocation.onPopState(Ke),this._platformLocation.onHashChange(Ke))}getBaseHref(){return this._baseHref}prepareExternalUrl(Ke){return ue(this._baseHref,Ke)}path(Ke=!1){const at=this._platformLocation.pathname+te(this._platformLocation.search),Et=this._platformLocation.hash;return Et&&Ke?`${at}${Et}`:at}pushState(Ke,at,Et,Jt){const ci=this.prepareExternalUrl(Et+te(Jt));this._platformLocation.pushState(Ke,at,ci)}replaceState(Ke,at,Et,Jt){const ci=this.prepareExternalUrl(Et+te(Jt));this._platformLocation.replaceState(Ke,at,ci)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(Ke=0){this._platformLocation.historyGo?.(Ke)}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.KVO(ve),M.KVO(E,8))};static#t=this.\u0275prov=M.jDH({token:Ge,factory:Ge.\u0275fac,providedIn:"root"})}return Ge})(),F=(()=>{class Ge extends X{constructor(Ke,at){super(),this._platformLocation=Ke,this._baseHref="",this._removeListenerFns=[],null!=at&&(this._baseHref=at)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(Ke){this._removeListenerFns.push(this._platformLocation.onPopState(Ke),this._platformLocation.onHashChange(Ke))}getBaseHref(){return this._baseHref}path(Ke=!1){const at=this._platformLocation.hash??"#";return at.length>0?at.substring(1):at}prepareExternalUrl(Ke){const at=ue(this._baseHref,Ke);return at.length>0?"#"+at:at}pushState(Ke,at,Et,Jt){let ci=this.prepareExternalUrl(Et+te(Jt));0==ci.length&&(ci=this._platformLocation.pathname),this._platformLocation.pushState(Ke,at,ci)}replaceState(Ke,at,Et,Jt){let ci=this.prepareExternalUrl(Et+te(Jt));0==ci.length&&(ci=this._platformLocation.pathname),this._platformLocation.replaceState(Ke,at,ci)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(Ke=0){this._platformLocation.historyGo?.(Ke)}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.KVO(ve),M.KVO(E,8))};static#t=this.\u0275prov=M.jDH({token:Ge,factory:Ge.\u0275fac})}return Ge})(),P=(()=>{class Ge{constructor(Ke){this._subject=new M.bkB,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=Ke;const at=this._locationStrategy.getBaseHref();this._basePath=function _(Ge){if(new RegExp("^(https?:)?//").test(Ge)){const[,Ke]=Ge.split(/\/\/[^\/]+/);return Ke}return Ge}(J(I(at))),this._locationStrategy.onPopState(Et=>{this._subject.emit({url:this.path(!0),pop:!0,state:Et.state,type:Et.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(Ke=!1){return this.normalize(this._locationStrategy.path(Ke))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(Ke,at=""){return this.path()==this.normalize(Ke+te(at))}normalize(Ke){return Ge.stripTrailingSlash(function A(Ge,ut){if(!Ge||!ut.startsWith(Ge))return ut;const Ke=ut.substring(Ge.length);return""===Ke||["/",";","?","#"].includes(Ke[0])?Ke:ut}(this._basePath,I(Ke)))}prepareExternalUrl(Ke){return Ke&&"/"!==Ke[0]&&(Ke="/"+Ke),this._locationStrategy.prepareExternalUrl(Ke)}go(Ke,at="",Et=null){this._locationStrategy.pushState(Et,"",Ke,at),this._notifyUrlChangeListeners(this.prepareExternalUrl(Ke+te(at)),Et)}replaceState(Ke,at="",Et=null){this._locationStrategy.replaceState(Et,"",Ke,at),this._notifyUrlChangeListeners(this.prepareExternalUrl(Ke+te(at)),Et)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(Ke=0){this._locationStrategy.historyGo?.(Ke)}onUrlChange(Ke){return this._urlChangeListeners.push(Ke),this._urlChangeSubscription??=this.subscribe(at=>{this._notifyUrlChangeListeners(at.url,at.state)}),()=>{const at=this._urlChangeListeners.indexOf(Ke);this._urlChangeListeners.splice(at,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(Ke="",at){this._urlChangeListeners.forEach(Et=>Et(Ke,at))}subscribe(Ke,at,Et){return this._subject.subscribe({next:Ke,error:at,complete:Et})}static#e=this.normalizeQueryParams=te;static#t=this.joinWithSlash=ue;static#i=this.stripTrailingSlash=J;static#n=this.\u0275fac=function(at){return new(at||Ge)(M.KVO(X))};static#s=this.\u0275prov=M.jDH({token:Ge,factory:()=>function D(){return new P((0,M.KVO)(X))}(),providedIn:"root"})}return Ge})();function I(Ge){return Ge.replace(/\/index.html$/,"")}var O=function(Ge){return Ge[Ge.Format=0]="Format",Ge[Ge.Standalone=1]="Standalone",Ge}(O||{}),f=function(Ge){return Ge[Ge.Narrow=0]="Narrow",Ge[Ge.Abbreviated=1]="Abbreviated",Ge[Ge.Wide=2]="Wide",Ge[Ge.Short=3]="Short",Ge}(f||{}),a=function(Ge){return Ge[Ge.Short=0]="Short",Ge[Ge.Medium=1]="Medium",Ge[Ge.Long=2]="Long",Ge[Ge.Full=3]="Full",Ge}(a||{});const g={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function r(Ge,ut,Ke){const at=(0,M.H5H)(Ge),Jt=Y([at[M.KH2.DaysFormat],at[M.KH2.DaysStandalone]],ut);return Y(Jt,Ke)}function l(Ge,ut,Ke){const at=(0,M.H5H)(Ge),Jt=Y([at[M.KH2.MonthsFormat],at[M.KH2.MonthsStandalone]],ut);return Y(Jt,Ke)}function p(Ge,ut){return Y((0,M.H5H)(Ge)[M.KH2.DateFormat],ut)}function T(Ge,ut){return Y((0,M.H5H)(Ge)[M.KH2.TimeFormat],ut)}function B(Ge,ut){return Y((0,M.H5H)(Ge)[M.KH2.DateTimeFormat],ut)}function z(Ge,ut){const Ke=(0,M.H5H)(Ge),at=Ke[M.KH2.NumberSymbols][ut];if(typeof at>"u"){if(ut===g.CurrencyDecimal)return Ke[M.KH2.NumberSymbols][g.Decimal];if(ut===g.CurrencyGroup)return Ke[M.KH2.NumberSymbols][g.Group]}return at}function x(Ge){if(!Ge[M.KH2.ExtraData])throw new Error(`Missing extra locale data for the locale "${Ge[M.KH2.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function Y(Ge,ut){for(let Ke=ut;Ke>-1;Ke--)if(typeof Ge[Ke]<"u")return Ge[Ke];throw new Error("Locale data API: locale data undefined")}function he(Ge){const[ut,Ke]=Ge.split(":");return{hours:+ut,minutes:+Ke}}const Oe=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,De={},Be=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var oe=function(Ge){return Ge[Ge.Short=0]="Short",Ge[Ge.ShortGMT=1]="ShortGMT",Ge[Ge.Long=2]="Long",Ge[Ge.Extended=3]="Extended",Ge}(oe||{}),ee=function(Ge){return Ge[Ge.FullYear=0]="FullYear",Ge[Ge.Month=1]="Month",Ge[Ge.Date=2]="Date",Ge[Ge.Hours=3]="Hours",Ge[Ge.Minutes=4]="Minutes",Ge[Ge.Seconds=5]="Seconds",Ge[Ge.FractionalSeconds=6]="FractionalSeconds",Ge[Ge.Day=7]="Day",Ge}(ee||{}),be=function(Ge){return Ge[Ge.DayPeriods=0]="DayPeriods",Ge[Ge.Days=1]="Days",Ge[Ge.Months=2]="Months",Ge[Ge.Eras=3]="Eras",Ge}(be||{});function xe(Ge,ut,Ke,at){let Et=function Ni(Ge){if(vi(Ge))return Ge;if("number"==typeof Ge&&!isNaN(Ge))return new Date(Ge);if("string"==typeof Ge){if(Ge=Ge.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(Ge)){const[Et,Jt=1,ci=1]=Ge.split("-").map(Oi=>+Oi);return Ie(Et,Jt-1,ci)}const Ke=parseFloat(Ge);if(!isNaN(Ge-Ke))return new Date(Ke);let at;if(at=Ge.match(Oe))return function mi(Ge){const ut=new Date(0);let Ke=0,at=0;const Et=Ge[8]?ut.setUTCFullYear:ut.setFullYear,Jt=Ge[8]?ut.setUTCHours:ut.setHours;Ge[9]&&(Ke=Number(Ge[9]+Ge[10]),at=Number(Ge[9]+Ge[11])),Et.call(ut,Number(Ge[1]),Number(Ge[2])-1,Number(Ge[3]));const ci=Number(Ge[4]||0)-Ke,Oi=Number(Ge[5]||0)-at,Wn=Number(Ge[6]||0),Qn=Math.floor(1e3*parseFloat("0."+(Ge[7]||0)));return Jt.call(ut,ci,Oi,Wn,Qn),ut}(at)}const ut=new Date(Ge);if(!vi(ut))throw new Error(`Unable to convert "${Ge}" into a date`);return ut}(Ge);ut=we(Ke,ut)||ut;let Oi,ci=[];for(;ut;){if(Oi=Be.exec(ut),!Oi){ci.push(ut);break}{ci=ci.concat(Oi.slice(1));const os=ci.pop();if(!os)break;ut=os}}let Wn=Et.getTimezoneOffset();at&&(Wn=wt(at,Wn),Et=function di(Ge,ut,Ke){const at=Ke?-1:1,Et=Ge.getTimezoneOffset();return function Qt(Ge,ut){return(Ge=new Date(Ge.getTime())).setMinutes(Ge.getMinutes()+ut),Ge}(Ge,at*(wt(ut,Et)-Et))}(Et,at,!0));let Qn="";return ci.forEach(os=>{const xn=function xt(Ge){if(It[Ge])return It[Ge];let ut;switch(Ge){case"G":case"GG":case"GGG":ut=qe(be.Eras,f.Abbreviated);break;case"GGGG":ut=qe(be.Eras,f.Wide);break;case"GGGGG":ut=qe(be.Eras,f.Narrow);break;case"y":ut=Je(ee.FullYear,1,0,!1,!0);break;case"yy":ut=Je(ee.FullYear,2,0,!0,!0);break;case"yyy":ut=Je(ee.FullYear,3,0,!1,!0);break;case"yyyy":ut=Je(ee.FullYear,4,0,!1,!0);break;case"Y":ut=Dt(1);break;case"YY":ut=Dt(2,!0);break;case"YYY":ut=Dt(3);break;case"YYYY":ut=Dt(4);break;case"M":case"L":ut=Je(ee.Month,1,1);break;case"MM":case"LL":ut=Je(ee.Month,2,1);break;case"MMM":ut=qe(be.Months,f.Abbreviated);break;case"MMMM":ut=qe(be.Months,f.Wide);break;case"MMMMM":ut=qe(be.Months,f.Narrow);break;case"LLL":ut=qe(be.Months,f.Abbreviated,O.Standalone);break;case"LLLL":ut=qe(be.Months,f.Wide,O.Standalone);break;case"LLLLL":ut=qe(be.Months,f.Narrow,O.Standalone);break;case"w":ut=ti(1);break;case"ww":ut=ti(2);break;case"W":ut=ti(1,!0);break;case"d":ut=Je(ee.Date,1);break;case"dd":ut=Je(ee.Date,2);break;case"c":case"cc":ut=Je(ee.Day,1);break;case"ccc":ut=qe(be.Days,f.Abbreviated,O.Standalone);break;case"cccc":ut=qe(be.Days,f.Wide,O.Standalone);break;case"ccccc":ut=qe(be.Days,f.Narrow,O.Standalone);break;case"cccccc":ut=qe(be.Days,f.Short,O.Standalone);break;case"E":case"EE":case"EEE":ut=qe(be.Days,f.Abbreviated);break;case"EEEE":ut=qe(be.Days,f.Wide);break;case"EEEEE":ut=qe(be.Days,f.Narrow);break;case"EEEEEE":ut=qe(be.Days,f.Short);break;case"a":case"aa":case"aaa":ut=qe(be.DayPeriods,f.Abbreviated);break;case"aaaa":ut=qe(be.DayPeriods,f.Wide);break;case"aaaaa":ut=qe(be.DayPeriods,f.Narrow);break;case"b":case"bb":case"bbb":ut=qe(be.DayPeriods,f.Abbreviated,O.Standalone,!0);break;case"bbbb":ut=qe(be.DayPeriods,f.Wide,O.Standalone,!0);break;case"bbbbb":ut=qe(be.DayPeriods,f.Narrow,O.Standalone,!0);break;case"B":case"BB":case"BBB":ut=qe(be.DayPeriods,f.Abbreviated,O.Format,!0);break;case"BBBB":ut=qe(be.DayPeriods,f.Wide,O.Format,!0);break;case"BBBBB":ut=qe(be.DayPeriods,f.Narrow,O.Format,!0);break;case"h":ut=Je(ee.Hours,1,-12);break;case"hh":ut=Je(ee.Hours,2,-12);break;case"H":ut=Je(ee.Hours,1);break;case"HH":ut=Je(ee.Hours,2);break;case"m":ut=Je(ee.Minutes,1);break;case"mm":ut=Je(ee.Minutes,2);break;case"s":ut=Je(ee.Seconds,1);break;case"ss":ut=Je(ee.Seconds,2);break;case"S":ut=Je(ee.FractionalSeconds,1);break;case"SS":ut=Je(ee.FractionalSeconds,2);break;case"SSS":ut=Je(ee.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":ut=Tt(oe.Short);break;case"ZZZZZ":ut=Tt(oe.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":ut=Tt(oe.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":ut=Tt(oe.Long);break;default:return null}return It[Ge]=ut,ut}(os);Qn+=xn?xn(Et,Ke,Wn):"''"===os?"'":os.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),Qn}function Ie(Ge,ut,Ke){const at=new Date(0);return at.setFullYear(Ge,ut,Ke),at.setHours(0,0,0),at}function we(Ge,ut){const Ke=function o(Ge){return(0,M.H5H)(Ge)[M.KH2.LocaleId]}(Ge);if(De[Ke]??={},De[Ke][ut])return De[Ke][ut];let at="";switch(ut){case"shortDate":at=p(Ge,a.Short);break;case"mediumDate":at=p(Ge,a.Medium);break;case"longDate":at=p(Ge,a.Long);break;case"fullDate":at=p(Ge,a.Full);break;case"shortTime":at=T(Ge,a.Short);break;case"mediumTime":at=T(Ge,a.Medium);break;case"longTime":at=T(Ge,a.Long);break;case"fullTime":at=T(Ge,a.Full);break;case"short":const Et=we(Ge,"shortTime"),Jt=we(Ge,"shortDate");at=Ee(B(Ge,a.Short),[Et,Jt]);break;case"medium":const ci=we(Ge,"mediumTime"),Oi=we(Ge,"mediumDate");at=Ee(B(Ge,a.Medium),[ci,Oi]);break;case"long":const Wn=we(Ge,"longTime"),Qn=we(Ge,"longDate");at=Ee(B(Ge,a.Long),[Wn,Qn]);break;case"full":const os=we(Ge,"fullTime"),xn=we(Ge,"fullDate");at=Ee(B(Ge,a.Full),[os,xn])}return at&&(De[Ke][ut]=at),at}function Ee(Ge,ut){return ut&&(Ge=Ge.replace(/\{([^}]+)}/g,function(Ke,at){return null!=ut&&at in ut?ut[at]:Ke})),Ge}function Me(Ge,ut,Ke="-",at,Et){let Jt="";(Ge<0||Et&&Ge<=0)&&(Et?Ge=1-Ge:(Ge=-Ge,Jt=Ke));let ci=String(Ge);for(;ci.length0||Oi>-Ke)&&(Oi+=Ke),Ge===ee.Hours)0===Oi&&-12===Ke&&(Oi=12);else if(Ge===ee.FractionalSeconds)return function Xe(Ge,ut){return Me(Ge,3).substring(0,ut)}(Oi,ut);const Wn=z(ci,g.MinusSign);return Me(Oi,ut,Wn,at,Et)}}function qe(Ge,ut,Ke=O.Format,at=!1){return function(Et,Jt){return function st(Ge,ut,Ke,at,Et,Jt){switch(Ke){case be.Months:return l(ut,Et,at)[Ge.getMonth()];case be.Days:return r(ut,Et,at)[Ge.getDay()];case be.DayPeriods:const ci=Ge.getHours(),Oi=Ge.getMinutes();if(Jt){const Qn=function N(Ge){const ut=(0,M.H5H)(Ge);return x(ut),(ut[M.KH2.ExtraData][2]||[]).map(at=>"string"==typeof at?he(at):[he(at[0]),he(at[1])])}(ut),os=function R(Ge,ut,Ke){const at=(0,M.H5H)(Ge);x(at);const Jt=Y([at[M.KH2.ExtraData][0],at[M.KH2.ExtraData][1]],ut)||[];return Y(Jt,Ke)||[]}(ut,Et,at),xn=Qn.findIndex(ys=>{if(Array.isArray(ys)){const[hs,zs]=ys,Lr=ci>=hs.hours&&Oi>=hs.minutes,Zn=ci0?Math.floor(Et/60):Math.ceil(Et/60);switch(Ge){case oe.Short:return(Et>=0?"+":"")+Me(ci,2,Jt)+Me(Math.abs(Et%60),2,Jt);case oe.ShortGMT:return"GMT"+(Et>=0?"+":"")+Me(ci,1,Jt);case oe.Long:return"GMT"+(Et>=0?"+":"")+Me(ci,2,Jt)+":"+Me(Math.abs(Et%60),2,Jt);case oe.Extended:return 0===at?"Z":(Et>=0?"+":"")+Me(ci,2,Jt)+":"+Me(Math.abs(Et%60),2,Jt);default:throw new Error(`Unknown zone width "${Ge}"`)}}}const pt=0,ht=4;function Gt(Ge){const ut=Ge.getDay(),Ke=0===ut?-3:ht-ut;return Ie(Ge.getFullYear(),Ge.getMonth(),Ge.getDate()+Ke)}function ti(Ge,ut=!1){return function(Ke,at){let Et;if(ut){const Jt=new Date(Ke.getFullYear(),Ke.getMonth(),1).getDay()-1,ci=Ke.getDate();Et=1+Math.floor((ci+Jt)/7)}else{const Jt=Gt(Ke),ci=function Pt(Ge){const ut=Ie(Ge,pt,1).getDay();return Ie(Ge,0,1+(ut<=ht?ht:ht+7)-ut)}(Jt.getFullYear()),Oi=Jt.getTime()-ci.getTime();Et=1+Math.round(Oi/6048e5)}return Me(Et,Ge,z(at,g.MinusSign))}}function Dt(Ge,ut=!1){return function(Ke,at){return Me(Gt(Ke).getFullYear(),Ge,z(at,g.MinusSign),ut)}}const It={};function wt(Ge,ut){Ge=Ge.replace(/:/g,"");const Ke=Date.parse("Jan 01, 1970 00:00:00 "+Ge)/6e4;return isNaN(Ke)?ut:Ke}function vi(Ge){return Ge instanceof Date&&!isNaN(Ge.valueOf())}function Nt(Ge,ut){ut=encodeURIComponent(ut);for(const Ke of Ge.split(";")){const at=Ke.indexOf("="),[Et,Jt]=-1==at?[Ke,""]:[Ke.slice(0,at),Ke.slice(at+1)];if(Et.trim()===ut)return decodeURIComponent(Jt)}return null}const mt=/\s+/,_t=[];let $e=(()=>{class Ge{constructor(Ke,at){this._ngEl=Ke,this._renderer=at,this.initialClasses=_t,this.stateMap=new Map}set klass(Ke){this.initialClasses=null!=Ke?Ke.trim().split(mt):_t}set ngClass(Ke){this.rawClass="string"==typeof Ke?Ke.trim().split(mt):Ke}ngDoCheck(){for(const at of this.initialClasses)this._updateState(at,!0);const Ke=this.rawClass;if(Array.isArray(Ke)||Ke instanceof Set)for(const at of Ke)this._updateState(at,!0);else if(null!=Ke)for(const at of Object.keys(Ke))this._updateState(at,!!Ke[at]);this._applyStateDiff()}_updateState(Ke,at){const Et=this.stateMap.get(Ke);void 0!==Et?(Et.enabled!==at&&(Et.changed=!0,Et.enabled=at),Et.touched=!0):this.stateMap.set(Ke,{enabled:at,changed:!0,touched:!0})}_applyStateDiff(){for(const Ke of this.stateMap){const at=Ke[0],Et=Ke[1];Et.changed?(this._toggleClass(at,Et.enabled),Et.changed=!1):Et.touched||(Et.enabled&&this._toggleClass(at,!1),this.stateMap.delete(at)),Et.touched=!1}}_toggleClass(Ke,at){(Ke=Ke.trim()).length>0&&Ke.split(mt).forEach(Et=>{at?this._renderer.addClass(this._ngEl.nativeElement,Et):this._renderer.removeClass(this._ngEl.nativeElement,Et)})}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.aKT),M.rXU(M.sFG))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngClass",""]],inputs:{klass:[M.Mj6.None,"class","klass"],ngClass:"ngClass"},standalone:!0})}return Ge})();class $t{constructor(ut,Ke,at,Et){this.$implicit=ut,this.ngForOf=Ke,this.index=at,this.count=Et}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let si=(()=>{class Ge{set ngForOf(Ke){this._ngForOf=Ke,this._ngForOfDirty=!0}set ngForTrackBy(Ke){this._trackByFn=Ke}get ngForTrackBy(){return this._trackByFn}constructor(Ke,at,Et){this._viewContainer=Ke,this._template=at,this._differs=Et,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(Ke){Ke&&(this._template=Ke)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const Ke=this._ngForOf;!this._differ&&Ke&&(this._differ=this._differs.find(Ke).create(this.ngForTrackBy))}if(this._differ){const Ke=this._differ.diff(this._ngForOf);Ke&&this._applyChanges(Ke)}}_applyChanges(Ke){const at=this._viewContainer;Ke.forEachOperation((Et,Jt,ci)=>{if(null==Et.previousIndex)at.createEmbeddedView(this._template,new $t(Et.item,this._ngForOf,-1,-1),null===ci?void 0:ci);else if(null==ci)at.remove(null===Jt?void 0:Jt);else if(null!==Jt){const Oi=at.get(Jt);at.move(Oi,ci),Di(Oi,Et)}});for(let Et=0,Jt=at.length;Et{Di(at.get(Et.currentIndex),Et)})}static ngTemplateContextGuard(Ke,at){return!0}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q),M.rXU(M._q3))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return Ge})();function Di(Ge,ut){Ge.context.$implicit=ut.item}let Ki=(()=>{class Ge{constructor(Ke,at){this._viewContainer=Ke,this._context=new ls,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=at}set ngIf(Ke){this._context.$implicit=this._context.ngIf=Ke,this._updateView()}set ngIfThen(Ke){Hn("ngIfThen",Ke),this._thenTemplateRef=Ke,this._thenViewRef=null,this._updateView()}set ngIfElse(Ke){Hn("ngIfElse",Ke),this._elseTemplateRef=Ke,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(Ke,at){return!0}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return Ge})();class ls{constructor(){this.$implicit=null,this.ngIf=null}}function Hn(Ge,ut){if(ut&&!ut.createEmbeddedView)throw new Error(`${Ge} must be a TemplateRef, but received '${(0,M.Tbb)(ut)}'.`)}class gn{constructor(ut,Ke){this._viewContainerRef=ut,this._templateRef=Ke,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(ut){ut&&!this._created?this.create():!ut&&this._created&&this.destroy()}}let cs=(()=>{class Ge{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(Ke){this._ngSwitch=Ke,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(Ke){this._defaultViews.push(Ke)}_matchCase(Ke){const at=Ke===this._ngSwitch;return this._lastCasesMatched||=at,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),at}_updateDefaultCases(Ke){if(this._defaultViews.length>0&&Ke!==this._defaultUsed){this._defaultUsed=Ke;for(const at of this._defaultViews)at.enforceState(Ke)}}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0})}return Ge})(),sn=(()=>{class Ge{constructor(Ke,at,Et){this.ngSwitch=Et,Et._addCase(),this._view=new gn(Ke,at)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q),M.rXU(cs,9))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0})}return Ge})(),Bn=(()=>{class Ge{constructor(Ke,at,Et){Et._addDefault(new gn(Ke,at))}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q),M.rXU(cs,9))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngSwitchDefault",""]],standalone:!0})}return Ge})(),Ui=(()=>{class Ge{constructor(Ke,at,Et){this._ngEl=Ke,this._differs=at,this._renderer=Et,this._ngStyle=null,this._differ=null}set ngStyle(Ke){this._ngStyle=Ke,!this._differ&&Ke&&(this._differ=this._differs.find(Ke).create())}ngDoCheck(){if(this._differ){const Ke=this._differ.diff(this._ngStyle);Ke&&this._applyChanges(Ke)}}_setStyle(Ke,at){const[Et,Jt]=Ke.split("."),ci=-1===Et.indexOf("-")?void 0:M.czy.DashCase;null!=at?this._renderer.setStyle(this._ngEl.nativeElement,Et,Jt?`${at}${Jt}`:at,ci):this._renderer.removeStyle(this._ngEl.nativeElement,Et,ci)}_applyChanges(Ke){Ke.forEachRemovedItem(at=>this._setStyle(at.key,null)),Ke.forEachAddedItem(at=>this._setStyle(at.key,at.currentValue)),Ke.forEachChangedItem(at=>this._setStyle(at.key,at.currentValue))}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.aKT),M.rXU(M.MKu),M.rXU(M.sFG))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0})}return Ge})(),ln=(()=>{class Ge{constructor(Ke){this._viewContainerRef=Ke,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(Ke){if(this._shouldRecreateView(Ke)){const at=this._viewContainerRef;if(this._viewRef&&at.remove(at.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const Et=this._createContextForwardProxy();this._viewRef=at.createEmbeddedView(this.ngTemplateOutlet,Et,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(Ke){return!!Ke.ngTemplateOutlet||!!Ke.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(Ke,at,Et)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,at,Et),get:(Ke,at,Et)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,at,Et)}})}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[M.OA$]})}return Ge})();function lr(Ge,ut){return new M.wOt(2100,!1)}class Fa{createSubscription(ut,Ke){return(0,M.O8t)(()=>ut.subscribe({next:Ke,error:at=>{throw at}}))}dispose(ut){(0,M.O8t)(()=>ut.unsubscribe())}}class Ba{createSubscription(ut,Ke){return ut.then(Ke,at=>{throw at})}dispose(ut){}}const ja=new Ba,go=new Fa;let wn=(()=>{class Ge{constructor(Ke){this._latestValue=null,this.markForCheckOnValueUpdate=!0,this._subscription=null,this._obj=null,this._strategy=null,this._ref=Ke}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(Ke){if(!this._obj){if(Ke)try{this.markForCheckOnValueUpdate=!1,this._subscribe(Ke)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return Ke!==this._obj?(this._dispose(),this.transform(Ke)):this._latestValue}_subscribe(Ke){this._obj=Ke,this._strategy=this._selectStrategy(Ke),this._subscription=this._strategy.createSubscription(Ke,at=>this._updateLatestValue(Ke,at))}_selectStrategy(Ke){if((0,M.jNT)(Ke))return ja;if((0,M.zjR)(Ke))return go;throw lr()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(Ke,at){Ke===this._obj&&(this._latestValue=at,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.gRc,16))};static#t=this.\u0275pipe=M.EJ8({name:"async",type:Ge,pure:!1,standalone:!0})}return Ge})();const Nl=new M.nKC(""),wr=new M.nKC("");let Jr=(()=>{class Ge{constructor(Ke,at,Et){this.locale=Ke,this.defaultTimezone=at,this.defaultOptions=Et}transform(Ke,at,Et,Jt){if(null==Ke||""===Ke||Ke!=Ke)return null;try{return xe(Ke,at??this.defaultOptions?.dateFormat??"mediumDate",Jt||this.locale,Et??this.defaultOptions?.timezone??this.defaultTimezone??void 0)}catch(ci){throw lr()}}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.xe9,16),M.rXU(Nl,24),M.rXU(wr,24))};static#t=this.\u0275pipe=M.EJ8({name:"date",type:Ge,pure:!0,standalone:!0})}return Ge})(),Tr=(()=>{class Ge{constructor(Ke){this.differs=Ke,this.keyValues=[],this.compareFn=fr}transform(Ke,at=fr){if(!Ke||!(Ke instanceof Map)&&"object"!=typeof Ke)return null;this.differ??=this.differs.find(Ke).create();const Et=this.differ.diff(Ke),Jt=at!==this.compareFn;return Et&&(this.keyValues=[],Et.forEachItem(ci=>{this.keyValues.push(function Ga(Ge,ut){return{key:Ge,value:ut}}(ci.key,ci.currentValue))})),(Et||Jt)&&(this.keyValues.sort(at),this.compareFn=at),this.keyValues}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.MKu,16))};static#t=this.\u0275pipe=M.EJ8({name:"keyvalue",type:Ge,pure:!1,standalone:!0})}return Ge})();function fr(Ge,ut){const Ke=Ge.key,at=ut.key;if(Ke===at)return 0;if(void 0===Ke)return 1;if(void 0===at)return-1;if(null===Ke)return 1;if(null===at)return-1;if("string"==typeof Ke&&"string"==typeof at)return Ke{class Ge{static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275mod=M.$C({type:Ge});static#i=this.\u0275inj=M.G2t({})}return Ge})();const ko="browser",ua="server";function Qs(Ge){return Ge===ko}function ga(Ge){return Ge===ua}let cr=(()=>{class Ge{static#e=this.\u0275prov=(0,M.jDH)({token:Ge,providedIn:"root",factory:()=>Qs((0,M.WQX)(M.Agw))?new es((0,M.WQX)(re),window):new Ko})}return Ge})();class es{constructor(ut,Ke){this.document=ut,this.window=Ke,this.offset=()=>[0,0]}setOffset(ut){this.offset=Array.isArray(ut)?()=>ut:ut}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(ut){this.window.scrollTo(ut[0],ut[1])}scrollToAnchor(ut){const Ke=function $r(Ge,ut){const Ke=Ge.getElementById(ut)||Ge.getElementsByName(ut)[0];if(Ke)return Ke;if("function"==typeof Ge.createTreeWalker&&Ge.body&&"function"==typeof Ge.body.attachShadow){const at=Ge.createTreeWalker(Ge.body,NodeFilter.SHOW_ELEMENT);let Et=at.currentNode;for(;Et;){const Jt=Et.shadowRoot;if(Jt){const ci=Jt.getElementById(ut)||Jt.querySelector(`[name="${ut}"]`);if(ci)return ci}Et=at.nextNode()}}return null}(this.document,ut);Ke&&(this.scrollToElement(Ke),Ke.focus())}setHistoryScrollRestoration(ut){this.window.history.scrollRestoration=ut}scrollToElement(ut){const Ke=ut.getBoundingClientRect(),at=Ke.left+this.window.pageXOffset,Et=Ke.top+this.window.pageYOffset,Jt=this.offset();this.window.scrollTo(at-Jt[0],Et-Jt[1])}}class Ko{setOffset(ut){}getScrollPosition(){return[0,0]}scrollToPosition(ut){}scrollToAnchor(ut){}setHistoryScrollRestoration(ut){}}class Do{}},21626:(ri,Bt,We)=>{"use strict";We.d(Bt,{Lr:()=>X,Qq:()=>p,cS:()=>l,hR:()=>J,q1:()=>ms}),We(10467);var e=We(54438),V=We(7673),Le=We(71985),q=We(86648),ne=We(70274),re=We(5964),ve=We(96354),le=We(70980),pe=We(25558),ue=We(60177);class J{}class te{}class X{constructor(Rt){this.normalizedNames=new Map,this.lazyUpdate=null,Rt?"string"==typeof Rt?this.lazyInit=()=>{this.headers=new Map,Rt.split("\n").forEach(Nt=>{const mt=Nt.indexOf(":");if(mt>0){const _t=Nt.slice(0,mt),$e=_t.toLowerCase(),yt=Nt.slice(mt+1).trim();this.maybeSetNormalizedName(_t,$e),this.headers.has($e)?this.headers.get($e).push(yt):this.headers.set($e,[yt])}})}:typeof Headers<"u"&&Rt instanceof Headers?(this.headers=new Map,Rt.forEach((Nt,mt)=>{this.setHeaderEntries(mt,Nt)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(Rt).forEach(([Nt,mt])=>{this.setHeaderEntries(Nt,mt)})}:this.headers=new Map}has(Rt){return this.init(),this.headers.has(Rt.toLowerCase())}get(Rt){this.init();const Nt=this.headers.get(Rt.toLowerCase());return Nt&&Nt.length>0?Nt[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(Rt){return this.init(),this.headers.get(Rt.toLowerCase())||null}append(Rt,Nt){return this.clone({name:Rt,value:Nt,op:"a"})}set(Rt,Nt){return this.clone({name:Rt,value:Nt,op:"s"})}delete(Rt,Nt){return this.clone({name:Rt,value:Nt,op:"d"})}maybeSetNormalizedName(Rt,Nt){this.normalizedNames.has(Nt)||this.normalizedNames.set(Nt,Rt)}init(){this.lazyInit&&(this.lazyInit instanceof X?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(Rt=>this.applyUpdate(Rt)),this.lazyUpdate=null))}copyFrom(Rt){Rt.init(),Array.from(Rt.headers.keys()).forEach(Nt=>{this.headers.set(Nt,Rt.headers.get(Nt)),this.normalizedNames.set(Nt,Rt.normalizedNames.get(Nt))})}clone(Rt){const Nt=new X;return Nt.lazyInit=this.lazyInit&&this.lazyInit instanceof X?this.lazyInit:this,Nt.lazyUpdate=(this.lazyUpdate||[]).concat([Rt]),Nt}applyUpdate(Rt){const Nt=Rt.name.toLowerCase();switch(Rt.op){case"a":case"s":let mt=Rt.value;if("string"==typeof mt&&(mt=[mt]),0===mt.length)return;this.maybeSetNormalizedName(Rt.name,Nt);const _t=("a"===Rt.op?this.headers.get(Nt):void 0)||[];_t.push(...mt),this.headers.set(Nt,_t);break;case"d":const $e=Rt.value;if($e){let yt=this.headers.get(Nt);if(!yt)return;yt=yt.filter(At=>-1===$e.indexOf(At)),0===yt.length?(this.headers.delete(Nt),this.normalizedNames.delete(Nt)):this.headers.set(Nt,yt)}else this.headers.delete(Nt),this.normalizedNames.delete(Nt)}}setHeaderEntries(Rt,Nt){const mt=(Array.isArray(Nt)?Nt:[Nt]).map($e=>$e.toString()),_t=Rt.toLowerCase();this.headers.set(_t,mt),this.maybeSetNormalizedName(Rt,_t)}forEach(Rt){this.init(),Array.from(this.normalizedNames.keys()).forEach(Nt=>Rt(this.normalizedNames.get(Nt),this.headers.get(Nt)))}}class j{encodeKey(Rt){return A(Rt)}encodeValue(Rt){return A(Rt)}decodeKey(Rt){return decodeURIComponent(Rt)}decodeValue(Rt){return decodeURIComponent(Rt)}}const P=/%(\d[a-f0-9])/gi,D={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function A(St){return encodeURIComponent(St).replace(P,(Rt,Nt)=>D[Nt]??Rt)}function I(St){return`${St}`}class _{constructor(Rt={}){if(this.updates=null,this.cloneFrom=null,this.encoder=Rt.encoder||new j,Rt.fromString){if(Rt.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function F(St,Rt){const Nt=new Map;return St.length>0&&St.replace(/^\?/,"").split("&").forEach(_t=>{const $e=_t.indexOf("="),[yt,At]=-1==$e?[Rt.decodeKey(_t),""]:[Rt.decodeKey(_t.slice(0,$e)),Rt.decodeValue(_t.slice($e+1))],$t=Nt.get(yt)||[];$t.push(At),Nt.set(yt,$t)}),Nt}(Rt.fromString,this.encoder)}else Rt.fromObject?(this.map=new Map,Object.keys(Rt.fromObject).forEach(Nt=>{const mt=Rt.fromObject[Nt],_t=Array.isArray(mt)?mt.map(I):[I(mt)];this.map.set(Nt,_t)})):this.map=null}has(Rt){return this.init(),this.map.has(Rt)}get(Rt){this.init();const Nt=this.map.get(Rt);return Nt?Nt[0]:null}getAll(Rt){return this.init(),this.map.get(Rt)||null}keys(){return this.init(),Array.from(this.map.keys())}append(Rt,Nt){return this.clone({param:Rt,value:Nt,op:"a"})}appendAll(Rt){const Nt=[];return Object.keys(Rt).forEach(mt=>{const _t=Rt[mt];Array.isArray(_t)?_t.forEach($e=>{Nt.push({param:mt,value:$e,op:"a"})}):Nt.push({param:mt,value:_t,op:"a"})}),this.clone(Nt)}set(Rt,Nt){return this.clone({param:Rt,value:Nt,op:"s"})}delete(Rt,Nt){return this.clone({param:Rt,value:Nt,op:"d"})}toString(){return this.init(),this.keys().map(Rt=>{const Nt=this.encoder.encodeKey(Rt);return this.map.get(Rt).map(mt=>Nt+"="+this.encoder.encodeValue(mt)).join("&")}).filter(Rt=>""!==Rt).join("&")}clone(Rt){const Nt=new _({encoder:this.encoder});return Nt.cloneFrom=this.cloneFrom||this,Nt.updates=(this.updates||[]).concat(Rt),Nt}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(Rt=>this.map.set(Rt,this.cloneFrom.map.get(Rt))),this.updates.forEach(Rt=>{switch(Rt.op){case"a":case"s":const Nt=("a"===Rt.op?this.map.get(Rt.param):void 0)||[];Nt.push(I(Rt.value)),this.map.set(Rt.param,Nt);break;case"d":if(void 0===Rt.value){this.map.delete(Rt.param);break}{let mt=this.map.get(Rt.param)||[];const _t=mt.indexOf(I(Rt.value));-1!==_t&&mt.splice(_t,1),mt.length>0?this.map.set(Rt.param,mt):this.map.delete(Rt.param)}}}),this.cloneFrom=this.updates=null)}}class w{constructor(){this.map=new Map}set(Rt,Nt){return this.map.set(Rt,Nt),this}get(Rt){return this.map.has(Rt)||this.map.set(Rt,Rt.defaultValue()),this.map.get(Rt)}delete(Rt){return this.map.delete(Rt),this}has(Rt){return this.map.has(Rt)}keys(){return this.map.keys()}}function O(St){return typeof ArrayBuffer<"u"&&St instanceof ArrayBuffer}function f(St){return typeof Blob<"u"&&St instanceof Blob}function a(St){return typeof FormData<"u"&&St instanceof FormData}class v{constructor(Rt,Nt,mt,_t){let $e;if(this.url=Nt,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=Rt.toUpperCase(),function G(St){switch(St){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||_t?(this.body=void 0!==mt?mt:null,$e=_t):$e=mt,$e&&(this.reportProgress=!!$e.reportProgress,this.withCredentials=!!$e.withCredentials,$e.responseType&&(this.responseType=$e.responseType),$e.headers&&(this.headers=$e.headers),$e.context&&(this.context=$e.context),$e.params&&(this.params=$e.params),this.transferCache=$e.transferCache),this.headers??=new X,this.context??=new w,this.params){const yt=this.params.toString();if(0===yt.length)this.urlWithParams=Nt;else{const At=Nt.indexOf("?");this.urlWithParams=Nt+(-1===At?"?":Atqi.set(Ki,Rt.setHeaders[Ki]),$t)),Rt.setParams&&(si=Object.keys(Rt.setParams).reduce((qi,Ki)=>qi.set(Ki,Rt.setParams[Ki]),si)),new v(Nt,mt,$e,{params:si,headers:$t,context:Di,reportProgress:At,responseType:_t,withCredentials:yt})}}var o=function(St){return St[St.Sent=0]="Sent",St[St.UploadProgress=1]="UploadProgress",St[St.ResponseHeader=2]="ResponseHeader",St[St.DownloadProgress=3]="DownloadProgress",St[St.Response=4]="Response",St[St.User=5]="User",St}(o||{});class n{constructor(Rt,Nt=C.Ok,mt="OK"){this.headers=Rt.headers||new X,this.status=void 0!==Rt.status?Rt.status:Nt,this.statusText=Rt.statusText||mt,this.url=Rt.url||null,this.ok=this.status>=200&&this.status<300}}class r extends n{constructor(Rt={}){super(Rt),this.type=o.ResponseHeader}clone(Rt={}){return new r({headers:Rt.headers||this.headers,status:void 0!==Rt.status?Rt.status:this.status,statusText:Rt.statusText||this.statusText,url:Rt.url||this.url||void 0})}}class l extends n{constructor(Rt={}){super(Rt),this.type=o.Response,this.body=void 0!==Rt.body?Rt.body:null}clone(Rt={}){return new l({body:void 0!==Rt.body?Rt.body:this.body,headers:Rt.headers||this.headers,status:void 0!==Rt.status?Rt.status:this.status,statusText:Rt.statusText||this.statusText,url:Rt.url||this.url||void 0})}}class d extends n{constructor(Rt){super(Rt,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${Rt.url||"(unknown url)"}`:`Http failure response for ${Rt.url||"(unknown url)"}: ${Rt.status} ${Rt.statusText}`,this.error=Rt.error||null}}var C=function(St){return St[St.Continue=100]="Continue",St[St.SwitchingProtocols=101]="SwitchingProtocols",St[St.Processing=102]="Processing",St[St.EarlyHints=103]="EarlyHints",St[St.Ok=200]="Ok",St[St.Created=201]="Created",St[St.Accepted=202]="Accepted",St[St.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",St[St.NoContent=204]="NoContent",St[St.ResetContent=205]="ResetContent",St[St.PartialContent=206]="PartialContent",St[St.MultiStatus=207]="MultiStatus",St[St.AlreadyReported=208]="AlreadyReported",St[St.ImUsed=226]="ImUsed",St[St.MultipleChoices=300]="MultipleChoices",St[St.MovedPermanently=301]="MovedPermanently",St[St.Found=302]="Found",St[St.SeeOther=303]="SeeOther",St[St.NotModified=304]="NotModified",St[St.UseProxy=305]="UseProxy",St[St.Unused=306]="Unused",St[St.TemporaryRedirect=307]="TemporaryRedirect",St[St.PermanentRedirect=308]="PermanentRedirect",St[St.BadRequest=400]="BadRequest",St[St.Unauthorized=401]="Unauthorized",St[St.PaymentRequired=402]="PaymentRequired",St[St.Forbidden=403]="Forbidden",St[St.NotFound=404]="NotFound",St[St.MethodNotAllowed=405]="MethodNotAllowed",St[St.NotAcceptable=406]="NotAcceptable",St[St.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",St[St.RequestTimeout=408]="RequestTimeout",St[St.Conflict=409]="Conflict",St[St.Gone=410]="Gone",St[St.LengthRequired=411]="LengthRequired",St[St.PreconditionFailed=412]="PreconditionFailed",St[St.PayloadTooLarge=413]="PayloadTooLarge",St[St.UriTooLong=414]="UriTooLong",St[St.UnsupportedMediaType=415]="UnsupportedMediaType",St[St.RangeNotSatisfiable=416]="RangeNotSatisfiable",St[St.ExpectationFailed=417]="ExpectationFailed",St[St.ImATeapot=418]="ImATeapot",St[St.MisdirectedRequest=421]="MisdirectedRequest",St[St.UnprocessableEntity=422]="UnprocessableEntity",St[St.Locked=423]="Locked",St[St.FailedDependency=424]="FailedDependency",St[St.TooEarly=425]="TooEarly",St[St.UpgradeRequired=426]="UpgradeRequired",St[St.PreconditionRequired=428]="PreconditionRequired",St[St.TooManyRequests=429]="TooManyRequests",St[St.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",St[St.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",St[St.InternalServerError=500]="InternalServerError",St[St.NotImplemented=501]="NotImplemented",St[St.BadGateway=502]="BadGateway",St[St.ServiceUnavailable=503]="ServiceUnavailable",St[St.GatewayTimeout=504]="GatewayTimeout",St[St.HttpVersionNotSupported=505]="HttpVersionNotSupported",St[St.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",St[St.InsufficientStorage=507]="InsufficientStorage",St[St.LoopDetected=508]="LoopDetected",St[St.NotExtended=510]="NotExtended",St[St.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired",St}(C||{});function k(St,Rt){return{body:Rt,headers:St.headers,context:St.context,observe:St.observe,params:St.params,reportProgress:St.reportProgress,responseType:St.responseType,withCredentials:St.withCredentials,transferCache:St.transferCache}}let p=(()=>{class St{constructor(Nt){this.handler=Nt}request(Nt,mt,_t={}){let $e;if(Nt instanceof v)$e=Nt;else{let $t,si;$t=_t.headers instanceof X?_t.headers:new X(_t.headers),_t.params&&(si=_t.params instanceof _?_t.params:new _({fromObject:_t.params})),$e=new v(Nt,mt,void 0!==_t.body?_t.body:null,{headers:$t,context:_t.context,params:si,reportProgress:_t.reportProgress,responseType:_t.responseType||"json",withCredentials:_t.withCredentials,transferCache:_t.transferCache})}const yt=(0,V.of)($e).pipe((0,ne.H)($t=>this.handler.handle($t)));if(Nt instanceof v||"events"===_t.observe)return yt;const At=yt.pipe((0,re.p)($t=>$t instanceof l));switch(_t.observe||"body"){case"body":switch($e.responseType){case"arraybuffer":return At.pipe((0,ve.T)($t=>{if(null!==$t.body&&!($t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return $t.body}));case"blob":return At.pipe((0,ve.T)($t=>{if(null!==$t.body&&!($t.body instanceof Blob))throw new Error("Response is not a Blob.");return $t.body}));case"text":return At.pipe((0,ve.T)($t=>{if(null!==$t.body&&"string"!=typeof $t.body)throw new Error("Response is not a string.");return $t.body}));default:return At.pipe((0,ve.T)($t=>$t.body))}case"response":return At;default:throw new Error(`Unreachable: unhandled observe type ${_t.observe}}`)}}delete(Nt,mt={}){return this.request("DELETE",Nt,mt)}get(Nt,mt={}){return this.request("GET",Nt,mt)}head(Nt,mt={}){return this.request("HEAD",Nt,mt)}jsonp(Nt,mt){return this.request("JSONP",Nt,{params:(new _).append(mt,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(Nt,mt={}){return this.request("OPTIONS",Nt,mt)}patch(Nt,mt,_t={}){return this.request("PATCH",Nt,k(_t,mt))}post(Nt,mt,_t={}){return this.request("POST",Nt,k(_t,mt))}put(Nt,mt,_t={}){return this.request("PUT",Nt,k(_t,mt))}static#e=this.\u0275fac=function(mt){return new(mt||St)(e.KVO(J))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();function $(St,Rt){return Rt(St)}function H(St,Rt){return(Nt,mt)=>Rt.intercept(Nt,{handle:_t=>St(_t,mt)})}const N=new e.nKC(""),R=new e.nKC(""),Z=new e.nKC(""),Y=new e.nKC("");function he(){let St=null;return(Rt,Nt)=>{null===St&&(St=((0,e.WQX)(N,{optional:!0})??[]).reduceRight(H,$));const mt=(0,e.WQX)(e.TgB),_t=mt.add();return St(Rt,Nt).pipe((0,le.j)(()=>mt.remove(_t)))}}let Te=(()=>{class St extends J{constructor(Nt,mt){super(),this.backend=Nt,this.injector=mt,this.chain=null,this.pendingTasks=(0,e.WQX)(e.TgB);const _t=(0,e.WQX)(Y,{optional:!0});this.backend=_t??Nt}handle(Nt){if(null===this.chain){const _t=Array.from(new Set([...this.injector.get(R),...this.injector.get(Z,[])]));this.chain=_t.reduceRight(($e,yt)=>function x(St,Rt,Nt){return(mt,_t)=>(0,e.N4e)(Nt,()=>Rt(mt,$e=>St($e,_t)))}($e,yt,this.injector),$)}const mt=this.pendingTasks.add();return this.chain(Nt,_t=>this.backend.handle(_t)).pipe((0,le.j)(()=>this.pendingTasks.remove(mt)))}static#e=this.\u0275fac=function(mt){return new(mt||St)(e.KVO(te),e.KVO(e.uvJ))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();const Xe=/^\)\]\}',?\n/;let lt=(()=>{class St{constructor(Nt){this.xhrFactory=Nt}handle(Nt){if("JSONP"===Nt.method)throw new e.wOt(-2800,!1);const mt=this.xhrFactory;return(mt.\u0275loadImpl?(0,q.H)(mt.\u0275loadImpl()):(0,V.of)(null)).pipe((0,pe.n)(()=>new Le.c($e=>{const yt=mt.build();if(yt.open(Nt.method,Nt.urlWithParams),Nt.withCredentials&&(yt.withCredentials=!0),Nt.headers.forEach((tn,gn)=>yt.setRequestHeader(tn,gn.join(","))),Nt.headers.has("Accept")||yt.setRequestHeader("Accept","application/json, text/plain, */*"),!Nt.headers.has("Content-Type")){const tn=Nt.detectContentTypeHeader();null!==tn&&yt.setRequestHeader("Content-Type",tn)}if(Nt.responseType){const tn=Nt.responseType.toLowerCase();yt.responseType="json"!==tn?tn:"text"}const At=Nt.serializeBody();let $t=null;const si=()=>{if(null!==$t)return $t;const tn=yt.statusText||"OK",gn=new X(yt.getAllResponseHeaders()),cs=function Je(St){return"responseURL"in St&&St.responseURL?St.responseURL:/^X-Request-URL:/m.test(St.getAllResponseHeaders())?St.getResponseHeader("X-Request-URL"):null}(yt)||Nt.url;return $t=new r({headers:gn,status:yt.status,statusText:tn,url:cs}),$t},Di=()=>{let{headers:tn,status:gn,statusText:cs,url:sn}=si(),Bn=null;gn!==C.NoContent&&(Bn=typeof yt.response>"u"?yt.responseText:yt.response),0===gn&&(gn=Bn?C.Ok:0);let Er=gn>=200&&gn<300;if("json"===Nt.responseType&&"string"==typeof Bn){const bs=Bn;Bn=Bn.replace(Xe,"");try{Bn=""!==Bn?JSON.parse(Bn):null}catch(Un){Bn=bs,Er&&(Er=!1,Bn={error:Un,text:Bn})}}Er?($e.next(new l({body:Bn,headers:tn,status:gn,statusText:cs,url:sn||void 0})),$e.complete()):$e.error(new d({error:Bn,headers:tn,status:gn,statusText:cs,url:sn||void 0}))},qi=tn=>{const{url:gn}=si(),cs=new d({error:tn,status:yt.status||0,statusText:yt.statusText||"Unknown Error",url:gn||void 0});$e.error(cs)};let Ki=!1;const ls=tn=>{Ki||($e.next(si()),Ki=!0);let gn={type:o.DownloadProgress,loaded:tn.loaded};tn.lengthComputable&&(gn.total=tn.total),"text"===Nt.responseType&&yt.responseText&&(gn.partialText=yt.responseText),$e.next(gn)},Hn=tn=>{let gn={type:o.UploadProgress,loaded:tn.loaded};tn.lengthComputable&&(gn.total=tn.total),$e.next(gn)};return yt.addEventListener("load",Di),yt.addEventListener("error",qi),yt.addEventListener("timeout",qi),yt.addEventListener("abort",qi),Nt.reportProgress&&(yt.addEventListener("progress",ls),null!==At&&yt.upload&&yt.upload.addEventListener("progress",Hn)),yt.send(At),$e.next({type:o.Sent}),()=>{yt.removeEventListener("error",qi),yt.removeEventListener("abort",qi),yt.removeEventListener("load",Di),yt.removeEventListener("timeout",qi),Nt.reportProgress&&(yt.removeEventListener("progress",ls),null!==At&&yt.upload&&yt.upload.removeEventListener("progress",Hn)),yt.readyState!==yt.DONE&&yt.abort()}})))}static#e=this.\u0275fac=function(mt){return new(mt||St)(e.KVO(ue.N0))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();const qe=new e.nKC(""),Tt=new e.nKC("",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),ht=new e.nKC("",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class Pt{}let Gt=(()=>{class St{constructor(Nt,mt,_t){this.doc=Nt,this.platform=mt,this.cookieName=_t,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const Nt=this.doc.cookie||"";return Nt!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,ue._b)(Nt,this.cookieName),this.lastCookieString=Nt),this.lastToken}static#e=this.\u0275fac=function(mt){return new(mt||St)(e.KVO(ue.qQ),e.KVO(e.Agw),e.KVO(Tt))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();function ti(St,Rt){const Nt=St.url.toLowerCase();if(!(0,e.WQX)(qe)||"GET"===St.method||"HEAD"===St.method||Nt.startsWith("http://")||Nt.startsWith("https://"))return Rt(St);const mt=(0,e.WQX)(Pt).getToken(),_t=(0,e.WQX)(ht);return null!=mt&&!St.headers.has(_t)&&(St=St.clone({headers:St.headers.set(_t,mt)})),Rt(St)}var It=function(St){return St[St.Interceptors=0]="Interceptors",St[St.LegacyInterceptors=1]="LegacyInterceptors",St[St.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",St[St.NoXsrfProtection=3]="NoXsrfProtection",St[St.JsonpSupport=4]="JsonpSupport",St[St.RequestsMadeViaParent=5]="RequestsMadeViaParent",St[St.Fetch=6]="Fetch",St}(It||{});function wt(...St){const Rt=[p,lt,Te,{provide:J,useExisting:Te},{provide:te,useExisting:lt},{provide:R,useValue:ti,multi:!0},{provide:qe,useValue:!0},{provide:Pt,useClass:Gt}];for(const Nt of St)Rt.push(...Nt.\u0275providers);return(0,e.EmA)(Rt)}const di=new e.nKC("");function Ni(){return function xt(St,Rt){return{\u0275kind:St,\u0275providers:Rt}}(It.LegacyInterceptors,[{provide:di,useFactory:he},{provide:R,useExisting:di,multi:!0}])}let ms=(()=>{class St{static#e=this.\u0275fac=function(mt){return new(mt||St)};static#t=this.\u0275mod=e.$C({type:St});static#i=this.\u0275inj=e.G2t({providers:[wt(Ni())]})}return St})()},54438:(ri,Bt,We)=>{"use strict";function e(t,s){return Object.is(t,s)}We.d(Bt,{bc$:()=>Wf,iLQ:()=>SC,sZ2:()=>_p,hnV:()=>jk,Hbi:()=>dA,o8S:()=>Uu,BIS:()=>Tp,gRc:()=>Qk,Ql9:()=>FE,OM3:()=>Ia,Ocv:()=>WE,abz:()=>ec,Z63:()=>Ao,aKT:()=>dh,uvJ:()=>Xr,zcH:()=>Sl,bkB:()=>co,$GK:()=>wn,nKC:()=>$e,zZn:()=>yr,_q3:()=>LC,MKu:()=>PC,xe9:()=>zy,Co$:()=>R_,Vns:()=>Vd,SKi:()=>xr,Xx1:()=>Qs,Agw:()=>wp,PLl:()=>mu,sFG:()=>Oa,_9s:()=>Fd,czy:()=>_u,WPN:()=>Id,kdw:()=>eo,C4Q:()=>Wp,NYb:()=>AE,giA:()=>Fk,RxE:()=>Ek,c1b:()=>Zm,gXe:()=>Or,mal:()=>av,Af3:()=>Ge,tdH:()=>qx,L39:()=>VA,EWP:()=>HA,a0P:()=>KA,Ol2:()=>jv,w6W:()=>N_,oH4:()=>Yk,QZP:()=>ED,SmG:()=>ZE,Rfq:()=>ti,WQX:()=>$i,hFB:()=>Uf,QuC:()=>kr,EmA:()=>Jo,Udg:()=>zA,fpN:()=>hA,HJs:()=>ZA,N4e:()=>$l,vPA:()=>Dv,O8t:()=>UA,An2:()=>qp,H3F:()=>Ak,H8p:()=>Hs,KH2:()=>od,TgB:()=>af,wOt:()=>ge,WHO:()=>Rk,e01:()=>Nk,lNU:()=>he,h9k:()=>$0,$MX:()=>vu,ZF7:()=>tc,Kcf:()=>Kf,e5t:()=>bu,UyX:()=>z0,cWb:()=>Jg,osQ:()=>em,H5H:()=>L0,Zy3:()=>_e,mq5:()=>Ty,JZv:()=>Je,LfX:()=>To,plB:()=>rd,jNT:()=>wC,zjR:()=>Bk,TL$:()=>xp,Tbb:()=>pt,rcV:()=>Dl,nM4:()=>I_,Vt3:()=>o0,Mj6:()=>cn,GFd:()=>P_,OA$:()=>Xt,Jv_:()=>VS,aNF:()=>zS,R7$:()=>dg,BMQ:()=>ey,HbH:()=>S0,ZvI:()=>fy,AVh:()=>Fg,vxM:()=>L1,wni:()=>bS,VBU:()=>Vl,FsC:()=>vo,jDH:()=>Wi,G2t:()=>On,$C:()=>Oo,EJ8:()=>Wa,rXU:()=>Ac,nrm:()=>vy,eu8:()=>yy,bVm:()=>jg,qex:()=>O0,k0s:()=>I0,j41:()=>A0,RV6:()=>_y,xGo:()=>xd,Mr5:()=>Cy,pXf:()=>un,KVO:()=>Es,kS0:()=>Ql,QTQ:()=>vb,bIt:()=>_o,lsd:()=>xS,joV:()=>ap,qSk:()=>Ff,XpG:()=>oS,nI1:()=>hk,bMT:()=>dk,i5U:()=>uk,SdG:()=>lS,NAR:()=>aS,Y8G:()=>Ud,FS9:()=>rC,Mz_:()=>Py,lJ4:()=>ZS,eq3:()=>qS,l_i:()=>QS,sMw:()=>JS,ziG:()=>ek,s1E:()=>tk,l4e:()=>ik,sGs:()=>nk,zJS:()=>sk,mGM:()=>yS,sdS:()=>_S,Dyx:()=>E0,Z7z:()=>R1,fX1:()=>P1,Njj:()=>Cc,EBC:()=>lx,tSv:()=>rg,eBV:()=>_c,npT:()=>eg,B4B:()=>ic,n$t:()=>tg,Aen:()=>Pa,xc7:()=>Cf,zvX:()=>wy,DNE:()=>lf,C5r:()=>pk,EFF:()=>IS,JRh:()=>oC,SpI:()=>Ry,Lme:()=>aC,E5c:()=>lC,LHq:()=>cC,DH7:()=>BS,mxI:()=>dC,R50:()=>hC,GBs:()=>vS}),We(10467);let V=null,Le=!1,q=1;const ne=Symbol("SIGNAL");function re(t){const s=V;return V=t,s}const ue={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function J(t){if(Le)throw new Error("");if(null===V)return;V.consumerOnSignalRead(t);const s=V.nextProducerIndex++;G(V),st.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function A(t){G(t);for(let s=0;s0}function G(t){t.producerNode??=[],t.producerIndexOfThis??=[],t.producerLastReadVersion??=[]}function O(t){t.liveConsumerNode??=[],t.liveConsumerIndexOfThis??=[]}const a=Symbol("UNSET"),g=Symbol("COMPUTING"),v=Symbol("ERRORED"),o={...ue,value:a,dirty:!0,error:null,equal:e,producerMustRecompute:t=>t.value===a||t.value===g,producerRecomputeValue(t){if(t.value===g)throw new Error("Detected cycle in computations.");const s=t.value;t.value=g;const h=P(t);let L;try{L=t.computation()}catch(Q){L=v,t.error=Q}finally{D(t,h)}s!==a&&s!==v&&L!==v&&t.equal(s,L)?t.value=s:(t.value=L,t.version++)}};let r=function n(){throw new Error};function l(){r()}let C=null;function B(t,s){j()||l(),t.equal(t.value,s)||(t.value=s,function U(t){t.version++,function te(){q++}(),E(t),C?.()}(t))}const K={...ue,equal:e,value:void 0};const S=()=>{},$={...ue,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:t=>{null!==t.schedule&&t.schedule(t.ref)},hasRun:!1,cleanupFn:S};var x=We(21413),N=We(18359),R=We(84412),Z=We(96354);const he="https://g.co/ng/security#xss";class ge extends Error{constructor(s,h){super(_e(s,h)),this.code=s}}function _e(t,s){return`NG0${Math.abs(t)}${s?": "+s:""}`}const Te=Symbol("InputSignalNode#UNSET"),Oe={...K,transformFn:void 0,applyValueToInputSignal(t,s){B(t,s)}};function oe(t,s){const h=Object.create(Oe);function L(){if(J(h),h.value===Te)throw new ge(-950,!1);return h.value}return h.value=t,h.transformFn=s?.transform,L[ne]=h,L}function ee(t){return{toString:t}.toString()}const xe="__parameters__";function Me(t,s,h){return ee(()=>{const L=function Ee(t){return function(...h){if(t){const L=t(...h);for(const Q in L)this[Q]=L[Q]}}}(s);function Q(...fe){if(this instanceof Q)return L.apply(this,fe),this;const Se=new Q(...fe);return Pe.annotation=Se,Pe;function Pe(ze,Qe,dt){const Ct=ze.hasOwnProperty(xe)?ze[xe]:Object.defineProperty(ze,xe,{value:[]})[xe];for(;Ct.length<=dt;)Ct.push(null);return(Ct[dt]=Ct[dt]||[]).push(Se),ze}}return h&&(Q.prototype=Object.create(h.prototype)),Q.prototype.ngMetadataName=t,Q.annotationCls=Q,Q})}const Je=globalThis;function st(t){for(let s in t)if(t[s]===st)return s;throw Error("Could not find renamed property on target object.")}function Tt(t,s){for(const h in s)s.hasOwnProperty(h)&&!t.hasOwnProperty(h)&&(t[h]=s[h])}function pt(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(pt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const s=t.toString();if(null==s)return""+s;const h=s.indexOf("\n");return-1===h?s:s.substring(0,h)}function ht(t,s){return null==t||""===t?null===s?"":s:null==s||""===s?t:t+" "+s}const Gt=st({__forward_ref__:st});function ti(t){return t.__forward_ref__=ti,t.toString=function(){return pt(this())},t}function Dt(t){return It(t)?t():t}function It(t){return"function"==typeof t&&t.hasOwnProperty(Gt)&&t.__forward_ref__===ti}function Ni(t,s,h){t!=s&&function ki(t,s,h,L){throw new Error(`ASSERTION ERROR: ${t}`+(null==L?"":` [Expected=> ${h} ${L} ${s} <=Actual]`))}(h,t,s,"==")}function Wi(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function On(t){return{providers:t.providers||[],imports:t.imports||[]}}function ar(t){return Wr(t,Rt)||Wr(t,mt)}function To(t){return null!==ar(t)}function Wr(t,s){return t.hasOwnProperty(s)?t[s]:null}function St(t){return t&&(t.hasOwnProperty(Nt)||t.hasOwnProperty(_t))?t[Nt]:null}const Rt=st({\u0275prov:st}),Nt=st({\u0275inj:st}),mt=st({ngInjectableDef:st}),_t=st({ngInjectorDef:st});class $e{constructor(s,h){this._desc=s,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof h?this.__NG_ELEMENT_ID__=h:void 0!==h&&(this.\u0275prov=Wi({token:this,providedIn:h.providedIn||"root",factory:h.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function gn(t){return t&&!!t.\u0275providers}const cs=st({\u0275cmp:st}),sn=st({\u0275dir:st}),Bn=st({\u0275pipe:st}),Er=st({\u0275mod:st}),bs=st({\u0275fac:st}),Un=st({__NG_ELEMENT_ID__:st}),pr=st({__NG_ENV_ID__:st});function Ui(t){return"string"==typeof t?t:null==t?"":String(t)}function go(t,s){throw new ge(-201,!1)}var wn=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}(wn||{});let Va;function za(){return Va}function $s(t){const s=Va;return Va=t,s}function ha(t,s,h){const L=ar(t);return L&&"root"==L.providedIn?void 0===L.value?L.value=L.factory():L.value:h&wn.Optional?null:void 0!==s?s:void go()}const wr={},Jr="__NG_DI_FLAG__",Xo="ngTempTokenPath",mo=/\n/gm,Ga="__source";let Tr;function tr(t){const s=Tr;return Tr=t,s}function Ha(t,s=wn.Default){if(void 0===Tr)throw new ge(-203,!1);return null===Tr?ha(t,void 0,s):Tr.get(t,s&wn.Optional?null:void 0,s)}function Es(t,s=wn.Default){return(za()||Ha)(Dt(t),s)}function $i(t,s=wn.Default){return Es(t,Ar(s))}function Ar(t){return typeof t>"u"||"number"==typeof t?t:(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function So(t){const s=[];for(let h=0;hArray.isArray(h)?$r(h,s):s(h))}function Ko(t,s,h){s>=t.length?t.push(h):t.splice(s,0,h)}function Do(t,s){return s>=t.length-1?t.pop():t.splice(s,1)[0]}function Js(t,s,h){let L=Eo(t,s);return L>=0?t[1|L]=h:(L=~L,function va(t,s,h,L){let Q=t.length;if(Q==s)t.push(h,L);else if(1===Q)t.push(L,t[0]),t[0]=h;else{for(Q--,t.push(t[Q-1],t[Q]);Q>s;)t[Q]=t[Q-2],Q--;t[s]=h,t[s+1]=L}}(t,L,s,h)),L}function bo(t,s){const h=Eo(t,s);if(h>=0)return t[1|h]}function Eo(t,s){return function Lc(t,s,h){let L=0,Q=t.length>>h;for(;Q!==L;){const fe=L+(Q-L>>1),Se=t[fe<s?Q=fe:L=fe+1}return~(Q<s){Se=fe-1;break}}}for(;fe-1){let fe;for(;++Qfe?"":Q[dt+1].toLowerCase(),2&L&&Qe!==Ct){if(Vs(L))return!1;Se=!0}}}}else{if(!Se&&!Vs(L)&&!Vs(ze))return!1;if(Se&&Vs(ze))continue;Se=!1,L=ze|1&L}}return Vs(L)||Se}function Vs(t){return!(1&t)}function qo(t,s,h,L){if(null===s)return-1;let Q=0;if(L||!h){let fe=!1;for(;Q-1)for(h++;h0?'="'+Pe+'"':"")+"]"}else 8&L?Q+="."+Se:4&L&&(Q+=" "+Se);else""!==Q&&!Vs(Se)&&(s+=cc(fe,Q),Q=""),L=Se,fe=fe||!Vs(L);h++}return""!==Q&&(s+=cc(fe,Q)),s}function Vl(t){return ee(()=>{const s=Qo(t),h={...s,decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===ol.OnPush,directiveDefs:null,pipeDefs:null,dependencies:s.standalone&&t.dependencies||null,getStandaloneInjector:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||Or.Emulated,styles:t.styles||Dn,_:null,schemas:t.schemas||null,tView:null,id:""};dc(h);const L=t.dependencies;return h.directiveDefs=uc(L,!1),h.pipeDefs=uc(L,!0),h.id=function Sh(t){let s=0;const h=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,t.consts,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery].join("|");for(const Q of h)s=Math.imul(31,s)+Q.charCodeAt(0)|0;return s+=2147483648,"c"+s}(h),h})}function hc(t){return pn(t)||vs(t)}function zl(t){return null!==t}function Oo(t){return ee(()=>({type:t.type,bootstrap:t.bootstrap||Dn,declarations:t.declarations||Dn,imports:t.imports||Dn,exports:t.exports||Dn,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function Gl(t,s){if(null==t)return Sr;const h={};for(const L in t)if(t.hasOwnProperty(L)){const Q=t[L];let fe,Se,Pe=cn.None;Array.isArray(Q)?(Pe=Q[0],fe=Q[1],Se=Q[2]??fe):(fe=Q,Se=Q),s?(h[fe]=Pe!==cn.None?[L,Pe]:L,s[fe]=Se):h[fe]=L}return h}function vo(t){return ee(()=>{const s=Qo(t);return dc(s),s})}function Wa(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,standalone:!0===t.standalone,onDestroy:t.type.prototype.ngOnDestroy||null}}function pn(t){return t[cs]||null}function vs(t){return t[sn]||null}function fs(t){return t[Bn]||null}function kr(t){const s=pn(t)||vs(t)||fs(t);return null!==s&&s.standalone}function er(t,s){const h=t[Er]||null;if(!h&&!0===s)throw new Error(`Type ${pt(t)} does not have '\u0275mod' property.`);return h}function Qo(t){const s={};return{type:t.type,providersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:s,inputTransforms:null,inputConfig:t.inputs||Sr,exportAs:t.exportAs||null,standalone:!0===t.standalone,signals:!0===t.signals,selectors:t.selectors||Dn,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Gl(t.inputs,s),outputs:Gl(t.outputs),debugInfo:null}}function dc(t){t.features?.forEach(s=>s(t))}function uc(t,s){if(!t)return null;const h=s?fs:hc;return()=>("function"==typeof t?t():t).map(L=>h(L)).filter(zl)}function Jo(t){return{\u0275providers:t}}function pc(...t){return{\u0275providers:cl(0,t),\u0275fromNgModule:!0}}function cl(t,...s){const h=[],L=new Set;let Q;const fe=Se=>{h.push(Se)};return $r(s,Se=>{const Pe=Se;Hl(Pe,fe,[],L)&&(Q||=[],Q.push(Pe))}),void 0!==Q&&Pc(Q,fe),h}function Pc(t,s){for(let h=0;h{s(fe,L)})}}function Hl(t,s,h,L){if(!(t=Dt(t)))return!1;let Q=null,fe=St(t);const Se=!fe&&pn(t);if(fe||Se){if(Se&&!Se.standalone)return!1;Q=t}else{const ze=t.ngModule;if(fe=St(ze),!fe)return!1;Q=ze}const Pe=L.has(Q);if(Se){if(Pe)return!1;if(L.add(Q),Se.dependencies){const ze="function"==typeof Se.dependencies?Se.dependencies():Se.dependencies;for(const Qe of ze)Hl(Qe,s,h,L)}}else{if(!fe)return!1;{if(null!=fe.imports&&!Pe){let Qe;L.add(Q);try{$r(fe.imports,dt=>{Hl(dt,s,h,L)&&(Qe||=[],Qe.push(dt))})}finally{}void 0!==Qe&&Pc(Qe,s)}if(!Pe){const Qe=Ir(Q)||(()=>new Q);s({provide:Q,useFactory:Qe,deps:Dn},Q),s({provide:Io,useValue:Q,multi:!0},Q),s({provide:Ao,useValue:()=>Es(Q),multi:!0},Q)}const ze=fe.providers;if(null!=ze&&!Pe){const Qe=t;Lo(ze,dt=>{s(dt,Qe)})}}}return Q!==t&&void 0!==t.providers}function Lo(t,s){for(let h of t)gn(h)&&(h=h.\u0275providers),Array.isArray(h)?Lo(h,s):s(h)}const Nc=st({provide:String,useValue:st});function Ul(t){return null!==t&&"object"==typeof t&&Nc in t}function Po(t){return"function"==typeof t}const Hs=new $e(""),Xs={},ta={};let hl;function xa(){return void 0===hl&&(hl=new hr),hl}class Xr{}class _a extends Xr{get destroyed(){return this._destroyed}constructor(s,h,L,Q){super(),this.parent=h,this.source=L,this.scopes=Q,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,na(s,Se=>this.processProvider(Se)),this.records.set(ya,Ca(void 0,this)),Q.has("environment")&&this.records.set(Xr,Ca(void 0,this));const fe=this.records.get(Hs);null!=fe&&"string"==typeof fe.value&&this.scopes.add(fe.value),this.injectorDefTypes=new Set(this.get(Io,Dn,wn.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;const s=re(null);try{for(const L of this._ngOnDestroyHooks)L.ngOnDestroy();const h=this._onDestroyHooks;this._onDestroyHooks=[];for(const L of h)L()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),re(s)}}onDestroy(s){return this.assertNotDestroyed(),this._onDestroyHooks.push(s),()=>this.removeOnDestroy(s)}runInContext(s){this.assertNotDestroyed();const h=tr(this),L=$s(void 0);try{return s()}finally{tr(h),$s(L)}}get(s,h=wr,L=wn.Default){if(this.assertNotDestroyed(),s.hasOwnProperty(pr))return s[pr](this);L=Ar(L);const fe=tr(this),Se=$s(void 0);try{if(!(L&wn.SkipSelf)){let ze=this.records.get(s);if(void 0===ze){const Qe=function Yr(t){return"function"==typeof t||"object"==typeof t&&t instanceof $e}(s)&&ar(s);ze=Qe&&this.injectableDefInScope(Qe)?Ca(ia(s),Xs):null,this.records.set(s,ze)}if(null!=ze)return this.hydrate(s,ze)}return(L&wn.Self?xa():this.parent).get(s,h=L&wn.Optional&&h===wr?null:h)}catch(Pe){if("NullInjectorError"===Pe.name){if((Pe[Xo]=Pe[Xo]||[]).unshift(pt(s)),fe)throw Pe;return function ua(t,s,h,L){const Q=t[Xo];throw s[Ga]&&Q.unshift(s[Ga]),t.message=function pa(t,s,h,L=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.slice(2):t;let Q=pt(s);if(Array.isArray(s))Q=s.map(pt).join(" -> ");else if("object"==typeof s){let fe=[];for(let Se in s)if(s.hasOwnProperty(Se)){let Pe=s[Se];fe.push(Se+":"+("string"==typeof Pe?JSON.stringify(Pe):pt(Pe)))}Q=`{${fe.join(", ")}}`}return`${h}${L?"("+L+")":""}[${Q}]: ${t.replace(mo,"\n ")}`}("\n"+t.message,Q,h,L),t.ngTokenPath=Q,t[Xo]=null,t}(Pe,s,"R3InjectorError",this.source)}throw Pe}finally{$s(Se),tr(fe)}}resolveInjectorInitializers(){const s=re(null),h=tr(this),L=$s(void 0);try{const fe=this.get(Ao,Dn,wn.Self);for(const Se of fe)Se()}finally{tr(h),$s(L),re(s)}}toString(){const s=[],h=this.records;for(const L of h.keys())s.push(pt(L));return`R3Injector[${s.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new ge(205,!1)}processProvider(s){let h=Po(s=Dt(s))?s:Dt(s&&s.provide);const L=function Dh(t){return Ul(t)?Ca(void 0,t.useValue):Ca(Wl(t),Xs)}(s);if(!Po(s)&&!0===s.multi){let Q=this.records.get(h);Q||(Q=Ca(void 0,Xs,!0),Q.factory=()=>So(Q.multi),this.records.set(h,Q)),h=s,Q.multi.push(s)}this.records.set(h,L)}hydrate(s,h){const L=re(null);try{return h.value===Xs&&(h.value=ta,h.value=h.factory()),"object"==typeof h.value&&h.value&&function dl(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(h.value)&&this._ngOnDestroyHooks.add(h.value),h.value}finally{re(L)}}injectableDefInScope(s){if(!s.providedIn)return!1;const h=Dt(s.providedIn);return"string"==typeof h?"any"===h||this.scopes.has(h):this.injectorDefTypes.has(h)}removeOnDestroy(s){const h=this._onDestroyHooks.indexOf(s);-1!==h&&this._onDestroyHooks.splice(h,1)}}function ia(t){const s=ar(t),h=null!==s?s.factory:Ir(t);if(null!==h)return h;if(t instanceof $e)throw new ge(204,!1);if(t instanceof Function)return function kh(t){if(t.length>0)throw new ge(204,!1);const h=function Cr(t){return t&&(t[Rt]||t[mt])||null}(t);return null!==h?()=>h.factory(t):()=>new t}(t);throw new ge(204,!1)}function Wl(t,s,h){let L;if(Po(t)){const Q=Dt(t);return Ir(Q)||ia(Q)}if(Ul(t))L=()=>Dt(t.useValue);else if(function Fc(t){return!(!t||!t.useFactory)}(t))L=()=>t.useFactory(...So(t.deps||[]));else if(function As(t){return!(!t||!t.useExisting)}(t))L=()=>Es(Dt(t.useExisting));else{const Q=Dt(t&&(t.useClass||t.provide));if(!function Mh(t){return!!t.deps}(t))return Ir(Q)||ia(Q);L=()=>new Q(...So(t.deps))}return L}function Ca(t,s,h=!1){return{factory:t,value:s,multi:h?[]:void 0}}function na(t,s){for(const h of t)Array.isArray(h)?na(h,s):h&&gn(h)?na(h.\u0275providers,s):s(h)}function $l(t,s){t instanceof _a&&t.assertNotDestroyed();const L=tr(t),Q=$s(void 0);try{return s()}finally{tr(L),$s(Q)}}function fc(){return void 0!==za()||null!=function fr(){return Tr}()}function Ge(t){if(!fc())throw new ge(-203,!1)}const Zn=0,gi=1,Bi=2,En=3,ks=4,Us=5,mr=6,ul=7,jn=8,br=9,Ro=10,Qi=11,No=12,Xl=13,ws=14,Is=15,pl=16,Yl=17,Kr=18,Kl=19,wa=20,yo=21,Zr=22,$a=23,rn=25,Bc=1,Fo=7,Xa=9,Ys=10;var Eh=function(t){return t[t.None=0]="None",t[t.HasTransplantedViews=2]="HasTransplantedViews",t}(Eh||{});function Pr(t){return Array.isArray(t)&&"object"==typeof t[Bc]}function Gs(t){return Array.isArray(t)&&!0===t[Bc]}function jc(t){return!!(4&t.flags)}function Bo(t){return t.componentOffset>-1}function fl(t){return!(1&~t.flags)}function no(t){return!!t.template}function Vc(t){return!!(512&t[Bi])}class Ot{constructor(s,h,L){this.previousValue=s,this.currentValue=h,this.firstChange=L}isFirstChange(){return this.firstChange}}function qt(t,s,h,L){null!==s?s.applyValueToInputSignal(s,L):t[h]=L}function Xt(){return Ei}function Ei(t){return t.type.prototype.ngOnChanges&&(t.setInput=bn),on}function on(){const t=gl(this),s=t?.current;if(s){const h=t.previous;if(h===Sr)t.previous=s;else for(let L in s)h[L]=s[L];t.current=null,this.ngOnChanges(s)}}function bn(t,s,h,L,Q){const fe=this.declaredInputs[L],Se=gl(t)||function ml(t,s){return t[Os]=s}(t,{previous:Sr,current:null}),Pe=Se.current||(Se.current={}),ze=Se.previous,Qe=ze[fe];Pe[fe]=new Ot(Qe&&Qe.currentValue,h,ze===Sr),qt(t,s,Q,h)}Xt.ngInherit=!0;const Os="__ngSimpleChanges__";function gl(t){return t[Os]||null}const Ks=function(t,s,h){},dd="svg";let Yu=!1;function Ts(t){for(;Array.isArray(t);)t=t[Zn];return t}function Ph(t,s){return Ts(s[t])}function so(t,s){return Ts(s[t.index])}function Rh(t,s){return t.data[s]}function Uc(t,s){return t[s]}function jo(t,s){const h=s[t];return Pr(h)?h:h[Zn]}function bl(t){return!(128&~t[Bi])}function Ka(t,s){return null==s?null:t[s]}function Zu(t){t[Yl]=0}function If(t){1024&t[Bi]||(t[Bi]|=1024,bl(t)&&Xc(t))}function Nh(t){return!!(9216&t[Bi]||t[$a]?.dirty)}function $c(t){t[Ro].changeDetectionScheduler?.notify(1),Nh(t)?Xc(t):64&t[Bi]&&(function Ef(){return Yu}()?(t[Bi]|=1024,Xc(t)):t[Ro].changeDetectionScheduler?.notify())}function Xc(t){t[Ro].changeDetectionScheduler?.notify();let s=Za(t);for(;null!==s&&!(8192&s[Bi])&&(s[Bi]|=8192,bl(s));)s=Za(s)}function qr(t,s){if(!(256&~t[Bi]))throw new ge(911,!1);null===t[yo]&&(t[yo]=[]),t[yo].push(s)}function Za(t){const s=t[En];return Gs(s)?s[En]:s}const nn={lFrame:jh(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function xc(){return nn.bindingsEnabled}function qa(){return null!==nn.skipHydrationRootTNode}function ni(){return nn.lFrame.lView}function Tn(){return nn.lFrame.tView}function _c(t){return nn.lFrame.contextLView=t,t[jn]}function Cc(t){return nn.lFrame.contextLView=null,t}function ds(){let t=Yc();for(;null!==t&&64===t.type;)t=t.parent;return t}function Yc(){return nn.lFrame.currentTNode}function sa(){const t=nn.lFrame,s=t.currentTNode;return t.isParent?s:s.parent}function ra(t,s){const h=nn.lFrame;h.currentTNode=t,h.isParent=s}function eu(){return nn.lFrame.isParent}function tu(){nn.lFrame.isParent=!1}function ro(){const t=nn.lFrame;let s=t.bindingRootIndex;return-1===s&&(s=t.bindingRootIndex=t.tView.bindingStartIndex),s}function yl(){return nn.lFrame.bindingIndex}function Ta(){return nn.lFrame.bindingIndex++}function xl(t){const s=nn.lFrame,h=s.bindingIndex;return s.bindingIndex=s.bindingIndex+t,h}function sp(t){nn.lFrame.inI18n=t}function Rf(t,s){const h=nn.lFrame;h.bindingIndex=h.bindingRootIndex=t,pd(s)}function pd(t){nn.lFrame.currentDirectiveIndex=t}function Bh(t){const s=nn.lFrame.currentDirectiveIndex;return-1===s?null:t[s]}function oo(){return nn.lFrame.currentQueryIndex}function wc(t){nn.lFrame.currentQueryIndex=t}function Nf(t){const s=t[gi];return 2===s.type?s.declTNode:1===s.type?t[Us]:null}function _l(t,s,h){if(h&wn.SkipSelf){let Q=s,fe=t;for(;!(Q=Q.parent,null!==Q||h&wn.Host||(Q=Nf(fe),null===Q||(fe=fe[ws],10&Q.type))););if(null===Q)return!1;s=Q,t=fe}const L=nn.lFrame=rp();return L.currentTNode=s,L.lView=t,!0}function ao(t){const s=rp(),h=t[gi];nn.lFrame=s,s.currentTNode=h.firstChild,s.lView=t,s.tView=h,s.contextLView=t,s.bindingIndex=h.bindingStartIndex,s.inI18n=!1}function rp(){const t=nn.lFrame,s=null===t?null:t.child;return null===s?jh(t):s}function jh(t){const s={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=s),s}function Kc(){const t=nn.lFrame;return nn.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const nu=Kc;function fd(){const t=Kc();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Rr(){return nn.lFrame.selectedIndex}function Zc(t){nn.lFrame.selectedIndex=t}function Ss(){const t=nn.lFrame;return Rh(t.tView,t.selectedIndex)}function Ff(){nn.lFrame.currentNamespace=dd}function ap(){!function ru(){nn.lFrame.currentNamespace=null}()}let qc=!0;function Qa(){return qc}function Nr(t){qc=t}function Sa(t,s){for(let h=s.directiveStart,L=s.directiveEnd;h=L)break}else s[ze]<0&&(t[Yl]+=65536),(Pe>14>16&&(3&t[Bi])===s&&(t[Bi]+=16384,Cl(Pe,fe)):Cl(Pe,fe)}const Tc=-1;class Qc{constructor(s,h,L){this.factory=s,this.resolving=!1,this.canSeeViewProviders=h,this.injectImpl=L}}function eh(t){return t!==Tc}function Ja(t){return 32767&t}function el(t,s){let h=function hp(t){return t>>16}(t),L=s;for(;h>0;)L=L[ws],h--;return L}let Fr=!0;function kc(t){const s=Fr;return Fr=t,s}const th=255,wl=5;let ka=0;const Br={};function ih(t,s){const h=lo(t,s);if(-1!==h)return h;const L=s[gi];L.firstCreatePass&&(t.injectorIndex=s.length,gd(L.data,t),gd(s,null),gd(L.blueprint,null));const Q=Wh(t,s),fe=t.injectorIndex;if(eh(Q)){const Se=Ja(Q),Pe=el(Q,s),ze=Pe[gi].data;for(let Qe=0;Qe<8;Qe++)s[fe+Qe]=Pe[Se+Qe]|ze[Se+Qe]}return s[fe+8]=Q,fe}function gd(t,s){t.push(0,0,0,0,0,0,0,0,s)}function lo(t,s){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===s[t.injectorIndex+8]?-1:t.injectorIndex}function Wh(t,s){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let h=0,L=null,Q=s;for(;null!==Q;){if(L=du(Q),null===L)return Tc;if(h++,Q=Q[ws],-1!==L.injectorIndex)return L.injectorIndex|h<<16}return Tc}function nh(t,s,h){!function lu(t,s,h){let L;"string"==typeof h?L=h.charCodeAt(0)||0:h.hasOwnProperty(Un)&&(L=h[Un]),null==L&&(L=h[Un]=ka++);const Q=L&th;s.data[t+(Q>>wl)]|=1<=0?s&th:jf:s}(h);if("function"==typeof fe){if(!_l(s,t,L))return L&wn.Host?md(Q,0,L):bd(s,h,L,Q);try{let Se;if(Se=fe(L),null!=Se||L&wn.Optional)return Se;go()}finally{nu()}}else if("number"==typeof fe){let Se=null,Pe=lo(t,s),ze=Tc,Qe=L&wn.Host?s[Is][Us]:null;for((-1===Pe||L&wn.SkipSelf)&&(ze=-1===Pe?Wh(t,s):s[Pe+8],ze!==Tc&&Xh(L,!1)?(Se=s[gi],Pe=Ja(ze),s=el(ze,s)):Pe=-1);-1!==Pe;){const dt=s[gi];if(hu(fe,Pe,dt.data)){const Ct=yd(Pe,s,h,Se,L,Qe);if(Ct!==Br)return Ct}ze=s[Pe+8],ze!==Tc&&Xh(L,s[gi].data[Pe+8]===Qe)&&hu(fe,Pe,s)?(Se=dt,Pe=Ja(ze),s=el(ze,s)):Pe=-1}}return Q}function yd(t,s,h,L,Q,fe){const Se=s[gi],Pe=Se.data[t+8],dt=rh(Pe,Se,h,null==L?Bo(Pe)&&Fr:L!=Se&&!!(3&Pe.type),Q&wn.Host&&fe===Pe);return null!==dt?ql(s,Se,dt,Pe):Br}function rh(t,s,h,L,Q){const fe=t.providerIndexes,Se=s.data,Pe=1048575&fe,ze=t.directiveStart,dt=fe>>20,jt=Q?Pe+dt:t.directiveEnd;for(let Ht=L?Pe:Pe+dt;Ht=ze&&Kt.type===h)return Ht}if(Q){const Ht=Se[ze];if(Ht&&no(Ht)&&Ht.type===h)return ze}return null}function ql(t,s,h,L){let Q=t[h];const fe=s.data;if(function Gh(t){return t instanceof Qc}(Q)){const Se=Q;Se.resolving&&function Fa(t,s){throw s&&s.join(" > "),new ge(-200,t)}(function ln(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():Ui(t)}(fe[h]));const Pe=kc(Se.canSeeViewProviders);Se.resolving=!0;const Qe=Se.injectImpl?$s(Se.injectImpl):null;_l(t,L,wn.Default);try{Q=t[h]=Se.factory(void 0,fe,t,L),s.firstCreatePass&&h>=L.directiveStart&&function Zl(t,s,h){const{ngOnChanges:L,ngOnInit:Q,ngDoCheck:fe}=s.type.prototype;if(L){const Se=Ei(s);(h.preOrderHooks??=[]).push(t,Se),(h.preOrderCheckHooks??=[]).push(t,Se)}Q&&(h.preOrderHooks??=[]).push(0-t,Q),fe&&((h.preOrderHooks??=[]).push(t,fe),(h.preOrderCheckHooks??=[]).push(t,fe))}(h,fe[h],s)}finally{null!==Qe&&$s(Qe),kc(Pe),Se.resolving=!1,nu()}}return Q}function hu(t,s,h){return!!(h[s+(t>>wl)]&1<{const s=t.prototype.constructor,h=s[bs]||_d(s),L=Object.prototype;let Q=Object.getPrototypeOf(t.prototype).constructor;for(;Q&&Q!==L;){const fe=Q[bs]||_d(Q);if(fe&&fe!==h)return fe;Q=Object.getPrototypeOf(Q)}return fe=>new fe})}function _d(t){return It(t)?()=>{const s=_d(Dt(t));return s&&s()}:Ir(t)}function du(t){const s=t[gi],h=s.type;return 2===h?s.declTNode:1===h?t[Us]:null}function Ql(t){return function $h(t,s){if("class"===s)return t.classes;if("style"===s)return t.styles;const h=t.attrs;if(h){const L=h.length;let Q=0;for(;Q{class t{static#e=this.THROW_IF_NOT_FOUND=wr;static#t=this.NULL=new hr;static create(h,L){if(Array.isArray(h))return Yh({name:""},L,h,"");{const Q=h.name??"";return Yh({name:Q},h.parent,h.providers,Q)}}static#i=this.\u0275prov=Wi({token:t,providedIn:"any",factory:()=>Es(ya)});static#n=this.__NG_ELEMENT_ID__=-1}return t})();function Td(t){return t.ngOriginalError}class Sl{constructor(){this._console=console}handleError(s){const h=this._findOriginalError(s);this._console.error("ERROR",s),h&&this._console.error("ORIGINAL ERROR",h)}_findOriginalError(s){let h=s&&Td(s);for(;h&&Td(h);)h=Td(h);return h||null}}const hh=new $e("",{providedIn:"root",factory:()=>$i(Sl).handleError.bind(void 0)});let ec=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=Hf;static#t=this.__NG_ENV_ID__=h=>h}return t})();class Gf extends ec{constructor(s){super(),this._lView=s}onDestroy(s){return qr(this._lView,s),()=>function Ds(t,s){if(null===t[yo])return;const h=t[yo].indexOf(s);-1!==h&&t[yo].splice(h,1)}(this._lView,s)}}function Hf(){return new Gf(ni())}function gu(t,s){return oe(t,s)}const Uf=(gu.required=function qg(t){return oe(Te,t)},gu);function bp(){return kl(ds(),ni())}function kl(t,s){return new dh(so(t,s))}let dh=(()=>{class t{constructor(h){this.nativeElement=h}static#e=this.__NG_ELEMENT_ID__=bp}return t})();function qh(t){return t instanceof dh?t.nativeElement:t}function Qh(t){return s=>{setTimeout(t,void 0,s)}}const co=class vp extends x.B{constructor(s=!1){super(),this.destroyRef=void 0,this.__isAsync=s,fc()&&(this.destroyRef=$i(ec,{optional:!0})??void 0)}emit(s){const h=re(null);try{super.next(s)}finally{re(h)}}subscribe(s,h,L){let Q=s,fe=h||(()=>null),Se=L;if(s&&"object"==typeof s){const ze=s;Q=ze.next?.bind(ze),fe=ze.error?.bind(ze),Se=ze.complete?.bind(ze)}this.__isAsync&&(fe=Qh(fe),Q&&(Q=Qh(Q)),Se&&(Se=Qh(Se)));const Pe=super.subscribe({next:Q,error:fe,complete:Se});return s instanceof N.yU&&s.add(Pe),Pe}};function Sd(){return this._results[Symbol.iterator]()}class Jh{static#e=Symbol.iterator;get changes(){return this._changes??=new co}constructor(s=!1){this._emitDistinctChangesOnly=s,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;const h=Jh.prototype;h[Symbol.iterator]||(h[Symbol.iterator]=Sd)}get(s){return this._results[s]}map(s){return this._results.map(s)}filter(s){return this._results.filter(s)}find(s){return this._results.find(s)}reduce(s,h){return this._results.reduce(s,h)}forEach(s){this._results.forEach(s)}some(s){return this._results.some(s)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(s,h){this.dirty=!1;const L=function es(t){return t.flat(Number.POSITIVE_INFINITY)}(s);(this._changesDetected=!function cr(t,s,h){if(t.length!==s.length)return!1;for(let L=0;LCp}),Cp="ng",mu=new $e(""),wp=new $e("",{providedIn:"platform",factory:()=>"unknown"}),Wf=new $e(""),Tp=new $e("",{providedIn:"root",factory:()=>Ma().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ls=()=>null;function rs(t,s,h=!1){return Ls(t,s,h)}const Yi=new $e("",{providedIn:"root",factory:()=>!1});let Ji,dr;function en(t){return function _n(){if(void 0===Ji&&(Ji=null,Je.trustedTypes))try{Ji=Je.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return Ji}()?.createHTML(t)||t}function ho(){if(void 0===dr&&(dr=null,Je.trustedTypes))try{dr=Je.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return dr}function sr(t){return ho()?.createHTML(t)||t}function la(t){return ho()?.createScriptURL(t)||t}class Ns{constructor(s){this.changingThisBreaksApplicationSecurity=s}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${he})`}}class Ea extends Ns{getTypeName(){return"HTML"}}class kp extends Ns{getTypeName(){return"Style"}}class $f extends Ns{getTypeName(){return"Script"}}class Xf extends Ns{getTypeName(){return"URL"}}class Dp extends Ns{getTypeName(){return"ResourceURL"}}function Dl(t){return t instanceof Ns?t.changingThisBreaksApplicationSecurity:t}function tc(t,s){const h=function Yf(t){return t instanceof Ns&&t.getTypeName()||null}(t);if(null!=h&&h!==s){if("ResourceURL"===h&&"URL"===s)return!0;throw new Error(`Required a safe ${s}, got a ${h} (see ${he})`)}return h===s}function Kf(t){return new Ea(t)}function Jg(t){return new kp(t)}function z0(t){return new $f(t)}function em(t){return new Xf(t)}function bu(t){return new Dp(t)}function Ed(t){const s=new Go(t);return function Ho(){try{return!!(new window.DOMParser).parseFromString(en(""),"text/html")}catch{return!1}}()?new G0(s):s}class G0{constructor(s){this.inertDocumentHelper=s}getInertBodyElement(s){s=""+s;try{const h=(new window.DOMParser).parseFromString(en(s),"text/html").body;return null===h?this.inertDocumentHelper.getInertBodyElement(s):(h.removeChild(h.firstChild),h)}catch{return null}}}class Go{constructor(s){this.defaultDoc=s,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(s){const h=this.inertDocument.createElement("template");return h.innerHTML=en(s),h}}const H0=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function vu(t){return(t=String(t)).match(H0)?t:"unsafe:"+t}function Ml(t){const s={};for(const h of t.split(","))s[h]=!0;return s}function td(...t){const s={};for(const h of t)for(const L in h)h.hasOwnProperty(L)&&(s[L]=!0);return s}const U0=Ml("area,br,col,hr,img,wbr"),Ec=Ml("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),tm=Ml("rp,rt"),Ad=td(U0,td(Ec,Ml("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),td(tm,Ml("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),td(tm,Ec)),im=Ml("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Zf=td(im,Ml("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Ml("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),Zy=Ml("script,style,template");class zC{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(s){let h=s.firstChild,L=!0,Q=[];for(;h;)if(h.nodeType===Node.ELEMENT_NODE?L=this.startElement(h):h.nodeType===Node.TEXT_NODE?this.chars(h.nodeValue):this.sanitizedSomething=!0,L&&h.firstChild)Q.push(h),h=HC(h);else for(;h;){h.nodeType===Node.ELEMENT_NODE&&this.endElement(h);let fe=GC(h);if(fe){h=fe;break}h=Q.pop()}return this.buf.join("")}startElement(s){const h=qf(s).toLowerCase();if(!Ad.hasOwnProperty(h))return this.sanitizedSomething=!0,!Zy.hasOwnProperty(h);this.buf.push("<"),this.buf.push(h);const L=s.attributes;for(let Q=0;Q"),!0}endElement(s){const h=qf(s).toLowerCase();Ad.hasOwnProperty(h)&&!U0.hasOwnProperty(h)&&(this.buf.push(""))}chars(s){this.buf.push(W0(s))}}function GC(t){const s=t.nextSibling;if(s&&t!==s.previousSibling)throw yu(s);return s}function HC(t){const s=t.firstChild;if(s&&function qy(t,s){return(t.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(t,s))throw yu(s);return s}function qf(t){const s=t.nodeName;return"string"==typeof s?s:"FORM"}function yu(t){return new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`)}const Qy=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,nm=/([^\#-~ |!])/g;function W0(t){return t.replace(/&/g,"&").replace(Qy,function(s){return"&#"+(1024*(s.charCodeAt(0)-55296)+(s.charCodeAt(1)-56320)+65536)+";"}).replace(nm,function(s){return"&#"+s.charCodeAt(0)+";"}).replace(//g,">")}let Qf;function $0(t,s){let h=null;try{Qf=Qf||Ed(t);let L=s?String(s):"";h=Qf.getInertBodyElement(L);let Q=5,fe=L;do{if(0===Q)throw new Error("Failed to sanitize html because the input is unstable");Q--,L=fe,fe=h.innerHTML,h=Qf.getInertBodyElement(L)}while(L!==fe);return en((new zC).sanitizeChildren(sm(h)||h))}finally{if(h){const L=sm(h)||h;for(;L.firstChild;)L.removeChild(L.firstChild)}}}function sm(t){return"content"in t&&function Jf(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var Id=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}(Id||{});function eg(t){const s=ur();return s?sr(s.sanitize(Id.HTML,t)||""):tc(t,"HTML")?sr(Dl(t)):$0(Ma(),Ui(t))}function ic(t){const s=ur();return s?s.sanitize(Id.URL,t)||"":tc(t,"URL")?Dl(t):vu(Ui(t))}function tl(t){const s=ur();if(s)return la(s.sanitize(Id.RESOURCE_URL,t)||"");if(tc(t,"ResourceURL"))return la(Dl(t));throw new ge(904,!1)}function tg(t,s,h){return function X0(t,s){return"src"===s&&("embed"===t||"frame"===t||"iframe"===t||"media"===t||"script"===t)||"href"===s&&("base"===t||"link"===t)?tl:ic}(s,h)(t)}function ur(){const t=ni();return t&&t[Ro].sanitizer}const ig=/^>|^->||--!>|)/g,xu="\u200b$1\u200b";const Mp=new Map;let XC=0;const fh="__ngContext__";function uo(t,s){Pr(s)?(t[fh]=s[Kl],function YC(t){Mp.set(t[Kl],t)}(s)):t[fh]=s}function rg(t){return t.ownerDocument.defaultView}function lx(t){return t.ownerDocument}function Uo(t){return t instanceof Function?t():t}var _u=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}(_u||{});let nc;function ob(t,s){return nc(t,s)}function Ip(t,s,h,L,Q){if(null!=L){let fe,Se=!1;Gs(L)?fe=L:Pr(L)&&(Se=!0,L=L[Zn]);const Pe=Ts(L);0===t&&null!==h?null==Q?mm(s,h,Pe):wu(s,h,Pe,Q||null,!0):1===t&&null!==h?wu(s,h,Pe,Q||null,!0):2===t?function cg(t,s,h){const L=Pp(t,s);L&&function hw(t,s,h,L){t.removeChild(s,h,L)}(t,L,s,h)}(s,Pe,Se):3===t&&s.destroyNode(Pe),null!=fe&&function xm(t,s,h,L,Q){const fe=h[Fo];fe!==Ts(h)&&Ip(s,t,L,fe,Q);for(let Pe=Ys;Pes.replace(UC,xu))}(s))}function fm(t,s,h){return t.createElement(s,h)}function Op(t,s){s[Ro].changeDetectionScheduler?.notify(1),Rp(t,s,s[Qi],2,null,null)}function cb(t,s){const h=t[Xa],L=h.indexOf(s);h.splice(L,1)}function Lp(t,s){if(t.length<=Ys)return;const h=Ys+s,L=t[h];if(L){const Q=L[pl];null!==Q&&Q!==t&&cb(Q,L),s>0&&(t[h-1][ks]=L[ks]);const fe=Do(t,Ys+s);!function Pd(t,s){Op(t,s),s[Zn]=null,s[Us]=null}(L[gi],L);const Se=fe[Kr];null!==Se&&Se.detachView(fe[gi]),L[En]=null,L[ks]=null,L[Bi]&=-129}return L}function gm(t,s){if(!(256&s[Bi])){const h=s[Qi];h.destroyNode&&Rp(t,s,h,3,null,null),function cx(t){let s=t[No];if(!s)return hb(t[gi],t);for(;s;){let h=null;if(Pr(s))h=s[No];else{const L=s[Ys];L&&(h=L)}if(!h){for(;s&&!s[ks]&&s!==t;)Pr(s)&&hb(s[gi],s),s=s[En];null===s&&(s=t),Pr(s)&&hb(s[gi],s),h=s&&s[ks]}s=h}}(s)}}function hb(t,s){if(256&s[Bi])return;const h=re(null);try{s[Bi]&=-129,s[Bi]|=256,s[$a]&&I(s[$a]),function cw(t,s){let h;if(null!=t&&null!=(h=t.destroyHooks))for(let L=0;L=0?L[Se]():L[-Se].unsubscribe(),fe+=2}else h[fe].call(L[h[fe+1]]);null!==L&&(s[ul]=null);const Q=s[yo];if(null!==Q){s[yo]=null;for(let fe=0;fe-1){const{encapsulation:fe}=t.data[L.directiveStart+Q];if(fe===Or.None||fe===Or.Emulated)return null}return so(L,h)}}function wu(t,s,h,L,Q){t.insertBefore(s,h,L,Q)}function mm(t,s,h){t.appendChild(s,h)}function bm(t,s,h,L,Q){null!==L?wu(t,s,h,L,Q):mm(t,s,h)}function Pp(t,s){return t.parentNode(s)}function ub(t,s,h){return Rd(t,s,h)}function pb(t,s,h){return 40&t.type?so(t,h):null}let vm,Rd=pb;function fb(t,s){Rd=t,vm=s}function ym(t,s,h,L){const Q=db(t,L,s),fe=s[Qi],Pe=ub(L.parent||s[Us],L,s);if(null!=Q)if(Array.isArray(h))for(let ze=0;zern&&ug(t,s,rn,!1),Ks(Se?2:0,Q),h(L,Q)}finally{Zc(fe),Ks(Se?3:1,Q)}}function Nd(t,s,h){if(jc(s)){const L=re(null);try{const fe=s.directiveEnd;for(let Se=s.directiveStart;Senull;function Sm(t,s,h,L,Q){for(let fe in s){if(!s.hasOwnProperty(fe))continue;const Se=s[fe];if(void 0===Se)continue;L??={};let Pe,ze=cn.None;Array.isArray(Se)?(Pe=Se[0],ze=Se[1]):Pe=Se;let Qe=fe;if(null!==Q){if(!Q.hasOwnProperty(fe))continue;Qe=Q[fe]}0===t?Tb(L,h,Qe,Pe,ze):Tb(L,h,Qe,Pe)}return L}function Tb(t,s,h,L,Q){let fe;t.hasOwnProperty(h)?(fe=t[h]).push(s,L):fe=t[h]=[s,L],void 0!==Q&&fe.push(Q)}function Aa(t,s,h,L,Q,fe,Se,Pe){const ze=so(s,h);let dt,Qe=s.inputs;!Pe&&null!=Qe&&(dt=Qe[L])?(Am(t,h,dt,L,Q),Bo(s)&&function _x(t,s){const h=jo(s,t);16&h[Bi]||(h[Bi]|=64)}(h,s.index)):3&s.type&&(L=function xx(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(L),Q=null!=Se?Se(Q,s.value||"",L):Q,fe.setProperty(ze,L,Q))}function fg(t,s,h,L){if(xc()){const Q=null===L?null:{"":-1},fe=function kx(t,s){const h=t.directiveRegistry;let L=null,Q=null;if(h)for(let fe=0;fe0;){const h=t[--s];if("number"==typeof h&&h<0)return h}return 0})(Se)!=Pe&&Se.push(Pe),Se.push(h,L,fe)}}(t,s,L,Fp(t,h,Q.hostVars,Pn),Q)}function Ic(t,s,h,L,Q,fe){const Se=so(t,s);!function Dm(t,s,h,L,Q,fe,Se){if(null==fe)t.removeAttribute(s,Q,h);else{const Pe=null==Se?Ui(fe):Se(fe,L||"",Q);t.setAttribute(s,Q,Pe,h)}}(s[Qi],Se,fe,t.value,h,L,Q)}function Ix(t,s,h,L,Q,fe){const Se=fe[s];if(null!==Se)for(let Pe=0;Pe0&&(h[Q-1][ks]=s),L{Xc(t.lView)},consumerOnSignalRead(){this.lView[$a]=this}};function Bb(t){return Lm(t[No])}function jb(t){return Lm(t[ks])}function Lm(t){for(;null!==t&&!Gs(t);)t=t[ks];return t}const Bx=100;function Gp(t,s=!0,h=0){const L=t[Ro],Q=L.rendererFactory;Q.begin?.();try{!function jx(t,s){id(t,s);let h=0;for(;Nh(t);){if(h===Bx)throw new ge(103,!1);h++,id(t,1)}}(t,h)}catch(Se){throw s&&gg(t,Se),Se}finally{Q.end?.(),L.inlineEffectRunner?.flush()}}function fw(t,s,h,L){const Q=s[Bi];if(!(256&~Q))return;s[Ro].inlineEffectRunner?.flush(),ao(s);let Se=null,Pe=null;(function Vb(t){return 2!==t.type})(t)&&(Pe=function Rb(t){return t[$a]??function Nb(t){const s=Om.pop()??Object.create(Fb);return s.lView=t,s}(t)}(s),Se=P(Pe));try{Zu(s),function ip(t){return nn.lFrame.bindingIndex=t}(t.bindingStartIndex),null!==h&&Du(t,s,h,2,L);const ze=!(3&~Q);if(ze){const Ct=t.preOrderCheckHooks;null!==Ct&&oa(s,Ct,null)}else{const Ct=t.preOrderHooks;null!==Ct&&Vo(s,Ct,0,null),zh(s,0)}if(function Vx(t){for(let s=Bb(t);null!==s;s=jb(s)){if(!(s[Bi]&Eh.HasTransplantedViews))continue;const h=s[Xa];for(let L=0;L-1&&(Lp(s,L),Do(h,L))}this._attachedToViewContainer=!1}gm(this._lView[gi],this._lView)}onDestroy(s){qr(this._lView,s)}markForCheck(){Hp(this._cdRefInjectingView||this._lView)}detach(){this._lView[Bi]&=-129}reattach(){$c(this._lView),this._lView[Bi]|=128}detectChanges(){this._lView[Bi]|=1024,Gp(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new ge(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,Op(this._lView[gi],this._lView)}attachToAppRef(s){if(this._attachedToViewContainer)throw new ge(902,!1);this._appRef=s,$c(this._lView)}}let Wp=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=Hb}return t})();const Gb=Wp,Gx=class extends Gb{constructor(s,h,L){super(),this._declarationLView=s,this._declarationTContainer=h,this.elementRef=L}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(s,h){return this.createEmbeddedViewImpl(s,h)}createEmbeddedViewImpl(s,h,L){const Q=jp(this._declarationLView,this._declarationTContainer,s,{injector:h,dehydratedView:L});return new Up(Q)}};function Hb(){return nd(ds(),ni())}function nd(t,s){return 4&t.type?new Gx(s,t,kl(t,s)):null}let nv=()=>null;function Zp(t,s){return nv(t,s)}class qp{}class ca{}class Hm{}class Um{resolveComponentFactory(s){throw function Wo(t){const s=Error(`No component factory found for ${pt(t)}.`);return s.ngComponent=t,s}(s)}}let Ia=(()=>{class t{static#e=this.NULL=new Um}return t})();class Fd{}let Oa=(()=>{class t{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function Qp(){const t=ni(),h=jo(ds().index,t);return(Pr(h)?h:t)[Qi]}()}return t})(),Tg=(()=>{class t{static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:()=>null})}return t})();const Ou={};function qx(t,s){if(null!==function ve(){return V}())throw new ge(-602,!1)}const Wm=new Set;function El(t){Wm.has(t)||(Wm.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}function Sg(...t){}class xr{constructor({enableLongStackTrace:s=!1,shouldCoalesceEventChangeDetection:h=!1,shouldCoalesceRunChangeDetection:L=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new co(!1),this.onMicrotaskEmpty=new co(!1),this.onStable=new co(!1),this.onError=new co(!1),typeof Zone>"u")throw new ge(908,!1);Zone.assertZonePatched();const Q=this;Q._nesting=0,Q._outer=Q._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(Q._inner=Q._inner.fork(new Zone.TaskTrackingZoneSpec)),s&&Zone.longStackTraceZoneSpec&&(Q._inner=Q._inner.fork(Zone.longStackTraceZoneSpec)),Q.shouldCoalesceEventChangeDetection=!L&&h,Q.shouldCoalesceRunChangeDetection=L,Q.lastRequestAnimationFrameId=-1,Q.nativeRequestAnimationFrame=function Bd(){const t="function"==typeof Je.requestAnimationFrame;let s=Je[t?"requestAnimationFrame":"setTimeout"],h=Je[t?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&s&&h){const L=s[Zone.__symbol__("OriginalDelegate")];L&&(s=L);const Q=h[Zone.__symbol__("OriginalDelegate")];Q&&(h=Q)}return{nativeRequestAnimationFrame:s,nativeCancelAnimationFrame:h}}().nativeRequestAnimationFrame,function _w(t){const s=()=>{!function Jx(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Je,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,$m(t),t.isCheckStableRunning=!0,Lu(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),$m(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(h,L,Q,fe,Se,Pe)=>{if(function e_(t){return!(!Array.isArray(t)||1!==t.length)&&!0===t[0].data?.__ignore_ng_zone__}(Pe))return h.invokeTask(Q,fe,Se,Pe);try{return sv(t),h.invokeTask(Q,fe,Se,Pe)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===fe.type||t.shouldCoalesceRunChangeDetection)&&s(),rv(t)}},onInvoke:(h,L,Q,fe,Se,Pe,ze)=>{try{return sv(t),h.invoke(Q,fe,Se,Pe,ze)}finally{t.shouldCoalesceRunChangeDetection&&s(),rv(t)}},onHasTask:(h,L,Q,fe)=>{h.hasTask(Q,fe),L===Q&&("microTask"==fe.change?(t._hasPendingMicrotasks=fe.microTask,$m(t),Lu(t)):"macroTask"==fe.change&&(t.hasPendingMacrotasks=fe.macroTask))},onHandleError:(h,L,Q,fe)=>(h.handleError(Q,fe),t.runOutsideAngular(()=>t.onError.emit(fe)),!1)})}(Q)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!xr.isInAngularZone())throw new ge(909,!1)}static assertNotInAngularZone(){if(xr.isInAngularZone())throw new ge(909,!1)}run(s,h,L){return this._inner.run(s,h,L)}runTask(s,h,L,Q){const fe=this._inner,Se=fe.scheduleEventTask("NgZoneEvent: "+Q,s,Qx,Sg,Sg);try{return fe.runTask(Se,h,L)}finally{fe.cancelTask(Se)}}runGuarded(s,h,L){return this._inner.runGuarded(s,h,L)}runOutsideAngular(s){return this._outer.run(s)}}const Qx={};function Lu(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function $m(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function sv(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function rv(t){t._nesting--,Lu(t)}class ov{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new co,this.onMicrotaskEmpty=new co,this.onStable=new co,this.onError=new co}run(s,h,L){return s.apply(h,L)}runGuarded(s,h,L){return s.apply(h,L)}runOutsideAngular(s){return s()}runTask(s,h,L,Q){return s.apply(h,L)}}var jd=function(t){return t[t.EarlyRead=0]="EarlyRead",t[t.Write=1]="Write",t[t.MixedReadWrite=2]="MixedReadWrite",t[t.Read=3]="Read",t}(jd||{});const Jp={destroy(){}};function av(t,s){!s&&Ge();const h=s?.injector??$i(yr);if(!function Od(t){return"browser"===(t??$i(yr)).get(wp)}(h))return Jp;El("NgAfterNextRender");const L=h.get(tf),Q=L.handler??=new cv,fe=s?.phase??jd.MixedReadWrite,Se=()=>{Q.unregister(ze),Pe()},Pe=h.get(ec).onDestroy(Se),ze=$l(h,()=>new lv(fe,()=>{Se(),t()}));return Q.register(ze),{destroy:Se}}class lv{constructor(s,h){this.phase=s,this.callbackFn=h,this.zone=$i(xr),this.errorHandler=$i(Sl,{optional:!0}),$i(qp,{optional:!0})?.notify(1)}invoke(){try{this.zone.runOutsideAngular(this.callbackFn)}catch(s){this.errorHandler?.handleError(s)}}}class cv{constructor(){this.executingCallbacks=!1,this.buckets={[jd.EarlyRead]:new Set,[jd.Write]:new Set,[jd.MixedReadWrite]:new Set,[jd.Read]:new Set},this.deferredCallbacks=new Set}register(s){(this.executingCallbacks?this.deferredCallbacks:this.buckets[s.phase]).add(s)}unregister(s){this.buckets[s.phase].delete(s),this.deferredCallbacks.delete(s)}execute(){this.executingCallbacks=!0;for(const s of Object.values(this.buckets))for(const h of s)h.invoke();this.executingCallbacks=!1;for(const s of this.deferredCallbacks)this.buckets[s.phase].add(s);this.deferredCallbacks.clear()}destroy(){for(const s of Object.values(this.buckets))s.clear();this.deferredCallbacks.clear()}}let tf=(()=>{class t{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){const h=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const L of h)L()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:()=>new t})}return t})();function rd(t){return!!er(t)}function Km(t,s,h){let L=h?t.styles:null,Q=h?t.classes:null,fe=0;if(null!==s)for(let Se=0;Se0&&hg(t,h,fe.join(" "))}}(Ht,wo,li,L),void 0!==h&&function kw(t,s,h){const L=t.projection=[];for(let Q=0;Q{class t{static#e=this.__NG_ELEMENT_ID__=Mw}return t})();function Mw(){return fv(ds(),ni())}const u_=Zm,uv=class extends u_{constructor(s,h,L){super(),this._lContainer=s,this._hostTNode=h,this._hostLView=L}get element(){return kl(this._hostTNode,this._hostLView)}get injector(){return new vr(this._hostTNode,this._hostLView)}get parentInjector(){const s=Wh(this._hostTNode,this._hostLView);if(eh(s)){const h=el(s,this._hostLView),L=Ja(s);return new vr(h[gi].data[L+8],h)}return new vr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(s){const h=pv(this._lContainer);return null!==h&&h[s]||null}get length(){return this._lContainer.length-Ys}createEmbeddedView(s,h,L){let Q,fe;"number"==typeof L?Q=L:null!=L&&(Q=L.index,fe=L.injector);const Se=Zp(this._lContainer,s.ssrId),Pe=s.createEmbeddedViewImpl(h||{},fe,Se);return this.insertImpl(Pe,Q,Mu(this._hostTNode,Se)),Pe}createComponent(s,h,L,Q,fe){const Se=s&&!function Oi(t){return"function"==typeof t}(s);let Pe;if(Se)Pe=h;else{const Kt=h||{};Pe=Kt.index,L=Kt.injector,Q=Kt.projectableNodes,fe=Kt.environmentInjector||Kt.ngModuleRef}const ze=Se?s:new rf(pn(s)),Qe=L||this.parentInjector;if(!fe&&null==ze.ngModule){const li=(Se?Qe:this.parentInjector).get(Xr,null);li&&(fe=li)}const dt=pn(ze.componentType??{}),Ct=Zp(this._lContainer,dt?.id??null),Ht=ze.create(Qe,Q,Ct?.firstChild??null,fe);return this.insertImpl(Ht.hostView,Pe,Mu(this._hostTNode,Ct)),Ht}insert(s,h){return this.insertImpl(s,h,!0)}insertImpl(s,h,L){const Q=s._lView;if(function Af(t){return Gs(t[En])}(Q)){const Pe=this.indexOf(s);if(-1!==Pe)this.detach(Pe);else{const ze=Q[En],Qe=new uv(ze,ze[Us],ze[En]);Qe.detach(Qe.indexOf(s))}}const fe=this._adjustIndex(h),Se=this._lContainer;return Vp(Se,Q,fe,L),s.attachToViewContainerRef(),Ko(qm(Se),fe,s),s}move(s,h){return this.insert(s,h)}indexOf(s){const h=pv(this._lContainer);return null!==h?h.indexOf(s):-1}remove(s){const h=this._adjustIndex(s,-1),L=Lp(this._lContainer,h);L&&(Do(qm(this._lContainer),h),gm(L[gi],L))}detach(s){const h=this._adjustIndex(s,-1),L=Lp(this._lContainer,h);return L&&null!=Do(qm(this._lContainer),h)?new Up(L):null}_adjustIndex(s,h=0){return s??this.length+h}};function pv(t){return t[8]}function qm(t){return t[8]||(t[8]=[])}function fv(t,s){let h;const L=s[t.index];return Gs(L)?h=L:(h=Eb(L,s,null,t),s[t.index]=h,Bp(s,h)),gv(h,s,t,L),new uv(h,t,s)}let gv=function bv(t,s,h,L){if(t[Fo])return;let Q;Q=8&h.type?Ts(L):function p_(t,s){const h=t[Qi],L=h.createComment(""),Q=so(s,t);return wu(h,Pp(h,Q),L,function ag(t,s){return t.nextSibling(s)}(h,Q),!1),L}(s,h),t[Fo]=Q},mv=()=>!1;class Qm{constructor(s){this.queryList=s,this.matches=null}clone(){return new Qm(this.queryList)}setDirty(){this.queryList.setDirty()}}class Jm{constructor(s=[]){this.queries=s}createEmbeddedView(s){const h=s.queries;if(null!==h){const L=null!==s.contentQueries?s.contentQueries[0]:h.length,Q=[];for(let fe=0;fes.trim())}(s):s}}class vv{constructor(s=[]){this.queries=s}elementStart(s,h){for(let L=0;L0)L.push(Se[Pe/2]);else{const Qe=fe[Pe+1],dt=s[-ze];for(let Ct=Ys;Ct(J(s),s.value);return h[ne]=s,h}(t),L=h[ne];return s?.equal&&(L.equal=s.equal),h.set=Q=>B(L,Q),h.update=Q=>function z(t,s){j()||l(),B(t,s(t.value))}(L,Q),h.asReadonly=Mv.bind(h),h}function Mv(){const t=this[ne];if(void 0===t.readonlyFn){const s=()=>this();s[ne]=t,t.readonlyFn=s}return t.readonlyFn}function Ev(t){return function kv(t){return"function"==typeof t&&void 0!==t[ne]}(t)&&"function"==typeof t.set}function o0(t){let s=function D_(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),h=!0;const L=[t];for(;s;){let Q;if(no(t))Q=s.\u0275cmp||s.\u0275dir;else{if(s.\u0275cmp)throw new ge(903,!1);Q=s.\u0275dir}if(Q){if(h){L.push(Q);const Se=t;Se.inputs=a0(t.inputs),Se.inputTransforms=a0(t.inputTransforms),Se.declaredInputs=a0(t.declaredInputs),Se.outputs=a0(t.outputs);const Pe=Q.hostBindings;Pe&&E_(t,Pe);const ze=Q.viewQuery,Qe=Q.contentQueries;if(ze&&Kw(t,ze),Qe&&Zw(t,Qe),Yw(t,Q),Tt(t.outputs,Q.outputs),no(Q)&&Q.data.animation){const dt=t.data;dt.animation=(dt.animation||[]).concat(Q.data.animation)}}const fe=Q.features;if(fe)for(let Se=0;Se=0;L--){const Q=t[L];Q.hostVars=s+=Q.hostVars,Q.hostAttrs=Ye(Q.hostAttrs,h=Ye(h,Q.hostAttrs))}}(L)}function Yw(t,s){for(const h in s.inputs){if(!s.inputs.hasOwnProperty(h)||t.inputs.hasOwnProperty(h))continue;const L=s.inputs[h];if(void 0!==L&&(t.inputs[h]=L,t.declaredInputs[h]=s.declaredInputs[h],null!==s.inputTransforms)){const Q=Array.isArray(L)?L[0]:L;if(!s.inputTransforms.hasOwnProperty(Q))continue;t.inputTransforms??={},t.inputTransforms[Q]=s.inputTransforms[Q]}}}function a0(t){return t===Sr?{}:t===Dn?[]:t}function Kw(t,s){const h=t.viewQuery;t.viewQuery=h?(L,Q)=>{s(L,Q),h(L,Q)}:s}function Zw(t,s){const h=t.contentQueries;t.contentQueries=h?(L,Q,fe)=>{s(L,Q,fe),h(L,Q,fe)}:s}function E_(t,s){const h=t.hostBindings;t.hostBindings=h?(L,Q)=>{s(L,Q),h(L,Q)}:s}function I_(t){const s=h=>{const L=(Array.isArray(t)?t:t()).map(Q=>"function"==typeof Q?{directive:Dt(Q),inputs:Sr,outputs:Sr}:{directive:Dt(Q.directive),inputs:Fv(Q.inputs),outputs:Fv(Q.outputs)});null===h.hostDirectives?(h.findHostDirectiveDefs=O_,h.hostDirectives=L):h.hostDirectives.unshift(...L)};return s.ngInherit=!0,s}function O_(t,s,h){if(null!==t.hostDirectives)for(const L of t.hostDirectives){const Q=vs(L.directive);Jw(Q.declaredInputs,L.inputs),O_(Q,s,h),h.set(Q,L),s.push(Q)}}function Fv(t){if(void 0===t||0===t.length)return Sr;const s={};for(let h=0;hh()),this.destroyCbs=null}onDestroy(s){this.destroyCbs.push(s)}}class Bv extends R_{constructor(s){super(),this.moduleType=s}create(s){return new l0(this.moduleType,s,[])}}class F_ extends Vd{constructor(s){super(),this.componentFactoryResolver=new s_(this),this.instance=null;const h=new _a([...s.providers,{provide:Vd,useValue:this},{provide:Ia,useValue:this.componentFactoryResolver}],s.parent||xa(),s.debugName,new Set(["environment"]));this.injector=h,s.runEnvironmentInitializers&&h.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(s){this.injector.onDestroy(s)}}function jv(t,s,h=null){return new F_({providers:t,parent:s,debugName:h,runEnvironmentInitializers:!0}).injector}let af=(()=>{class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new R.t(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const h=this.taskId++;return this.pendingTasks.add(h),h}remove(h){this.pendingTasks.delete(h),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function c0(t){return!!Vv(t)&&(Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t)}function Vv(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function Oc(t,s,h){return t[s]=h}function Ag(t,s){return t[s]}function Mr(t,s,h){return!Object.is(t[s],h)&&(t[s]=h,!0)}function Ru(t,s,h,L){const Q=Mr(t,s,h);return Mr(t,s+1,L)||Q}function h0(t,s,h,L,Q){const fe=Ru(t,s,h,L);return Mr(t,s+2,Q)||fe}function sc(t,s,h,L,Q,fe){const Se=Ru(t,s,h,L);return Ru(t,s+2,Q,fe)||Se}function lf(t,s,h,L,Q,fe,Se,Pe){const ze=ni(),Qe=Tn(),dt=t+rn,Ct=Qe.firstCreatePass?function lT(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=s.consts,dt=ku(s,t,4,Se||null,Ka(Qe,Pe));fg(s,h,dt,Ka(Qe,ze)),Sa(s,dt);const Ct=dt.tView=Tm(2,dt,L,Q,fe,s.directiveRegistry,s.pipeRegistry,null,s.schemas,Qe,null);return null!==s.queries&&(s.queries.template(s,dt),Ct.queries=s.queries.embeddedTView(dt)),dt}(dt,Qe,ze,s,h,L,Q,fe,Se):Qe.data[dt];ra(Ct,!1);const jt=j_(Qe,ze,Ct,t);Qa()&&ym(Qe,ze,jt,Ct),uo(jt,ze);const Ht=Eb(jt,ze,jt,Ct);return ze[dt]=Ht,Bp(ze,Ht),function f_(t,s,h){return mv(t,s,h)}(Ht,Ct,ze),fl(Ct)&&Cm(Qe,ze,Ct),null!=Se&&wm(ze,Ct,Pe),lf}let j_=function zv(t,s,h,L){return Nr(!0),s[Qi].createComment("")};function ey(t,s,h,L){const Q=ni();return Mr(Q,Ta(),s)&&(Tn(),Ic(Ss(),Q,t,s,h,L)),ey}function mf(t,s,h,L){return Mr(t,Ta(),h)?s+Ui(h)+L:Pn}function xh(t,s){return t<<17|s<<2}function Il(t){return t>>17&32767}function Gd(t){return 2|t}function _h(t){return(131068&t)>>2}function Rg(t,s){return-131069&t|s<<2}function Ng(t){return 1|t}function ay(t,s,h,L){const Q=t[h+1],fe=null===s;let Se=L?Il(Q):_h(Q),Pe=!1;for(;0!==Se&&(!1===Pe||fe);){const Qe=t[Se+1];ET(t[Se],s)&&(Pe=!0,t[Se+1]=L?Ng(Qe):Gd(Qe)),Se=L?Il(Qe):_h(Qe)}Pe&&(t[h+1]=L?Gd(Q):Ng(Q))}function ET(t,s){return null===t||null==s||(Array.isArray(t)?t[1]:t)===s||!(!Array.isArray(t)||"string"!=typeof s)&&Eo(t,s)>=0}const Hr={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function b1(t){return t.substring(Hr.key,Hr.keyEnd)}function AT(t){return t.substring(Hr.value,Hr.valueEnd)}function v1(t,s){const h=Hr.textEnd;return h===s?-1:(s=Hr.keyEnd=function ly(t,s,h){for(;s32;)s++;return s}(t,Hr.key=s,h),xf(t,s,h))}function y1(t,s){const h=Hr.textEnd;let L=Hr.key=xf(t,s,h);return h===L?-1:(L=Hr.keyEnd=function _f(t,s,h){let L;for(;s=65&&(-33&L)<=90||L>=48&&L<=57);)s++;return s}(t,L,h),L=Hd(t,L,h),L=Hr.value=xf(t,L,h),L=Hr.valueEnd=function w0(t,s,h){let L=-1,Q=-1,fe=-1,Se=s,Pe=Se;for(;Se32&&(Pe=Se),fe=Q,Q=L,L=-33&ze}return Pe}(t,L,h),Hd(t,L,h))}function x1(t){Hr.key=0,Hr.keyEnd=0,Hr.value=0,Hr.valueEnd=0,Hr.textEnd=t.length}function xf(t,s,h){for(;s=0;h=y1(s,h))dy(t,b1(s),AT(s))}function S0(t){Ol(uy,nl,t,!0)}function nl(t,s){for(let h=function C0(t){return x1(t),v1(t,xf(t,0,Hr.textEnd))}(s);h>=0;h=v1(s,h))Js(t,b1(s),!0)}function oc(t,s,h,L){const Q=ni(),fe=Tn(),Se=xl(2);fe.firstUpdatePass&&k0(fe,t,Se,L),s!==Pn&&Mr(Q,Se,s)&&Ra(fe,fe.data[Rr()],Q,Q[Qi],t,Q[Se+1]=function k1(t,s){return null==t||""===t||("string"==typeof s?t+=s:"object"==typeof t&&(t=pt(Dl(t)))),t}(s,h),L,Se)}function Ol(t,s,h,L){const Q=Tn(),fe=xl(2);Q.firstUpdatePass&&k0(Q,null,fe,L);const Se=ni();if(h!==Pn&&Mr(Se,fe,h)){const Pe=Q.data[Rr()];if(D1(Pe,L)&&!cy(Q,fe)){let ze=L?Pe.classesWithoutHost:Pe.stylesWithoutHost;null!==ze&&(h=ht(ze,h||"")),rc(Q,Pe,Se,h,L)}else!function OT(t,s,h,L,Q,fe,Se,Pe){Q===Pn&&(Q=Dn);let ze=0,Qe=0,dt=0=t.expandoStartIndex}function k0(t,s,h,L){const Q=t.data;if(null===Q[h+1]){const fe=Q[Rr()],Se=cy(t,h);D1(fe,L)&&null===s&&!Se&&(s=!1),s=function w1(t,s,h,L){const Q=Bh(t);let fe=L?s.residualClasses:s.residualStyles;if(null===Q)0===(L?s.classBindings:s.styleBindings)&&(h=Wd(h=Bg(null,t,s,h,L),s.attrs,L),fe=null);else{const Se=s.directiveStylingLast;if(-1===Se||t[Se]!==Q)if(h=Bg(Q,t,s,h,L),null===fe){let ze=function T1(t,s,h){const L=h?s.classBindings:s.styleBindings;if(0!==_h(L))return t[Il(L)]}(t,s,L);void 0!==ze&&Array.isArray(ze)&&(ze=Bg(null,t,s,ze[1],L),ze=Wd(ze,s.attrs,L),function hy(t,s,h,L){t[Il(h?s.classBindings:s.styleBindings)]=L}(t,s,L,ze))}else fe=function D0(t,s,h){let L;const Q=s.directiveEnd;for(let fe=1+s.directiveStylingLast;fe0)&&(Qe=!0)):dt=h,Q)if(0!==ze){const jt=Il(t[Pe+1]);t[L+1]=xh(jt,Pe),0!==jt&&(t[jt+1]=Rg(t[jt+1],L)),t[Pe+1]=function sy(t,s){return 131071&t|s<<17}(t[Pe+1],L)}else t[L+1]=xh(Pe,0),0!==Pe&&(t[Pe+1]=Rg(t[Pe+1],L)),Pe=L;else t[L+1]=xh(ze,0),0===Pe?Pe=L:t[ze+1]=Rg(t[ze+1],L),ze=L;Qe&&(t[L+1]=Gd(t[L+1])),ay(t,dt,L,!0),ay(t,dt,L,!1),function oy(t,s,h,L,Q){const fe=Q?t.residualClasses:t.residualStyles;null!=fe&&"string"==typeof s&&Eo(fe,s)>=0&&(h[L+1]=Ng(h[L+1]))}(s,dt,t,L,fe),Se=xh(Pe,ze),fe?s.classBindings=Se:s.styleBindings=Se}(Q,fe,s,h,Se,L)}}function Bg(t,s,h,L,Q){let fe=null;const Se=h.directiveEnd;let Pe=h.directiveStylingLast;for(-1===Pe?Pe=h.directiveStart:Pe++;Pe0;){const ze=t[Q],Qe=Array.isArray(ze),dt=Qe?ze[1]:ze,Ct=null===dt;let jt=h[Q+1];jt===Pn&&(jt=Ct?Dn:void 0);let Ht=Ct?bo(jt,L):dt===L?jt:void 0;if(Qe&&!wf(Ht)&&(Ht=bo(ze,L)),wf(Ht)&&(Pe=Ht,Se))return Pe;const Kt=t[Q+1];Q=Se?Il(Kt):_h(Kt)}if(null!==s){let ze=fe?s.residualClasses:s.residualStyles;null!=ze&&(Pe=bo(ze,L))}return Pe}function wf(t){return void 0!==t}function D1(t,s){return!!(t.flags&(s?8:16))}function fy(t,s,h){Ol(Js,nl,mf(ni(),t,s,h),!0)}class zT{destroy(s){}updateValue(s,h){}swap(s,h){const L=Math.min(s,h),Q=Math.max(s,h),fe=this.detach(Q);if(Q-L>1){const Se=this.detach(L);this.attach(L,fe),this.attach(Q,Se)}else this.attach(L,fe)}move(s,h){this.attach(h,this.detach(s))}}function M0(t,s,h,L,Q){return t===h&&Object.is(s,L)?1:Object.is(Q(t,s),Q(h,L))?-1:0}function gy(t,s,h,L){return!(void 0===s||!s.has(L)||(t.attach(h,s.get(L)),s.delete(L),0))}function A1(t,s,h,L,Q){if(gy(t,s,L,h(L,Q)))t.updateValue(L,Q);else{const fe=t.create(L,Q);t.attach(L,fe)}}function I1(t,s,h,L){const Q=new Set;for(let fe=s;fe<=h;fe++)Q.add(L(fe,t.at(fe)));return Q}class O1{constructor(){this.kvMap=new Map,this._vMap=void 0}has(s){return this.kvMap.has(s)}delete(s){if(!this.has(s))return!1;const h=this.kvMap.get(s);return void 0!==this._vMap&&this._vMap.has(h)?(this.kvMap.set(s,this._vMap.get(h)),this._vMap.delete(h)):this.kvMap.delete(s),!0}get(s){return this.kvMap.get(s)}set(s,h){if(this.kvMap.has(s)){let L=this.kvMap.get(s);void 0===this._vMap&&(this._vMap=new Map);const Q=this._vMap;for(;Q.has(L);)L=Q.get(L);Q.set(L,h)}else this.kvMap.set(s,h)}forEach(s){for(let[h,L]of this.kvMap)if(s(L,h),void 0!==this._vMap){const Q=this._vMap;for(;Q.has(L);)L=Q.get(L),s(L,h)}}}function L1(t,s,h){El("NgControlFlow");const L=ni(),Q=Ta(),fe=my(L,rn+t);if(Mr(L,Q,s)){const Pe=re(null);try{if(Im(fe,0),-1!==s){const ze=by(L[gi],rn+s),Qe=Zp(fe,ze.tView.ssrId);Vp(fe,jp(L,ze,h,{dehydratedView:Qe}),0,Mu(ze,Qe))}}finally{re(Pe)}}else{const Pe=Lb(fe,0);void 0!==Pe&&(Pe[jn]=h)}}class GT{constructor(s,h,L){this.lContainer=s,this.$implicit=h,this.$index=L}get $count(){return this.lContainer.length-Ys}}function P1(t,s){return s}class UT{constructor(s,h,L){this.hasEmptyBlock=s,this.trackByFn=h,this.liveCollection=L}}function R1(t,s,h,L,Q,fe,Se,Pe,ze,Qe,dt,Ct,jt){El("NgControlFlow");const Ht=void 0!==ze,Kt=ni(),li=Pe?Se.bind(Kt[Is][jn]):Se,bi=new UT(Ht,li);Kt[rn+t]=bi,lf(t+1,s,h,L,Q,fe),Ht&&lf(t+2,ze,Qe,dt,Ct,jt)}class WT extends zT{constructor(s,h,L){super(),this.lContainer=s,this.hostLView=h,this.templateTNode=L,this.needsIndexUpdate=!1}get length(){return this.lContainer.length-Ys}at(s){return this.getLView(s)[jn].$implicit}attach(s,h){const L=h[mr];this.needsIndexUpdate||=s!==this.length,Vp(this.lContainer,h,s,Mu(this.templateTNode,L))}detach(s){return this.needsIndexUpdate||=s!==this.length-1,function $T(t,s){return Lp(t,s)}(this.lContainer,s)}create(s,h){const L=Zp(this.lContainer,this.templateTNode.tView.ssrId);return jp(this.hostLView,this.templateTNode,new GT(this.lContainer,h,s),{dehydratedView:L})}destroy(s){gm(s[gi],s)}updateValue(s,h){this.getLView(s)[jn].$implicit=h}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let s=0;s{t.destroy(Pe)})}(Se,t,fe.trackByFn),Se.updateIndexes(),fe.hasEmptyBlock){const Pe=Ta(),ze=0===Se.length;if(Mr(L,Pe,ze)){const Qe=h+2,dt=my(L,Qe);if(ze){const Ct=by(Q,Qe),jt=Zp(dt,Ct.tView.ssrId);Vp(dt,jp(L,Ct,void 0,{dehydratedView:jt}),0,Mu(Ct,jt))}else Im(dt,0)}}}finally{re(s)}}function my(t,s){return t[s]}function by(t,s){return Rh(t,s)}function A0(t,s,h,L){const Q=ni(),fe=Tn(),Se=rn+t,Pe=Q[Qi],ze=fe.firstCreatePass?function N1(t,s,h,L,Q,fe){const Se=s.consts,ze=ku(s,t,2,L,Ka(Se,Q));return fg(s,h,ze,Ka(Se,fe)),null!==ze.attrs&&Km(ze,ze.attrs,!1),null!==ze.mergedAttrs&&Km(ze,ze.mergedAttrs,!0),null!==s.queries&&s.queries.elementStart(s,ze),ze}(Se,fe,Q,s,h,L):fe.data[Se],Qe=F1(fe,Q,ze,Pe,s,t);Q[Se]=Qe;const dt=fl(ze);return ra(ze,!0),Su(Pe,Qe,ze),!function Ig(t){return!(32&~t.flags)}(ze)&&Qa()&&ym(fe,Q,Qe,ze),0===function vl(){return nn.lFrame.elementDepthCount}()&&uo(Qe,Q),function ud(){nn.lFrame.elementDepthCount++}(),dt&&(Cm(fe,Q,ze),Nd(fe,ze,Q)),null!==L&&wm(Q,ze),A0}function I0(){let t=ds();eu()?tu():(t=t.parent,ra(t,!1));const s=t;(function Jd(t){return nn.skipHydrationRootTNode===t})(s)&&function ep(){nn.skipHydrationRootTNode=null}(),function Lf(){nn.lFrame.elementDepthCount--}();const h=Tn();return h.firstCreatePass&&(Sa(h,t),jc(t)&&h.queries.elementEnd(t)),null!=s.classesWithoutHost&&function au(t){return!!(8&t.flags)}(s)&&rc(h,s,ni(),s.classesWithoutHost,!0),null!=s.stylesWithoutHost&&function Uh(t){return!!(16&t.flags)}(s)&&rc(h,s,ni(),s.stylesWithoutHost,!1),I0}function vy(t,s,h,L){return A0(t,s,h,L),I0(),vy}let F1=(t,s,h,L,Q,fe)=>(Nr(!0),fm(L,Q,function Vh(){return nn.lFrame.currentNamespace}()));function O0(t,s,h){const L=ni(),Q=Tn(),fe=t+rn,Se=Q.firstCreatePass?function KT(t,s,h,L,Q){const fe=s.consts,Se=Ka(fe,L),Pe=ku(s,t,8,"ng-container",Se);return null!==Se&&Km(Pe,Se,!0),fg(s,h,Pe,Ka(fe,Q)),null!==s.queries&&s.queries.elementStart(s,Pe),Pe}(fe,Q,L,s,h):Q.data[fe];ra(Se,!0);const Pe=j1(Q,L,Se,t);return L[fe]=Pe,Qa()&&ym(Q,L,Pe,Se),uo(Pe,L),fl(Se)&&(Cm(Q,L,Se),Nd(Q,Se,L)),null!=h&&wm(L,Se),O0}function jg(){let t=ds();const s=Tn();return eu()?tu():(t=t.parent,ra(t,!1)),s.firstCreatePass&&(Sa(s,t),jc(t)&&s.queries.elementEnd(t)),jg}function yy(t,s,h){return O0(t,s,h),jg(),yy}let j1=(t,s,h,L)=>(Nr(!0),ab(s[Qi],""));function _y(){return ni()}function Cy(t,s,h){const L=ni();return Mr(L,Ta(),s)&&Aa(Tn(),Ss(),L,t,s,L[Qi],h,!0),Cy}function wy(t,s,h){const L=ni();if(Mr(L,Ta(),s)){const fe=Tn(),Se=Ss();Aa(fe,Se,L,t,s,Ob(Bh(fe.data),Se,L),h,!0)}return wy}const zu=void 0;var z1=["en",[["a","p"],["AM","PM"],zu],[["AM","PM"],zu,zu],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],zu,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],zu,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",zu,"{1} 'at' {0}",zu],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function V1(t){const h=Math.floor(Math.abs(t)),L=t.toString().replace(/^[^.]*\.?/,"").length;return 1===h&&0===L?1:5}];let Gu={};function L0(t){const s=function H1(t){return t.toLowerCase().replace(/_/g,"-")}(t);let h=G1(s);if(h)return h;const L=s.split("-")[0];if(h=G1(L),h)return h;if("en"===L)return z1;throw new ge(701,!1)}function Ty(t){return L0(t)[od.PluralCase]}function G1(t){return t in Gu||(Gu[t]=Je.ng&&Je.ng.common&&Je.ng.common.locales&&Je.ng.common.locales[t]),Gu[t]}var od=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}(od||{});const Tf="en-US",P0={marker:"element"},Vg={marker:"ICU"};var sl=function(t){return t[t.SHIFT=2]="SHIFT",t[t.APPEND_EAGERLY=1]="APPEND_EAGERLY",t[t.COMMENT=2]="COMMENT",t}(sl||{});let U1=Tf;function W1(t,s,h){const L=s.insertBeforeIndex,Q=Array.isArray(L)?L[0]:L;return null===Q?pb(t,0,h):Ts(h[Q])}function $1(t,s,h,L,Q){const fe=s.insertBeforeIndex;if(Array.isArray(fe)){let Se=L,Pe=null;if(3&s.type||(Pe=Se,Se=Q),null!==Se&&-1===s.componentOffset)for(let ze=1;ze1)for(let h=t.length-2;h>=0;h--){const L=t[h];Dy(L)||tS(L,s)&&null===iS(L)&&nS(L,s.index)}}function Dy(t){return!(64&t.type)}function tS(t,s){return Dy(s)||t.index>s.index}function iS(t){const s=t.insertBeforeIndex;return Array.isArray(s)?s[0]:s}function nS(t,s){const h=t.insertBeforeIndex;Array.isArray(h)?h[0]=s:(fb(W1,$1),t.insertBeforeIndex=s)}function sS(t,s,h){const L=us(t,h,64,null,null);return ky(s,L),L}let Df=(t,s,h,L)=>(Nr(!0),function Ey(t,s,h){const L=t[Qi];switch(h){case Node.COMMENT_NODE:return ab(L,s);case Node.TEXT_NODE:return Ld(L,s);case Node.ELEMENT_NODE:return fm(L,s,null)}}(t,h,L));function sC(){const t=[];let h,L,s=-1;function fe(Pe,ze){s=0;const Qe=function Gg(t,s){const h=s[t.currentCaseLViewIndex];return null===h?h:h<0?~h:h}(Pe,ze);L=null!==Qe?Pe.remove[Qe]:Dn}function Se(){if(s0?h[Pe]:(t.push(s,L),fe(h[gi].data[~Pe],h),Se())}return 0===t.length?null:(L=t.pop(),s=t.pop(),Se())}return function Q(Pe,ze){for(h=ze;t.length;)t.pop();return fe(Pe.value,ze),Se}}const W=/\ufffd(\d+):?\d*\ufffd/gi,ke=/\ufffd(\d+)\ufffd/,Ve=/^\s*(\ufffd\d+:?\d*\ufffd)\s*,\s*(select|plural)\s*,/,Ze="\ufffd",tt=/\ufffd\/?\*(\d+:\d+)\ufffd/gi,bt=/\ufffd(\/?[#*]\d+):?\d*\ufffd/gi,Mt=/\uE500/g;function hi(t,s,h,L,Q,fe,Se){const Pe=Fp(t,L,1,null);let ze=Pe<h.length&&h.push(ze)}return{type:L,mainBinding:Q,cases:s,values:h}}function An(t){if(!t)return[];let s=0;const h=[],L=[],Q=/[{}]/g;let fe;for(Q.lastIndex=0;fe=Q.exec(t);){const Pe=fe.index;if("}"==fe[0]){if(h.pop(),0==h.length){const ze=t.substring(s,Pe);Ve.test(ze)?L.push(xs(ze)):L.push(ze),s=Pe+1}}else{if(0==h.length){const ze=t.substring(s,Pe);L.push(ze),s=Pe+1}h.push("{")}}const Se=t.substring(s);return L.push(Se),L}function Hi(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=[],dt=[],Ct=[];h.cases.push(Se),h.create.push(Qe),h.remove.push(dt),h.update.push(Ct);const Ht=Ed(Ma()).getInertBodyElement(Pe),Kt=sm(Ht)||Ht;return Kt?Xn(t,s,h,L,Q,Qe,dt,Ct,Kt,fe,ze,0):0}function Xn(t,s,h,L,Q,fe,Se,Pe,ze,Qe,dt,Ct){let jt=0,Ht=ze.firstChild;for(;Ht;){const Kt=Fp(s,L,1,null);switch(Ht.nodeType){case Node.ELEMENT_NODE:const li=Ht,bi=li.tagName.toLowerCase();if(Ad.hasOwnProperty(bi)){Si(fe,P0,bi,Qe,Kt),s.data[Kt]=bi;const _s=li.attributes;for(let wo=0;wo<_s.length;wo++){const Pl=_s.item(wo),$g=Pl.name.toLowerCase();Pl.value.match(W)?Zf.hasOwnProperty($g)&&yi(Pe,Pl.value,Kt,Pl.name,0,im[$g]?vu:null):Vi(fe,Kt,Pl)}const qs={kind:1,index:Kt,children:[]};t.push(qs),jt=Xn(qs.children,s,h,L,Q,fe,Se,Pe,Ht,Kt,dt,Ct+1)|jt,Pi(Se,Kt,Ct)}break;case Node.TEXT_NODE:const Ri=Ht.textContent||"",pi=Ri.match(W);Si(fe,null,pi?"":Ri,Qe,Kt),Pi(Se,Kt,Ct),pi&&(jt=yi(Pe,Ri,Kt,null,0,null)|jt),t.push({kind:0,index:Kt});break;case Node.COMMENT_NODE:const yn=ke.exec(Ht.textContent||"");if(yn){const qs=dt[parseInt(yn[1],10)];Si(fe,Vg,"",Qe,Kt),dn(t,s,L,Q,Qe,qs,Kt),Zi(Se,Kt,Ct)}}Ht=Ht.nextSibling}return jt}function Pi(t,s,h){0===h&&t.push(s)}function Zi(t,s,h){0===h&&(t.push(~s),t.push(s))}function Si(t,s,h,L,Q){null!==s&&t.push(s),t.push(h,Q,function Z1(t,s,h){return t|s<<17|h<<1}(0,L,Q))}function Vi(t,s,h){t.push(s<<1|1,h.name,h.value)}function Ur(t,s,h=-1){const L=Tn(),Q=ni(),fe=rn+t,Se=Ka(L.consts,s),Pe=sa();L.firstCreatePass&&function Zt(t,s,h,L,Q,fe){const Se=sa(),Pe=[],ze=[],Qe=[[]],dt=[[]];Q=function hn(t,s){if(function ji(t){return-1===t}(s))return Mi(t);{const h=t.indexOf(`:${s}${Ze}`)+2+s.toString().length,L=t.search(new RegExp(`${Ze}\\/\\*\\d+:${s}${Ze}`));return Mi(t.substring(h,L))}}(Q,fe);const Ct=function Lt(t){return t.replace(Mt," ")}(Q).split(bt);for(let jt=0;jt>>sl.SHIFT;let Ct=t[dt],jt=!1;null===Ct&&(Ct=t[dt]=Df(t,dt,s[fe],(Se&sl.COMMENT)===sl.COMMENT?Node.COMMENT_NODE:Node.TEXT_NODE),jt=Qa()),Qe&&null!==h&&jt&&wu(Q,h,Ct,L,!1)}})(Q,ze.create,dt,Pe&&8&Pe.type?Q[Pe.index]:null),sp(!0)}function un(t,s,h){Ur(t,s,h),function Ii(){sp(!1)}()}function _o(t,s,h,L){const Q=ni(),fe=Tn(),Se=ds();return or(fe,Q,Q[Qi],Se,t,s,L),_o}function or(t,s,h,L,Q,fe,Se){const Pe=fl(L),Qe=t.firstCreatePass&&Em(t),dt=s[jn],Ct=Ib(s);let jt=!0;if(3&L.type||Se){const li=so(L,s),bi=Se?Se(li):li,Ri=Ct.length,pi=Se?_s=>Se(Ts(_s[L.index])):L.index;let yn=null;if(!Se&&Pe&&(yn=function vn(t,s,h,L){const Q=t.cleanup;if(null!=Q)for(let fe=0;feze?Pe[ze]:null}"string"==typeof Se&&(fe+=2)}return null}(t,s,Q,L.index)),null!==yn)(yn.__ngLastListenerFn__||yn).__ngNextListenerFn__=fe,yn.__ngLastListenerFn__=fe,jt=!1;else{fe=Ch(L,s,dt,fe,!1);const _s=h.listen(bi,Q,fe);Ct.push(fe,_s),Qe&&Qe.push(Q,pi,Ri,Ri+1)}}else fe=Ch(L,s,dt,fe,!1);const Ht=L.outputs;let Kt;if(jt&&null!==Ht&&(Kt=Ht[Q])){const li=Kt.length;if(li)for(let bi=0;bi-1?jo(t.index,s):s);let ze=Hu(s,h,L,Se),Qe=fe.__ngNextListenerFn__;for(;Qe;)ze=Hu(s,h,Qe,Se)&&ze,Qe=Qe.__ngNextListenerFn__;return Q&&!1===ze&&Se.preventDefault(),ze}}function oS(t=1){return function op(t){return(nn.lFrame.contextLView=function Qd(t,s){for(;t>0;)s=s[ws],t--;return s}(t,nn.lFrame.contextLView))[jn]}(t)}function nM(t,s){let h=null;const L=function ac(t){const s=t.attrs;if(null!=s){const h=s.indexOf(5);if(!(1&h))return s[h+1]}return null}(t);for(let Q=0;Q(Nr(!0),Ld(s[Qi],L));function oC(t){return Ry("",t,""),oC}function Ry(t,s,h){const L=ni(),Q=mf(L,t,s,h);return Q!==Pn&&mh(L,Rr(),Q),Ry}function aC(t,s,h,L,Q){const fe=ni(),Se=function bf(t,s,h,L,Q,fe){const Pe=Ru(t,yl(),h,Q);return xl(2),Pe?s+Ui(h)+L+Ui(Q)+fe:Pn}(fe,t,s,h,L,Q);return Se!==Pn&&mh(fe,Rr(),Se),aC}function lC(t,s,h,L,Q,fe,Se){const Pe=ni(),ze=function vf(t,s,h,L,Q,fe,Se,Pe){const Qe=h0(t,yl(),h,Q,Se);return xl(3),Qe?s+Ui(h)+L+Ui(Q)+fe+Ui(Se)+Pe:Pn}(Pe,t,s,h,L,Q,fe,Se);return ze!==Pn&&mh(Pe,Rr(),ze),lC}function cC(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=ni(),dt=function Bu(t,s,h,L,Q,fe,Se,Pe,ze,Qe){const Ct=sc(t,yl(),h,Q,Se,ze);return xl(4),Ct?s+Ui(h)+L+Ui(Q)+fe+Ui(Se)+Pe+Ui(ze)+Qe:Pn}(Qe,t,s,h,L,Q,fe,Se,Pe,ze);return dt!==Pn&&mh(Qe,Rr(),dt),cC}function hC(t,s,h){Ev(s)&&(s=s());const L=ni();return Mr(L,Ta(),s)&&Aa(Tn(),Ss(),L,t,s,L[Qi],h,!1),hC}function BS(t,s){const h=Ev(t);return h&&t.set(s),h}function dC(t,s){const h=ni(),L=Tn(),Q=ds();return or(L,h,h[Qi],Q,t,s),dC}function uC(t,s,h,L,Q){if(t=Dt(t),Array.isArray(t))for(let fe=0;fe>20;if(Po(t)||!t.multi){const Ht=new Qc(Qe,Q,Ac),Kt=fC(ze,s,Q?dt:dt+jt,Ct);-1===Kt?(nh(ih(Pe,Se),fe,ze),pC(fe,t,s.length),s.push(ze),Pe.directiveStart++,Pe.directiveEnd++,Q&&(Pe.providerIndexes+=1048576),h.push(Ht),Se.push(Ht)):(h[Kt]=Ht,Se[Kt]=Ht)}else{const Ht=fC(ze,s,dt+jt,Ct),Kt=fC(ze,s,dt,dt+jt),bi=Kt>=0&&h[Kt];if(Q&&!bi||!Q&&!(Ht>=0&&h[Ht])){nh(ih(Pe,Se),fe,ze);const Ri=function CM(t,s,h,L,Q){const fe=new Qc(t,h,Ac);return fe.multi=[],fe.index=s,fe.componentProviders=0,jS(fe,Q,L&&!h),fe}(Q?_M:xM,h.length,Q,L,Qe);!Q&&bi&&(h[Kt].providerFactory=Ri),pC(fe,t,s.length,0),s.push(ze),Pe.directiveStart++,Pe.directiveEnd++,Q&&(Pe.providerIndexes+=1048576),h.push(Ri),Se.push(Ri)}else pC(fe,t,Ht>-1?Ht:Kt,jS(h[Q?Kt:Ht],Qe,!Q&&L));!Q&&L&&bi&&h[Kt].componentProviders++}}}function pC(t,s,h,L){const Q=Po(s),fe=function ea(t){return!!t.useClass}(s);if(Q||fe){const ze=(fe?Dt(s.useClass):s).prototype.ngOnDestroy;if(ze){const Qe=t.destroyHooks||(t.destroyHooks=[]);if(!Q&&s.multi){const dt=Qe.indexOf(h);-1===dt?Qe.push(h,[L,ze]):Qe[dt+1].push(L,ze)}else Qe.push(h,ze)}}}function jS(t,s,h){return h&&t.componentProviders++,t.multi.push(s)-1}function fC(t,s,h,L){for(let Q=h;Q{h.providersResolver=(L,Q)=>function yM(t,s,h){const L=Tn();if(L.firstCreatePass){const Q=no(t);uC(h,L.data,L.blueprint,Q,!0),uC(s,L.data,L.blueprint,Q,!1)}}(L,Q?Q(t):t,s)}}let wM=(()=>{class t{constructor(h){this._injector=h,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(h){if(!h.standalone)return null;if(!this.cachedInjectors.has(h)){const L=cl(0,h.type),Q=L.length>0?jv([L],this._injector,`Standalone[${h.type.name}]`):null;this.cachedInjectors.set(h,Q)}return this.cachedInjectors.get(h)}ngOnDestroy(){try{for(const h of this.cachedInjectors.values())null!==h&&h.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=Wi({token:t,providedIn:"environment",factory:()=>new t(Es(Xr))})}return t})();function zS(t){El("NgStandalone"),t.getStandaloneInjector=s=>s.get(wM).getOrCreateStandaloneInjector(t)}function ZS(t,s,h){const L=ro()+t,Q=ni();return Q[L]===Pn?Oc(Q,L,h?s.call(h):s()):Ag(Q,L)}function qS(t,s,h,L){return rk(ni(),ro(),t,s,h,L)}function QS(t,s,h,L,Q){return ok(ni(),ro(),t,s,h,L,Q)}function JS(t,s,h,L,Q,fe){return function ak(t,s,h,L,Q,fe,Se,Pe){const ze=s+h;return h0(t,ze,Q,fe,Se)?Oc(t,ze+3,Pe?L.call(Pe,Q,fe,Se):L(Q,fe,Se)):R0(t,ze+3)}(ni(),ro(),t,s,h,L,Q,fe)}function ek(t,s,h,L,Q,fe,Se){return function lk(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=s+h;return sc(t,Qe,Q,fe,Se,Pe)?Oc(t,Qe+4,ze?L.call(ze,Q,fe,Se,Pe):L(Q,fe,Se,Pe)):R0(t,Qe+4)}(ni(),ro(),t,s,h,L,Q,fe,Se)}function tk(t,s,h,L,Q,fe,Se,Pe){const ze=ro()+t,Qe=ni(),dt=sc(Qe,ze,h,L,Q,fe);return Mr(Qe,ze+4,Se)||dt?Oc(Qe,ze+5,Pe?s.call(Pe,h,L,Q,fe,Se):s(h,L,Q,fe,Se)):Ag(Qe,ze+5)}function ik(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=ro()+t,dt=ni(),Ct=sc(dt,Qe,h,L,Q,fe);return Ru(dt,Qe+4,Se,Pe)||Ct?Oc(dt,Qe+6,ze?s.call(ze,h,L,Q,fe,Se,Pe):s(h,L,Q,fe,Se,Pe)):Ag(dt,Qe+6)}function nk(t,s,h,L,Q,fe,Se,Pe,ze,Qe){const dt=ro()+t,Ct=ni();let jt=sc(Ct,dt,h,L,Q,fe);return h0(Ct,dt+4,Se,Pe,ze)||jt?Oc(Ct,dt+7,Qe?s.call(Qe,h,L,Q,fe,Se,Pe,ze):s(h,L,Q,fe,Se,Pe,ze)):Ag(Ct,dt+7)}function sk(t,s,h,L){return function ck(t,s,h,L,Q,fe){let Se=s+h,Pe=!1;for(let ze=0;ze=0;h--){const L=s[h];if(t===L.name)return L}}(s,h.pipeRegistry),h.data[Q]=L,L.onDestroy&&(h.destroyHooks??=[]).push(Q,L.onDestroy)):L=h.data[Q];const fe=L.factory||(L.factory=Ir(L.type)),Pe=$s(Ac);try{const ze=kc(!1),Qe=fe();return kc(ze),function aM(t,s,h,L){h>=t.data.length&&(t.data[h]=null,t.blueprint[h]=null),s[h]=L}(h,ni(),Q,Qe),Qe}finally{$s(Pe)}}function dk(t,s,h){const L=t+rn,Q=ni(),fe=Uc(Q,L);return N0(Q,L)?rk(Q,ro(),s,fe.transform,h,fe):fe.transform(h)}function uk(t,s,h,L){const Q=t+rn,fe=ni(),Se=Uc(fe,Q);return N0(fe,Q)?ok(fe,ro(),s,Se.transform,h,L,Se):Se.transform(h,L)}function N0(t,s){return t[gi].data[s].pure}function pk(t,s){return nd(t,s)}class Ek{constructor(s){this.full=s;const h=s.split(".");this.major=h[0],this.minor=h[1],this.patch=h.slice(2).join(".")}}let Ak=(()=>{class t{log(h){console.log(h)}warn(h){console.warn(h)}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();const Rk=new $e(""),Nk=new $e("");let CC,AE=(()=>{class t{constructor(h,L,Q){this._ngZone=h,this.registry=L,this._pendingCount=0,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,CC||(function IE(t){CC=t}(Q),Q.addToWindow(L)),this._watchAngularEvents(),h.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{xr.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let h=this._callbacks.pop();clearTimeout(h.timeoutId),h.doneCb()}});else{let h=this.getPendingTasks();this._callbacks=this._callbacks.filter(L=>!L.updateCb||!L.updateCb(h)||(clearTimeout(L.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(h=>({source:h.source,creationLocation:h.creationLocation,data:h.data})):[]}addCallback(h,L,Q){let fe=-1;L&&L>0&&(fe=setTimeout(()=>{this._callbacks=this._callbacks.filter(Se=>Se.timeoutId!==fe),h()},L)),this._callbacks.push({doneCb:h,timeoutId:fe,updateCb:Q})}whenStable(h,L,Q){if(Q&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(h,L,Q),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(h){this.registry.registerApplication(h,this)}unregisterApplication(h){this.registry.unregisterApplication(h)}findProviders(h,L,Q){return[]}static#e=this.\u0275fac=function(L){return new(L||t)(Es(xr),Es(Fk),Es(Nk))};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac})}return t})(),Fk=(()=>{class t{constructor(){this._applications=new Map}registerApplication(h,L){this._applications.set(h,L)}unregisterApplication(h){this._applications.delete(h)}unregisterAllApplications(){this._applications.clear()}getTestability(h){return this._applications.get(h)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(h,L=!0){return CC?.findTestabilityInTree(this,h,L)??null}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();function wC(t){return!!t&&"function"==typeof t.then}function Bk(t){return!!t&&"function"==typeof t.subscribe}const jk=new $e("");let TC=(()=>{class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((h,L)=>{this.resolve=h,this.reject=L}),this.appInits=$i(jk,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const h=[];for(const Q of this.appInits){const fe=Q();if(wC(fe))h.push(fe);else if(Bk(fe)){const Se=new Promise((Pe,ze)=>{fe.subscribe({complete:Pe,error:ze})});h.push(Se)}}const L=()=>{this.done=!0,this.resolve()};Promise.all(h).then(()=>{L()}).catch(Q=>{this.reject(Q)}),0===h.length&&L(),this.initialized=!0}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const SC=new $e("");function Gk(t,s){return Array.isArray(s)?s.reduce(Gk,t):{...t,...s}}let Uu=(()=>{class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=$i(hh),this.afterRenderEffectManager=$i(tf),this.externalTestViews=new Set,this.beforeRender=new x.B,this.afterTick=new x.B,this.componentTypes=[],this.components=[],this.isStable=$i(af).hasPendingTasks.pipe((0,Z.T)(h=>!h)),this._injector=$i(Xr)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(h,L){const Q=h instanceof Hm;if(!this._injector.get(TC).done)throw!Q&&kr(h),new ge(405,!1);let Se;Se=Q?h:this._injector.get(Ia).resolveComponentFactory(h),this.componentTypes.push(Se.componentType);const Pe=function OE(t){return t.isBoundToModule}(Se)?void 0:this._injector.get(Vd),Qe=Se.create(yr.NULL,[],L||Se.selector,Pe),dt=Qe.location.nativeElement,Ct=Qe.injector.get(Rk,null);return Ct?.registerApplication(dt),Qe.onDestroy(()=>{this.detachView(Qe.hostView),jy(this.components,Qe),Ct?.unregisterApplication(dt)}),this._loadComponent(Qe),Qe}tick(){this._tick(!0)}_tick(h){if(this._runningTick)throw new ge(101,!1);const L=re(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(h)}catch(Q){this.internalErrorHandler(Q)}finally{this.afterTick.next(),this._runningTick=!1,re(L)}}detectChangesInAttachedViews(h){let L=0;const Q=this.afterRenderEffectManager;for(;;){if(L===Bx)throw new ge(103,!1);if(h){const fe=0===L;this.beforeRender.next(fe);for(let{_lView:Se,notifyErrorHandler:Pe}of this._views)PE(Se,fe,Pe)}if(L++,Q.executeInternalCallbacks(),![...this.externalTestViews.keys(),...this._views].some(({_lView:fe})=>kC(fe))&&(Q.execute(),![...this.externalTestViews.keys(),...this._views].some(({_lView:fe})=>kC(fe))))break}}attachView(h){const L=h;this._views.push(L),L.attachToAppRef(this)}detachView(h){const L=h;jy(this._views,L),L.detachFromAppRef()}_loadComponent(h){this.attachView(h.hostView),this.tick(),this.components.push(h);const L=this._injector.get(SC,[]);[...this._bootstrapListeners,...L].forEach(Q=>Q(h))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(h=>h()),this._views.slice().forEach(h=>h.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(h){return this._destroyListeners.push(h),()=>jy(this._destroyListeners,h)}destroy(){if(this._destroyed)throw new ge(406,!1);const h=this._injector;h.destroy&&!h.destroyed&&h.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function jy(t,s){const h=t.indexOf(s);h>-1&&t.splice(h,1)}function PE(t,s,h){!s&&!kC(t)||function RE(t,s,h){let L;h?(L=0,t[Bi]|=1024):L=64&t[Bi]?0:1,Gp(t,s,L)}(t,h,s)}function kC(t){return Nh(t)}class NE{constructor(s,h){this.ngModuleFactory=s,this.componentFactories=h}}let FE=(()=>{class t{compileModuleSync(h){return new Bv(h)}compileModuleAsync(h){return Promise.resolve(this.compileModuleSync(h))}compileModuleAndAllComponentsSync(h){const L=this.compileModuleSync(h),fe=Uo(er(h).declarations).reduce((Se,Pe)=>{const ze=pn(Pe);return ze&&Se.push(new rf(ze)),Se},[]);return new NE(L,fe)}compileModuleAndAllComponentsAsync(h){return Promise.resolve(this.compileModuleAndAllComponentsSync(h))}clearCache(){}clearCacheFor(h){}getModuleId(h){}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),VE=(()=>{class t{constructor(){this.zone=$i(xr),this.applicationRef=$i(Uu)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function zE(){const t=$i(xr),s=$i(Sl);return h=>t.runOutsideAngular(()=>s.handleError(h))}let HE=(()=>{class t{constructor(){this.subscription=new N.yU,this.initialized=!1,this.zone=$i(xr),this.pendingTasks=$i(af)}initialize(){if(this.initialized)return;this.initialized=!0;let h=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(h=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{xr.assertNotInAngularZone(),queueMicrotask(()=>{null!==h&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(h),h=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{xr.assertInAngularZone(),h??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const zy=new $e("",{providedIn:"root",factory:()=>$i(zy,wn.Optional|wn.SkipSelf)||function UE(){return typeof $localize<"u"&&$localize.locale||Tf}()}),WE=new $e("",{providedIn:"root",factory:()=>"USD"}),DC=new $e("");let $k=(()=>{class t{constructor(h){this._injector=h,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(h,L){const Q=function t_(t="zone.js",s){return"noop"===t?new ov:"zone.js"===t?new xr(s):t}(L?.ngZone,function Wk(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}({eventCoalescing:L?.ngZoneEventCoalescing,runCoalescing:L?.ngZoneRunCoalescing}));return Q.run(()=>{const fe=function tT(t,s,h){return new l0(t,s,h)}(h.moduleType,this.injector,function Uk(t){return[{provide:xr,useFactory:t},{provide:Ao,multi:!0,useFactory:()=>{const s=$i(VE,{optional:!0});return()=>s.initialize()}},{provide:Ao,multi:!0,useFactory:()=>{const s=$i(HE);return()=>{s.initialize()}}},{provide:hh,useFactory:zE}]}(()=>Q)),Se=fe.injector.get(Sl,null);return Q.runOutsideAngular(()=>{const Pe=Q.onError.subscribe({next:ze=>{Se.handleError(ze)}});fe.onDestroy(()=>{jy(this._modules,fe),Pe.unsubscribe()})}),function zk(t,s,h){try{const L=h();return wC(L)?L.catch(Q=>{throw s.runOutsideAngular(()=>t.handleError(Q)),Q}):L}catch(L){throw s.runOutsideAngular(()=>t.handleError(L)),L}}(Se,Q,()=>{const Pe=fe.injector.get(TC);return Pe.runInitializers(),Pe.donePromise.then(()=>(function Sy(t){"string"==typeof t&&(U1=t.toLowerCase().replace(/_/g,"-"))}(fe.injector.get(zy,Tf)||Tf),this._moduleDoBootstrap(fe),fe))})})}bootstrapModule(h,L=[]){const Q=Gk({},L);return function jE(t,s,h){const L=new Bv(h);return Promise.resolve(L)}(0,0,h).then(fe=>this.bootstrapModuleFactory(fe,Q))}_moduleDoBootstrap(h){const L=h.injector.get(Uu);if(h._bootstrapComponents.length>0)h._bootstrapComponents.forEach(Q=>L.bootstrap(Q));else{if(!h.instance.ngDoBootstrap)throw new ge(-403,!1);h.instance.ngDoBootstrap(L)}this._modules.push(h)}onDestroy(h){this._destroyListeners.push(h)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new ge(404,!1);this._modules.slice().forEach(L=>L.destroy()),this._destroyListeners.forEach(L=>L());const h=this._injector.get(DC,null);h&&(h.forEach(L=>L()),h.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(L){return new(L||t)(Es(yr))};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})(),Wu=null;const Xk=new $e("");function Yk(t,s,h=[]){const L=`Platform: ${s}`,Q=new $e(L);return(fe=[])=>{let Se=MC();if(!Se||Se.injector.get(Xk,!1)){const Pe=[...h,...fe,{provide:Q,useValue:!0}];t?t(Pe):function XE(t){if(Wu&&!Wu.get(Xk,!1))throw new ge(400,!1);(function Vk(){!function d(t){r=t}(()=>{throw new ge(600,!1)})})(),Wu=t;const s=t.get($k);(function Zk(t){t.get(mu,null)?.forEach(h=>h())})(t)}(function Kk(t=[],s){return yr.create({name:s,providers:[{provide:Hs,useValue:"platform"},{provide:DC,useValue:new Set([()=>Wu=null])},...t]})}(Pe,L))}return function YE(t){const s=MC();if(!s)throw new ge(401,!1);return s}()}}function MC(){return Wu?.get($k)??null}function ZE(){}let Qk=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=qE}return t})();function qE(t){return function QE(t,s,h){if(Bo(t)&&!h){const L=jo(t.index,s);return new Up(L,L)}return 47&t.type?new Up(s[Is],s):null}(ds(),ni(),!(16&~t))}class iD{constructor(){}supports(s){return c0(s)}create(s){return new nA(s)}}const iA=(t,s)=>s;class nA{constructor(s){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=s||iA}forEachItem(s){let h;for(h=this._itHead;null!==h;h=h._next)s(h)}forEachOperation(s){let h=this._itHead,L=this._removalsHead,Q=0,fe=null;for(;h||L;){const Se=!L||h&&h.currentIndex{Se=this._trackByFn(Q,Pe),null!==h&&Object.is(h.trackById,Se)?(L&&(h=this._verifyReinsertion(h,Pe,Se,Q)),Object.is(h.item,Pe)||this._addIdentityChange(h,Pe)):(h=this._mismatch(h,Pe,Se,Q),L=!0),h=h._next,Q++}),this.length=Q;return this._truncate(h),this.collection=s,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let s;for(s=this._previousItHead=this._itHead;null!==s;s=s._next)s._nextPrevious=s._next;for(s=this._additionsHead;null!==s;s=s._nextAdded)s.previousIndex=s.currentIndex;for(this._additionsHead=this._additionsTail=null,s=this._movesHead;null!==s;s=s._nextMoved)s.previousIndex=s.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(s,h,L,Q){let fe;return null===s?fe=this._itTail:(fe=s._prev,this._remove(s)),null!==(s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(L,null))?(Object.is(s.item,h)||this._addIdentityChange(s,h),this._reinsertAfter(s,fe,Q)):null!==(s=null===this._linkedRecords?null:this._linkedRecords.get(L,Q))?(Object.is(s.item,h)||this._addIdentityChange(s,h),this._moveAfter(s,fe,Q)):s=this._addAfter(new sA(h,L),fe,Q),s}_verifyReinsertion(s,h,L,Q){let fe=null===this._unlinkedRecords?null:this._unlinkedRecords.get(L,null);return null!==fe?s=this._reinsertAfter(fe,s._prev,Q):s.currentIndex!=Q&&(s.currentIndex=Q,this._addToMoves(s,Q)),s}_truncate(s){for(;null!==s;){const h=s._next;this._addToRemovals(this._unlink(s)),s=h}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(s,h,L){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(s);const Q=s._prevRemoved,fe=s._nextRemoved;return null===Q?this._removalsHead=fe:Q._nextRemoved=fe,null===fe?this._removalsTail=Q:fe._prevRemoved=Q,this._insertAfter(s,h,L),this._addToMoves(s,L),s}_moveAfter(s,h,L){return this._unlink(s),this._insertAfter(s,h,L),this._addToMoves(s,L),s}_addAfter(s,h,L){return this._insertAfter(s,h,L),this._additionsTail=null===this._additionsTail?this._additionsHead=s:this._additionsTail._nextAdded=s,s}_insertAfter(s,h,L){const Q=null===h?this._itHead:h._next;return s._next=Q,s._prev=h,null===Q?this._itTail=s:Q._prev=s,null===h?this._itHead=s:h._next=s,null===this._linkedRecords&&(this._linkedRecords=new nD),this._linkedRecords.put(s),s.currentIndex=L,s}_remove(s){return this._addToRemovals(this._unlink(s))}_unlink(s){null!==this._linkedRecords&&this._linkedRecords.remove(s);const h=s._prev,L=s._next;return null===h?this._itHead=L:h._next=L,null===L?this._itTail=h:L._prev=h,s}_addToMoves(s,h){return s.previousIndex===h||(this._movesTail=null===this._movesTail?this._movesHead=s:this._movesTail._nextMoved=s),s}_addToRemovals(s){return null===this._unlinkedRecords&&(this._unlinkedRecords=new nD),this._unlinkedRecords.put(s),s.currentIndex=null,s._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=s,s._prevRemoved=null):(s._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=s),s}_addIdentityChange(s,h){return s.item=h,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=s:this._identityChangesTail._nextIdentityChange=s,s}}class sA{constructor(s,h){this.item=s,this.trackById=h,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class rA{constructor(){this._head=null,this._tail=null}add(s){null===this._head?(this._head=this._tail=s,s._nextDup=null,s._prevDup=null):(this._tail._nextDup=s,s._prevDup=this._tail,s._nextDup=null,this._tail=s)}get(s,h){let L;for(L=this._head;null!==L;L=L._nextDup)if((null===h||h<=L.currentIndex)&&Object.is(L.trackById,s))return L;return null}remove(s){const h=s._prevDup,L=s._nextDup;return null===h?this._head=L:h._nextDup=L,null===L?this._tail=h:L._prevDup=h,null===this._head}}class nD{constructor(){this.map=new Map}put(s){const h=s.trackById;let L=this.map.get(h);L||(L=new rA,this.map.set(h,L)),L.add(s)}get(s,h){const Q=this.map.get(s);return Q?Q.get(s,h):null}remove(s){const h=s.trackById;return this.map.get(h).remove(s)&&this.map.delete(h),s}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function sD(t,s,h){const L=t.previousIndex;if(null===L)return L;let Q=0;return h&&L{if(h&&h.key===Q)this._maybeAddToChanges(h,L),this._appendAfter=h,h=h._next;else{const fe=this._getOrCreateRecordForKey(Q,L);h=this._insertBeforeOrAppend(h,fe)}}),h){h._prev&&(h._prev._next=null),this._removalsHead=h;for(let L=h;null!==L;L=L._nextRemoved)L===this._mapHead&&(this._mapHead=null),this._records.delete(L.key),L._nextRemoved=L._next,L.previousValue=L.currentValue,L.currentValue=null,L._prev=null,L._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(s,h){if(s){const L=s._prev;return h._next=s,h._prev=L,s._prev=h,L&&(L._next=h),s===this._mapHead&&(this._mapHead=h),this._appendAfter=s,s}return this._appendAfter?(this._appendAfter._next=h,h._prev=this._appendAfter):this._mapHead=h,this._appendAfter=h,null}_getOrCreateRecordForKey(s,h){if(this._records.has(s)){const Q=this._records.get(s);this._maybeAddToChanges(Q,h);const fe=Q._prev,Se=Q._next;return fe&&(fe._next=Se),Se&&(Se._prev=fe),Q._next=null,Q._prev=null,Q}const L=new aA(s);return this._records.set(s,L),L.currentValue=h,this._addToAdditions(L),L}_reset(){if(this.isDirty){let s;for(this._previousMapHead=this._mapHead,s=this._previousMapHead;null!==s;s=s._next)s._nextPrevious=s._next;for(s=this._changesHead;null!==s;s=s._nextChanged)s.previousValue=s.currentValue;for(s=this._additionsHead;null!=s;s=s._nextAdded)s.previousValue=s.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(s,h){Object.is(h,s.currentValue)||(s.previousValue=s.currentValue,s.currentValue=h,this._addToChanges(s))}_addToAdditions(s){null===this._additionsHead?this._additionsHead=this._additionsTail=s:(this._additionsTail._nextAdded=s,this._additionsTail=s)}_addToChanges(s){null===this._changesHead?this._changesHead=this._changesTail=s:(this._changesTail._nextChanged=s,this._changesTail=s)}_forEach(s,h){s instanceof Map?s.forEach(h):Object.keys(s).forEach(L=>h(s[L],L))}}class aA{constructor(s){this.key=s,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function oD(){return new LC([new iD])}let LC=(()=>{class t{static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:oD});constructor(h){this.factories=h}static create(h,L){if(null!=L){const Q=L.factories.slice();h=h.concat(Q)}return new t(h)}static extend(h){return{provide:t,useFactory:L=>t.create(h,L||oD()),deps:[[t,new eo,new Qs]]}}find(h){const L=this.factories.find(Q=>Q.supports(h));if(null!=L)return L;throw new ge(901,!1)}}return t})();function aD(){return new PC([new rD])}let PC=(()=>{class t{static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:aD});constructor(h){this.factories=h}static create(h,L){if(L){const Q=L.factories.slice();h=h.concat(Q)}return new t(h)}static extend(h){return{provide:t,useFactory:L=>t.create(h,L||aD()),deps:[[t,new eo,new Qs]]}}find(h){const L=this.factories.find(Q=>Q.supports(h));if(L)return L;throw new ge(901,!1)}}return t})();const hA=Yk(null,"core",[]);let dA=(()=>{class t{constructor(h){}static#e=this.\u0275fac=function(L){return new(L||t)(Es(Uu))};static#t=this.\u0275mod=Oo({type:t});static#i=this.\u0275inj=On({})}return t})();function VA(t){return"boolean"==typeof t?t:null!=t&&"false"!==t}function zA(t,s=NaN){return isNaN(parseFloat(t))||isNaN(Number(t))?s:Number(t)}function HA(t,s){El("NgSignals");const h=function f(t){const s=Object.create(o);s.computation=t;const h=()=>{if(X(s),J(s),s.value===v)throw s.error;return s.value};return h[ne]=s,h}(t);return s?.equal&&(h[ne].equal=s.equal),h}function UA(t){const s=re(null);try{return t()}finally{re(s)}}const WA=new $e("",{providedIn:"root",factory:()=>$i($A)});let $A=(()=>{class t{static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:()=>new XA})}return t})();class XA{constructor(){this.queuedEffectCount=0,this.queues=new Map,this.pendingTasks=$i(af),this.taskId=null}scheduleEffect(s){if(this.enqueue(s),null===this.taskId){const h=this.taskId=this.pendingTasks.add();queueMicrotask(()=>{this.flush(),this.pendingTasks.remove(h),this.taskId=null})}}enqueue(s){const h=s.creationZone;this.queues.has(h)||this.queues.set(h,new Set);const L=this.queues.get(h);L.has(s)||(this.queuedEffectCount++,L.add(s))}flush(){for(;this.queuedEffectCount>0;)for(const[s,h]of this.queues)null===s?this.flushQueue(h):s.run(()=>this.flushQueue(h))}flushQueue(s){for(const h of s)s.delete(h),this.queuedEffectCount--,h.run()}}class YA{constructor(s,h,L,Q,fe,Se){this.scheduler=s,this.effectFn=h,this.creationZone=L,this.injector=fe,this.watcher=function se(t,s,h){const L=Object.create($);h&&(L.consumerAllowSignalWrites=!0),L.fn=t,L.schedule=s;const Q=ze=>{L.cleanupFn=ze};return L.ref={notify:()=>F(L),run:()=>{if(null===L.fn)return;if(function le(){return Le}())throw new Error("Schedulers cannot synchronously execute watches while scheduling.");if(L.dirty=!1,L.hasRun&&!A(L))return;L.hasRun=!0;const ze=P(L);try{L.cleanupFn(),L.cleanupFn=S,L.fn(Q)}finally{D(L,ze)}},cleanup:()=>L.cleanupFn(),destroy:()=>function Se(ze){(function fe(ze){return null===ze.fn&&null===ze.schedule})(ze)||(I(ze),ze.cleanupFn(),ze.fn=null,ze.schedule=null,ze.cleanupFn=S)}(L),[ne]:L},L.ref}(Pe=>this.runEffect(Pe),()=>this.schedule(),Se),this.unregisterOnDestroy=Q?.onDestroy(()=>this.destroy())}runEffect(s){try{this.effectFn(s)}catch(h){this.injector.get(Sl,null,{optional:!0})?.handleError(h)}}run(){this.watcher.run()}schedule(){this.scheduler.scheduleEffect(this)}destroy(){this.watcher.destroy(),this.unregisterOnDestroy?.()}}function ED(t,s){El("NgSignals"),!s?.injector&&Ge();const h=s?.injector??$i(yr),L=!0!==s?.manualCleanup?h.get(ec):null,Q=new YA(h.get(WA),t,typeof Zone>"u"?null:Zone.current,L,h,s?.allowSignalWrites??!1),fe=h.get(Qk,null,{optional:!0});return fe&&8&fe._lView[Bi]?(fe._lView[Zr]??=[]).push(Q.watcher.notify):Q.watcher.notify(),Q}function KA(t,s){const h=pn(t),L=s.elementInjector||xa();return new rf(h).create(L,s.projectableNodes,s.hostElement,s.environmentInjector)}function ZA(t){const s=pn(t);if(!s)return null;const h=new rf(s);return{get selector(){return h.selector},get type(){return h.componentType},get inputs(){return h.inputs},get outputs(){return h.outputs},get ngContentSelectors(){return h.ngContentSelectors},get isStandalone(){return s.standalone},get isSignal(){return s.signals}}}},89079:(ri,Bt,We)=>{"use strict";We.d(Bt,{ot:()=>le,pQ:()=>Le});var M=We(54438),e=We(71985),V=We(56977);function Le(pe){pe||((0,M.Af3)(Le),pe=(0,M.WQX)(M.abz));const ue=new e.c(J=>pe.onDestroy(J.next.bind(J)));return J=>J.pipe((0,V.Q)(ue))}function le(pe,ue){const J=!ue?.manualCleanup;J&&!ue?.injector&&(0,M.Af3)(le);const te=J?ue?.injector?.get(M.abz)??(0,M.WQX)(M.abz):null;let X;X=(0,M.vPA)(ue?.requireSync?{kind:0}:{kind:1,value:ue?.initialValue});const E=pe.subscribe({next:j=>X.set({kind:1,value:j}),error:j=>{if(ue?.rejectErrors)throw j;X.set({kind:2,error:j})}});return te?.onDestroy(E.unsubscribe.bind(E)),(0,M.EWP)(()=>{const j=X();switch(j.kind){case 1:return j.value;case 2:throw j.error;case 0:throw new M.wOt(601,"`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.")}})}},89417:(ri,Bt,We)=>{"use strict";We.d(Bt,{$R:()=>Xo,BC:()=>he,JD:()=>Tr,Q0:()=>Fa,VZ:()=>Ir,X1:()=>Ua,YN:()=>Bl,ZU:()=>x,Zm:()=>pe,cb:()=>ge,cz:()=>F,j4:()=>wr,k0:()=>A,kq:()=>ve,me:()=>X,ok:()=>hr,qT:()=>Na,vO:()=>N,vS:()=>ln});var M=We(54438),e=We(60177),V=We(86648),Le=We(27468),q=We(96354);let ne=(()=>{class ot{constructor(Ye,vt){this._renderer=Ye,this._elementRef=vt,this.onChange=Ft=>{},this.onTouched=()=>{}}setProperty(Ye,vt){this._renderer.setProperty(this._elementRef.nativeElement,Ye,vt)}registerOnTouched(Ye){this.onTouched=Ye}registerOnChange(Ye){this.onChange=Ye}setDisabledState(Ye){this.setProperty("disabled",Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(M.sFG),M.rXU(M.aKT))};static#t=this.\u0275dir=M.FsC({type:ot})}return ot})(),re=(()=>{class ot extends ne{static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,features:[M.Vt3]})}return ot})();const ve=new M.nKC(""),le={provide:ve,useExisting:(0,M.Rfq)(()=>pe),multi:!0};let pe=(()=>{class ot extends re{writeValue(Ye){this.setProperty("checked",Ye)}static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(vt,Ft){1&vt&&M.bIt("change",function(mn){return Ft.onChange(mn.target.checked)})("blur",function(){return Ft.onTouched()})},features:[M.Jv_([le]),M.Vt3]})}return ot})();const ue={provide:ve,useExisting:(0,M.Rfq)(()=>X),multi:!0},te=new M.nKC("");let X=(()=>{class ot extends ne{constructor(Ye,vt,Ft){super(Ye,vt),this._compositionMode=Ft,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function J(){const ot=(0,e.QT)()?(0,e.QT)().getUserAgent():"";return/android (\d+)/.test(ot.toLowerCase())}())}writeValue(Ye){this.setProperty("value",Ye??"")}_handleInput(Ye){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(Ye)}_compositionStart(){this._composing=!0}_compositionEnd(Ye){this._composing=!1,this._compositionMode&&this.onChange(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(M.sFG),M.rXU(M.aKT),M.rXU(te,8))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(vt,Ft){1&vt&&M.bIt("input",function(mn){return Ft._handleInput(mn.target.value)})("blur",function(){return Ft.onTouched()})("compositionstart",function(){return Ft._compositionStart()})("compositionend",function(mn){return Ft._compositionEnd(mn.target.value)})},features:[M.Jv_([ue]),M.Vt3]})}return ot})();function E(ot){return null==ot||("string"==typeof ot||Array.isArray(ot))&&0===ot.length}function j(ot){return null!=ot&&"number"==typeof ot.length}const F=new M.nKC(""),P=new M.nKC(""),D=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class A{static min(ct){return I(ct)}static max(ct){return function _(ot){return ct=>{if(E(ct.value)||E(ot))return null;const Ye=parseFloat(ct.value);return!isNaN(Ye)&&Ye>ot?{max:{max:ot,actual:ct.value}}:null}}(ct)}static required(ct){return function m(ot){return E(ot.value)?{required:!0}:null}(ct)}static requiredTrue(ct){return function w(ot){return!0===ot.value?null:{required:!0}}(ct)}static email(ct){return function G(ot){return E(ot.value)||D.test(ot.value)?null:{email:!0}}(ct)}static minLength(ct){return function O(ot){return ct=>E(ct.value)||!j(ct.value)?null:ct.value.lengthj(ct.value)&&ct.value.length>ot?{maxlength:{requiredLength:ot,actualLength:ct.value.length}}:null}(ct)}static pattern(ct){return function a(ot){if(!ot)return g;let ct,Ye;return"string"==typeof ot?(Ye="","^"!==ot.charAt(0)&&(Ye+="^"),Ye+=ot,"$"!==ot.charAt(ot.length-1)&&(Ye+="$"),ct=new RegExp(Ye)):(Ye=ot.toString(),ct=ot),vt=>{if(E(vt.value))return null;const Ft=vt.value;return ct.test(Ft)?null:{pattern:{requiredPattern:Ye,actualValue:Ft}}}}(ct)}static nullValidator(ct){return null}static compose(ct){return C(ct)}static composeAsync(ct){return p(ct)}}function I(ot){return ct=>{if(E(ct.value)||E(ot))return null;const Ye=parseFloat(ct.value);return!isNaN(Ye)&&Ye{ct=null!=Ye?{...ct,...Ye}:ct}),0===Object.keys(ct).length?null:ct}function r(ot,ct){return ct.map(Ye=>Ye(ot))}function d(ot){return ot.map(ct=>function l(ot){return!ot.validate}(ct)?ct:Ye=>ct.validate(Ye))}function C(ot){if(!ot)return null;const ct=ot.filter(v);return 0==ct.length?null:function(Ye){return n(r(Ye,ct))}}function k(ot){return null!=ot?C(d(ot)):null}function p(ot){if(!ot)return null;const ct=ot.filter(v);return 0==ct.length?null:function(Ye){const vt=r(Ye,ct).map(o);return(0,Le.p)(vt).pipe((0,q.T)(n))}}function T(ot){return null!=ot?p(d(ot)):null}function B(ot,ct){return null===ot?[ct]:Array.isArray(ot)?[...ot,ct]:[ot,ct]}function z(ot){return ot._rawValidators}function K(ot){return ot._rawAsyncValidators}function U(ot){return ot?Array.isArray(ot)?ot:[ot]:[]}function se(ot,ct){return Array.isArray(ot)?ot.includes(ct):ot===ct}function S(ot,ct){const Ye=U(ct);return U(ot).forEach(Ft=>{se(Ye,Ft)||Ye.push(Ft)}),Ye}function $(ot,ct){return U(ct).filter(Ye=>!se(ot,Ye))}class H{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(ct){this._rawValidators=ct||[],this._composedValidatorFn=k(this._rawValidators)}_setAsyncValidators(ct){this._rawAsyncValidators=ct||[],this._composedAsyncValidatorFn=T(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(ct){this._onDestroyCallbacks.push(ct)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(ct=>ct()),this._onDestroyCallbacks=[]}reset(ct=void 0){this.control&&this.control.reset(ct)}hasError(ct,Ye){return!!this.control&&this.control.hasError(ct,Ye)}getError(ct,Ye){return this.control?this.control.getError(ct,Ye):null}}class x extends H{get formDirective(){return null}get path(){return null}}class N extends H{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class R{constructor(ct){this._cd=ct}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let he=(()=>{class ot extends R{constructor(Ye){super(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(N,2))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(vt,Ft){2&vt&&M.AVh("ng-untouched",Ft.isUntouched)("ng-touched",Ft.isTouched)("ng-pristine",Ft.isPristine)("ng-dirty",Ft.isDirty)("ng-valid",Ft.isValid)("ng-invalid",Ft.isInvalid)("ng-pending",Ft.isPending)},features:[M.Vt3]})}return ot})(),ge=(()=>{class ot extends R{constructor(Ye){super(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,10))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(vt,Ft){2&vt&&M.AVh("ng-untouched",Ft.isUntouched)("ng-touched",Ft.isTouched)("ng-pristine",Ft.isPristine)("ng-dirty",Ft.isDirty)("ng-valid",Ft.isValid)("ng-invalid",Ft.isInvalid)("ng-pending",Ft.isPending)("ng-submitted",Ft.isSubmitted)},features:[M.Vt3]})}return ot})();const st="VALID",Tt="INVALID",pt="PENDING",ht="DISABLED";function Pt(ot){return(It(ot)?ot.validators:ot)||null}function ti(ot,ct){return(It(ct)?ct.asyncValidators:ot)||null}function It(ot){return null!=ot&&!Array.isArray(ot)&&"object"==typeof ot}function xt(ot,ct,Ye){const vt=ot.controls;if(!(ct?Object.keys(vt):vt).length)throw new M.wOt(1e3,"");if(!vt[Ye])throw new M.wOt(1001,"")}function wt(ot,ct,Ye){ot._forEachChild((vt,Ft)=>{if(void 0===Ye[Ft])throw new M.wOt(1002,"")})}class Qt{constructor(ct,Ye){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(ct),this._assignAsyncValidators(Ye)}get validator(){return this._composedValidatorFn}set validator(ct){this._rawValidators=this._composedValidatorFn=ct}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(ct){this._rawAsyncValidators=this._composedAsyncValidatorFn=ct}get parent(){return this._parent}get valid(){return this.status===st}get invalid(){return this.status===Tt}get pending(){return this.status==pt}get disabled(){return this.status===ht}get enabled(){return this.status!==ht}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(ct){this._assignValidators(ct)}setAsyncValidators(ct){this._assignAsyncValidators(ct)}addValidators(ct){this.setValidators(S(ct,this._rawValidators))}addAsyncValidators(ct){this.setAsyncValidators(S(ct,this._rawAsyncValidators))}removeValidators(ct){this.setValidators($(ct,this._rawValidators))}removeAsyncValidators(ct){this.setAsyncValidators($(ct,this._rawAsyncValidators))}hasValidator(ct){return se(this._rawValidators,ct)}hasAsyncValidator(ct){return se(this._rawAsyncValidators,ct)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(ct={}){this.touched=!0,this._parent&&!ct.onlySelf&&this._parent.markAsTouched(ct)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(ct=>ct.markAllAsTouched())}markAsUntouched(ct={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(Ye=>{Ye.markAsUntouched({onlySelf:!0})}),this._parent&&!ct.onlySelf&&this._parent._updateTouched(ct)}markAsDirty(ct={}){this.pristine=!1,this._parent&&!ct.onlySelf&&this._parent.markAsDirty(ct)}markAsPristine(ct={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(Ye=>{Ye.markAsPristine({onlySelf:!0})}),this._parent&&!ct.onlySelf&&this._parent._updatePristine(ct)}markAsPending(ct={}){this.status=pt,!1!==ct.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!ct.onlySelf&&this._parent.markAsPending(ct)}disable(ct={}){const Ye=this._parentMarkedDirty(ct.onlySelf);this.status=ht,this.errors=null,this._forEachChild(vt=>{vt.disable({...ct,onlySelf:!0})}),this._updateValue(),!1!==ct.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...ct,skipPristineCheck:Ye}),this._onDisabledChange.forEach(vt=>vt(!0))}enable(ct={}){const Ye=this._parentMarkedDirty(ct.onlySelf);this.status=st,this._forEachChild(vt=>{vt.enable({...ct,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:ct.emitEvent}),this._updateAncestors({...ct,skipPristineCheck:Ye}),this._onDisabledChange.forEach(vt=>vt(!1))}_updateAncestors(ct){this._parent&&!ct.onlySelf&&(this._parent.updateValueAndValidity(ct),ct.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(ct){this._parent=ct}getRawValue(){return this.value}updateValueAndValidity(ct={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===st||this.status===pt)&&this._runAsyncValidator(ct.emitEvent)),!1!==ct.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!ct.onlySelf&&this._parent.updateValueAndValidity(ct)}_updateTreeValidity(ct={emitEvent:!0}){this._forEachChild(Ye=>Ye._updateTreeValidity(ct)),this.updateValueAndValidity({onlySelf:!0,emitEvent:ct.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?ht:st}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(ct){if(this.asyncValidator){this.status=pt,this._hasOwnPendingAsyncValidator=!0;const Ye=o(this.asyncValidator(this));this._asyncValidationSubscription=Ye.subscribe(vt=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(vt,{emitEvent:ct})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(ct,Ye={}){this.errors=ct,this._updateControlsErrors(!1!==Ye.emitEvent)}get(ct){let Ye=ct;return null==Ye||(Array.isArray(Ye)||(Ye=Ye.split(".")),0===Ye.length)?null:Ye.reduce((vt,Ft)=>vt&&vt._find(Ft),this)}getError(ct,Ye){const vt=Ye?this.get(Ye):this;return vt&&vt.errors?vt.errors[ct]:null}hasError(ct,Ye){return!!this.getError(ct,Ye)}get root(){let ct=this;for(;ct._parent;)ct=ct._parent;return ct}_updateControlsErrors(ct){this.status=this._calculateStatus(),ct&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(ct)}_initObservables(){this.valueChanges=new M.bkB,this.statusChanges=new M.bkB}_calculateStatus(){return this._allControlsDisabled()?ht:this.errors?Tt:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(pt)?pt:this._anyControlsHaveStatus(Tt)?Tt:st}_anyControlsHaveStatus(ct){return this._anyControls(Ye=>Ye.status===ct)}_anyControlsDirty(){return this._anyControls(ct=>ct.dirty)}_anyControlsTouched(){return this._anyControls(ct=>ct.touched)}_updatePristine(ct={}){this.pristine=!this._anyControlsDirty(),this._parent&&!ct.onlySelf&&this._parent._updatePristine(ct)}_updateTouched(ct={}){this.touched=this._anyControlsTouched(),this._parent&&!ct.onlySelf&&this._parent._updateTouched(ct)}_registerOnCollectionChange(ct){this._onCollectionChange=ct}_setUpdateStrategy(ct){It(ct)&&null!=ct.updateOn&&(this._updateOn=ct.updateOn)}_parentMarkedDirty(ct){return!ct&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(ct){return null}_assignValidators(ct){this._rawValidators=Array.isArray(ct)?ct.slice():ct,this._composedValidatorFn=function Gt(ot){return Array.isArray(ot)?k(ot):ot||null}(this._rawValidators)}_assignAsyncValidators(ct){this._rawAsyncValidators=Array.isArray(ct)?ct.slice():ct,this._composedAsyncValidatorFn=function Dt(ot){return Array.isArray(ot)?T(ot):ot||null}(this._rawAsyncValidators)}}class di extends Qt{constructor(ct,Ye,vt){super(Pt(Ye),ti(vt,Ye)),this.controls=ct,this._initObservables(),this._setUpdateStrategy(Ye),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(ct,Ye){return this.controls[ct]?this.controls[ct]:(this.controls[ct]=Ye,Ye.setParent(this),Ye._registerOnCollectionChange(this._onCollectionChange),Ye)}addControl(ct,Ye,vt={}){this.registerControl(ct,Ye),this.updateValueAndValidity({emitEvent:vt.emitEvent}),this._onCollectionChange()}removeControl(ct,Ye={}){this.controls[ct]&&this.controls[ct]._registerOnCollectionChange(()=>{}),delete this.controls[ct],this.updateValueAndValidity({emitEvent:Ye.emitEvent}),this._onCollectionChange()}setControl(ct,Ye,vt={}){this.controls[ct]&&this.controls[ct]._registerOnCollectionChange(()=>{}),delete this.controls[ct],Ye&&this.registerControl(ct,Ye),this.updateValueAndValidity({emitEvent:vt.emitEvent}),this._onCollectionChange()}contains(ct){return this.controls.hasOwnProperty(ct)&&this.controls[ct].enabled}setValue(ct,Ye={}){wt(this,0,ct),Object.keys(ct).forEach(vt=>{xt(this,!0,vt),this.controls[vt].setValue(ct[vt],{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye)}patchValue(ct,Ye={}){null!=ct&&(Object.keys(ct).forEach(vt=>{const Ft=this.controls[vt];Ft&&Ft.patchValue(ct[vt],{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye))}reset(ct={},Ye={}){this._forEachChild((vt,Ft)=>{vt.reset(ct?ct[Ft]:null,{onlySelf:!0,emitEvent:Ye.emitEvent})}),this._updatePristine(Ye),this._updateTouched(Ye),this.updateValueAndValidity(Ye)}getRawValue(){return this._reduceChildren({},(ct,Ye,vt)=>(ct[vt]=Ye.getRawValue(),ct))}_syncPendingControls(){let ct=this._reduceChildren(!1,(Ye,vt)=>!!vt._syncPendingControls()||Ye);return ct&&this.updateValueAndValidity({onlySelf:!0}),ct}_forEachChild(ct){Object.keys(this.controls).forEach(Ye=>{const vt=this.controls[Ye];vt&&ct(vt,Ye)})}_setUpControls(){this._forEachChild(ct=>{ct.setParent(this),ct._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(ct){for(const[Ye,vt]of Object.entries(this.controls))if(this.contains(Ye)&&ct(vt))return!0;return!1}_reduceValue(){return this._reduceChildren({},(Ye,vt,Ft)=>((vt.enabled||this.disabled)&&(Ye[Ft]=vt.value),Ye))}_reduceChildren(ct,Ye){let vt=ct;return this._forEachChild((Ft,Fi)=>{vt=Ye(vt,Ft,Fi)}),vt}_allControlsDisabled(){for(const ct of Object.keys(this.controls))if(this.controls[ct].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(ct){return this.controls.hasOwnProperty(ct)?this.controls[ct]:null}}class zi extends di{}const Fn=new M.nKC("CallSetDisabledState",{providedIn:"root",factory:()=>as}),as="always";function ms(ot,ct){return[...ct.path,ot]}function Ln(ot,ct,Ye=as){Kn(ot,ct),ct.valueAccessor.writeValue(ot.value),(ot.disabled||"always"===Ye)&&ct.valueAccessor.setDisabledState?.(ot.disabled),function Bs(ot,ct){ct.valueAccessor.registerOnChange(Ye=>{ot._pendingValue=Ye,ot._pendingChange=!0,ot._pendingDirty=!0,"change"===ot.updateOn&&Wi(ot,ct)})}(ot,ct),function js(ot,ct){const Ye=(vt,Ft)=>{ct.valueAccessor.writeValue(vt),Ft&&ct.viewToModelUpdate(vt)};ot.registerOnChange(Ye),ct._registerOnDestroy(()=>{ot._unregisterOnChange(Ye)})}(ot,ct),function qn(ot,ct){ct.valueAccessor.registerOnTouched(()=>{ot._pendingTouched=!0,"blur"===ot.updateOn&&ot._pendingChange&&Wi(ot,ct),"submit"!==ot.updateOn&&ot.markAsTouched()})}(ot,ct),function Cs(ot,ct){if(ct.valueAccessor.setDisabledState){const Ye=vt=>{ct.valueAccessor.setDisabledState(vt)};ot.registerOnDisabledChange(Ye),ct._registerOnDestroy(()=>{ot._unregisterOnDisabledChange(Ye)})}}(ot,ct)}function fn(ot,ct,Ye=!0){const vt=()=>{};ct.valueAccessor&&(ct.valueAccessor.registerOnChange(vt),ct.valueAccessor.registerOnTouched(vt)),In(ot,ct),ot&&(ct._invokeOnDestroyCallbacks(),ot._registerOnCollectionChange(()=>{}))}function ki(ot,ct){ot.forEach(Ye=>{Ye.registerOnValidatorChange&&Ye.registerOnValidatorChange(ct)})}function Kn(ot,ct){const Ye=z(ot);null!==ct.validator?ot.setValidators(B(Ye,ct.validator)):"function"==typeof Ye&&ot.setValidators([Ye]);const vt=K(ot);null!==ct.asyncValidator?ot.setAsyncValidators(B(vt,ct.asyncValidator)):"function"==typeof vt&&ot.setAsyncValidators([vt]);const Ft=()=>ot.updateValueAndValidity();ki(ct._rawValidators,Ft),ki(ct._rawAsyncValidators,Ft)}function In(ot,ct){let Ye=!1;if(null!==ot){if(null!==ct.validator){const Ft=z(ot);if(Array.isArray(Ft)&&Ft.length>0){const Fi=Ft.filter(mn=>mn!==ct.validator);Fi.length!==Ft.length&&(Ye=!0,ot.setValidators(Fi))}}if(null!==ct.asyncValidator){const Ft=K(ot);if(Array.isArray(Ft)&&Ft.length>0){const Fi=Ft.filter(mn=>mn!==ct.asyncValidator);Fi.length!==Ft.length&&(Ye=!0,ot.setAsyncValidators(Fi))}}}const vt=()=>{};return ki(ct._rawValidators,vt),ki(ct._rawAsyncValidators,vt),Ye}function Wi(ot,ct){ot._pendingDirty&&ot.markAsDirty(),ot.setValue(ot._pendingValue,{emitModelToViewChange:!1}),ct.viewToModelUpdate(ot._pendingValue),ot._pendingChange=!1}function Nt(ot,ct){if(!ot.hasOwnProperty("model"))return!1;const Ye=ot.model;return!!Ye.isFirstChange()||!Object.is(ct,Ye.currentValue)}function $e(ot,ct){if(!ct)return null;let Ye,vt,Ft;return Array.isArray(ct),ct.forEach(Fi=>{Fi.constructor===X?Ye=Fi:function mt(ot){return Object.getPrototypeOf(ot.constructor)===re}(Fi)?vt=Fi:Ft=Fi}),Ft||vt||Ye||null}function qi(ot,ct){const Ye=ot.indexOf(ct);Ye>-1&&ot.splice(Ye,1)}function Ki(ot){return"object"==typeof ot&&null!==ot&&2===Object.keys(ot).length&&"value"in ot&&"disabled"in ot}Promise.resolve();const ls=class extends Qt{constructor(ct=null,Ye,vt){super(Pt(Ye),ti(vt,Ye)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(ct),this._setUpdateStrategy(Ye),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),It(Ye)&&(Ye.nonNullable||Ye.initialValueIsDefault)&&(this.defaultValue=Ki(ct)?ct.value:ct)}setValue(ct,Ye={}){this.value=this._pendingValue=ct,this._onChange.length&&!1!==Ye.emitModelToViewChange&&this._onChange.forEach(vt=>vt(this.value,!1!==Ye.emitViewToModelChange)),this.updateValueAndValidity(Ye)}patchValue(ct,Ye={}){this.setValue(ct,Ye)}reset(ct=this.defaultValue,Ye={}){this._applyFormState(ct),this.markAsPristine(Ye),this.markAsUntouched(Ye),this.setValue(this.value,Ye),this._pendingChange=!1}_updateValue(){}_anyControls(ct){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(ct){this._onChange.push(ct)}_unregisterOnChange(ct){qi(this._onChange,ct)}registerOnDisabledChange(ct){this._onDisabledChange.push(ct)}_unregisterOnDisabledChange(ct){qi(this._onDisabledChange,ct)}_forEachChild(ct){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(ct){Ki(ct)?(this.value=this._pendingValue=ct.value,ct.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=ct}};let gn=(()=>{class ot extends x{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return ms(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,features:[M.Vt3]})}return ot})();const pr={provide:N,useExisting:(0,M.Rfq)(()=>ln)},Ui=Promise.resolve();let ln=(()=>{class ot extends N{constructor(Ye,vt,Ft,Fi,mn,io){super(),this._changeDetectorRef=mn,this.callSetDisabledState=io,this.control=new ls,this._registered=!1,this.name="",this.update=new M.bkB,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Ft),this.valueAccessor=$e(0,Fi)}ngOnChanges(Ye){if(this._checkForErrors(),!this._registered||"name"in Ye){if(this._registered&&(this._checkName(),this.formDirective)){const vt=Ye.name.previousValue;this.formDirective.removeControl({name:vt,path:this._getPath(vt)})}this._setUpControl()}"isDisabled"in Ye&&this._updateDisabled(Ye),Nt(Ye,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(Ye){this.viewModel=Ye,this.update.emit(Ye)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Ln(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(Ye){Ui.then(()=>{this.control.setValue(Ye,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(Ye){const vt=Ye.isDisabled.currentValue,Ft=0!==vt&&(0,M.L39)(vt);Ui.then(()=>{Ft&&!this.control.disabled?this.control.disable():!Ft&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(Ye){return this._parent?ms(Ye,this._parent):[Ye]}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,9),M.rXU(F,10),M.rXU(P,10),M.rXU(ve,10),M.rXU(M.gRc,8),M.rXU(Fn,8))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[M.Mj6.None,"disabled","isDisabled"],model:[M.Mj6.None,"ngModel","model"],options:[M.Mj6.None,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[M.Jv_([pr]),M.Vt3,M.OA$]})}return ot})(),Na=(()=>{class ot{static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return ot})();const lr={provide:ve,useExisting:(0,M.Rfq)(()=>Fa),multi:!0};let Fa=(()=>{class ot extends re{writeValue(Ye){this.setProperty("value",Ye??"")}registerOnChange(Ye){this.onChange=vt=>{Ye(""==vt?null:parseFloat(vt))}}static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(vt,Ft){1&vt&&M.bIt("input",function(mn){return Ft.onChange(mn.target.value)})("blur",function(){return Ft.onTouched()})},features:[M.Jv_([lr]),M.Vt3]})}return ot})();const $s=new M.nKC(""),Nl={provide:x,useExisting:(0,M.Rfq)(()=>wr)};let wr=(()=>{class ot extends x{constructor(Ye,vt,Ft){super(),this.callSetDisabledState=Ft,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new M.bkB,this._setValidators(Ye),this._setAsyncValidators(vt)}ngOnChanges(Ye){this._checkFormPresent(),Ye.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(In(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(Ye){const vt=this.form.get(Ye.path);return Ln(vt,Ye,this.callSetDisabledState),vt.updateValueAndValidity({emitEvent:!1}),this.directives.push(Ye),vt}getControl(Ye){return this.form.get(Ye.path)}removeControl(Ye){fn(Ye.control||null,Ye,!1),function yt(ot,ct){const Ye=ot.indexOf(ct);Ye>-1&&ot.splice(Ye,1)}(this.directives,Ye)}addFormGroup(Ye){this._setUpFormContainer(Ye)}removeFormGroup(Ye){this._cleanUpFormContainer(Ye)}getFormGroup(Ye){return this.form.get(Ye.path)}addFormArray(Ye){this._setUpFormContainer(Ye)}removeFormArray(Ye){this._cleanUpFormContainer(Ye)}getFormArray(Ye){return this.form.get(Ye.path)}updateModel(Ye,vt){this.form.get(Ye.path).setValue(vt)}onSubmit(Ye){return this.submitted=!0,function _t(ot,ct){ot._syncPendingControls(),ct.forEach(Ye=>{const vt=Ye.control;"submit"===vt.updateOn&&vt._pendingChange&&(Ye.viewToModelUpdate(vt._pendingValue),vt._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(Ye),"dialog"===Ye?.target?.method}onReset(){this.resetForm()}resetForm(Ye=void 0){this.form.reset(Ye),this.submitted=!1}_updateDomValue(){this.directives.forEach(Ye=>{const vt=Ye.control,Ft=this.form.get(Ye.path);vt!==Ft&&(fn(vt||null,Ye),(ot=>ot instanceof ls)(Ft)&&(Ln(Ft,Ye,this.callSetDisabledState),Ye.control=Ft))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(Ye){const vt=this.form.get(Ye.path);(function On(ot,ct){Kn(ot,ct)})(vt,Ye),vt.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(Ye){if(this.form){const vt=this.form.get(Ye.path);vt&&function ar(ot,ct){return In(ot,ct)}(vt,Ye)&&vt.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Kn(this.form,this),this._oldForm&&In(this._oldForm,this)}_checkFormPresent(){}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(F,10),M.rXU(P,10),M.rXU(Fn,8))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formGroup",""]],hostBindings:function(vt,Ft){1&vt&&M.bIt("submit",function(mn){return Ft.onSubmit(mn)})("reset",function(){return Ft.onReset()})},inputs:{form:[M.Mj6.None,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[M.Jv_([Nl]),M.Vt3,M.OA$]})}return ot})();const Jr={provide:x,useExisting:(0,M.Rfq)(()=>Xo)};let Xo=(()=>{class ot extends gn{constructor(Ye,vt,Ft){super(),this.name=null,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Ft)}_checkParentType(){da(this._parent)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,13),M.rXU(F,10),M.rXU(P,10))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formGroupName",""]],inputs:{name:[M.Mj6.None,"formGroupName","name"]},features:[M.Jv_([Jr]),M.Vt3]})}return ot})();const Fl={provide:x,useExisting:(0,M.Rfq)(()=>mo)};let mo=(()=>{class ot extends x{constructor(Ye,vt,Ft){super(),this.name=null,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Ft)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return ms(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){da(this._parent)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,13),M.rXU(F,10),M.rXU(P,10))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formArrayName",""]],inputs:{name:[M.Mj6.None,"formArrayName","name"]},features:[M.Jv_([Fl]),M.Vt3]})}return ot})();function da(ot){return!(ot instanceof Xo||ot instanceof wr||ot instanceof mo)}const Ga={provide:N,useExisting:(0,M.Rfq)(()=>Tr)};let Tr=(()=>{class ot extends N{set isDisabled(Ye){}static#e=this._ngModelWarningSentOnce=!1;constructor(Ye,vt,Ft,Fi,mn){super(),this._ngModelWarningConfig=mn,this._added=!1,this.name=null,this.update=new M.bkB,this._ngModelWarningSent=!1,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Ft),this.valueAccessor=$e(0,Fi)}ngOnChanges(Ye){this._added||this._setUpControl(),Nt(Ye,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(Ye){this.viewModel=Ye,this.update.emit(Ye)}get path(){return ms(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static#t=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,13),M.rXU(F,10),M.rXU(P,10),M.rXU(ve,10),M.rXU($s,8))};static#i=this.\u0275dir=M.FsC({type:ot,selectors:[["","formControlName",""]],inputs:{name:[M.Mj6.None,"formControlName","name"],isDisabled:[M.Mj6.None,"disabled","isDisabled"],model:[M.Mj6.None,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[M.Jv_([Ga]),M.Vt3,M.OA$]})}return ot})();let Qs=(()=>{class ot{constructor(){this._validator=g}ngOnChanges(Ye){if(this.inputName in Ye){const vt=this.normalizeInput(Ye[this.inputName].currentValue);this._enabled=this.enabled(vt),this._validator=this._enabled?this.createValidator(vt):g,this._onChange&&this._onChange()}}validate(Ye){return this._validator(Ye)}registerOnValidatorChange(Ye){this._onChange=Ye}enabled(Ye){return null!=Ye}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275dir=M.FsC({type:ot,features:[M.OA$]})}return ot})();const ma={provide:F,useExisting:(0,M.Rfq)(()=>Ir),multi:!0};let Ir=(()=>{class ot extends Qs{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=Ye=>function fa(ot){return"number"==typeof ot?ot:parseFloat(ot)}(Ye),this.createValidator=Ye=>I(Ye)}static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(vt,Ft){2&vt&&M.BMQ("min",Ft._enabled?Ft.min:null)},inputs:{min:"min"},features:[M.Jv_([ma]),M.Vt3]})}return ot})(),Sr=(()=>{class ot{static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275mod=M.$C({type:ot});static#i=this.\u0275inj=M.G2t({})}return ot})();class Dn extends Qt{constructor(ct,Ye,vt){super(Pt(Ye),ti(vt,Ye)),this.controls=ct,this._initObservables(),this._setUpdateStrategy(Ye),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(ct){return this.controls[this._adjustIndex(ct)]}push(ct,Ye={}){this.controls.push(ct),this._registerControl(ct),this.updateValueAndValidity({emitEvent:Ye.emitEvent}),this._onCollectionChange()}insert(ct,Ye,vt={}){this.controls.splice(ct,0,Ye),this._registerControl(Ye),this.updateValueAndValidity({emitEvent:vt.emitEvent})}removeAt(ct,Ye={}){let vt=this._adjustIndex(ct);vt<0&&(vt=0),this.controls[vt]&&this.controls[vt]._registerOnCollectionChange(()=>{}),this.controls.splice(vt,1),this.updateValueAndValidity({emitEvent:Ye.emitEvent})}setControl(ct,Ye,vt={}){let Ft=this._adjustIndex(ct);Ft<0&&(Ft=0),this.controls[Ft]&&this.controls[Ft]._registerOnCollectionChange(()=>{}),this.controls.splice(Ft,1),Ye&&(this.controls.splice(Ft,0,Ye),this._registerControl(Ye)),this.updateValueAndValidity({emitEvent:vt.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(ct,Ye={}){wt(this,0,ct),ct.forEach((vt,Ft)=>{xt(this,!1,Ft),this.at(Ft).setValue(vt,{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye)}patchValue(ct,Ye={}){null!=ct&&(ct.forEach((vt,Ft)=>{this.at(Ft)&&this.at(Ft).patchValue(vt,{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye))}reset(ct=[],Ye={}){this._forEachChild((vt,Ft)=>{vt.reset(ct[Ft],{onlySelf:!0,emitEvent:Ye.emitEvent})}),this._updatePristine(Ye),this._updateTouched(Ye),this.updateValueAndValidity(Ye)}getRawValue(){return this.controls.map(ct=>ct.getRawValue())}clear(ct={}){this.controls.length<1||(this._forEachChild(Ye=>Ye._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:ct.emitEvent}))}_adjustIndex(ct){return ct<0?ct+this.length:ct}_syncPendingControls(){let ct=this.controls.reduce((Ye,vt)=>!!vt._syncPendingControls()||Ye,!1);return ct&&this.updateValueAndValidity({onlySelf:!0}),ct}_forEachChild(ct){this.controls.forEach((Ye,vt)=>{ct(Ye,vt)})}_updateValue(){this.value=this.controls.filter(ct=>ct.enabled||this.disabled).map(ct=>ct.value)}_anyControls(ct){return this.controls.some(Ye=>Ye.enabled&&ct(Ye))}_setUpControls(){this._forEachChild(ct=>this._registerControl(ct))}_allControlsDisabled(){for(const ct of this.controls)if(ct.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(ct){ct.setParent(this),ct._registerOnCollectionChange(this._onCollectionChange)}_find(ct){return this.at(ct)??null}}function Io(ot){return!!ot&&(void 0!==ot.asyncValidators||void 0!==ot.validators||void 0!==ot.updateOn)}let hr=(()=>{class ot{constructor(){this.useNonNullable=!1}get nonNullable(){const Ye=new ot;return Ye.useNonNullable=!0,Ye}group(Ye,vt=null){const Ft=this._reduceControls(Ye);let Fi={};return Io(vt)?Fi=vt:null!==vt&&(Fi.validators=vt.validator,Fi.asyncValidators=vt.asyncValidator),new di(Ft,Fi)}record(Ye,vt=null){const Ft=this._reduceControls(Ye);return new zi(Ft,vt)}control(Ye,vt,Ft){let Fi={};return this.useNonNullable?(Io(vt)?Fi=vt:(Fi.validators=vt,Fi.asyncValidators=Ft),new ls(Ye,{...Fi,nonNullable:!0})):new ls(Ye,vt,Ft)}array(Ye,vt,Ft){const Fi=Ye.map(mn=>this._createControl(mn));return new Dn(Fi,vt,Ft)}_reduceControls(Ye){const vt={};return Object.keys(Ye).forEach(Ft=>{vt[Ft]=this._createControl(Ye[Ft])}),vt}_createControl(Ye){return Ye instanceof ls||Ye instanceof Qt?Ye:Array.isArray(Ye)?this.control(Ye[0],Ye.length>1?Ye[1]:null,Ye.length>2?Ye[2]:null):this.control(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275prov=M.jDH({token:ot,factory:ot.\u0275fac,providedIn:"root"})}return ot})(),Bl=(()=>{class ot{static withConfig(Ye){return{ngModule:ot,providers:[{provide:Fn,useValue:Ye.callSetDisabledState??as}]}}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275mod=M.$C({type:ot});static#i=this.\u0275inj=M.G2t({imports:[Sr]})}return ot})(),Ua=(()=>{class ot{static withConfig(Ye){return{ngModule:ot,providers:[{provide:$s,useValue:Ye.warnOnNgModelWithFormControl??"always"},{provide:Fn,useValue:Ye.callSetDisabledState??as}]}}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275mod=M.$C({type:ot});static#i=this.\u0275inj=M.G2t({imports:[Sr]})}return ot})()},345:(ri,Bt,We)=>{"use strict";We.d(Bt,{B7:()=>G,Bb:()=>R,EU:()=>ue,hE:()=>he,sG:()=>$,up:()=>Xe});var M=We(54438),e=We(60177);class V extends e.VF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Le extends V{static makeCurrent(){(0,e.ZD)(new Le)}onAndCancel(It,xt,wt){return It.addEventListener(xt,wt),()=>{It.removeEventListener(xt,wt)}}dispatchEvent(It,xt){It.dispatchEvent(xt)}remove(It){It.parentNode&&It.parentNode.removeChild(It)}createElement(It,xt){return(xt=xt||this.getDefaultDocument()).createElement(It)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(It){return It.nodeType===Node.ELEMENT_NODE}isShadowRoot(It){return It instanceof DocumentFragment}getGlobalEventTarget(It,xt){return"window"===xt?window:"document"===xt?It:"body"===xt?It.body:null}getBaseHref(It){const xt=function ne(){return q=q||document.querySelector("base"),q?q.getAttribute("href"):null}();return null==xt?null:function re(Dt){return new URL(Dt,document.baseURI).pathname}(xt)}resetBaseElement(){q=null}getUserAgent(){return window.navigator.userAgent}getCookie(It){return(0,e._b)(document.cookie,It)}}let q=null,le=(()=>{class Dt{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(wt){return new(wt||Dt)};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const pe=new M.nKC("");let ue=(()=>{class Dt{constructor(xt,wt){this._zone=wt,this._eventNameToPlugin=new Map,xt.forEach(Qt=>{Qt.manager=this}),this._plugins=xt.slice().reverse()}addEventListener(xt,wt,Qt){return this._findPluginFor(wt).addEventListener(xt,wt,Qt)}getZone(){return this._zone}_findPluginFor(xt){let wt=this._eventNameToPlugin.get(xt);if(wt)return wt;if(wt=this._plugins.find(di=>di.supports(xt)),!wt)throw new M.wOt(5101,!1);return this._eventNameToPlugin.set(xt,wt),wt}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(pe),M.KVO(M.SKi))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();class J{constructor(It){this._doc=It}}const te="ng-app-id";let X=(()=>{class Dt{constructor(xt,wt,Qt,di={}){this.doc=xt,this.appId=wt,this.nonce=Qt,this.platformId=di,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=(0,e.Vy)(di),this.resetHostNodes()}addStyles(xt){for(const wt of xt)1===this.changeUsageCount(wt,1)&&this.onStyleAdded(wt)}removeStyles(xt){for(const wt of xt)this.changeUsageCount(wt,-1)<=0&&this.onStyleRemoved(wt)}ngOnDestroy(){const xt=this.styleNodesInDOM;xt&&(xt.forEach(wt=>wt.remove()),xt.clear());for(const wt of this.getAllStyles())this.onStyleRemoved(wt);this.resetHostNodes()}addHost(xt){this.hostNodes.add(xt);for(const wt of this.getAllStyles())this.addStyleToHost(xt,wt)}removeHost(xt){this.hostNodes.delete(xt)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(xt){for(const wt of this.hostNodes)this.addStyleToHost(wt,xt)}onStyleRemoved(xt){const wt=this.styleRef;wt.get(xt)?.elements?.forEach(Qt=>Qt.remove()),wt.delete(xt)}collectServerRenderedStyles(){const xt=this.doc.head?.querySelectorAll(`style[${te}="${this.appId}"]`);if(xt?.length){const wt=new Map;return xt.forEach(Qt=>{null!=Qt.textContent&&wt.set(Qt.textContent,Qt)}),wt}return null}changeUsageCount(xt,wt){const Qt=this.styleRef;if(Qt.has(xt)){const di=Qt.get(xt);return di.usage+=wt,di.usage}return Qt.set(xt,{usage:wt,elements:[]}),wt}getStyleElement(xt,wt){const Qt=this.styleNodesInDOM,di=Qt?.get(wt);if(di?.parentNode===xt)return Qt.delete(wt),di.removeAttribute(te),di;{const Ni=this.doc.createElement("style");return this.nonce&&Ni.setAttribute("nonce",this.nonce),Ni.textContent=wt,this.platformIsServer&&Ni.setAttribute(te,this.appId),xt.appendChild(Ni),Ni}}addStyleToHost(xt,wt){const Qt=this.getStyleElement(xt,wt),di=this.styleRef,Ni=di.get(wt)?.elements;Ni?Ni.push(Qt):di.set(wt,{elements:[Qt],usage:1})}resetHostNodes(){const xt=this.hostNodes;xt.clear(),xt.add(this.doc.head)}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ),M.KVO(M.sZ2),M.KVO(M.BIS,8),M.KVO(M.Agw))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const E={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},j=/%COMP%/g,F="%COMP%",P=`_nghost-${F}`,D=`_ngcontent-${F}`,I=new M.nKC("",{providedIn:"root",factory:()=>!0});function w(Dt,It){return It.map(xt=>xt.replace(j,Dt))}let G=(()=>{class Dt{constructor(xt,wt,Qt,di,Ni,mi,vi,zi=null){this.eventManager=xt,this.sharedStylesHost=wt,this.appId=Qt,this.removeStylesOnCompDestroy=di,this.doc=Ni,this.platformId=mi,this.ngZone=vi,this.nonce=zi,this.rendererByCompId=new Map,this.platformIsServer=(0,e.Vy)(mi),this.defaultRenderer=new O(xt,Ni,vi,this.platformIsServer)}createRenderer(xt,wt){if(!xt||!wt)return this.defaultRenderer;this.platformIsServer&&wt.encapsulation===M.gXe.ShadowDom&&(wt={...wt,encapsulation:M.gXe.Emulated});const Qt=this.getOrCreateRenderer(xt,wt);return Qt instanceof n?Qt.applyToHost(xt):Qt instanceof o&&Qt.applyStyles(),Qt}getOrCreateRenderer(xt,wt){const Qt=this.rendererByCompId;let di=Qt.get(wt.id);if(!di){const Ni=this.doc,mi=this.ngZone,vi=this.eventManager,zi=this.sharedStylesHost,gs=this.removeStylesOnCompDestroy,Fn=this.platformIsServer;switch(wt.encapsulation){case M.gXe.Emulated:di=new n(vi,zi,wt,this.appId,gs,Ni,mi,Fn);break;case M.gXe.ShadowDom:return new v(vi,zi,xt,wt,Ni,mi,this.nonce,Fn);default:di=new o(vi,zi,wt,gs,Ni,mi,Fn)}Qt.set(wt.id,di)}return di}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(ue),M.KVO(X),M.KVO(M.sZ2),M.KVO(I),M.KVO(e.qQ),M.KVO(M.Agw),M.KVO(M.SKi),M.KVO(M.BIS))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();class O{constructor(It,xt,wt,Qt){this.eventManager=It,this.doc=xt,this.ngZone=wt,this.platformIsServer=Qt,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(It,xt){return xt?this.doc.createElementNS(E[xt]||xt,It):this.doc.createElement(It)}createComment(It){return this.doc.createComment(It)}createText(It){return this.doc.createTextNode(It)}appendChild(It,xt){(g(It)?It.content:It).appendChild(xt)}insertBefore(It,xt,wt){It&&(g(It)?It.content:It).insertBefore(xt,wt)}removeChild(It,xt){It&&It.removeChild(xt)}selectRootElement(It,xt){let wt="string"==typeof It?this.doc.querySelector(It):It;if(!wt)throw new M.wOt(-5104,!1);return xt||(wt.textContent=""),wt}parentNode(It){return It.parentNode}nextSibling(It){return It.nextSibling}setAttribute(It,xt,wt,Qt){if(Qt){xt=Qt+":"+xt;const di=E[Qt];di?It.setAttributeNS(di,xt,wt):It.setAttribute(xt,wt)}else It.setAttribute(xt,wt)}removeAttribute(It,xt,wt){if(wt){const Qt=E[wt];Qt?It.removeAttributeNS(Qt,xt):It.removeAttribute(`${wt}:${xt}`)}else It.removeAttribute(xt)}addClass(It,xt){It.classList.add(xt)}removeClass(It,xt){It.classList.remove(xt)}setStyle(It,xt,wt,Qt){Qt&(M.czy.DashCase|M.czy.Important)?It.style.setProperty(xt,wt,Qt&M.czy.Important?"important":""):It.style[xt]=wt}removeStyle(It,xt,wt){wt&M.czy.DashCase?It.style.removeProperty(xt):It.style[xt]=""}setProperty(It,xt,wt){null!=It&&(It[xt]=wt)}setValue(It,xt){It.nodeValue=xt}listen(It,xt,wt){if("string"==typeof It&&!(It=(0,e.QT)().getGlobalEventTarget(this.doc,It)))throw new Error(`Unsupported event target ${It} for event ${xt}`);return this.eventManager.addEventListener(It,xt,this.decoratePreventDefault(wt))}decoratePreventDefault(It){return xt=>{if("__ngUnwrap__"===xt)return It;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>It(xt)):It(xt))&&xt.preventDefault()}}}function g(Dt){return"TEMPLATE"===Dt.tagName&&void 0!==Dt.content}class v extends O{constructor(It,xt,wt,Qt,di,Ni,mi,vi){super(It,di,Ni,vi),this.sharedStylesHost=xt,this.hostEl=wt,this.shadowRoot=wt.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const zi=w(Qt.id,Qt.styles);for(const gs of zi){const Fn=document.createElement("style");mi&&Fn.setAttribute("nonce",mi),Fn.textContent=gs,this.shadowRoot.appendChild(Fn)}}nodeOrShadowRoot(It){return It===this.hostEl?this.shadowRoot:It}appendChild(It,xt){return super.appendChild(this.nodeOrShadowRoot(It),xt)}insertBefore(It,xt,wt){return super.insertBefore(this.nodeOrShadowRoot(It),xt,wt)}removeChild(It,xt){return super.removeChild(this.nodeOrShadowRoot(It),xt)}parentNode(It){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(It)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class o extends O{constructor(It,xt,wt,Qt,di,Ni,mi,vi){super(It,di,Ni,mi),this.sharedStylesHost=xt,this.removeStylesOnCompDestroy=Qt,this.styles=vi?w(vi,wt.styles):wt.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class n extends o{constructor(It,xt,wt,Qt,di,Ni,mi,vi){const zi=Qt+"-"+wt.id;super(It,xt,wt,di,Ni,mi,vi,zi),this.contentAttr=function _(Dt){return D.replace(j,Dt)}(zi),this.hostAttr=function m(Dt){return P.replace(j,Dt)}(zi)}applyToHost(It){this.applyStyles(),this.setAttribute(It,this.hostAttr,"")}createElement(It,xt){const wt=super.createElement(It,xt);return super.setAttribute(wt,this.contentAttr,""),wt}}let r=(()=>{class Dt extends J{constructor(xt){super(xt)}supports(xt){return!0}addEventListener(xt,wt,Qt){return xt.addEventListener(wt,Qt,!1),()=>this.removeEventListener(xt,wt,Qt)}removeEventListener(xt,wt,Qt){return xt.removeEventListener(wt,Qt)}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const l=["alt","control","meta","shift"],d={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},C={alt:Dt=>Dt.altKey,control:Dt=>Dt.ctrlKey,meta:Dt=>Dt.metaKey,shift:Dt=>Dt.shiftKey};let k=(()=>{class Dt extends J{constructor(xt){super(xt)}supports(xt){return null!=Dt.parseEventName(xt)}addEventListener(xt,wt,Qt){const di=Dt.parseEventName(wt),Ni=Dt.eventCallback(di.fullKey,Qt,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,e.QT)().onAndCancel(xt,di.domEventName,Ni))}static parseEventName(xt){const wt=xt.toLowerCase().split("."),Qt=wt.shift();if(0===wt.length||"keydown"!==Qt&&"keyup"!==Qt)return null;const di=Dt._normalizeKey(wt.pop());let Ni="",mi=wt.indexOf("code");if(mi>-1&&(wt.splice(mi,1),Ni="code."),l.forEach(zi=>{const gs=wt.indexOf(zi);gs>-1&&(wt.splice(gs,1),Ni+=zi+".")}),Ni+=di,0!=wt.length||0===di.length)return null;const vi={};return vi.domEventName=Qt,vi.fullKey=Ni,vi}static matchEventFullKeyCode(xt,wt){let Qt=d[xt.key]||xt.key,di="";return wt.indexOf("code.")>-1&&(Qt=xt.code,di="code."),!(null==Qt||!Qt)&&(Qt=Qt.toLowerCase()," "===Qt?Qt="space":"."===Qt&&(Qt="dot"),l.forEach(Ni=>{Ni!==Qt&&(0,C[Ni])(xt)&&(di+=Ni+".")}),di+=Qt,di===wt)}static eventCallback(xt,wt,Qt){return di=>{Dt.matchEventFullKeyCode(di,xt)&&Qt.runGuarded(()=>wt(di))}}static _normalizeKey(xt){return"esc"===xt?"escape":xt}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const $=(0,M.oH4)(M.fpN,"browser",[{provide:M.Agw,useValue:e.AJ},{provide:M.PLl,useValue:function K(){Le.makeCurrent()},multi:!0},{provide:e.qQ,useFactory:function se(){return(0,M.TL$)(document),document},deps:[]}]),H=new M.nKC(""),x=[{provide:M.e01,useClass:class ve{addToWindow(It){M.JZv.getAngularTestability=(wt,Qt=!0)=>{const di=It.findTestabilityInTree(wt,Qt);if(null==di)throw new M.wOt(5103,!1);return di},M.JZv.getAllAngularTestabilities=()=>It.getAllTestabilities(),M.JZv.getAllAngularRootElements=()=>It.getAllRootElements(),M.JZv.frameworkStabilizers||(M.JZv.frameworkStabilizers=[]),M.JZv.frameworkStabilizers.push(wt=>{const Qt=M.JZv.getAllAngularTestabilities();let di=Qt.length;const Ni=function(){di--,0==di&&wt()};Qt.forEach(mi=>{mi.whenStable(Ni)})})}findTestabilityInTree(It,xt,wt){return null==xt?null:It.getTestability(xt)??(wt?(0,e.QT)().isShadowRoot(xt)?this.findTestabilityInTree(It,xt.host,!0):this.findTestabilityInTree(It,xt.parentElement,!0):null)}},deps:[]},{provide:M.WHO,useClass:M.NYb,deps:[M.SKi,M.giA,M.e01]},{provide:M.NYb,useClass:M.NYb,deps:[M.SKi,M.giA,M.e01]}],N=[{provide:M.H8p,useValue:"root"},{provide:M.zcH,useFactory:function U(){return new M.zcH},deps:[]},{provide:pe,useClass:r,multi:!0,deps:[e.qQ,M.SKi,M.Agw]},{provide:pe,useClass:k,multi:!0,deps:[e.qQ]},G,X,ue,{provide:M._9s,useExisting:G},{provide:e.N0,useClass:le,deps:[]},[]];let R=(()=>{class Dt{constructor(xt){}static withServerTransition(xt){return{ngModule:Dt,providers:[{provide:M.sZ2,useValue:xt.appId}]}}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(H,12))};static#t=this.\u0275mod=M.$C({type:Dt});static#i=this.\u0275inj=M.G2t({providers:[...N,...x],imports:[e.MD,M.Hbi]})}return Dt})(),he=(()=>{class Dt{constructor(xt){this._doc=xt}getTitle(){return this._doc.title}setTitle(xt){this._doc.title=xt||""}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac,providedIn:"root"})}return Dt})(),Xe=(()=>{class Dt{static#e=this.\u0275fac=function(wt){return new(wt||Dt)};static#t=this.\u0275prov=M.jDH({token:Dt,factory:function(wt){let Qt=null;return Qt=wt?new(wt||Dt):M.KVO(Je),Qt},providedIn:"root"})}return Dt})(),Je=(()=>{class Dt extends Xe{constructor(xt){super(),this._doc=xt}sanitize(xt,wt){if(null==wt)return null;switch(xt){case M.WPN.NONE:return wt;case M.WPN.HTML:return(0,M.ZF7)(wt,"HTML")?(0,M.rcV)(wt):(0,M.h9k)(this._doc,String(wt)).toString();case M.WPN.STYLE:return(0,M.ZF7)(wt,"Style")?(0,M.rcV)(wt):wt;case M.WPN.SCRIPT:if((0,M.ZF7)(wt,"Script"))return(0,M.rcV)(wt);throw new M.wOt(5200,!1);case M.WPN.URL:return(0,M.ZF7)(wt,"URL")?(0,M.rcV)(wt):(0,M.$MX)(String(wt));case M.WPN.RESOURCE_URL:if((0,M.ZF7)(wt,"ResourceURL"))return(0,M.rcV)(wt);throw new M.wOt(5201,!1);default:throw new M.wOt(5202,!1)}}bypassSecurityTrustHtml(xt){return(0,M.Kcf)(xt)}bypassSecurityTrustStyle(xt){return(0,M.cWb)(xt)}bypassSecurityTrustScript(xt){return(0,M.UyX)(xt)}bypassSecurityTrustUrl(xt){return(0,M.osQ)(xt)}bypassSecurityTrustResourceUrl(xt){return(0,M.e5t)(xt)}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac,providedIn:"root"})}return Dt})()},99062:(ri,Bt,We)=>{"use strict";We.d(Bt,{nX:()=>$i,wF:()=>bs,Kp:()=>Is,b:()=>zs,Ix:()=>jn,Wk:()=>Qi,wQ:()=>No,iI:()=>Ah,n3:()=>ga});var M=We(54438),e=We(74402),V=We(86648),Le=We(7673),q=We(84412),ne=We(71985),re=We(93073),ve=We(33669),le=We(6450),pe=We(9326),ue=We(58496),J=We(54360),te=We(45225);function X(...Re){const He=(0,pe.lI)(Re),Fe=(0,pe.ms)(Re),{args:Ue,keys:rt}=(0,re.D)(Re);if(0===Ue.length)return(0,V.H)([],He);const gt=new ne.c(function E(Re,He,Fe=ve.D){return Ue=>{j(He,()=>{const{length:rt}=Re,gt=new Array(rt);let Ot=rt,qt=rt;for(let Xt=0;Xt{const Ei=(0,V.H)(Re[Xt],He);let on=!1;Ei.subscribe((0,J._)(Ue,bn=>{gt[Xt]=bn,on||(on=!0,qt--),qt||Ue.next(Fe(gt.slice()))},()=>{--Ot||Ue.complete()}))},Ue)},Ue)}}(Ue,He,rt?Ot=>(0,ue.e)(rt,Ot):ve.D));return Fe?gt.pipe((0,le.I)(Fe)):gt}function j(Re,He,Fe){Re?(0,te.N)(Fe,Re,He):He()}const P=(0,We(81853).L)(Re=>function(){Re(this),this.name="EmptyError",this.message="no elements in sequence"});var D=We(28793),A=We(59030),I=We(71203),_=We(18810),m=We(983),w=We(18359),G=We(39974);function O(){return(0,G.N)((Re,He)=>{let Fe=null;Re._refCount++;const Ue=(0,J._)(He,void 0,void 0,void 0,()=>{if(!Re||Re._refCount<=0||0<--Re._refCount)return void(Fe=null);const rt=Re._connection,gt=Fe;Fe=null,rt&&(!gt||rt===gt)&&rt.unsubscribe(),He.unsubscribe()});Re.subscribe(Ue),Ue.closed||(Fe=Re.connect())})}class f extends ne.c{constructor(He,Fe){super(),this.source=He,this.subjectFactory=Fe,this._subject=null,this._refCount=0,this._connection=null,(0,G.S)(He)&&(this.lift=He.lift)}_subscribe(He){return this.getSubject().subscribe(He)}getSubject(){const He=this._subject;return(!He||He.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:He}=this;this._subject=this._connection=null,He?.unsubscribe()}connect(){let He=this._connection;if(!He){He=this._connection=new w.yU;const Fe=this.getSubject();He.add(this.source.subscribe((0,J._)(Fe,void 0,()=>{this._teardown(),Fe.complete()},Ue=>{this._teardown(),Fe.error(Ue)},()=>this._teardown()))),He.closed&&(this._connection=null,He=w.yU.EMPTY)}return He}refCount(){return O()(this)}}var a=We(21413),g=We(60177),v=We(96354),o=We(25558),n=We(96697),r=We(99172),l=We(5964),d=We(73028);function C(Re){return(0,G.N)((He,Fe)=>{let Ue=!1;He.subscribe((0,J._)(Fe,rt=>{Ue=!0,Fe.next(rt)},()=>{Ue||Fe.next(Re),Fe.complete()}))})}function k(Re=p){return(0,G.N)((He,Fe)=>{let Ue=!1;He.subscribe((0,J._)(Fe,rt=>{Ue=!0,Fe.next(rt)},()=>Ue?Fe.complete():Fe.error(Re())))})}function p(){return new P}function T(Re,He){const Fe=arguments.length>=2;return Ue=>Ue.pipe(Re?(0,l.p)((rt,gt)=>Re(rt,gt,Ue)):ve.D,(0,n.s)(1),Fe?C(He):k(()=>new P))}var B=We(70274),z=We(88141),K=We(99437);function S(Re){return Re<=0?()=>m.w:(0,G.N)((He,Fe)=>{let Ue=[];He.subscribe((0,J._)(Fe,rt=>{Ue.push(rt),Re{for(const rt of Ue)Fe.next(rt);Fe.complete()},void 0,()=>{Ue=null}))})}var H=We(73703),x=We(70980),N=We(56977),R=We(26365),Z=We(345);const Y="primary",he=Symbol("RouteTitle");class ge{constructor(He){this.params=He||{}}has(He){return Object.prototype.hasOwnProperty.call(this.params,He)}get(He){if(this.has(He)){const Fe=this.params[He];return Array.isArray(Fe)?Fe[0]:Fe}return null}getAll(He){if(this.has(He)){const Fe=this.params[He];return Array.isArray(Fe)?Fe:[Fe]}return[]}get keys(){return Object.keys(this.params)}}function _e(Re){return new ge(Re)}function Te(Re,He,Fe){const Ue=Fe.path.split("/");if(Ue.length>Re.length||"full"===Fe.pathMatch&&(He.hasChildren()||Ue.lengthUe[gt]===rt)}return Re===He}function ee(Re){return Re.length>0?Re[Re.length-1]:null}function be(Re){return(0,e.A)(Re)?Re:(0,M.jNT)(Re)?(0,V.H)(Promise.resolve(Re)):(0,Le.of)(Re)}const xe={exact:function Me(Re,He,Fe){if(!Pt(Re.segments,He.segments)||!qe(Re.segments,He.segments,Fe)||Re.numberOfChildren!==He.numberOfChildren)return!1;for(const Ue in He.children)if(!Re.children[Ue]||!Me(Re.children[Ue],He.children[Ue],Fe))return!1;return!0},subset:Je},Ie={exact:function Ee(Re,He){return De(Re,He)},subset:function Xe(Re,He){return Object.keys(He).length<=Object.keys(Re).length&&Object.keys(He).every(Fe=>oe(Re[Fe],He[Fe]))},ignored:()=>!0};function we(Re,He,Fe){return xe[Fe.paths](Re.root,He.root,Fe.matrixParams)&&Ie[Fe.queryParams](Re.queryParams,He.queryParams)&&!("exact"===Fe.fragment&&Re.fragment!==He.fragment)}function Je(Re,He,Fe){return lt(Re,He,He.segments,Fe)}function lt(Re,He,Fe,Ue){if(Re.segments.length>Fe.length){const rt=Re.segments.slice(0,Fe.length);return!(!Pt(rt,Fe)||He.hasChildren()||!qe(rt,Fe,Ue))}if(Re.segments.length===Fe.length){if(!Pt(Re.segments,Fe)||!qe(Re.segments,Fe,Ue))return!1;for(const rt in He.children)if(!Re.children[rt]||!Je(Re.children[rt],He.children[rt],Ue))return!1;return!0}{const rt=Fe.slice(0,Re.segments.length),gt=Fe.slice(Re.segments.length);return!!(Pt(Re.segments,rt)&&qe(Re.segments,rt,Ue)&&Re.children[Y])&<(Re.children[Y],He,gt,Ue)}}function qe(Re,He,Fe){return He.every((Ue,rt)=>Ie[Fe](Re[rt].parameters,Ue.parameters))}class st{constructor(He=new Tt([],{}),Fe={},Ue=null){this.root=He,this.queryParams=Fe,this.fragment=Ue}get queryParamMap(){return this._queryParamMap??=_e(this.queryParams),this._queryParamMap}toString(){return It.serialize(this)}}class Tt{constructor(He,Fe){this.segments=He,this.children=Fe,this.parent=null,Object.values(Fe).forEach(Ue=>Ue.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return xt(this)}}class pt{constructor(He,Fe){this.path=He,this.parameters=Fe}get parameterMap(){return this._parameterMap??=_e(this.parameters),this._parameterMap}toString(){return gs(this)}}function Pt(Re,He){return Re.length===He.length&&Re.every((Fe,Ue)=>Fe.path===He[Ue].path)}let ti=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>new Dt,providedIn:"root"})}return Re})();class Dt{parse(He){const Fe=new qn(He);return new st(Fe.parseRootSegment(),Fe.parseQueryParams(),Fe.parseFragment())}serialize(He){const Fe=`/${wt(He.root,!0)}`,Ue=function as(Re){const He=Object.entries(Re).map(([Fe,Ue])=>Array.isArray(Ue)?Ue.map(rt=>`${di(Fe)}=${di(rt)}`).join("&"):`${di(Fe)}=${di(Ue)}`).filter(Fe=>Fe);return He.length?`?${He.join("&")}`:""}(He.queryParams);return`${Fe}${Ue}${"string"==typeof He.fragment?`#${function Ni(Re){return encodeURI(Re)}(He.fragment)}`:""}`}}const It=new Dt;function xt(Re){return Re.segments.map(He=>gs(He)).join("/")}function wt(Re,He){if(!Re.hasChildren())return xt(Re);if(He){const Fe=Re.children[Y]?wt(Re.children[Y],!1):"",Ue=[];return Object.entries(Re.children).forEach(([rt,gt])=>{rt!==Y&&Ue.push(`${rt}:${wt(gt,!1)}`)}),Ue.length>0?`${Fe}(${Ue.join("//")})`:Fe}{const Fe=function Gt(Re,He){let Fe=[];return Object.entries(Re.children).forEach(([Ue,rt])=>{Ue===Y&&(Fe=Fe.concat(He(rt,Ue)))}),Object.entries(Re.children).forEach(([Ue,rt])=>{Ue!==Y&&(Fe=Fe.concat(He(rt,Ue)))}),Fe}(Re,(Ue,rt)=>rt===Y?[wt(Re.children[Y],!1)]:[`${rt}:${wt(Ue,!1)}`]);return 1===Object.keys(Re.children).length&&null!=Re.children[Y]?`${xt(Re)}/${Fe[0]}`:`${xt(Re)}/(${Fe.join("//")})`}}function Qt(Re){return encodeURIComponent(Re).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function di(Re){return Qt(Re).replace(/%3B/gi,";")}function mi(Re){return Qt(Re).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function vi(Re){return decodeURIComponent(Re)}function zi(Re){return vi(Re.replace(/\+/g,"%20"))}function gs(Re){return`${mi(Re.path)}${function Fn(Re){return Object.entries(Re).map(([He,Fe])=>`;${mi(He)}=${mi(Fe)}`).join("")}(Re.parameters)}`}const ms=/^[^\/()?;#]+/;function Ln(Re){const He=Re.match(ms);return He?He[0]:""}const fn=/^[^\/()?;=#]+/,Cs=/^[^=?&#]+/,In=/^[^&#]+/;class qn{constructor(He){this.url=He,this.remaining=He}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Tt([],{}):new Tt([],this.parseChildren())}parseQueryParams(){const He={};if(this.consumeOptional("?"))do{this.parseQueryParam(He)}while(this.consumeOptional("&"));return He}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const He=[];for(this.peekStartsWith("(")||He.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),He.push(this.parseSegment());let Fe={};this.peekStartsWith("/(")&&(this.capture("/"),Fe=this.parseParens(!0));let Ue={};return this.peekStartsWith("(")&&(Ue=this.parseParens(!1)),(He.length>0||Object.keys(Fe).length>0)&&(Ue[Y]=new Tt(He,Fe)),Ue}parseSegment(){const He=Ln(this.remaining);if(""===He&&this.peekStartsWith(";"))throw new M.wOt(4009,!1);return this.capture(He),new pt(vi(He),this.parseMatrixParams())}parseMatrixParams(){const He={};for(;this.consumeOptional(";");)this.parseParam(He);return He}parseParam(He){const Fe=function ki(Re){const He=Re.match(fn);return He?He[0]:""}(this.remaining);if(!Fe)return;this.capture(Fe);let Ue="";if(this.consumeOptional("=")){const rt=Ln(this.remaining);rt&&(Ue=rt,this.capture(Ue))}He[vi(Fe)]=vi(Ue)}parseQueryParam(He){const Fe=function Kn(Re){const He=Re.match(Cs);return He?He[0]:""}(this.remaining);if(!Fe)return;this.capture(Fe);let Ue="";if(this.consumeOptional("=")){const Ot=function Bs(Re){const He=Re.match(In);return He?He[0]:""}(this.remaining);Ot&&(Ue=Ot,this.capture(Ue))}const rt=zi(Fe),gt=zi(Ue);if(He.hasOwnProperty(rt)){let Ot=He[rt];Array.isArray(Ot)||(Ot=[Ot],He[rt]=Ot),Ot.push(gt)}else He[rt]=gt}parseParens(He){const Fe={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const Ue=Ln(this.remaining),rt=this.remaining[Ue.length];if("/"!==rt&&")"!==rt&&";"!==rt)throw new M.wOt(4010,!1);let gt;Ue.indexOf(":")>-1?(gt=Ue.slice(0,Ue.indexOf(":")),this.capture(gt),this.capture(":")):He&&(gt=Y);const Ot=this.parseChildren();Fe[gt]=1===Object.keys(Ot).length?Ot[Y]:new Tt([],Ot),this.consumeOptional("//")}return Fe}peekStartsWith(He){return this.remaining.startsWith(He)}consumeOptional(He){return!!this.peekStartsWith(He)&&(this.remaining=this.remaining.substring(He.length),!0)}capture(He){if(!this.consumeOptional(He))throw new M.wOt(4011,!1)}}function Wi(Re){return Re.segments.length>0?new Tt([],{[Y]:Re}):Re}function js(Re){const He={};for(const[Ue,rt]of Object.entries(Re.children)){const gt=js(rt);if(Ue===Y&&0===gt.segments.length&>.hasChildren())for(const[Ot,qt]of Object.entries(gt.children))He[Ot]=qt;else(gt.segments.length>0||gt.hasChildren())&&(He[Ue]=gt)}return function On(Re){if(1===Re.numberOfChildren&&Re.children[Y]){const He=Re.children[Y];return new Tt(Re.segments.concat(He.segments),He.children)}return Re}(new Tt(Re.segments,He))}function ar(Re){return Re instanceof st}function Wr(Re){let He;const rt=Wi(function Fe(gt){const Ot={};for(const Xt of gt.children){const Ei=Fe(Xt);Ot[Xt.outlet]=Ei}const qt=new Tt(gt.url,Ot);return gt===Re&&(He=qt),qt}(Re.root));return He??rt}function Cr(Re,He,Fe,Ue){let rt=Re;for(;rt.parent;)rt=rt.parent;if(0===He.length)return Nt(rt,rt,rt,Fe,Ue);const gt=function $e(Re){if("string"==typeof Re[0]&&1===Re.length&&"/"===Re[0])return new _t(!0,0,Re);let He=0,Fe=!1;const Ue=Re.reduce((rt,gt,Ot)=>{if("object"==typeof gt&&null!=gt){if(gt.outlets){const qt={};return Object.entries(gt.outlets).forEach(([Xt,Ei])=>{qt[Xt]="string"==typeof Ei?Ei.split("/"):Ei}),[...rt,{outlets:qt}]}if(gt.segmentPath)return[...rt,gt.segmentPath]}return"string"!=typeof gt?[...rt,gt]:0===Ot?(gt.split("/").forEach((qt,Xt)=>{0==Xt&&"."===qt||(0==Xt&&""===qt?Fe=!0:".."===qt?He++:""!=qt&&rt.push(qt))}),rt):[...rt,gt]},[]);return new _t(Fe,He,Ue)}(He);if(gt.toRoot())return Nt(rt,rt,new Tt([],{}),Fe,Ue);const Ot=function At(Re,He,Fe){if(Re.isAbsolute)return new yt(He,!0,0);if(!Fe)return new yt(He,!1,NaN);if(null===Fe.parent)return new yt(Fe,!0,0);const Ue=St(Re.commands[0])?0:1;return function $t(Re,He,Fe){let Ue=Re,rt=He,gt=Fe;for(;gt>rt;){if(gt-=rt,Ue=Ue.parent,!Ue)throw new M.wOt(4005,!1);rt=Ue.segments.length}return new yt(Ue,!1,rt-gt)}(Fe,Fe.segments.length-1+Ue,Re.numberOfDoubleDots)}(gt,rt,Re),qt=Ot.processChildren?qi(Ot.segmentGroup,Ot.index,gt.commands):Di(Ot.segmentGroup,Ot.index,gt.commands);return Nt(rt,Ot.segmentGroup,qt,Fe,Ue)}function St(Re){return"object"==typeof Re&&null!=Re&&!Re.outlets&&!Re.segmentPath}function Rt(Re){return"object"==typeof Re&&null!=Re&&Re.outlets}function Nt(Re,He,Fe,Ue,rt){let Ot,gt={};Ue&&Object.entries(Ue).forEach(([Xt,Ei])=>{gt[Xt]=Array.isArray(Ei)?Ei.map(on=>`${on}`):`${Ei}`}),Ot=Re===He?Fe:mt(Re,He,Fe);const qt=Wi(js(Ot));return new st(qt,gt,rt)}function mt(Re,He,Fe){const Ue={};return Object.entries(Re.children).forEach(([rt,gt])=>{Ue[rt]=gt===He?Fe:mt(gt,He,Fe)}),new Tt(Re.segments,Ue)}class _t{constructor(He,Fe,Ue){if(this.isAbsolute=He,this.numberOfDoubleDots=Fe,this.commands=Ue,He&&Ue.length>0&&St(Ue[0]))throw new M.wOt(4003,!1);const rt=Ue.find(Rt);if(rt&&rt!==ee(Ue))throw new M.wOt(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class yt{constructor(He,Fe,Ue){this.segmentGroup=He,this.processChildren=Fe,this.index=Ue}}function Di(Re,He,Fe){if(Re??=new Tt([],{}),0===Re.segments.length&&Re.hasChildren())return qi(Re,He,Fe);const Ue=function Ki(Re,He,Fe){let Ue=0,rt=He;const gt={match:!1,pathIndex:0,commandIndex:0};for(;rt=Fe.length)return gt;const Ot=Re.segments[rt],qt=Fe[Ue];if(Rt(qt))break;const Xt=`${qt}`,Ei=Ue0&&void 0===Xt)break;if(Xt&&Ei&&"object"==typeof Ei&&void 0===Ei.outlets){if(!gn(Xt,Ei,Ot))return gt;Ue+=2}else{if(!gn(Xt,{},Ot))return gt;Ue++}rt++}return{match:!0,pathIndex:rt,commandIndex:Ue}}(Re,He,Fe),rt=Fe.slice(Ue.commandIndex);if(Ue.match&&Ue.pathIndexgt!==Y)&&Re.children[Y]&&1===Re.numberOfChildren&&0===Re.children[Y].segments.length){const gt=qi(Re.children[Y],He,Fe);return new Tt(Re.segments,gt.children)}return Object.entries(Ue).forEach(([gt,Ot])=>{"string"==typeof Ot&&(Ot=[Ot]),null!==Ot&&(rt[gt]=Di(Re.children[gt],He,Ot))}),Object.entries(Re.children).forEach(([gt,Ot])=>{void 0===Ue[gt]&&(rt[gt]=Ot)}),new Tt(Re.segments,rt)}}function ls(Re,He,Fe){const Ue=Re.segments.slice(0,He);let rt=0;for(;rt{"string"==typeof Ue&&(Ue=[Ue]),null!==Ue&&(He[Fe]=ls(new Tt([],{}),0,Ue))}),He}function tn(Re){const He={};return Object.entries(Re).forEach(([Fe,Ue])=>He[Fe]=`${Ue}`),He}function gn(Re,He,Fe){return Re==Fe.path&&De(He,Fe.parameters)}const cs="imperative";var sn=function(Re){return Re[Re.NavigationStart=0]="NavigationStart",Re[Re.NavigationEnd=1]="NavigationEnd",Re[Re.NavigationCancel=2]="NavigationCancel",Re[Re.NavigationError=3]="NavigationError",Re[Re.RoutesRecognized=4]="RoutesRecognized",Re[Re.ResolveStart=5]="ResolveStart",Re[Re.ResolveEnd=6]="ResolveEnd",Re[Re.GuardsCheckStart=7]="GuardsCheckStart",Re[Re.GuardsCheckEnd=8]="GuardsCheckEnd",Re[Re.RouteConfigLoadStart=9]="RouteConfigLoadStart",Re[Re.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",Re[Re.ChildActivationStart=11]="ChildActivationStart",Re[Re.ChildActivationEnd=12]="ChildActivationEnd",Re[Re.ActivationStart=13]="ActivationStart",Re[Re.ActivationEnd=14]="ActivationEnd",Re[Re.Scroll=15]="Scroll",Re[Re.NavigationSkipped=16]="NavigationSkipped",Re}(sn||{});class Bn{constructor(He,Fe){this.id=He,this.url=Fe}}class Er extends Bn{constructor(He,Fe,Ue="imperative",rt=null){super(He,Fe),this.type=sn.NavigationStart,this.navigationTrigger=Ue,this.restoredState=rt}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class bs extends Bn{constructor(He,Fe,Ue){super(He,Fe),this.urlAfterRedirects=Ue,this.type=sn.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}var Un=function(Re){return Re[Re.Redirect=0]="Redirect",Re[Re.SupersededByNewNavigation=1]="SupersededByNewNavigation",Re[Re.NoDataFromResolver=2]="NoDataFromResolver",Re[Re.GuardRejected=3]="GuardRejected",Re}(Un||{}),pr=function(Re){return Re[Re.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",Re[Re.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",Re}(pr||{});class Ui extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.reason=Ue,this.code=rt,this.type=sn.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class ln extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.reason=Ue,this.code=rt,this.type=sn.NavigationSkipped}}class Na extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.error=Ue,this.target=rt,this.type=sn.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class lr extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.type=sn.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Fa extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.type=sn.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Ba extends Bn{constructor(He,Fe,Ue,rt,gt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.shouldActivate=gt,this.type=sn.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class ja extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.type=sn.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class go extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.type=sn.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class wn{constructor(He){this.route=He,this.type=sn.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class Va{constructor(He){this.route=He,this.type=sn.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class za{constructor(He){this.snapshot=He,this.type=sn.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class $s{constructor(He){this.snapshot=He,this.type=sn.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ha{constructor(He){this.snapshot=He,this.type=sn.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Rl{constructor(He){this.snapshot=He,this.type=sn.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Nl{constructor(He,Fe,Ue){this.routerEvent=He,this.position=Fe,this.anchor=Ue,this.type=sn.Scroll}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class wr{}class Jr{constructor(He){this.url=He}}class Fl{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new mo,this.attachRef=null}}let mo=(()=>{class Re{constructor(){this.contexts=new Map}onChildOutletCreated(Fe,Ue){const rt=this.getOrCreateContext(Fe);rt.outlet=Ue,this.contexts.set(Fe,rt)}onChildOutletDestroyed(Fe){const Ue=this.getContext(Fe);Ue&&(Ue.outlet=null,Ue.attachRef=null)}onOutletDeactivated(){const Fe=this.contexts;return this.contexts=new Map,Fe}onOutletReAttached(Fe){this.contexts=Fe}getOrCreateContext(Fe){let Ue=this.getContext(Fe);return Ue||(Ue=new Fl,this.contexts.set(Fe,Ue)),Ue}getContext(Fe){return this.contexts.get(Fe)||null}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();class da{constructor(He){this._root=He}get root(){return this._root.value}parent(He){const Fe=this.pathFromRoot(He);return Fe.length>1?Fe[Fe.length-2]:null}children(He){const Fe=Ga(He,this._root);return Fe?Fe.children.map(Ue=>Ue.value):[]}firstChild(He){const Fe=Ga(He,this._root);return Fe&&Fe.children.length>0?Fe.children[0].value:null}siblings(He){const Fe=Tr(He,this._root);return Fe.length<2?[]:Fe[Fe.length-2].children.map(rt=>rt.value).filter(rt=>rt!==He)}pathFromRoot(He){return Tr(He,this._root).map(Fe=>Fe.value)}}function Ga(Re,He){if(Re===He.value)return He;for(const Fe of He.children){const Ue=Ga(Re,Fe);if(Ue)return Ue}return null}function Tr(Re,He){if(Re===He.value)return[He];for(const Fe of He.children){const Ue=Tr(Re,Fe);if(Ue.length)return Ue.unshift(He),Ue}return[]}class fr{constructor(He,Fe){this.value=He,this.children=Fe}toString(){return`TreeNode(${this.value})`}}function tr(Re){const He={};return Re&&Re.children.forEach(Fe=>He[Fe.value.outlet]=Fe),He}class Ha extends da{constructor(He,Fe){super(He),this.snapshot=Fe,ko(this,He)}toString(){return this.snapshot.toString()}}function Es(Re){const He=function ir(Re){const gt=new So([],{},{},"",{},Y,Re,null,{});return new Yo("",new fr(gt,[]))}(Re),Fe=new q.t([new pt("",{})]),Ue=new q.t({}),rt=new q.t({}),gt=new q.t({}),Ot=new q.t(""),qt=new $i(Fe,Ue,gt,Ot,rt,Y,Re,He.root);return qt.snapshot=He.root,new Ha(new fr(qt,[]),He)}class $i{constructor(He,Fe,Ue,rt,gt,Ot,qt,Xt){this.urlSubject=He,this.paramsSubject=Fe,this.queryParamsSubject=Ue,this.fragmentSubject=rt,this.dataSubject=gt,this.outlet=Ot,this.component=qt,this._futureSnapshot=Xt,this.title=this.dataSubject?.pipe((0,v.T)(Ei=>Ei[he]))??(0,Le.of)(void 0),this.url=He,this.params=Fe,this.queryParams=Ue,this.fragment=rt,this.data=gt}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe((0,v.T)(He=>_e(He))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe((0,v.T)(He=>_e(He))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function Ar(Re,He,Fe="emptyOnly"){let Ue;const{routeConfig:rt}=Re;return Ue=null===He||"always"!==Fe&&""!==rt?.path&&(He.component||He.routeConfig?.loadComponent)?{params:{...Re.params},data:{...Re.data},resolve:{...Re.data,...Re._resolvedData??{}}}:{params:{...He.params,...Re.params},data:{...He.data,...Re.data},resolve:{...Re.data,...He.data,...rt?.data,...Re._resolvedData}},rt&&Qs(rt)&&(Ue.resolve[he]=rt.title),Ue}class So{get title(){return this.data?.[he]}constructor(He,Fe,Ue,rt,gt,Ot,qt,Xt,Ei){this.url=He,this.params=Fe,this.queryParams=Ue,this.fragment=rt,this.data=gt,this.outlet=Ot,this.component=qt,this.routeConfig=Xt,this._resolve=Ei}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=_e(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=_e(this.queryParams),this._queryParamMap}toString(){return`Route(url:'${this.url.map(Ue=>Ue.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Yo extends da{constructor(He,Fe){super(Fe),this.url=He,ko(this,Fe)}toString(){return ua(this._root)}}function ko(Re,He){He.value._routerState=Re,He.children.forEach(Fe=>ko(Re,Fe))}function ua(Re){const He=Re.children.length>0?` { ${Re.children.map(ua).join(", ")} } `:"";return`${Re.value}${He}`}function pa(Re){if(Re.snapshot){const He=Re.snapshot,Fe=Re._futureSnapshot;Re.snapshot=Fe,De(He.queryParams,Fe.queryParams)||Re.queryParamsSubject.next(Fe.queryParams),He.fragment!==Fe.fragment&&Re.fragmentSubject.next(Fe.fragment),De(He.params,Fe.params)||Re.paramsSubject.next(Fe.params),function Oe(Re,He){if(Re.length!==He.length)return!1;for(let Fe=0;FeDe(Fe.parameters,He[Ue].parameters))}(Re.url,He.url);return Fe&&!(!Re.parent!=!He.parent)&&(!Re.parent||fa(Re.parent,He.parent))}function Qs(Re){return"string"==typeof Re.title||null===Re.title}let ga=(()=>{class Re{constructor(){this.activated=null,this._activatedRoute=null,this.name=Y,this.activateEvents=new M.bkB,this.deactivateEvents=new M.bkB,this.attachEvents=new M.bkB,this.detachEvents=new M.bkB,this.parentContexts=(0,M.WQX)(mo),this.location=(0,M.WQX)(M.c1b),this.changeDetector=(0,M.WQX)(M.gRc),this.environmentInjector=(0,M.WQX)(M.uvJ),this.inputBinder=(0,M.WQX)(ma,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(Fe){if(Fe.name){const{firstChange:Ue,previousValue:rt}=Fe.name;if(Ue)return;this.isTrackedInParentContexts(rt)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(rt)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(Fe){return this.parentContexts.getContext(Fe)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const Fe=this.parentContexts.getContext(this.name);Fe?.route&&(Fe.attachRef?this.attach(Fe.attachRef,Fe.route):this.activateWith(Fe.route,Fe.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new M.wOt(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new M.wOt(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new M.wOt(4012,!1);this.location.detach();const Fe=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(Fe.instance),Fe}attach(Fe,Ue){this.activated=Fe,this._activatedRoute=Ue,this.location.insert(Fe.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(Fe.instance)}deactivate(){if(this.activated){const Fe=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(Fe)}}activateWith(Fe,Ue){if(this.isActivated)throw new M.wOt(4013,!1);this._activatedRoute=Fe;const rt=this.location,Ot=Fe.snapshot.component,qt=this.parentContexts.getOrCreateContext(this.name).children,Xt=new eo(Fe,qt,rt.injector);this.activated=rt.createComponent(Ot,{index:rt.length,injector:Xt,environmentInjector:Ue??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275dir=M.FsC({type:Re,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[M.OA$]})}return Re})();class eo{constructor(He,Fe,Ue){this.route=He,this.childContexts=Fe,this.parent=Ue}get(He,Fe){return He===$i?this.route:He===mo?this.childContexts:this.parent.get(He,Fe)}}const ma=new M.nKC("");let Ir=(()=>{class Re{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(Fe){this.unsubscribeFromRouteData(Fe),this.subscribeToRouteData(Fe)}unsubscribeFromRouteData(Fe){this.outletDataSubscriptions.get(Fe)?.unsubscribe(),this.outletDataSubscriptions.delete(Fe)}subscribeToRouteData(Fe){const{activatedRoute:Ue}=Fe,rt=X([Ue.queryParams,Ue.params,Ue.data]).pipe((0,o.n)(([gt,Ot,qt],Xt)=>(qt={...gt,...Ot,...qt},0===Xt?(0,Le.of)(qt):Promise.resolve(qt)))).subscribe(gt=>{if(!Fe.isActivated||!Fe.activatedComponentRef||Fe.activatedRoute!==Ue||null===Ue.component)return void this.unsubscribeFromRouteData(Fe);const Ot=(0,M.HJs)(Ue.component);if(Ot)for(const{templateName:qt}of Ot.inputs)Fe.activatedComponentRef.setInput(qt,gt[qt]);else this.unsubscribeFromRouteData(Fe)});this.outletDataSubscriptions.set(Fe,rt)}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac})}return Re})();function es(Re,He,Fe){if(Fe&&Re.shouldReuseRoute(He.value,Fe.value.snapshot)){const Ue=Fe.value;Ue._futureSnapshot=He.value;const rt=function $r(Re,He,Fe){return He.children.map(Ue=>{for(const rt of Fe.children)if(Re.shouldReuseRoute(Ue.value,rt.value.snapshot))return es(Re,Ue,rt);return es(Re,Ue)})}(Re,He,Fe);return new fr(Ue,rt)}{if(Re.shouldAttach(He.value)){const gt=Re.retrieve(He.value);if(null!==gt){const Ot=gt.route;return Ot.value._futureSnapshot=He.value,Ot.children=He.children.map(qt=>es(Re,qt)),Ot}}const Ue=function Ko(Re){return new $i(new q.t(Re.url),new q.t(Re.params),new q.t(Re.queryParams),new q.t(Re.fragment),new q.t(Re.data),Re.outlet,Re.component,Re)}(He.value),rt=He.children.map(gt=>es(Re,gt));return new fr(Ue,rt)}}const Do="ngNavigationCancelingError";function Zo(Re,He){const{redirectTo:Fe,navigationBehaviorOptions:Ue}=ar(He)?{redirectTo:He,navigationBehaviorOptions:void 0}:He,rt=to(!1,Un.Redirect);return rt.url=Fe,rt.navigationBehaviorOptions=Ue,rt}function to(Re,He){const Fe=new Error(`NavigationCancelingError: ${Re||""}`);return Fe[Do]=!0,Fe.cancellationCode=He,Fe}function va(Re){return!!Re&&Re[Do]}let Mo=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275cmp=M.VBU({type:Re,selectors:[["ng-component"]],standalone:!0,features:[M.aNF],decls:1,vars:0,template:function(Ue,rt){1&Ue&&M.nrm(0,"router-outlet")},dependencies:[ga],encapsulation:2})}return Re})();function Io(Re){const He=Re.children&&Re.children.map(Io),Fe=He?{...Re,children:He}:{...Re};return!Fe.component&&!Fe.loadComponent&&(He||Fe.loadChildren)&&Fe.outlet&&Fe.outlet!==Y&&(Fe.component=Mo),Fe}function hr(Re){return Re.outlet||Y}function Or(Re){if(!Re)return null;if(Re.routeConfig?._injector)return Re.routeConfig._injector;for(let He=Re.parent;He;He=He.parent){const Fe=He.routeConfig;if(Fe?._loadedInjector)return Fe._loadedInjector;if(Fe?._injector)return Fe._injector}return null}class Ua{constructor(He,Fe,Ue,rt,gt){this.routeReuseStrategy=He,this.futureState=Fe,this.currState=Ue,this.forwardEvent=rt,this.inputBindingEnabled=gt}activate(He){const Fe=this.futureState._root,Ue=this.currState?this.currState._root:null;this.deactivateChildRoutes(Fe,Ue,He),pa(this.futureState.root),this.activateChildRoutes(Fe,Ue,He)}deactivateChildRoutes(He,Fe,Ue){const rt=tr(Fe);He.children.forEach(gt=>{const Ot=gt.value.outlet;this.deactivateRoutes(gt,rt[Ot],Ue),delete rt[Ot]}),Object.values(rt).forEach(gt=>{this.deactivateRouteAndItsChildren(gt,Ue)})}deactivateRoutes(He,Fe,Ue){const rt=He.value,gt=Fe?Fe.value:null;if(rt===gt)if(rt.component){const Ot=Ue.getContext(rt.outlet);Ot&&this.deactivateChildRoutes(He,Fe,Ot.children)}else this.deactivateChildRoutes(He,Fe,Ue);else gt&&this.deactivateRouteAndItsChildren(Fe,Ue)}deactivateRouteAndItsChildren(He,Fe){He.value.component&&this.routeReuseStrategy.shouldDetach(He.value.snapshot)?this.detachAndStoreRouteSubtree(He,Fe):this.deactivateRouteAndOutlet(He,Fe)}detachAndStoreRouteSubtree(He,Fe){const Ue=Fe.getContext(He.value.outlet),rt=Ue&&He.value.component?Ue.children:Fe,gt=tr(He);for(const Ot of Object.values(gt))this.deactivateRouteAndItsChildren(Ot,rt);if(Ue&&Ue.outlet){const Ot=Ue.outlet.detach(),qt=Ue.children.onOutletDeactivated();this.routeReuseStrategy.store(He.value.snapshot,{componentRef:Ot,route:He,contexts:qt})}}deactivateRouteAndOutlet(He,Fe){const Ue=Fe.getContext(He.value.outlet),rt=Ue&&He.value.component?Ue.children:Fe,gt=tr(He);for(const Ot of Object.values(gt))this.deactivateRouteAndItsChildren(Ot,rt);Ue&&(Ue.outlet&&(Ue.outlet.deactivate(),Ue.children.onOutletDeactivated()),Ue.attachRef=null,Ue.route=null)}activateChildRoutes(He,Fe,Ue){const rt=tr(Fe);He.children.forEach(gt=>{this.activateRoutes(gt,rt[gt.value.outlet],Ue),this.forwardEvent(new Rl(gt.value.snapshot))}),He.children.length&&this.forwardEvent(new $s(He.value.snapshot))}activateRoutes(He,Fe,Ue){const rt=He.value,gt=Fe?Fe.value:null;if(pa(rt),rt===gt)if(rt.component){const Ot=Ue.getOrCreateContext(rt.outlet);this.activateChildRoutes(He,Fe,Ot.children)}else this.activateChildRoutes(He,Fe,Ue);else if(rt.component){const Ot=Ue.getOrCreateContext(rt.outlet);if(this.routeReuseStrategy.shouldAttach(rt.snapshot)){const qt=this.routeReuseStrategy.retrieve(rt.snapshot);this.routeReuseStrategy.store(rt.snapshot,null),Ot.children.onOutletReAttached(qt.contexts),Ot.attachRef=qt.componentRef,Ot.route=qt.route.value,Ot.outlet&&Ot.outlet.attach(qt.componentRef,qt.route.value),pa(qt.route.value),this.activateChildRoutes(He,null,Ot.children)}else{const qt=Or(rt.snapshot);Ot.attachRef=null,Ot.route=rt,Ot.injector=qt,Ot.outlet&&Ot.outlet.activateWith(rt,Ot.injector),this.activateChildRoutes(He,null,Ot.children)}}else this.activateChildRoutes(He,null,Ue)}}class ot{constructor(He){this.path=He,this.route=this.path[this.path.length-1]}}class ct{constructor(He,Fe){this.component=He,this.route=Fe}}function Ye(Re,He,Fe){const Ue=Re._root;return Fi(Ue,He?He._root:null,Fe,[Ue.value])}function Ft(Re,He){const Fe=Symbol(),Ue=He.get(Re,Fe);return Ue===Fe?"function"!=typeof Re||(0,M.LfX)(Re)?He.get(Re):Re:Ue}function Fi(Re,He,Fe,Ue,rt={canDeactivateChecks:[],canActivateChecks:[]}){const gt=tr(He);return Re.children.forEach(Ot=>{(function mn(Re,He,Fe,Ue,rt={canDeactivateChecks:[],canActivateChecks:[]}){const gt=Re.value,Ot=He?He.value:null,qt=Fe?Fe.getContext(Re.value.outlet):null;if(Ot&>.routeConfig===Ot.routeConfig){const Xt=function io(Re,He,Fe){if("function"==typeof Fe)return Fe(Re,He);switch(Fe){case"pathParamsChange":return!Pt(Re.url,He.url);case"pathParamsOrQueryParamsChange":return!Pt(Re.url,He.url)||!De(Re.queryParams,He.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!fa(Re,He)||!De(Re.queryParams,He.queryParams);default:return!fa(Re,He)}}(Ot,gt,gt.routeConfig.runGuardsAndResolvers);Xt?rt.canActivateChecks.push(new ot(Ue)):(gt.data=Ot.data,gt._resolvedData=Ot._resolvedData),Fi(Re,He,gt.component?qt?qt.children:null:Fe,Ue,rt),Xt&&qt&&qt.outlet&&qt.outlet.isActivated&&rt.canDeactivateChecks.push(new ct(qt.outlet.component,Ot))}else Ot&&nr(He,qt,rt),rt.canActivateChecks.push(new ot(Ue)),Fi(Re,null,gt.component?qt?qt.children:null:Fe,Ue,rt)})(Ot,gt[Ot.value.outlet],Fe,Ue.concat([Ot.value]),rt),delete gt[Ot.value.outlet]}),Object.entries(gt).forEach(([Ot,qt])=>nr(qt,Fe.getContext(Ot),rt)),rt}function nr(Re,He,Fe){const Ue=tr(Re),rt=Re.value;Object.entries(Ue).forEach(([gt,Ot])=>{nr(Ot,rt.component?He?He.children.getContext(gt):null:He,Fe)}),Fe.canDeactivateChecks.push(new ct(rt.component&&He&&He.outlet&&He.outlet.isActivated?He.outlet.component:null,rt))}function Vs(Re){return"function"==typeof Re}function cc(Re){return Re instanceof P||"EmptyError"===Re?.name}const al=Symbol("INITIAL_VALUE");function ll(){return(0,o.n)(Re=>X(Re.map(He=>He.pipe((0,n.s)(1),(0,r.Z)(al)))).pipe((0,v.T)(He=>{for(const Fe of He)if(!0!==Fe){if(Fe===al)return al;if(!1===Fe||Fe instanceof st)return Fe}return!0}),(0,l.p)(He=>He!==al),(0,n.s)(1)))}function vs(Re){return(0,I.F)((0,z.M)(He=>{if(ar(He))throw Zo(0,He)}),(0,v.T)(He=>!0===He))}class kr{constructor(He){this.segmentGroup=He||null}}class er extends Error{constructor(He){super(),this.urlTree=He}}function Qo(Re){return(0,_.$)(new kr(Re))}class Sh{constructor(He,Fe){this.urlSerializer=He,this.urlTree=Fe}lineralizeSegments(He,Fe){let Ue=[],rt=Fe.root;for(;;){if(Ue=Ue.concat(rt.segments),0===rt.numberOfChildren)return(0,Le.of)(Ue);if(rt.numberOfChildren>1||!rt.children[Y])return(0,_.$)(new M.wOt(4e3,!1));rt=rt.children[Y]}}applyRedirectCommands(He,Fe,Ue){const rt=this.applyRedirectCreateUrlTree(Fe,this.urlSerializer.parse(Fe),He,Ue);if(Fe.startsWith("/"))throw new er(rt);return rt}applyRedirectCreateUrlTree(He,Fe,Ue,rt){const gt=this.createSegmentGroup(He,Fe.root,Ue,rt);return new st(gt,this.createQueryParams(Fe.queryParams,this.urlTree.queryParams),Fe.fragment)}createQueryParams(He,Fe){const Ue={};return Object.entries(He).forEach(([rt,gt])=>{if("string"==typeof gt&>.startsWith(":")){const qt=gt.substring(1);Ue[rt]=Fe[qt]}else Ue[rt]=gt}),Ue}createSegmentGroup(He,Fe,Ue,rt){const gt=this.createSegments(He,Fe.segments,Ue,rt);let Ot={};return Object.entries(Fe.children).forEach(([qt,Xt])=>{Ot[qt]=this.createSegmentGroup(He,Xt,Ue,rt)}),new Tt(gt,Ot)}createSegments(He,Fe,Ue,rt){return Fe.map(gt=>gt.path.startsWith(":")?this.findPosParam(He,gt,rt):this.findOrReturn(gt,Ue))}findPosParam(He,Fe,Ue){const rt=Ue[Fe.path.substring(1)];if(!rt)throw new M.wOt(4001,!1);return rt}findOrReturn(He,Fe){let Ue=0;for(const rt of Fe){if(rt.path===He.path)return Fe.splice(Ue),rt;Ue++}return He}}const Jo={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function pc(Re,He,Fe,Ue,rt){const gt=cl(Re,He,Fe);return gt.matched?(Ue=function Js(Re,He){return Re.providers&&!Re._injector&&(Re._injector=(0,M.Ol2)(Re.providers,He,`Route: ${Re.path}`)),Re._injector??He}(He,Ue),function fs(Re,He,Fe,Ue){const rt=He.canMatch;if(!rt||0===rt.length)return(0,Le.of)(!0);const gt=rt.map(Ot=>{const qt=Ft(Ot,Re);return be(function lc(Re){return Re&&Vs(Re.canMatch)}(qt)?qt.canMatch(He,Fe):(0,M.N4e)(Re,()=>qt(He,Fe)))});return(0,Le.of)(gt).pipe(ll(),vs())}(Ue,He,Fe).pipe((0,v.T)(Ot=>!0===Ot?gt:{...Jo}))):(0,Le.of)(gt)}function cl(Re,He,Fe){if("**"===He.path)return function Pc(Re){return{matched:!0,parameters:Re.length>0?ee(Re).parameters:{},consumedSegments:Re,remainingSegments:[],positionalParamSegments:{}}}(Fe);if(""===He.path)return"full"===He.pathMatch&&(Re.hasChildren()||Fe.length>0)?{...Jo}:{matched:!0,consumedSegments:[],remainingSegments:Fe,parameters:{},positionalParamSegments:{}};const rt=(He.matcher||Te)(Fe,Re,He);if(!rt)return{...Jo};const gt={};Object.entries(rt.posParams??{}).forEach(([qt,Xt])=>{gt[qt]=Xt.path});const Ot=rt.consumed.length>0?{...gt,...rt.consumed[rt.consumed.length-1].parameters}:gt;return{matched:!0,consumedSegments:rt.consumed,remainingSegments:Fe.slice(rt.consumed.length),parameters:Ot,positionalParamSegments:rt.posParams??{}}}function Hl(Re,He,Fe,Ue){return Fe.length>0&&function Nc(Re,He,Fe){return Fe.some(Ue=>As(Re,He,Ue)&&hr(Ue)!==Y)}(Re,Fe,Ue)?{segmentGroup:new Tt(He,Lo(Ue,new Tt(Fe,Re.children))),slicedSegments:[]}:0===Fe.length&&function Ul(Re,He,Fe){return Fe.some(Ue=>As(Re,He,Ue))}(Re,Fe,Ue)?{segmentGroup:new Tt(Re.segments,Rc(Re,Fe,Ue,Re.children)),slicedSegments:Fe}:{segmentGroup:new Tt(Re.segments,Re.children),slicedSegments:Fe}}function Rc(Re,He,Fe,Ue){const rt={};for(const gt of Fe)if(As(Re,He,gt)&&!Ue[hr(gt)]){const Ot=new Tt([],{});rt[hr(gt)]=Ot}return{...Ue,...rt}}function Lo(Re,He){const Fe={};Fe[Y]=He;for(const Ue of Re)if(""===Ue.path&&hr(Ue)!==Y){const rt=new Tt([],{});Fe[hr(Ue)]=rt}return Fe}function As(Re,He,Fe){return(!(Re.hasChildren()||He.length>0)||"full"!==Fe.pathMatch)&&""===Fe.path}class ea{}class ta{constructor(He,Fe,Ue,rt,gt,Ot,qt){this.injector=He,this.configLoader=Fe,this.rootComponentType=Ue,this.config=rt,this.urlTree=gt,this.paramsInheritanceStrategy=Ot,this.urlSerializer=qt,this.applyRedirects=new Sh(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(He){return new M.wOt(4002,`'${He.segmentGroup}'`)}recognize(){const He=Hl(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(He).pipe((0,v.T)(Fe=>{const Ue=new So([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Y,this.rootComponentType,null,{}),rt=new fr(Ue,Fe),gt=new Yo("",rt),Ot=function To(Re,He,Fe=null,Ue=null){return Cr(Wr(Re),He,Fe,Ue)}(Ue,[],this.urlTree.queryParams,this.urlTree.fragment);return Ot.queryParams=this.urlTree.queryParams,gt.url=this.urlSerializer.serialize(Ot),this.inheritParamsAndData(gt._root,null),{state:gt,tree:Ot}}))}match(He){return this.processSegmentGroup(this.injector,this.config,He,Y).pipe((0,K.W)(Ue=>{if(Ue instanceof er)return this.urlTree=Ue.urlTree,this.match(Ue.urlTree.root);throw Ue instanceof kr?this.noMatchError(Ue):Ue}))}inheritParamsAndData(He,Fe){const Ue=He.value,rt=Ar(Ue,Fe,this.paramsInheritanceStrategy);Ue.params=Object.freeze(rt.params),Ue.data=Object.freeze(rt.data),He.children.forEach(gt=>this.inheritParamsAndData(gt,Ue))}processSegmentGroup(He,Fe,Ue,rt){return 0===Ue.segments.length&&Ue.hasChildren()?this.processChildren(He,Fe,Ue):this.processSegment(He,Fe,Ue,Ue.segments,rt,!0).pipe((0,v.T)(gt=>gt instanceof fr?[gt]:[]))}processChildren(He,Fe,Ue){const rt=[];for(const gt of Object.keys(Ue.children))"primary"===gt?rt.unshift(gt):rt.push(gt);return(0,V.H)(rt).pipe((0,B.H)(gt=>{const Ot=Ue.children[gt],qt=function ol(Re,He){const Fe=Re.filter(Ue=>hr(Ue)===He);return Fe.push(...Re.filter(Ue=>hr(Ue)!==He)),Fe}(Fe,gt);return this.processSegmentGroup(He,qt,Ot,gt)}),function se(Re,He){return(0,G.N)(function U(Re,He,Fe,Ue,rt){return(gt,Ot)=>{let qt=Fe,Xt=He,Ei=0;gt.subscribe((0,J._)(Ot,on=>{const bn=Ei++;Xt=qt?Re(Xt,on,bn):(qt=!0,on),Ue&&Ot.next(Xt)},rt&&(()=>{qt&&Ot.next(Xt),Ot.complete()})))}}(Re,He,arguments.length>=2,!0))}((gt,Ot)=>(gt.push(...Ot),gt)),C(null),function $(Re,He){const Fe=arguments.length>=2;return Ue=>Ue.pipe(Re?(0,l.p)((rt,gt)=>Re(rt,gt,Ue)):ve.D,S(1),Fe?C(He):k(()=>new P))}(),(0,d.Z)(gt=>{if(null===gt)return Qo(Ue);const Ot=Xr(gt);return function hl(Re){Re.sort((He,Fe)=>He.value.outlet===Y?-1:Fe.value.outlet===Y?1:He.value.outlet.localeCompare(Fe.value.outlet))}(Ot),(0,Le.of)(Ot)}))}processSegment(He,Fe,Ue,rt,gt,Ot){return(0,V.H)(Fe).pipe((0,B.H)(qt=>this.processSegmentAgainstRoute(qt._injector??He,Fe,qt,Ue,rt,gt,Ot).pipe((0,K.W)(Xt=>{if(Xt instanceof kr)return(0,Le.of)(null);throw Xt}))),T(qt=>!!qt),(0,K.W)(qt=>{if(cc(qt))return function Po(Re,He,Fe){return 0===He.length&&!Re.children[Fe]}(Ue,rt,gt)?(0,Le.of)(new ea):Qo(Ue);throw qt}))}processSegmentAgainstRoute(He,Fe,Ue,rt,gt,Ot,qt){return function Fc(Re,He,Fe,Ue){return!!(hr(Re)===Ue||Ue!==Y&&As(He,Fe,Re))&&cl(He,Re,Fe).matched}(Ue,rt,gt,Ot)?void 0===Ue.redirectTo?this.matchSegmentAgainstRoute(He,rt,Ue,gt,Ot):this.allowRedirects&&qt?this.expandSegmentAgainstRouteUsingRedirect(He,rt,Fe,Ue,gt,Ot):Qo(rt):Qo(rt)}expandSegmentAgainstRouteUsingRedirect(He,Fe,Ue,rt,gt,Ot){const{matched:qt,consumedSegments:Xt,positionalParamSegments:Ei,remainingSegments:on}=cl(Fe,rt,gt);if(!qt)return Qo(Fe);rt.redirectTo.startsWith("/")&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>31&&(this.allowRedirects=!1));const bn=this.applyRedirects.applyRedirectCommands(Xt,rt.redirectTo,Ei);return this.applyRedirects.lineralizeSegments(rt,bn).pipe((0,d.Z)(Os=>this.processSegment(He,Ue,Fe,Os.concat(on),Ot,!1)))}matchSegmentAgainstRoute(He,Fe,Ue,rt,gt){const Ot=pc(Fe,Ue,rt,He);return"**"===Ue.path&&(Fe.children={}),Ot.pipe((0,o.n)(qt=>qt.matched?this.getChildConfig(He=Ue._injector??He,Ue,rt).pipe((0,o.n)(({routes:Xt})=>{const Ei=Ue._loadedInjector??He,{consumedSegments:on,remainingSegments:bn,parameters:Os}=qt,gl=new So(on,Os,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,function ia(Re){return Re.data||{}}(Ue),hr(Ue),Ue.component??Ue._loadedComponent??null,Ue,function kh(Re){return Re.resolve||{}}(Ue)),{segmentGroup:ml,slicedSegments:Ya}=Hl(Fe,on,bn,Xt);if(0===Ya.length&&ml.hasChildren())return this.processChildren(Ei,Xt,ml).pipe((0,v.T)(Ks=>null===Ks?null:new fr(gl,Ks)));if(0===Xt.length&&0===Ya.length)return(0,Le.of)(new fr(gl,[]));const yc=hr(Ue)===gt;return this.processSegment(Ei,Xt,ml,Ya,yc?Y:gt,!0).pipe((0,v.T)(Ks=>new fr(gl,Ks instanceof fr?[Ks]:[])))})):Qo(Fe)))}getChildConfig(He,Fe,Ue){return Fe.children?(0,Le.of)({routes:Fe.children,injector:He}):Fe.loadChildren?void 0!==Fe._loadedRoutes?(0,Le.of)({routes:Fe._loadedRoutes,injector:Fe._loadedInjector}):function pn(Re,He,Fe,Ue){const rt=He.canLoad;if(void 0===rt||0===rt.length)return(0,Le.of)(!0);const gt=rt.map(Ot=>{const qt=Ft(Ot,Re);return be(function gr(Re){return Re&&Vs(Re.canLoad)}(qt)?qt.canLoad(He,Fe):(0,M.N4e)(Re,()=>qt(He,Fe)))});return(0,Le.of)(gt).pipe(ll(),vs())}(He,Fe,Ue).pipe((0,d.Z)(rt=>rt?this.configLoader.loadChildren(He,Fe).pipe((0,z.M)(gt=>{Fe._loadedRoutes=gt.routes,Fe._loadedInjector=gt.injector})):function Th(Re){return(0,_.$)(to(!1,Un.GuardRejected))}())):(0,Le.of)({routes:[],injector:He})}}function xa(Re){const He=Re.value.routeConfig;return He&&""===He.path}function Xr(Re){const He=[],Fe=new Set;for(const Ue of Re){if(!xa(Ue)){He.push(Ue);continue}const rt=He.find(gt=>Ue.value.routeConfig===gt.value.routeConfig);void 0!==rt?(rt.children.push(...Ue.children),Fe.add(rt)):He.push(Ue)}for(const Ue of Fe){const rt=Xr(Ue.children);He.push(new fr(Ue.value,rt))}return He.filter(Ue=>!Fe.has(Ue))}function Ca(Re){const He=Re.children.map(Fe=>Ca(Fe)).flat();return[Re,...He]}function na(Re){return(0,o.n)(He=>{const Fe=Re(He);return Fe?(0,V.H)(Fe).pipe((0,v.T)(()=>He)):(0,Le.of)(He)})}let $l=(()=>{class Re{buildTitle(Fe){let Ue,rt=Fe.root;for(;void 0!==rt;)Ue=this.getResolvedTitleForRoute(rt)??Ue,rt=rt.children.find(gt=>gt.outlet===Y);return Ue}getResolvedTitleForRoute(Fe){return Fe.data[he]}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(fc),providedIn:"root"})}return Re})(),fc=(()=>{class Re extends $l{constructor(Fe){super(),this.title=Fe}updateTitle(Fe){const Ue=this.buildTitle(Fe);void 0!==Ue&&this.title.setTitle(Ue)}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.KVO(Z.hE))};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();const Ge=new M.nKC("",{providedIn:"root",factory:()=>({})}),ut=new M.nKC("");let Ke=(()=>{class Re{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=(0,M.WQX)(M.Ql9)}loadComponent(Fe){if(this.componentLoaders.get(Fe))return this.componentLoaders.get(Fe);if(Fe._loadedComponent)return(0,Le.of)(Fe._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(Fe);const Ue=be(Fe.loadComponent()).pipe((0,v.T)(Jt),(0,z.M)(gt=>{this.onLoadEndListener&&this.onLoadEndListener(Fe),Fe._loadedComponent=gt}),(0,x.j)(()=>{this.componentLoaders.delete(Fe)})),rt=new f(Ue,()=>new a.B).pipe(O());return this.componentLoaders.set(Fe,rt),rt}loadChildren(Fe,Ue){if(this.childrenLoaders.get(Ue))return this.childrenLoaders.get(Ue);if(Ue._loadedRoutes)return(0,Le.of)({routes:Ue._loadedRoutes,injector:Ue._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(Ue);const gt=function at(Re,He,Fe,Ue){return be(Re.loadChildren()).pipe((0,v.T)(Jt),(0,d.Z)(rt=>rt instanceof M.Co$||Array.isArray(rt)?(0,Le.of)(rt):(0,V.H)(He.compileModuleAsync(rt))),(0,v.T)(rt=>{Ue&&Ue(Re);let gt,Ot,qt=!1;return Array.isArray(rt)?(Ot=rt,!0):(gt=rt.create(Fe).injector,Ot=gt.get(ut,[],{optional:!0,self:!0}).flat()),{routes:Ot.map(Io),injector:gt}}))}(Ue,this.compiler,Fe,this.onLoadEndListener).pipe((0,x.j)(()=>{this.childrenLoaders.delete(Ue)})),Ot=new f(gt,()=>new a.B).pipe(O());return this.childrenLoaders.set(Ue,Ot),Ot}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();function Jt(Re){return function Et(Re){return Re&&"object"==typeof Re&&"default"in Re}(Re)?Re.default:Re}let ci=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(Oi),providedIn:"root"})}return Re})(),Oi=(()=>{class Re{shouldProcessUrl(Fe){return!0}extract(Fe){return Fe}merge(Fe,Ue){return Fe}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();const Wn=new M.nKC(""),Qn=new M.nKC("");function os(Re,He,Fe){const Ue=Re.get(Qn),rt=Re.get(g.qQ);return Re.get(M.SKi).runOutsideAngular(()=>{if(!rt.startViewTransition||Ue.skipNextTransition)return Ue.skipNextTransition=!1,Promise.resolve();let gt;const Ot=new Promise(Ei=>{gt=Ei}),qt=rt.startViewTransition(()=>(gt(),function xn(Re){return new Promise(He=>{(0,M.mal)(He,{injector:Re})})}(Re))),{onViewTransitionCreated:Xt}=Ue;return Xt&&(0,M.N4e)(Re,()=>Xt({transition:qt,from:He,to:Fe})),Ot})}let ys=(()=>{class Re{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new a.B,this.transitionAbortSubject=new a.B,this.configLoader=(0,M.WQX)(Ke),this.environmentInjector=(0,M.WQX)(M.uvJ),this.urlSerializer=(0,M.WQX)(ti),this.rootContexts=(0,M.WQX)(mo),this.location=(0,M.WQX)(g.aZ),this.inputBindingEnabled=null!==(0,M.WQX)(ma,{optional:!0}),this.titleStrategy=(0,M.WQX)($l),this.options=(0,M.WQX)(Ge,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=(0,M.WQX)(ci),this.createViewTransition=(0,M.WQX)(Wn,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>(0,Le.of)(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=rt=>this.events.next(new Va(rt)),this.configLoader.onLoadStartListener=rt=>this.events.next(new wn(rt))}complete(){this.transitions?.complete()}handleNavigationRequest(Fe){const Ue=++this.navigationId;this.transitions?.next({...this.transitions.value,...Fe,id:Ue})}setupNavigations(Fe,Ue,rt){return this.transitions=new q.t({id:0,currentUrlTree:Ue,currentRawUrl:Ue,extractedUrl:this.urlHandlingStrategy.extract(Ue),urlAfterRedirects:this.urlHandlingStrategy.extract(Ue),rawUrl:Ue,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:cs,restoredState:null,currentSnapshot:rt.snapshot,targetSnapshot:null,currentRouterState:rt,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe((0,l.p)(gt=>0!==gt.id),(0,v.T)(gt=>({...gt,extractedUrl:this.urlHandlingStrategy.extract(gt.rawUrl)})),(0,o.n)(gt=>{let Ot=!1,qt=!1;return(0,Le.of)(gt).pipe((0,o.n)(Xt=>{if(this.navigationId>gt.id)return this.cancelNavigationTransition(gt,"",Un.SupersededByNewNavigation),m.w;this.currentTransition=gt,this.currentNavigation={id:Xt.id,initialUrl:Xt.rawUrl,extractedUrl:Xt.extractedUrl,trigger:Xt.source,extras:Xt.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null};const Ei=!Fe.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl();if(!Ei&&"reload"!==(Xt.extras.onSameUrlNavigation??Fe.onSameUrlNavigation)){const bn="";return this.events.next(new ln(Xt.id,this.urlSerializer.serialize(Xt.rawUrl),bn,pr.IgnoredSameUrlNavigation)),Xt.resolve(null),m.w}if(this.urlHandlingStrategy.shouldProcessUrl(Xt.rawUrl))return(0,Le.of)(Xt).pipe((0,o.n)(bn=>{const Os=this.transitions?.getValue();return this.events.next(new Er(bn.id,this.urlSerializer.serialize(bn.extractedUrl),bn.source,bn.restoredState)),Os!==this.transitions?.getValue()?m.w:Promise.resolve(bn)}),function Dh(Re,He,Fe,Ue,rt,gt){return(0,d.Z)(Ot=>function Hs(Re,He,Fe,Ue,rt,gt,Ot="emptyOnly"){return new ta(Re,He,Fe,Ue,rt,Ot,gt).recognize()}(Re,He,Fe,Ue,Ot.extractedUrl,rt,gt).pipe((0,v.T)(({state:qt,tree:Xt})=>({...Ot,targetSnapshot:qt,urlAfterRedirects:Xt}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,Fe.config,this.urlSerializer,this.paramsInheritanceStrategy),(0,z.M)(bn=>{gt.targetSnapshot=bn.targetSnapshot,gt.urlAfterRedirects=bn.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:bn.urlAfterRedirects};const Os=new lr(bn.id,this.urlSerializer.serialize(bn.extractedUrl),this.urlSerializer.serialize(bn.urlAfterRedirects),bn.targetSnapshot);this.events.next(Os)}));if(Ei&&this.urlHandlingStrategy.shouldProcessUrl(Xt.currentRawUrl)){const{id:bn,extractedUrl:Os,source:gl,restoredState:ml,extras:Ya}=Xt,yc=new Er(bn,this.urlSerializer.serialize(Os),gl,ml);this.events.next(yc);const Ks=Es(this.rootComponentType).snapshot;return this.currentTransition=gt={...Xt,targetSnapshot:Ks,urlAfterRedirects:Os,extras:{...Ya,skipLocationChange:!1,replaceUrl:!1}},this.currentNavigation.finalUrl=Os,(0,Le.of)(gt)}{const bn="";return this.events.next(new ln(Xt.id,this.urlSerializer.serialize(Xt.extractedUrl),bn,pr.IgnoredByUrlHandlingStrategy)),Xt.resolve(null),m.w}}),(0,z.M)(Xt=>{const Ei=new Fa(Xt.id,this.urlSerializer.serialize(Xt.extractedUrl),this.urlSerializer.serialize(Xt.urlAfterRedirects),Xt.targetSnapshot);this.events.next(Ei)}),(0,v.T)(Xt=>(this.currentTransition=gt={...Xt,guards:Ye(Xt.targetSnapshot,Xt.currentSnapshot,this.rootContexts)},gt)),function ad(Re,He){return(0,d.Z)(Fe=>{const{targetSnapshot:Ue,currentSnapshot:rt,guards:{canActivateChecks:gt,canDeactivateChecks:Ot}}=Fe;return 0===Ot.length&&0===gt.length?(0,Le.of)({...Fe,guardsResult:!0}):function Vl(Re,He,Fe,Ue){return(0,V.H)(Re).pipe((0,d.Z)(rt=>function Wa(Re,He,Fe,Ue,rt){const gt=He&&He.routeConfig?He.routeConfig.canDeactivate:null;if(!gt||0===gt.length)return(0,Le.of)(!0);const Ot=gt.map(qt=>{const Xt=Or(He)??rt,Ei=Ft(qt,Xt);return be(function jl(Re){return Re&&Vs(Re.canDeactivate)}(Ei)?Ei.canDeactivate(Re,He,Fe,Ue):(0,M.N4e)(Xt,()=>Ei(Re,He,Fe,Ue))).pipe(T())});return(0,Le.of)(Ot).pipe(ll())}(rt.component,rt.route,Fe,He,Ue)),T(rt=>!0!==rt,!0))}(Ot,Ue,rt,Re).pipe((0,d.Z)(qt=>qt&&function qo(Re){return"boolean"==typeof Re}(qt)?function hc(Re,He,Fe,Ue){return(0,V.H)(He).pipe((0,B.H)(rt=>(0,D.x)(function Oo(Re,He){return null!==Re&&He&&He(new za(Re)),(0,Le.of)(!0)}(rt.route.parent,Ue),function zl(Re,He){return null!==Re&&He&&He(new ha(Re)),(0,Le.of)(!0)}(rt.route,Ue),function vo(Re,He,Fe){const Ue=He[He.length-1],gt=He.slice(0,He.length-1).reverse().map(Ot=>function vt(Re){const He=Re.routeConfig?Re.routeConfig.canActivateChild:null;return He&&0!==He.length?{node:Re,guards:He}:null}(Ot)).filter(Ot=>null!==Ot).map(Ot=>(0,A.v)(()=>{const qt=Ot.guards.map(Xt=>{const Ei=Or(Ot.node)??Fe,on=Ft(Xt,Ei);return be(function Mn(Re){return Re&&Vs(Re.canActivateChild)}(on)?on.canActivateChild(Ue,Re):(0,M.N4e)(Ei,()=>on(Ue,Re))).pipe(T())});return(0,Le.of)(qt).pipe(ll())}));return(0,Le.of)(gt).pipe(ll())}(Re,rt.path,Fe),function Gl(Re,He,Fe){const Ue=He.routeConfig?He.routeConfig.canActivate:null;if(!Ue||0===Ue.length)return(0,Le.of)(!0);const rt=Ue.map(gt=>(0,A.v)(()=>{const Ot=Or(He)??Fe,qt=Ft(gt,Ot);return be(function ac(Re){return Re&&Vs(Re.canActivate)}(qt)?qt.canActivate(He,Re):(0,M.N4e)(Ot,()=>qt(He,Re))).pipe(T())}));return(0,Le.of)(rt).pipe(ll())}(Re,rt.route,Fe))),T(rt=>!0!==rt,!0))}(Ue,gt,Re,He):(0,Le.of)(qt)),(0,v.T)(qt=>({...Fe,guardsResult:qt})))})}(this.environmentInjector,Xt=>this.events.next(Xt)),(0,z.M)(Xt=>{if(gt.guardsResult=Xt.guardsResult,ar(Xt.guardsResult))throw Zo(0,Xt.guardsResult);const Ei=new Ba(Xt.id,this.urlSerializer.serialize(Xt.extractedUrl),this.urlSerializer.serialize(Xt.urlAfterRedirects),Xt.targetSnapshot,!!Xt.guardsResult);this.events.next(Ei)}),(0,l.p)(Xt=>!!Xt.guardsResult||(this.cancelNavigationTransition(Xt,"",Un.GuardRejected),!1)),na(Xt=>{if(Xt.guards.canActivateChecks.length)return(0,Le.of)(Xt).pipe((0,z.M)(Ei=>{const on=new ja(Ei.id,this.urlSerializer.serialize(Ei.extractedUrl),this.urlSerializer.serialize(Ei.urlAfterRedirects),Ei.targetSnapshot);this.events.next(on)}),(0,o.n)(Ei=>{let on=!1;return(0,Le.of)(Ei).pipe(function Wl(Re,He){return(0,d.Z)(Fe=>{const{targetSnapshot:Ue,guards:{canActivateChecks:rt}}=Fe;if(!rt.length)return(0,Le.of)(Fe);const gt=new Set(rt.map(Xt=>Xt.route)),Ot=new Set;for(const Xt of gt)if(!Ot.has(Xt))for(const Ei of Ca(Xt))Ot.add(Ei);let qt=0;return(0,V.H)(Ot).pipe((0,B.H)(Xt=>gt.has(Xt)?function Mh(Re,He,Fe,Ue){const rt=Re.routeConfig,gt=Re._resolve;return void 0!==rt?.title&&!Qs(rt)&&(gt[he]=rt.title),function dl(Re,He,Fe,Ue){const rt=Be(Re);if(0===rt.length)return(0,Le.of)({});const gt={};return(0,V.H)(rt).pipe((0,d.Z)(Ot=>function Yr(Re,He,Fe,Ue){const rt=Or(He)??Ue,gt=Ft(Re,rt);return be(gt.resolve?gt.resolve(He,Fe):(0,M.N4e)(rt,()=>gt(He,Fe)))}(Re[Ot],He,Fe,Ue).pipe(T(),(0,z.M)(qt=>{gt[Ot]=qt}))),S(1),(0,H.u)(gt),(0,K.W)(Ot=>cc(Ot)?m.w:(0,_.$)(Ot)))}(gt,Re,He,Ue).pipe((0,v.T)(Ot=>(Re._resolvedData=Ot,Re.data=Ar(Re,Re.parent,Fe).resolve,null)))}(Xt,Ue,Re,He):(Xt.data=Ar(Xt,Xt.parent,Re).resolve,(0,Le.of)(void 0))),(0,z.M)(()=>qt++),S(1),(0,d.Z)(Xt=>qt===Ot.size?(0,Le.of)(Fe):m.w))})}(this.paramsInheritanceStrategy,this.environmentInjector),(0,z.M)({next:()=>on=!0,complete:()=>{on||this.cancelNavigationTransition(Ei,"",Un.NoDataFromResolver)}}))}),(0,z.M)(Ei=>{const on=new go(Ei.id,this.urlSerializer.serialize(Ei.extractedUrl),this.urlSerializer.serialize(Ei.urlAfterRedirects),Ei.targetSnapshot);this.events.next(on)}))}),na(Xt=>{const Ei=on=>{const bn=[];on.routeConfig?.loadComponent&&!on.routeConfig._loadedComponent&&bn.push(this.configLoader.loadComponent(on.routeConfig).pipe((0,z.M)(Os=>{on.component=Os}),(0,v.T)(()=>{})));for(const Os of on.children)bn.push(...Ei(Os));return bn};return X(Ei(Xt.targetSnapshot.root)).pipe(C(null),(0,n.s)(1))}),na(()=>this.afterPreactivation()),(0,o.n)(()=>{const{currentSnapshot:Xt,targetSnapshot:Ei}=gt,on=this.createViewTransition?.(this.environmentInjector,Xt.root,Ei.root);return on?(0,V.H)(on).pipe((0,v.T)(()=>gt)):(0,Le.of)(gt)}),(0,v.T)(Xt=>{const Ei=function cr(Re,He,Fe){const Ue=es(Re,He._root,Fe?Fe._root:void 0);return new Ha(Ue,He)}(Fe.routeReuseStrategy,Xt.targetSnapshot,Xt.currentRouterState);return this.currentTransition=gt={...Xt,targetRouterState:Ei},this.currentNavigation.targetRouterState=Ei,gt}),(0,z.M)(()=>{this.events.next(new wr)}),((Re,He,Fe,Ue)=>(0,v.T)(rt=>(new Ua(He,rt.targetRouterState,rt.currentRouterState,Fe,Ue).activate(Re),rt)))(this.rootContexts,Fe.routeReuseStrategy,Xt=>this.events.next(Xt),this.inputBindingEnabled),(0,n.s)(1),(0,z.M)({next:Xt=>{Ot=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new bs(Xt.id,this.urlSerializer.serialize(Xt.extractedUrl),this.urlSerializer.serialize(Xt.urlAfterRedirects))),this.titleStrategy?.updateTitle(Xt.targetRouterState.snapshot),Xt.resolve(!0)},complete:()=>{Ot=!0}}),(0,N.Q)(this.transitionAbortSubject.pipe((0,z.M)(Xt=>{throw Xt}))),(0,x.j)(()=>{!Ot&&!qt&&this.cancelNavigationTransition(gt,"",Un.SupersededByNewNavigation),this.currentTransition?.id===gt.id&&(this.currentNavigation=null,this.currentTransition=null)}),(0,K.W)(Xt=>{if(qt=!0,va(Xt))this.events.next(new Ui(gt.id,this.urlSerializer.serialize(gt.extractedUrl),Xt.message,Xt.cancellationCode)),function ba(Re){return va(Re)&&ar(Re.url)}(Xt)?this.events.next(new Jr(Xt.url)):gt.resolve(!1);else{this.events.next(new Na(gt.id,this.urlSerializer.serialize(gt.extractedUrl),Xt,gt.targetSnapshot??void 0));try{gt.resolve(Fe.errorHandler(Xt))}catch(Ei){this.options.resolveNavigationPromiseOnError?gt.resolve(!1):gt.reject(Ei)}}return m.w}))}))}cancelNavigationTransition(Fe,Ue,rt){const gt=new Ui(Fe.id,this.urlSerializer.serialize(Fe.extractedUrl),Ue,rt);this.events.next(gt),Fe.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();function hs(Re){return Re!==cs}let zs=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(Zn),providedIn:"root"})}return Re})();class Lr{shouldDetach(He){return!1}store(He,Fe){}shouldAttach(He){return!1}retrieve(He){return null}shouldReuseRoute(He,Fe){return He.routeConfig===Fe.routeConfig}}let Zn=(()=>{class Re extends Lr{static#e=this.\u0275fac=(()=>{let Fe;return function(rt){return(Fe||(Fe=M.xGo(Re)))(rt||Re)}})();static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})(),gi=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(Bi),providedIn:"root"})}return Re})(),Bi=(()=>{class Re extends gi{constructor(){super(...arguments),this.location=(0,M.WQX)(g.aZ),this.urlSerializer=(0,M.WQX)(ti),this.options=(0,M.WQX)(Ge,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=(0,M.WQX)(ci),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new st,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=Es(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(Fe){return this.location.subscribe(Ue=>{"popstate"===Ue.type&&Fe(Ue.url,Ue.state)})}handleRouterEvent(Fe,Ue){if(Fe instanceof Er)this.stateMemento=this.createStateMemento();else if(Fe instanceof ln)this.rawUrlTree=Ue.initialUrl;else if(Fe instanceof lr){if("eager"===this.urlUpdateStrategy&&!Ue.extras.skipLocationChange){const rt=this.urlHandlingStrategy.merge(Ue.finalUrl,Ue.initialUrl);this.setBrowserUrl(rt,Ue)}}else Fe instanceof wr?(this.currentUrlTree=Ue.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(Ue.finalUrl,Ue.initialUrl),this.routerState=Ue.targetRouterState,"deferred"===this.urlUpdateStrategy&&(Ue.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,Ue))):Fe instanceof Ui&&(Fe.code===Un.GuardRejected||Fe.code===Un.NoDataFromResolver)?this.restoreHistory(Ue):Fe instanceof Na?this.restoreHistory(Ue,!0):Fe instanceof bs&&(this.lastSuccessfulId=Fe.id,this.currentPageId=this.browserPageId)}setBrowserUrl(Fe,Ue){const rt=this.urlSerializer.serialize(Fe);if(this.location.isCurrentPathEqualTo(rt)||Ue.extras.replaceUrl){const Ot={...Ue.extras.state,...this.generateNgRouterState(Ue.id,this.browserPageId)};this.location.replaceState(rt,"",Ot)}else{const gt={...Ue.extras.state,...this.generateNgRouterState(Ue.id,this.browserPageId+1)};this.location.go(rt,"",gt)}}restoreHistory(Fe,Ue=!1){if("computed"===this.canceledNavigationResolution){const gt=this.currentPageId-this.browserPageId;0!==gt?this.location.historyGo(gt):this.currentUrlTree===Fe.finalUrl&&0===gt&&(this.resetState(Fe),this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(Ue&&this.resetState(Fe),this.resetUrlToCurrentUrlTree())}resetState(Fe){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,Fe.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(Fe,Ue){return"computed"===this.canceledNavigationResolution?{navigationId:Fe,\u0275routerPageId:Ue}:{navigationId:Fe}}static#e=this.\u0275fac=(()=>{let Fe;return function(rt){return(Fe||(Fe=M.xGo(Re)))(rt||Re)}})();static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();var En=function(Re){return Re[Re.COMPLETE=0]="COMPLETE",Re[Re.FAILED=1]="FAILED",Re[Re.REDIRECTING=2]="REDIRECTING",Re}(En||{});function ks(Re,He){Re.events.pipe((0,l.p)(Fe=>Fe instanceof bs||Fe instanceof Ui||Fe instanceof Na||Fe instanceof ln),(0,v.T)(Fe=>Fe instanceof bs||Fe instanceof ln?En.COMPLETE:Fe instanceof Ui&&(Fe.code===Un.Redirect||Fe.code===Un.SupersededByNewNavigation)?En.REDIRECTING:En.FAILED),(0,l.p)(Fe=>Fe!==En.REDIRECTING),(0,n.s)(1)).subscribe(()=>{He()})}function Us(Re){throw Re}const mr={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},ul={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let jn=(()=>{class Re{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.isNgZoneEnabled=!1,this.console=(0,M.WQX)(M.H3F),this.stateManager=(0,M.WQX)(gi),this.options=(0,M.WQX)(Ge,{optional:!0})||{},this.pendingTasks=(0,M.WQX)(M.TgB),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=(0,M.WQX)(ys),this.urlSerializer=(0,M.WQX)(ti),this.location=(0,M.WQX)(g.aZ),this.urlHandlingStrategy=(0,M.WQX)(ci),this._events=new a.B,this.errorHandler=this.options.errorHandler||Us,this.navigated=!1,this.routeReuseStrategy=(0,M.WQX)(zs),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=(0,M.WQX)(ut,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!(0,M.WQX)(ma,{optional:!0}),this.eventsSubscription=new w.yU,this.isNgZoneEnabled=(0,M.WQX)(M.SKi)instanceof M.SKi&&M.SKi.isInAngularZone(),this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:Fe=>{this.console.warn(Fe)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const Fe=this.navigationTransitions.events.subscribe(Ue=>{try{const rt=this.navigationTransitions.currentTransition,gt=this.navigationTransitions.currentNavigation;if(null!==rt&&null!==gt)if(this.stateManager.handleRouterEvent(Ue,gt),Ue instanceof Ui&&Ue.code!==Un.Redirect&&Ue.code!==Un.SupersededByNewNavigation)this.navigated=!0;else if(Ue instanceof bs)this.navigated=!0;else if(Ue instanceof Jr){const Ot=this.urlHandlingStrategy.merge(Ue.url,rt.currentRawUrl),qt={info:rt.extras.info,skipLocationChange:rt.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||hs(rt.source)};this.scheduleNavigation(Ot,cs,null,qt,{resolve:rt.resolve,reject:rt.reject,promise:rt.promise})}(function Ro(Re){return!(Re instanceof wr||Re instanceof Jr)})(Ue)&&this._events.next(Ue)}catch(rt){this.navigationTransitions.transitionAbortSubject.next(rt)}});this.eventsSubscription.add(Fe)}resetRootComponentType(Fe){this.routerState.root.component=Fe,this.navigationTransitions.rootComponentType=Fe}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),cs,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((Fe,Ue)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(Fe,"popstate",Ue)},0)})}navigateToSyncWithBrowser(Fe,Ue,rt){const gt={replaceUrl:!0},Ot=rt?.navigationId?rt:null;if(rt){const Xt={...rt};delete Xt.navigationId,delete Xt.\u0275routerPageId,0!==Object.keys(Xt).length&&(gt.state=Xt)}const qt=this.parseUrl(Fe);this.scheduleNavigation(qt,Ue,Ot,gt)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(Fe){this.config=Fe.map(Io),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(Fe,Ue={}){const{relativeTo:rt,queryParams:gt,fragment:Ot,queryParamsHandling:qt,preserveFragment:Xt}=Ue,Ei=Xt?this.currentUrlTree.fragment:Ot;let bn,on=null;switch(qt){case"merge":on={...this.currentUrlTree.queryParams,...gt};break;case"preserve":on=this.currentUrlTree.queryParams;break;default:on=gt||null}null!==on&&(on=this.removeEmptyProps(on));try{bn=Wr(rt?rt.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof Fe[0]||!Fe[0].startsWith("/"))&&(Fe=[]),bn=this.currentUrlTree.root}return Cr(bn,Fe,on,Ei??null)}navigateByUrl(Fe,Ue={skipLocationChange:!1}){const rt=ar(Fe)?Fe:this.parseUrl(Fe),gt=this.urlHandlingStrategy.merge(rt,this.rawUrlTree);return this.scheduleNavigation(gt,cs,null,Ue)}navigate(Fe,Ue={skipLocationChange:!1}){return function br(Re){for(let He=0;He(null!=gt&&(Ue[rt]=gt),Ue),{})}scheduleNavigation(Fe,Ue,rt,gt,Ot){if(this.disposed)return Promise.resolve(!1);let qt,Xt,Ei;Ot?(qt=Ot.resolve,Xt=Ot.reject,Ei=Ot.promise):Ei=new Promise((bn,Os)=>{qt=bn,Xt=Os});const on=this.pendingTasks.add();return ks(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(on))}),this.navigationTransitions.handleNavigationRequest({source:Ue,restoredState:rt,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:Fe,extras:gt,resolve:qt,reject:Xt,promise:Ei,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),Ei.catch(bn=>Promise.reject(bn))}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})(),Qi=(()=>{class Re{constructor(Fe,Ue,rt,gt,Ot,qt){this.router=Fe,this.route=Ue,this.tabIndexAttribute=rt,this.renderer=gt,this.el=Ot,this.locationStrategy=qt,this.href=null,this.commands=null,this.onChanges=new a.B,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const Xt=Ot.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===Xt||"area"===Xt,this.isAnchorElement?this.subscription=Fe.events.subscribe(Ei=>{Ei instanceof bs&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(Fe){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",Fe)}ngOnChanges(Fe){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(Fe){null!=Fe?(this.commands=Array.isArray(Fe)?Fe:[Fe],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(Fe,Ue,rt,gt,Ot){const qt=this.urlTree;return!!(null===qt||this.isAnchorElement&&(0!==Fe||Ue||rt||gt||Ot||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(qt,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){const Fe=this.urlTree;this.href=null!==Fe&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(Fe)):null;const Ue=null===this.href?null:(0,M.n$t)(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",Ue)}applyAttributeValue(Fe,Ue){const rt=this.renderer,gt=this.el.nativeElement;null!==Ue?rt.setAttribute(gt,Fe,Ue):rt.removeAttribute(gt,Fe)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.rXU(jn),M.rXU($i),M.kS0("tabindex"),M.rXU(M.sFG),M.rXU(M.aKT),M.rXU(g.hb))};static#t=this.\u0275dir=M.FsC({type:Re,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(Ue,rt){1&Ue&&M.bIt("click",function(Ot){return rt.onClick(Ot.button,Ot.ctrlKey,Ot.shiftKey,Ot.altKey,Ot.metaKey)}),2&Ue&&M.BMQ("target",rt.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[M.Mj6.HasDecoratorInputTransform,"preserveFragment","preserveFragment",M.L39],skipLocationChange:[M.Mj6.HasDecoratorInputTransform,"skipLocationChange","skipLocationChange",M.L39],replaceUrl:[M.Mj6.HasDecoratorInputTransform,"replaceUrl","replaceUrl",M.L39],routerLink:"routerLink"},standalone:!0,features:[M.GFd,M.OA$]})}return Re})(),No=(()=>{class Re{get isActive(){return this._isActive}constructor(Fe,Ue,rt,gt,Ot){this.router=Fe,this.element=Ue,this.renderer=rt,this.cdr=gt,this.link=Ot,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new M.bkB,this.routerEventsSubscription=Fe.events.subscribe(qt=>{qt instanceof bs&&this.update()})}ngAfterContentInit(){(0,Le.of)(this.links.changes,(0,Le.of)(null)).pipe((0,R.U)()).subscribe(Fe=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const Fe=[...this.links.toArray(),this.link].filter(Ue=>!!Ue).map(Ue=>Ue.onChanges);this.linkInputChangesSubscription=(0,V.H)(Fe).pipe((0,R.U)()).subscribe(Ue=>{this._isActive!==this.isLinkActive(this.router)(Ue)&&this.update()})}set routerLinkActive(Fe){const Ue=Array.isArray(Fe)?Fe:Fe.split(" ");this.classes=Ue.filter(rt=>!!rt)}ngOnChanges(Fe){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const Fe=this.hasActiveLinks();this._isActive!==Fe&&(this._isActive=Fe,this.cdr.markForCheck(),this.classes.forEach(Ue=>{Fe?this.renderer.addClass(this.element.nativeElement,Ue):this.renderer.removeClass(this.element.nativeElement,Ue)}),Fe&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(Fe))})}isLinkActive(Fe){const Ue=function Xl(Re){return!!Re.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return rt=>{const gt=rt.urlTree;return!!gt&&Fe.isActive(gt,Ue)}}hasActiveLinks(){const Fe=this.isLinkActive(this.router);return this.link&&Fe(this.link)||this.links.some(Fe)}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.rXU(jn),M.rXU(M.aKT),M.rXU(M.sFG),M.rXU(M.gRc),M.rXU(Qi,8))};static#t=this.\u0275dir=M.FsC({type:Re,selectors:[["","routerLinkActive",""]],contentQueries:function(Ue,rt,gt){if(1&Ue&&M.wni(gt,Qi,5),2&Ue){let Ot;M.mGM(Ot=M.lsd())&&(rt.links=Ot)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[M.OA$]})}return Re})();class ws{}let Is=(()=>{class Re{preload(Fe,Ue){return Ue().pipe((0,K.W)(()=>(0,Le.of)(null)))}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})(),Yl=(()=>{class Re{constructor(Fe,Ue,rt,gt,Ot){this.router=Fe,this.injector=rt,this.preloadingStrategy=gt,this.loader=Ot}setUpPreloading(){this.subscription=this.router.events.pipe((0,l.p)(Fe=>Fe instanceof bs),(0,B.H)(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(Fe,Ue){const rt=[];for(const gt of Ue){gt.providers&&!gt._injector&&(gt._injector=(0,M.Ol2)(gt.providers,Fe,`Route: ${gt.path}`));const Ot=gt._injector??Fe,qt=gt._loadedInjector??Ot;(gt.loadChildren&&!gt._loadedRoutes&&void 0===gt.canLoad||gt.loadComponent&&!gt._loadedComponent)&&rt.push(this.preloadConfig(Ot,gt)),(gt.children||gt._loadedRoutes)&&rt.push(this.processRoutes(qt,gt.children??gt._loadedRoutes))}return(0,V.H)(rt).pipe((0,R.U)())}preloadConfig(Fe,Ue){return this.preloadingStrategy.preload(Ue,()=>{let rt;rt=Ue.loadChildren&&void 0===Ue.canLoad?this.loader.loadChildren(Fe,Ue):(0,Le.of)(null);const gt=rt.pipe((0,d.Z)(Ot=>null===Ot?(0,Le.of)(void 0):(Ue._loadedRoutes=Ot.routes,Ue._loadedInjector=Ot.injector,this.processRoutes(Ot.injector??Fe,Ot.routes))));if(Ue.loadComponent&&!Ue._loadedComponent){const Ot=this.loader.loadComponent(Ue);return(0,V.H)([gt,Ot]).pipe((0,R.U)())}return gt})}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.KVO(jn),M.KVO(M.Ql9),M.KVO(M.uvJ),M.KVO(ws),M.KVO(Ke))};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();const Kr=new M.nKC("");let Kl=(()=>{class Re{constructor(Fe,Ue,rt,gt,Ot={}){this.urlSerializer=Fe,this.transitions=Ue,this.viewportScroller=rt,this.zone=gt,this.options=Ot,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},Ot.scrollPositionRestoration||="disabled",Ot.anchorScrolling||="disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(Fe=>{Fe instanceof Er?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=Fe.navigationTrigger,this.restoredId=Fe.restoredState?Fe.restoredState.navigationId:0):Fe instanceof bs?(this.lastId=Fe.id,this.scheduleScrollEvent(Fe,this.urlSerializer.parse(Fe.urlAfterRedirects).fragment)):Fe instanceof ln&&Fe.code===pr.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(Fe,this.urlSerializer.parse(Fe.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(Fe=>{Fe instanceof Nl&&(Fe.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(Fe.position):Fe.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(Fe.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(Fe,Ue){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new Nl(Fe,"popstate"===this.lastSource?this.store[this.restoredId]:null,Ue))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(Ue){M.QTQ()};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac})}return Re})();function Zr(Re,He){return{\u0275kind:Re,\u0275providers:He}}function Fo(){const Re=(0,M.WQX)(M.zZn);return He=>{const Fe=Re.get(M.o8S);if(He!==Fe.components[0])return;const Ue=Re.get(jn),rt=Re.get(mc);1===Re.get(Xa)&&Ue.initialNavigation(),Re.get(Gs,null,M.$GK.Optional)?.setUpPreloading(),Re.get(Kr,null,M.$GK.Optional)?.init(),Ue.resetRootComponentType(Fe.componentTypes[0]),rt.closed||(rt.next(),rt.complete(),rt.unsubscribe())}}const mc=new M.nKC("",{factory:()=>new a.B}),Xa=new M.nKC("",{providedIn:"root",factory:()=>1}),Gs=new M.nKC("");function jc(Re){return Zr(0,[{provide:Gs,useExisting:Yl},{provide:ws,useExisting:Re}])}function bc(Re){return Zr(9,[{provide:Wn,useValue:os},{provide:Qn,useValue:{skipNextTransition:!!Re?.skipInitialTransition,...Re}}])}const ss=new M.nKC("ROUTER_FORROOT_GUARD"),zc=[g.aZ,{provide:ti,useClass:Dt},jn,mo,{provide:$i,useFactory:function yo(Re){return Re.routerState.root},deps:[jn]},Ke,[]];let Ah=(()=>{class Re{constructor(Fe){}static forRoot(Fe,Ue){return{ngModule:Re,providers:[zc,[],{provide:ut,multi:!0,useValue:Fe},{provide:ss,useFactory:cd,deps:[[jn,new M.Xx1,new M.kdw]]},{provide:Ge,useValue:Ue||{}},Ue?.useHash?{provide:g.hb,useClass:g.fw}:{provide:g.hb,useClass:g.Sm},{provide:Kr,useFactory:()=>{const Re=(0,M.WQX)(g.Xr),He=(0,M.WQX)(M.SKi),Fe=(0,M.WQX)(Ge),Ue=(0,M.WQX)(ys),rt=(0,M.WQX)(ti);return Fe.scrollOffset&&Re.setOffset(Fe.scrollOffset),new Kl(rt,Ue,Re,He,Fe)}},Ue?.preloadingStrategy?jc(Ue.preloadingStrategy).\u0275providers:[],Ue?.initialNavigation?Ih(Ue):[],Ue?.bindToComponentInputs?Zr(8,[Ir,{provide:ma,useExisting:Ir}]).\u0275providers:[],Ue?.enableViewTransitions?bc().\u0275providers:[],[{provide:vc,useFactory:Fo},{provide:M.iLQ,multi:!0,useExisting:vc}]]}}static forChild(Fe){return{ngModule:Re,providers:[{provide:ut,multi:!0,useValue:Fe}]}}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.KVO(ss,8))};static#t=this.\u0275mod=M.$C({type:Re});static#i=this.\u0275inj=M.G2t({})}return Re})();function cd(Re){return"guarded"}function Ih(Re){return["disabled"===Re.initialNavigation?Zr(3,[{provide:M.hnV,multi:!0,useFactory:()=>{const He=(0,M.WQX)(jn);return()=>{He.setUpLocationChangeListener()}}},{provide:Xa,useValue:2}]).\u0275providers:[],"enabledBlocking"===Re.initialNavigation?Zr(2,[{provide:Xa,useValue:0},{provide:M.hnV,multi:!0,deps:[M.zZn],useFactory:He=>{const Fe=He.get(g.hj,Promise.resolve());return()=>Fe.then(()=>new Promise(Ue=>{const rt=He.get(jn),gt=He.get(mc);ks(rt,()=>{Ue(!0)}),He.get(ys).afterPreactivation=()=>(Ue(!0),gt.closed?(0,Le.of)(void 0):gt),rt.initialNavigation()}))}}]).\u0275providers:[]]}const vc=new M.nKC("")},88652:(ri,Bt,We)=>{"use strict";We.d(Bt,{$G:()=>ut,tg:()=>oa,U0:()=>Nr,do:()=>Sa,Bq:()=>eh,UN:()=>Md,ZM:()=>du});var M=We(54438),V=(We(89079),We(71985)),Le=We(983),q=We(7673),ne=We(21413),re=We(33726),ve=We(41584),le=We(58750);const{isArray:pe}=Array;function ue(me){return 1===me.length&&pe(me[0])?me[0]:me}var J=We(54360);function te(...me){return 1===(me=ue(me)).length?(0,le.Tg)(me[0]):new V.c(function X(me){return je=>{let ae=[];for(let Ce=0;ae&&!je.closed&&Ce{if(ae){for(let it=0;it{let Ne=ae.map(()=>[]),it=ae.map(()=>!1);Ce.add(()=>{Ne=it=null});for(let ft=0;!Ce.closed&&ft{if(Ne[ft].push(Vt),Ne.every(Ut=>Ut.length)){const Ut=Ne.map(ei=>ei.shift());Ce.next(je?je(...Ut):Ut),Ne.some((ei,ii)=>!ei.length&&it[ii])&&Ce.complete()}},()=>{it[ft]=!0,!Ne[ft].length&&Ce.complete()}));return()=>{Ne=it=null}}):Le.w}var P=We(28793),A=We(56977),I=We(5964),_=We(96697),m=We(88141),w=We(96354),G=We(39974),O=We(33669),f=We(85343);function a(...me){const je=(0,j.ms)(me);return(0,G.N)((ae,Ce)=>{const Ne=me.length,it=new Array(Ne);let ft=me.map(()=>!1),Vt=!1;for(let Ut=0;Ut{it[Ut]=ei,!Vt&&!ft[Ut]&&(ft[Ut]=!0,(Vt=ft.every(O.D))&&(ft=null))},f.l));ae.subscribe((0,J._)(Ce,Ut=>{if(Vt){const ei=[Ut,...it];Ce.next(je?je(...ei):ei)}}))})}var g=We(91986),v=We(73028),o=We(25558);We(99172),We(23294);var d=We(60177),k=(We(89417),{left:"right",right:"left",bottom:"top",top:"bottom"});function p(me){return me.replace(/left|right|bottom|top/g,function(je){return k[je]})}function T(me){return me.split("-")[0]}var B={start:"end",end:"start"};function z(me){return me.replace(/start|end/g,function(je){return B[je]})}var K="top",U="bottom",se="right",S="left",$="auto",H=[K,U,se,S],x="start",N="end",Z="viewport",Y="popper",ge=H.reduce(function(me,je){return me.concat([je+"-"+x,je+"-"+N])},[]),_e=[].concat(H,[$]).reduce(function(me,je){return me.concat([je,je+"-"+x,je+"-"+N])},[]),we=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Ee(me){if(null==me)return window;if("[object Window]"!==me.toString()){var je=me.ownerDocument;return je&&je.defaultView||window}return me}function Me(me){return me instanceof Ee(me).Element||me instanceof Element}function Xe(me){return me instanceof Ee(me).HTMLElement||me instanceof HTMLElement}function Je(me){return!(typeof ShadowRoot>"u")&&(me instanceof Ee(me).ShadowRoot||me instanceof ShadowRoot)}function lt(me){return((Me(me)?me.ownerDocument:me.document)||window.document).documentElement}var qe=Math.max,st=Math.min,Tt=Math.round;function pt(){var me=navigator.userAgentData;return null!=me&&me.brands&&Array.isArray(me.brands)?me.brands.map(function(je){return je.brand+"/"+je.version}).join(" "):navigator.userAgent}function ht(){return!/^((?!chrome|android).)*safari/i.test(pt())}function Pt(me,je,ae){void 0===je&&(je=!1),void 0===ae&&(ae=!1);var Ce=me.getBoundingClientRect(),Ne=1,it=1;je&&Xe(me)&&(Ne=me.offsetWidth>0&&Tt(Ce.width)/me.offsetWidth||1,it=me.offsetHeight>0&&Tt(Ce.height)/me.offsetHeight||1);var Vt=(Me(me)?Ee(me):window).visualViewport,Ut=!ht()&&ae,ei=(Ce.left+(Ut&&Vt?Vt.offsetLeft:0))/Ne,ii=(Ce.top+(Ut&&Vt?Vt.offsetTop:0))/it,wi=Ce.width/Ne,Ci=Ce.height/it;return{width:wi,height:Ci,top:ii,right:ei+wi,bottom:ii+Ci,left:ei,x:ei,y:ii}}function Gt(me){var je=Ee(me);return{scrollLeft:je.pageXOffset,scrollTop:je.pageYOffset}}function ti(me){return Pt(lt(me)).left+Gt(me).scrollLeft}function It(me){return Ee(me).getComputedStyle(me)}function wt(me){return me?(me.nodeName||"").toLowerCase():null}function Qt(me){return"html"===wt(me)?me:me.assignedSlot||me.parentNode||(Je(me)?me.host:null)||lt(me)}function di(me){var je=It(me);return/auto|scroll|overlay|hidden/.test(je.overflow+je.overflowY+je.overflowX)}function Ni(me){return["html","body","#document"].indexOf(wt(me))>=0?me.ownerDocument.body:Xe(me)&&di(me)?me:Ni(Qt(me))}function mi(me,je){var ae;void 0===je&&(je=[]);var Ce=Ni(me),Ne=Ce===(null==(ae=me.ownerDocument)?void 0:ae.body),it=Ee(Ce),ft=Ne?[it].concat(it.visualViewport||[],di(Ce)?Ce:[]):Ce,Vt=je.concat(ft);return Ne?Vt:Vt.concat(mi(Qt(ft)))}function vi(me){return["table","td","th"].indexOf(wt(me))>=0}function zi(me){return Xe(me)&&"fixed"!==It(me).position?me.offsetParent:null}function Fn(me){for(var je=Ee(me),ae=zi(me);ae&&vi(ae)&&"static"===It(ae).position;)ae=zi(ae);return ae&&("html"===wt(ae)||"body"===wt(ae)&&"static"===It(ae).position)?je:ae||function gs(me){var je=/firefox/i.test(pt());if(/Trident/i.test(pt())&&Xe(me)&&"fixed"===It(me).position)return null;var Ne=Qt(me);for(Je(Ne)&&(Ne=Ne.host);Xe(Ne)&&["html","body"].indexOf(wt(Ne))<0;){var it=It(Ne);if("none"!==it.transform||"none"!==it.perspective||"paint"===it.contain||-1!==["transform","perspective"].indexOf(it.willChange)||je&&"filter"===it.willChange||je&&it.filter&&"none"!==it.filter)return Ne;Ne=Ne.parentNode}return null}(me)||je}function as(me,je){var ae=je.getRootNode&&je.getRootNode();if(me.contains(je))return!0;if(ae&&Je(ae)){var Ce=je;do{if(Ce&&me.isSameNode(Ce))return!0;Ce=Ce.parentNode||Ce.host}while(Ce)}return!1}function ms(me){return Object.assign({},me,{left:me.x,top:me.y,right:me.x+me.width,bottom:me.y+me.height})}function fn(me,je,ae){return je===Z?ms(function Dt(me,je){var ae=Ee(me),Ce=lt(me),Ne=ae.visualViewport,it=Ce.clientWidth,ft=Ce.clientHeight,Vt=0,Ut=0;if(Ne){it=Ne.width,ft=Ne.height;var ei=ht();(ei||!ei&&"fixed"===je)&&(Vt=Ne.offsetLeft,Ut=Ne.offsetTop)}return{width:it,height:ft,x:Vt+ti(me),y:Ut}}(me,ae)):Me(je)?function Ln(me,je){var ae=Pt(me,!1,"fixed"===je);return ae.top=ae.top+me.clientTop,ae.left=ae.left+me.clientLeft,ae.bottom=ae.top+me.clientHeight,ae.right=ae.left+me.clientWidth,ae.width=me.clientWidth,ae.height=me.clientHeight,ae.x=ae.left,ae.y=ae.top,ae}(je,ae):ms(function xt(me){var je,ae=lt(me),Ce=Gt(me),Ne=null==(je=me.ownerDocument)?void 0:je.body,it=qe(ae.scrollWidth,ae.clientWidth,Ne?Ne.scrollWidth:0,Ne?Ne.clientWidth:0),ft=qe(ae.scrollHeight,ae.clientHeight,Ne?Ne.scrollHeight:0,Ne?Ne.clientHeight:0),Vt=-Ce.scrollLeft+ti(me),Ut=-Ce.scrollTop;return"rtl"===It(Ne||ae).direction&&(Vt+=qe(ae.clientWidth,Ne?Ne.clientWidth:0)-it),{width:it,height:ft,x:Vt,y:Ut}}(lt(me)))}function Kn(me){return me.split("-")[1]}function In(me){return["top","bottom"].indexOf(me)>=0?"x":"y"}function Bs(me){var Ut,je=me.reference,ae=me.element,Ce=me.placement,Ne=Ce?T(Ce):null,it=Ce?Kn(Ce):null,ft=je.x+je.width/2-ae.width/2,Vt=je.y+je.height/2-ae.height/2;switch(Ne){case K:Ut={x:ft,y:je.y-ae.height};break;case U:Ut={x:ft,y:je.y+je.height};break;case se:Ut={x:je.x+je.width,y:Vt};break;case S:Ut={x:je.x-ae.width,y:Vt};break;default:Ut={x:je.x,y:je.y}}var ei=Ne?In(Ne):null;if(null!=ei){var ii="y"===ei?"height":"width";switch(it){case x:Ut[ei]=Ut[ei]-(je[ii]/2-ae[ii]/2);break;case N:Ut[ei]=Ut[ei]+(je[ii]/2-ae[ii]/2)}}return Ut}function Wi(me){return Object.assign({},{top:0,right:0,bottom:0,left:0},me)}function js(me,je){return je.reduce(function(ae,Ce){return ae[Ce]=me,ae},{})}function On(me,je){void 0===je&&(je={});var Ce=je.placement,Ne=void 0===Ce?me.placement:Ce,it=je.strategy,ft=void 0===it?me.strategy:it,Vt=je.boundary,Ut=void 0===Vt?"clippingParents":Vt,ei=je.rootBoundary,ii=void 0===ei?Z:ei,wi=je.elementContext,Ci=void 0===wi?Y:wi,Ai=je.altBoundary,Sn=void 0!==Ai&&Ai,an=je.padding,kn=void 0===an?0:an,Vn=Wi("number"!=typeof kn?kn:js(kn,H)),Ls=me.rects.popper,zn=me.elements[Sn?Ci===Y?"reference":Y:Ci],ts=function Cs(me,je,ae,Ce){var Ne="clippingParents"===je?function ki(me){var je=mi(Qt(me)),Ce=["absolute","fixed"].indexOf(It(me).position)>=0&&Xe(me)?Fn(me):me;return Me(Ce)?je.filter(function(Ne){return Me(Ne)&&as(Ne,Ce)&&"body"!==wt(Ne)}):[]}(me):[].concat(je),it=[].concat(Ne,[ae]),Vt=it.reduce(function(Ut,ei){var ii=fn(me,ei,Ce);return Ut.top=qe(ii.top,Ut.top),Ut.right=st(ii.right,Ut.right),Ut.bottom=st(ii.bottom,Ut.bottom),Ut.left=qe(ii.left,Ut.left),Ut},fn(me,it[0],Ce));return Vt.width=Vt.right-Vt.left,Vt.height=Vt.bottom-Vt.top,Vt.x=Vt.left,Vt.y=Vt.top,Vt}(Me(zn)?zn:zn.contextElement||lt(me.elements.popper),Ut,ii,ft),rs=Pt(me.elements.reference),Ps=Bs({reference:rs,element:Ls,strategy:"absolute",placement:Ne}),Rs=ms(Object.assign({},Ls,Ps)),Dr=Ci===Y?Rs:rs,Ws={top:ts.top-Dr.top+Vn.top,bottom:Dr.bottom-ts.bottom+Vn.bottom,left:ts.left-Dr.left+Vn.left,right:Dr.right-ts.right+Vn.right},jr=me.modifiersData.offset;if(Ci===Y&&jr){var zo=jr[Ne];Object.keys(Ws).forEach(function(Vr){var ye=[se,U].indexOf(Vr)>=0?1:-1,et=[K,U].indexOf(Vr)>=0?"y":"x";Ws[Vr]+=zo[et]*ye})}return Ws}const Cr={name:"flip",enabled:!0,phase:"main",fn:function Wr(me){var je=me.state,ae=me.options,Ce=me.name;if(!je.modifiersData[Ce]._skip){for(var Ne=ae.mainAxis,it=void 0===Ne||Ne,ft=ae.altAxis,Vt=void 0===ft||ft,Ut=ae.fallbackPlacements,ei=ae.padding,ii=ae.boundary,wi=ae.rootBoundary,Ci=ae.altBoundary,Ai=ae.flipVariations,Sn=void 0===Ai||Ai,an=ae.allowedAutoPlacements,kn=je.options.placement,Vn=T(kn),Ls=Ut||(Vn!==kn&&Sn?function To(me){if(T(me)===$)return[];var je=p(me);return[z(me),je,z(je)]}(kn):[p(kn)]),zn=[kn].concat(Ls).reduce(function(oi,Li){return oi.concat(T(Li)===$?function ar(me,je){void 0===je&&(je={});var Ne=je.boundary,it=je.rootBoundary,ft=je.padding,Vt=je.flipVariations,Ut=je.allowedAutoPlacements,ei=void 0===Ut?_e:Ut,ii=Kn(je.placement),wi=ii?Vt?ge:ge.filter(function(Sn){return Kn(Sn)===ii}):H,Ci=wi.filter(function(Sn){return ei.indexOf(Sn)>=0});0===Ci.length&&(Ci=wi);var Ai=Ci.reduce(function(Sn,an){return Sn[an]=On(me,{placement:an,boundary:Ne,rootBoundary:it,padding:ft})[T(an)],Sn},{});return Object.keys(Ai).sort(function(Sn,an){return Ai[Sn]-Ai[an]})}(je,{placement:Li,boundary:ii,rootBoundary:wi,padding:ei,flipVariations:Sn,allowedAutoPlacements:an}):Li)},[]),ts=je.rects.reference,rs=je.rects.popper,Ps=new Map,Rs=!0,Dr=zn[0],Ws=0;Ws=0,et=ye?"width":"height",u=On(je,{placement:jr,boundary:ii,rootBoundary:wi,altBoundary:Ci,padding:ei}),ie=ye?Vr?se:S:Vr?U:K;ts[et]>rs[et]&&(ie=p(ie));var de=p(ie),Ae=[];if(it&&Ae.push(u[zo]<=0),Vt&&Ae.push(u[ie]<=0,u[de]<=0),Ae.every(function(oi){return oi})){Dr=jr,Rs=!1;break}Ps.set(jr,Ae)}if(Rs)for(var kt=function(Li){var Yi=zn.find(function(Xi){var Ji=Ps.get(Xi);if(Ji)return Ji.slice(0,Li).every(function(_n){return _n})});if(Yi)return Dr=Yi,"break"},zt=Sn?3:1;zt>0&&"break"!==kt(zt);zt--);je.placement!==Dr&&(je.modifiersData[Ce]._skip=!0,je.placement=Dr,je.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Rt(me,je,ae){return qe(me,st(je,ae))}function mt(me){var je=Pt(me),ae=me.offsetWidth,Ce=me.offsetHeight;return Math.abs(je.width-ae)<=1&&(ae=je.width),Math.abs(je.height-Ce)<=1&&(Ce=je.height),{x:me.offsetLeft,y:me.offsetTop,width:ae,height:Ce}}const $e={name:"preventOverflow",enabled:!0,phase:"main",fn:function _t(me){var je=me.state,ae=me.options,Ce=me.name,Ne=ae.mainAxis,it=void 0===Ne||Ne,ft=ae.altAxis,Vt=void 0!==ft&&ft,Ci=ae.tether,Ai=void 0===Ci||Ci,Sn=ae.tetherOffset,an=void 0===Sn?0:Sn,kn=On(je,{boundary:ae.boundary,rootBoundary:ae.rootBoundary,padding:ae.padding,altBoundary:ae.altBoundary}),Vn=T(je.placement),$n=Kn(je.placement),Ls=!$n,zn=In(Vn),ts=function St(me){return"x"===me?"y":"x"}(zn),rs=je.modifiersData.popperOffsets,Ps=je.rects.reference,Rs=je.rects.popper,Dr="function"==typeof an?an(Object.assign({},je.rects,{placement:je.placement})):an,Ws="number"==typeof Dr?{mainAxis:Dr,altAxis:Dr}:Object.assign({mainAxis:0,altAxis:0},Dr),jr=je.modifiersData.offset?je.modifiersData.offset[je.placement]:null,zo={x:0,y:0};if(rs){if(it){var Vr,ye="y"===zn?K:S,et="y"===zn?U:se,u="y"===zn?"height":"width",ie=rs[zn],de=ie+kn[ye],Ae=ie-kn[et],nt=Ai?-Rs[u]/2:0,kt=$n===x?Ps[u]:Rs[u],zt=$n===x?-Rs[u]:-Ps[u],ai=je.elements.arrow,oi=Ai&&ai?mt(ai):{width:0,height:0},Li=je.modifiersData["arrow#persistent"]?je.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Yi=Li[ye],Xi=Li[et],Ji=Rt(0,Ps[u],oi[u]),_n=Ls?Ps[u]/2-nt-Ji-Yi-Ws.mainAxis:kt-Ji-Yi-Ws.mainAxis,en=Ls?-Ps[u]/2+nt+Ji+Xi+Ws.mainAxis:zt+Ji+Xi+Ws.mainAxis,Jn=je.elements.arrow&&Fn(je.elements.arrow),Ms=Jn?"y"===zn?Jn.clientTop||0:Jn.clientLeft||0:0,Zs=null!=(Vr=jr?.[zn])?Vr:0,ho=ie+en-Zs,sr=Rt(Ai?st(de,ie+_n-Zs-Ms):de,ie,Ai?qe(Ae,ho):Ae);rs[zn]=sr,zo[zn]=sr-ie}if(Vt){var Mc,Ea=rs[ts],kp="y"===ts?"height":"width",$f=Ea+kn["x"===zn?K:S],Xf=Ea-kn["x"===zn?U:se],Dp=-1!==[K,S].indexOf(Vn),Dl=null!=(Mc=jr?.[ts])?Mc:0,tc=Dp?$f:Ea-Ps[kp]-Rs[kp]-Dl+Ws.altAxis,Yf=Dp?Ea+Ps[kp]+Rs[kp]-Dl-Ws.altAxis:Xf,Kf=Ai&&Dp?function Nt(me,je,ae){var Ce=Rt(me,je,ae);return Ce>ae?ae:Ce}(tc,Ea,Yf):Rt(Ai?tc:$f,Ea,Ai?Yf:Xf);rs[ts]=Kf,zo[ts]=Kf-Ea}je.modifiersData[Ce]=zo}},requiresIfExists:["offset"]},si={name:"arrow",enabled:!0,phase:"main",fn:function At(me){var je,ae=me.state,Ce=me.name,Ne=me.options,it=ae.elements.arrow,ft=ae.modifiersData.popperOffsets,Vt=T(ae.placement),Ut=In(Vt),ii=[S,se].indexOf(Vt)>=0?"height":"width";if(it&&ft){var wi=function(je,ae){return Wi("number"!=typeof(je="function"==typeof je?je(Object.assign({},ae.rects,{placement:ae.placement})):je)?je:js(je,H))}(Ne.padding,ae),Ci=mt(it),Ai="y"===Ut?K:S,Sn="y"===Ut?U:se,an=ae.rects.reference[ii]+ae.rects.reference[Ut]-ft[Ut]-ae.rects.popper[ii],kn=ft[Ut]-ae.rects.reference[Ut],Vn=Fn(it),$n=Vn?"y"===Ut?Vn.clientHeight||0:Vn.clientWidth||0:0,rs=$n/2-Ci[ii]/2+(an/2-kn/2),Ps=Rt(wi[Ai],rs,$n-Ci[ii]-wi[Sn]);ae.modifiersData[Ce]=((je={})[Ut]=Ps,je.centerOffset=Ps-rs,je)}},effect:function $t(me){var je=me.state,Ce=me.options.element,Ne=void 0===Ce?"[data-popper-arrow]":Ce;null!=Ne&&("string"==typeof Ne&&!(Ne=je.elements.popper.querySelector(Ne))||as(je.elements.popper,Ne)&&(je.elements.arrow=Ne))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ls(me,je,ae){void 0===ae&&(ae=!1);var Ce=Xe(je),Ne=Xe(je)&&function Ki(me){var je=me.getBoundingClientRect(),ae=Tt(je.width)/me.offsetWidth||1,Ce=Tt(je.height)/me.offsetHeight||1;return 1!==ae||1!==Ce}(je),it=lt(je),ft=Pt(me,Ne,ae),Vt={scrollLeft:0,scrollTop:0},Ut={x:0,y:0};return(Ce||!Ce&&!ae)&&(("body"!==wt(je)||di(it))&&(Vt=function qi(me){return me!==Ee(me)&&Xe(me)?function Di(me){return{scrollLeft:me.scrollLeft,scrollTop:me.scrollTop}}(me):Gt(me)}(je)),Xe(je)?((Ut=Pt(je,!0)).x+=je.clientLeft,Ut.y+=je.clientTop):it&&(Ut.x=ti(it))),{x:ft.left+Vt.scrollLeft-Ut.x,y:ft.top+Vt.scrollTop-Ut.y,width:ft.width,height:ft.height}}function Hn(me){var je=new Map,ae=new Set,Ce=[];function Ne(it){ae.add(it.name),[].concat(it.requires||[],it.requiresIfExists||[]).forEach(function(Vt){if(!ae.has(Vt)){var Ut=je.get(Vt);Ut&&Ne(Ut)}}),Ce.push(it)}return me.forEach(function(it){je.set(it.name,it)}),me.forEach(function(it){ae.has(it.name)||Ne(it)}),Ce}function gn(me){var je;return function(){return je||(je=new Promise(function(ae){Promise.resolve().then(function(){je=void 0,ae(me())})})),je}}var sn={placement:"bottom",modifiers:[],strategy:"absolute"};function Bn(){for(var me=arguments.length,je=new Array(me),ae=0;ae=0?-1:1,it="function"==typeof ae?ae(Object.assign({},je,{placement:me})):ae,ft=it[0],Vt=it[1];return ft=ft||0,Vt=(Vt||0)*Ne,[S,se].indexOf(Ce)>=0?{x:Vt,y:ft}:{x:ft,y:Vt}}(wi,je.rects,it),ii},{}),Vt=ft[je.placement],ei=Vt.y;null!=je.modifiersData.popperOffsets&&(je.modifiersData.popperOffsets.x+=Vt.x,je.modifiersData.popperOffsets.y+=ei),je.modifiersData[Ce]=ft}},Jr=["*"],Js=["dialog"];function lc(me,je){if(1&me&&M.EFF(0),2&me){const ae=M.XpG(2);M.JRh(ae.title)}}function cc(me,je){}function al(me,je){if(1&me&&(M.j41(0,"h3",2),M.DNE(1,lc,1,1,"ng-template",null,0,M.C5r)(3,cc,0,0,"ng-template",4),M.k0s()),2&me){const ae=M.sdS(2),Ce=M.XpG();M.R7$(3),M.Y8G("ngTemplateOutlet",Ce.isTitleTemplate()?Ce.title:ae)("ngTemplateOutletContext",Ce.context)}}const Rc={animation:!0,transitionTimerDelayMs:5};let Lo=(()=>{class me{constructor(){this.animation=Rc.animation}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})();function ea(me){return"string"==typeof me}function ta(me){return null!=me}function ia(me){return(me||document.body).getBoundingClientRect()}function Wl(me=document){const je=me?.activeElement;return je?je.shadowRoot?Wl(je.shadowRoot):je:null}const Ca=()=>{},{transitionTimerDelayMs:Mh}=Rc,dl=new Map,Yr=(me,je,ae,Ce)=>{let Ne=Ce.context||{};const it=dl.get(je);if(it)switch(Ce.runningTransition){case"continue":return Le.w;case"stop":me.run(()=>it.transition$.complete()),Ne=Object.assign(it.context,Ne),dl.delete(je)}const ft=ae(je,Ce.animation,Ne)||Ca;if(!Ce.animation||"none"===window.getComputedStyle(je).transitionProperty)return me.run(()=>ft()),(0,q.of)(void 0).pipe(function kh(me){return je=>new V.c(ae=>je.subscribe({next:ft=>me.run(()=>ae.next(ft)),error:ft=>me.run(()=>ae.error(ft)),complete:()=>me.run(()=>ae.complete())}))}(me));const Vt=new ne.B,Ut=new ne.B,ei=Vt.pipe(function D(...me){return je=>(0,P.x)(je,(0,q.of)(...me))}(!0));dl.set(je,{transition$:Vt,complete:()=>{Ut.next(),Ut.complete()},context:Ne});const ii=function Ul(me){const{transitionDelay:je,transitionDuration:ae}=window.getComputedStyle(me);return 1e3*(parseFloat(je)+parseFloat(ae))}(je);return me.runOutsideAngular(()=>{const wi=(0,re.R)(je,"transitionend").pipe((0,A.Q)(ei),(0,I.p)(({target:Ai})=>Ai===je));te((0,ve.O)(ii+Mh).pipe((0,A.Q)(ei)),wi,Ut).pipe((0,A.Q)(ei)).subscribe(()=>{dl.delete(je),me.run(()=>{ft(),Vt.next(),Vt.complete()})})}),Vt.asObservable()},fc=(me,je,ae)=>{let{direction:Ce,maxSize:Ne,dimension:it}=ae;const{classList:ft}=me;function Vt(){ft.add("collapse"),"show"===Ce?ft.add("show"):ft.remove("show")}if(je)return Ne||(Ne=function $l(me,je){if(typeof navigator>"u")return"0px";const{classList:ae}=me,Ce=ae.contains("show");Ce||ae.add("show"),me.style[je]="";const Ne=me.getBoundingClientRect()[je]+"px";return Ce||ae.remove("show"),Ne}(me,it),ae.maxSize=Ne,me.style[it]="show"!==Ce?Ne:"0px",ft.remove("collapse"),ft.remove("collapsing"),ft.remove("show"),ia(me),ft.add("collapsing")),me.style[it]="show"===Ce?Ne:"0px",()=>{Vt(),ft.remove("collapsing"),me.style[it]=""};Vt()};let Ge=(()=>{class me{constructor(){this._ngbConfig=(0,M.WQX)(Lo),this.horizontal=!1}get animation(){return this._animation??this._ngbConfig.animation}set animation(ae){this._animation=ae}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),ut=(()=>{class me{constructor(){this._config=(0,M.WQX)(Ge),this._element=(0,M.WQX)(M.aKT),this._zone=(0,M.WQX)(M.SKi),this.animation=this._config.animation,this._afterInit=!1,this._isCollapsed=!1,this.ngbCollapseChange=new M.bkB,this.horizontal=this._config.horizontal,this.shown=new M.bkB,this.hidden=new M.bkB}set collapsed(ae){this._isCollapsed!==ae&&(this._isCollapsed=ae,this._afterInit&&this._runTransitionWithEvents(ae,this.animation))}ngOnInit(){this._runTransition(this._isCollapsed,!1),this._afterInit=!0}toggle(ae=this._isCollapsed){this.collapsed=!ae,this.ngbCollapseChange.next(this._isCollapsed)}_runTransition(ae,Ce){return Yr(this._zone,this._element.nativeElement,fc,{animation:Ce,runningTransition:"stop",context:{direction:ae?"hide":"show",dimension:this.horizontal?"width":"height"}})}_runTransitionWithEvents(ae,Ce){this._runTransition(ae,Ce).subscribe(()=>{ae?this.hidden.emit():this.shown.emit()})}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbCollapse",""]],hostVars:2,hostBindings:function(Ce,Ne){2&Ce&&M.AVh("collapse-horizontal",Ne.horizontal)},inputs:{animation:"animation",collapsed:[M.Mj6.None,"ngbCollapse","collapsed"],horizontal:"horizontal"},outputs:{ngbCollapseChange:"ngbCollapseChange",shown:"shown",hidden:"hidden"},exportAs:["ngbCollapse"],standalone:!0})}return me})(),xn=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Lr=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),No=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Xl=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})();var ss=function(me){return me[me.Tab=9]="Tab",me[me.Enter=13]="Enter",me[me.Escape=27]="Escape",me[me.Space=32]="Space",me[me.PageUp=33]="PageUp",me[me.PageDown=34]="PageDown",me[me.End=35]="End",me[me.Home=36]="Home",me[me.ArrowLeft=37]="ArrowLeft",me[me.ArrowUp=38]="ArrowUp",me[me.ArrowRight=39]="ArrowRight",me[me.ArrowDown=40]="ArrowDown",me}(ss||{});const vc=(me,je)=>!!je&&je.some(ae=>ae.contains(me)),hd=(me,je)=>!je||null!=function _a(me,je){return!je||typeof me.closest>"u"?null:me.closest(je)}(me,je),$u=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function Oh(me,je,ae,Ce,Ne,it,ft,Vt){ae&&me.runOutsideAngular((me=>$u?()=>setTimeout(()=>me(),100):me)(()=>{const ei=(0,re.R)(je,"keydown").pipe((0,A.Q)(Ne),(0,I.p)(Ci=>Ci.which===ss.Escape),(0,m.M)(Ci=>Ci.preventDefault())),ii=(0,re.R)(je,"mousedown").pipe((0,w.T)(Ci=>{const Ai=Ci.target;return 2!==Ci.button&&!vc(Ai,ft)&&("inside"===ae?vc(Ai,it)&&hd(Ai,Vt):"outside"===ae?!vc(Ai,it):hd(Ai,Vt)||!vc(Ai,it))}),(0,A.Q)(Ne)),wi=(0,re.R)(je,"mouseup").pipe(a(ii),(0,I.p)(([Ci,Ai])=>Ai),(0,g.c)(0),(0,A.Q)(Ne));te([ei.pipe((0,w.T)(Ci=>0)),wi.pipe((0,w.T)(Ci=>1))]).subscribe(Ci=>me.run(()=>Ce(Ci)))}))}const Kd=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function Hc(me){const je=Array.from(me.querySelectorAll(Kd)).filter(ae=>-1!==ae.tabIndex);return[je[0],je[je.length-1]]}let Re=(()=>{class me{constructor(){this._element=(0,M.WQX)(d.qQ).documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})();const He=/\s+/,Fe=/ +/gi,Ue={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},gt=/^left/,Ot=/^right/,qt=/^start/,Xt=/^end/;function on({placement:me,baseClass:je},ae){let Ce=Array.isArray(me)?me:me.split(He),it=Ce.findIndex(ei=>"auto"===ei);it>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(ei){null==Ce.find(ii=>-1!==ii.search("^"+ei))&&Ce.splice(it++,1,ei)});const ft=Ce.map(ei=>function rt(me,je){const[ae,Ce]=Ue[me];return je&&Ce||ae}(ei,ae.isRTL()));return{placement:ft.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!je,phase:"write",fn({state:ei}){const ii=new RegExp(je+"(-[a-z]+)*","gi"),wi=ei.elements.popper,Ci=ei.placement;let Ai=wi.className;Ai=Ai.replace(ii,""),Ai+=` ${function Ei(me,je){let[ae,Ce]=je.split("-");const Ne=ae.replace(gt,"start").replace(Ot,"end");let it=[Ne];if(Ce){let ft=Ce;("left"===ae||"right"===ae)&&(ft=ft.replace(qt,"top").replace(Xt,"bottom")),it.push(`${Ne}-${ft}`)}return me&&(it=it.map(ft=>`${me}-${ft}`)),it.join(" ")}(je,Ci)}`,Ai=Ai.trim().replace(Fe," "),wi.className=Ai}},Cr,$e,si,{enabled:!0,name:"flip",options:{fallbackPlacements:ft}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function bn(me){return me}function Os(){const me=(0,M.WQX)(Re);let je=null;return{createPopper(ae){if(!je){let Ne=(ae.updatePopperOptions||bn)(on(ae,me));je=ha(ae.hostElement,ae.targetElement,Ne)}},update(){je&&je.update()},setOptions(ae){if(je){let Ne=(ae.updatePopperOptions||bn)(on(ae,me));je.setOptions(Ne)}},destroy(){je&&(je.destroy(),je=null)}}}function Ks(me){return je=>(je.modifiers.push(wr,{name:"offset",options:{offset:()=>me}}),je)}new Date(1882,10,12),new Date(2174,10,25);let ru=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Vh=(()=>{class me{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=ae=>ae,this.container=null}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),qc=(()=>{class me{constructor(){this._disabled=!1,this.nativeElement=(0,M.WQX)(M.aKT).nativeElement,this.tabindex=0}set disabled(ae){this._disabled=""===ae||!0===ae}get disabled(){return this._disabled}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(Ce,Ne){2&Ce&&(M.Mr5("tabIndex",Ne.disabled?-1:Ne.tabindex),M.AVh("disabled",Ne.disabled))},inputs:{tabindex:"tabindex",disabled:"disabled"},standalone:!0})}return me})(),Nr=(()=>{class me{constructor(){this.dropdown=(0,M.WQX)(oa),this.nativeElement=(0,M.WQX)(M.aKT).nativeElement}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(Ce,Ne,it){if(1&Ce&&M.wni(it,qc,4),2&Ce){let ft;M.mGM(ft=M.lsd())&&(Ne.menuItems=ft)}},hostVars:4,hostBindings:function(Ce,Ne){1&Ce&&M.bIt("keydown.ArrowUp",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.ArrowDown",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Home",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.End",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Enter",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Space",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Shift.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)}),2&Ce&&M.AVh("dropdown-menu",!0)("show",Ne.dropdown.isOpen())},standalone:!0})}return me})(),Zl=(()=>{class me{constructor(){this.dropdown=(0,M.WQX)(oa),this.nativeElement=(0,M.WQX)(M.aKT).nativeElement}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:3,hostBindings:function(Ce,Ne){2&Ce&&(M.BMQ("aria-expanded",Ne.dropdown.isOpen()),M.AVh("show",Ne.dropdown.isOpen()))},standalone:!0})}return me})(),Sa=(()=>{class me extends Zl{static#e=this.\u0275fac=(()=>{let ae;return function(Ne){return(ae||(ae=M.xGo(me)))(Ne||me)}})();static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:3,hostBindings:function(Ce,Ne){1&Ce&&M.bIt("click",function(){return Ne.dropdown.toggle()})("keydown.ArrowUp",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.ArrowDown",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Home",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.End",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Shift.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)}),2&Ce&&(M.BMQ("aria-expanded",Ne.dropdown.isOpen()),M.AVh("show",Ne.dropdown.isOpen()))},standalone:!0,features:[M.Jv_([{provide:Zl,useExisting:(0,M.Rfq)(()=>me)}]),M.Vt3]})}return me})(),oa=(()=>{class me{constructor(){this._changeDetector=(0,M.WQX)(M.gRc),this._config=(0,M.WQX)(Vh),this._document=(0,M.WQX)(d.qQ),this._ngZone=(0,M.WQX)(M.SKi),this._nativeElement=(0,M.WQX)(M.aKT).nativeElement,this._destroyCloseHandlers$=new ne.B,this._bodyContainer=null,this._positioning=Os(),this.autoClose=this._config.autoClose,this._open=!1,this.placement=this._config.placement,this.popperOptions=this._config.popperOptions,this.container=this._config.container,this.openChange=new M.bkB}ngOnInit(){this.display||(this.display=this._nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe((0,_.s)(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(ae){if(ae.container&&this._open&&this._applyContainer(this.container),ae.placement&&!ae.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),ae.dropdownClass){const{currentValue:Ce,previousValue:Ne}=ae.dropdownClass;this._applyCustomDropdownClass(Ce,Ne)}ae.autoClose&&this._open&&(this.autoClose=ae.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:ae=>this.popperOptions(Ks([0,2])(ae))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),Oh(this._ngZone,this._document,this.autoClose,ae=>{this.close(),0===ae&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(ae){const Ce=ae.which,Ne=this._getMenuElements();let it=-1,ft=null;const Vt=this._isEventFromToggle(ae);if(!Vt&&Ne.length&&Ne.forEach((Ut,ei)=>{Ut.contains(ae.target)&&(ft=Ut),Ut===Wl(this._document)&&(it=ei)}),Ce!==ss.Space&&Ce!==ss.Enter){if(Ce!==ss.Tab){if(Vt||ft){if(this.open(),Ne.length){switch(Ce){case ss.ArrowDown:it=Math.min(it+1,Ne.length-1);break;case ss.ArrowUp:if(this._isDropup()&&-1===it){it=Ne.length-1;break}it=Math.max(it-1,0);break;case ss.Home:it=0;break;case ss.End:it=Ne.length-1}Ne[it].focus()}ae.preventDefault()}}else if(ae.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===ae.target)return void("body"!==this.container||ae.shiftKey?ae.shiftKey&&this.close():(this._menu.nativeElement.setAttribute("tabindex","0"),this._menu.nativeElement.focus(),this._menu.nativeElement.removeAttribute("tabindex")));if("body"===this.container){const Ut=this._menu.nativeElement.querySelectorAll(Kd);ae.shiftKey&&ae.target===Ut[0]?(this._anchor.nativeElement.focus(),ae.preventDefault()):!ae.shiftKey&&ae.target===Ut[Ut.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else(0,re.R)(ae.target,"focusout").pipe((0,_.s)(1)).subscribe(({relatedTarget:Ut})=>{this._nativeElement.contains(Ut)||this.close()})}}else ft&&(!0===this.autoClose||"inside"===this.autoClose)&&(0,re.R)(ft,"click").pipe((0,_.s)(1)).subscribe(()=>this.close())}_isDropup(){return this._nativeElement.classList.contains("dropup")}_isEventFromToggle(ae){return this._anchor.nativeElement.contains(ae.target)}_getMenuElements(){return this._menu?this._menu.menuItems.filter(({disabled:ae})=>!ae).map(({nativeElement:ae})=>ae):[]}_positionMenu(){const ae=this._menu;this.isOpen()&&ae&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(ae){return Array.isArray(ae)?ae[0]:ae.split(" ")[0]}_resetContainer(){this._menu&&this._nativeElement.appendChild(this._menu.nativeElement),this._bodyContainer&&(this._document.body.removeChild(this._bodyContainer),this._bodyContainer=null)}_applyContainer(ae=null){if(this._resetContainer(),"body"===ae){const Ce=this._menu.nativeElement,Ne=this._bodyContainer=this._bodyContainer||this._document.createElement("div");Ne.style.position="absolute",Ce.style.position="static",Ne.style.zIndex="1055",Ne.appendChild(Ce),this._document.body.appendChild(Ne)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(ae,Ce){const Ne="body"===this.container?this._bodyContainer:this._nativeElement;Ne&&(Ce&&Ne.classList.remove(Ce),ae&&Ne.classList.add(ae))}_applyPlacementClasses(ae){if(this._menu){ae||(ae=this._getFirstPlacement(this.placement)),this._nativeElement.classList.remove("dropup","dropdown"),"static"===this.display?this._menu.nativeElement.setAttribute("data-bs-popper","static"):this._menu.nativeElement.removeAttribute("data-bs-popper");const Ce=-1!==ae.search("^top")?"dropup":"dropdown";this._nativeElement.classList.add(Ce),this._bodyContainer&&(this._bodyContainer.classList.remove("dropup","dropdown"),this._bodyContainer.classList.add(Ce))}}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdown",""]],contentQueries:function(Ce,Ne,it){if(1&Ce&&(M.wni(it,Nr,5),M.wni(it,Zl,5)),2&Ce){let ft;M.mGM(ft=M.lsd())&&(Ne._menu=ft.first),M.mGM(ft=M.lsd())&&(Ne._anchor=ft.first)}},hostVars:2,hostBindings:function(Ce,Ne){2&Ce&&M.AVh("show",Ne.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:[M.Mj6.None,"open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[M.OA$]})}return me})(),zh=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),ou=(()=>{class me{constructor(){this._ngbConfig=(0,M.WQX)(Lo),this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return this._animation??this._ngbConfig.animation}set animation(ae){this._animation=ae}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})();class Cl{constructor(je,ae,Ce){this.nodes=je,this.viewRef=ae,this.componentRef=Ce}}class lp{constructor(je){this._componentType=je,this._windowRef=null,this._contentRef=null,this._document=(0,M.WQX)(d.qQ),this._applicationRef=(0,M.WQX)(M.o8S),this._injector=(0,M.WQX)(M.zZn),this._viewContainerRef=(0,M.WQX)(M.c1b),this._ngZone=(0,M.WQX)(M.SKi)}open(je,ae,Ce=!1){this._windowRef||(this._contentRef=this._getContentRef(je,ae),this._windowRef=this._viewContainerRef.createComponent(this._componentType,{injector:this._injector,projectableNodes:this._contentRef.nodes}));const{nativeElement:Ne}=this._windowRef.location,it=this._ngZone.onStable.pipe((0,_.s)(1),(0,v.Z)(()=>Yr(this._ngZone,Ne,({classList:ft})=>ft.add("show"),{animation:Ce,runningTransition:"continue"})));return{windowRef:this._windowRef,transition$:it}}close(je=!1){return this._windowRef?Yr(this._ngZone,this._windowRef.location.nativeElement,({classList:ae})=>ae.remove("show"),{animation:je,runningTransition:"stop"}).pipe((0,m.M)(()=>{this._windowRef&&(this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView)),this._windowRef=null),this._contentRef?.viewRef&&(this._applicationRef.detachView(this._contentRef.viewRef),this._contentRef.viewRef.destroy(),this._contentRef=null)})):(0,q.of)(void 0)}_getContentRef(je,ae){if(je){if(je instanceof M.C4Q){const Ce=je.createEmbeddedView(ae);return this._applicationRef.attachView(Ce),new Cl([Ce.rootNodes],Ce)}return new Cl([[this._document.createTextNode(`${je}`)]])}return new Cl([])}}let Tc=(()=>{class me{constructor(){this._document=(0,M.WQX)(d.qQ)}hide(){const ae=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),Ce=this._document.body,Ne=Ce.style,{overflow:it,paddingRight:ft}=Ne;if(ae>0){const Vt=parseFloat(window.getComputedStyle(Ce).paddingRight);Ne.paddingRight=`${Vt+ae}px`}return Ne.overflow="hidden",()=>{ae>0&&(Ne.paddingRight=ft),Ne.overflow=it}}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),Qc=(()=>{class me{constructor(){this._nativeElement=(0,M.WQX)(M.aKT).nativeElement,this._zone=(0,M.WQX)(M.SKi)}ngOnInit(){this._zone.onStable.asObservable().pipe((0,_.s)(1)).subscribe(()=>{Yr(this._zone,this._nativeElement,(ae,Ce)=>{Ce&&ia(ae),ae.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return Yr(this._zone,this._nativeElement,({classList:ae})=>ae.remove("show"),{animation:this.animation,runningTransition:"stop"})}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275cmp=M.VBU({type:me,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(Ce,Ne){2&Ce&&(M.HbH("modal-backdrop"+(Ne.backdropClass?" "+Ne.backdropClass:"")),M.AVh("show",!Ne.animation)("fade",Ne.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[M.aNF],decls:0,vars:0,template:function(Ce,Ne){},encapsulation:2})}return me})();class Gh{update(je){}close(je){}dismiss(je){}}const Hh=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],Jc=["animation","backdropClass"];class au{_applyWindowOptions(je,ae){Hh.forEach(Ce=>{ta(ae[Ce])&&(je[Ce]=ae[Ce])})}_applyBackdropOptions(je,ae){Jc.forEach(Ce=>{ta(ae[Ce])&&(je[Ce]=ae[Ce])})}update(je){this._applyWindowOptions(this._windowCmptRef.instance,je),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,je)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe((0,A.Q)(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe((0,A.Q)(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(je,ae,Ce,Ne){this._windowCmptRef=je,this._contentRef=ae,this._backdropCmptRef=Ce,this._beforeDismiss=Ne,this._closed=new ne.B,this._dismissed=new ne.B,this._hidden=new ne.B,je.instance.dismissEvent.subscribe(it=>{this.dismiss(it)}),this.result=new Promise((it,ft)=>{this._resolve=it,this._reject=ft}),this.result.then(null,()=>{})}close(je){this._windowCmptRef&&(this._closed.next(je),this._resolve(je),this._removeModalElements())}_dismiss(je){this._dismissed.next(je),this._reject(je),this._removeModalElements()}dismiss(je){if(this._windowCmptRef)if(this._beforeDismiss){const ae=this._beforeDismiss();!function hl(me){return me&&me.then}(ae)?!1!==ae&&this._dismiss(je):ae.then(Ce=>{!1!==Ce&&this._dismiss(je)},()=>{})}else this._dismiss(je)}_removeModalElements(){const je=this._windowCmptRef.instance.hide(),ae=this._backdropCmptRef?this._backdropCmptRef.instance.hide():(0,q.of)(void 0);je.subscribe(()=>{const{nativeElement:Ce}=this._windowCmptRef.location;Ce.parentNode.removeChild(Ce),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),ae.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:Ce}=this._backdropCmptRef.location;Ce.parentNode.removeChild(Ce),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),F(je,ae).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Uh=function(me){return me[me.BACKDROP_CLICK=0]="BACKDROP_CLICK",me[me.ESC=1]="ESC",me}(Uh||{});let cp=(()=>{class me{constructor(){this._document=(0,M.WQX)(d.qQ),this._elRef=(0,M.WQX)(M.aKT),this._zone=(0,M.WQX)(M.SKi),this._closed$=new ne.B,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new M.bkB,this.shown=new ne.B,this.hidden=new ne.B}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":ea(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(ae){this.dismissEvent.emit(ae)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe((0,_.s)(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:ae}=this._elRef,Ce={animation:this.animation,runningTransition:"stop"},ft=F(Yr(this._zone,ae,()=>ae.classList.remove("show"),Ce),Yr(this._zone,this._dialogEl.nativeElement,()=>{},Ce));return ft.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),ft}_show(){const ae={animation:this.animation,runningTransition:"continue"};F(Yr(this._zone,this._elRef.nativeElement,(it,ft)=>{ft&&ia(it),it.classList.add("show")},ae),Yr(this._zone,this._dialogEl.nativeElement,()=>{},ae)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:ae}=this._elRef;this._zone.runOutsideAngular(()=>{(0,re.R)(ae,"keydown").pipe((0,A.Q)(this._closed$),(0,I.p)(Ne=>Ne.which===ss.Escape)).subscribe(Ne=>{this.keyboard?requestAnimationFrame(()=>{Ne.defaultPrevented||this._zone.run(()=>this.dismiss(Uh.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let Ce=!1;(0,re.R)(this._dialogEl.nativeElement,"mousedown").pipe((0,A.Q)(this._closed$),(0,m.M)(()=>Ce=!1),(0,o.n)(()=>(0,re.R)(ae,"mouseup").pipe((0,A.Q)(this._closed$),(0,_.s)(1))),(0,I.p)(({target:Ne})=>ae===Ne)).subscribe(()=>{Ce=!0}),(0,re.R)(ae,"click").pipe((0,A.Q)(this._closed$)).subscribe(({target:Ne})=>{ae===Ne&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!Ce&&this._zone.run(()=>this.dismiss(Uh.BACKDROP_CLICK))),Ce=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:ae}=this._elRef;if(!ae.contains(document.activeElement)){const Ce=ae.querySelector("[ngbAutofocus]"),Ne=Hc(ae)[0];(Ce||Ne||ae).focus()}}_restoreFocus(){const ae=this._document.body,Ce=this._elWithFocus;let Ne;Ne=Ce&&Ce.focus&&ae.contains(Ce)?Ce:ae,this._zone.runOutsideAngular(()=>{setTimeout(()=>Ne.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&Yr(this._zone,this._elRef.nativeElement,({classList:ae})=>(ae.add("modal-static"),()=>ae.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275cmp=M.VBU({type:me,selectors:[["ngb-modal-window"]],viewQuery:function(Ce,Ne){if(1&Ce&&M.GBs(Js,7),2&Ce){let it;M.mGM(it=M.lsd())&&(Ne._dialogEl=it.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(Ce,Ne){2&Ce&&(M.BMQ("aria-modal",!0)("aria-labelledby",Ne.ariaLabelledBy)("aria-describedby",Ne.ariaDescribedBy),M.HbH("modal d-block"+(Ne.windowClass?" "+Ne.windowClass:"")),M.AVh("fade",Ne.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[M.aNF],ngContentSelectors:Jr,decls:4,vars:2,consts:[["dialog",""],["role","document"],[1,"modal-content"]],template:function(Ce,Ne){1&Ce&&(M.NAR(),M.j41(0,"div",1,0)(2,"div",2),M.SdG(3),M.k0s()()),2&Ce&&M.HbH("modal-dialog"+(Ne.size?" modal-"+Ne.size:"")+(Ne.centered?" modal-dialog-centered":"")+Ne.fullscreenClass+(Ne.scrollable?" modal-dialog-scrollable":"")+(Ne.modalDialogClass?" "+Ne.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2})}return me})(),Sc=(()=>{class me{constructor(){this._applicationRef=(0,M.WQX)(M.o8S),this._injector=(0,M.WQX)(M.zZn),this._environmentInjector=(0,M.WQX)(M.uvJ),this._document=(0,M.WQX)(d.qQ),this._scrollBar=(0,M.WQX)(Tc),this._activeWindowCmptHasChanged=new ne.B,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new M.bkB;const ae=(0,M.WQX)(M.SKi);this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const Ce=this._windowCmpts[this._windowCmpts.length-1];((me,je,ae,Ce=!1)=>{me.runOutsideAngular(()=>{const Ne=(0,re.R)(je,"focusin").pipe((0,A.Q)(ae),(0,w.T)(it=>it.target));(0,re.R)(je,"keydown").pipe((0,A.Q)(ae),(0,I.p)(it=>it.which===ss.Tab),a(Ne)).subscribe(([it,ft])=>{const[Vt,Ut]=Hc(je);(ft===Vt||ft===je)&&it.shiftKey&&(Ut.focus(),it.preventDefault()),ft===Ut&&!it.shiftKey&&(Vt.focus(),it.preventDefault())}),Ce&&(0,re.R)(je,"click").pipe((0,A.Q)(ae),a(Ne),(0,w.T)(it=>it[1])).subscribe(it=>it.focus())})})(ae,Ce.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(Ce.location.nativeElement)}})}_restoreScrollBar(){const ae=this._scrollBarRestoreFn;ae&&(this._scrollBarRestoreFn=null,ae())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(ae,Ce,Ne){const it=Ne.container instanceof HTMLElement?Ne.container:ta(Ne.container)?this._document.querySelector(Ne.container):this._document.body;if(!it)throw new Error(`The specified modal container "${Ne.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const ft=new Gh,Vt=(ae=Ne.injector||ae).get(M.uvJ,null)||this._environmentInjector,Ut=this._getContentRef(ae,Vt,Ce,ft,Ne);let ei=!1!==Ne.backdrop?this._attachBackdrop(it):void 0,ii=this._attachWindowComponent(it,Ut.nodes),wi=new au(ii,Ut,ei,Ne.beforeDismiss);return this._registerModalRef(wi),this._registerWindowCmpt(ii),wi.hidden.pipe((0,_.s)(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(this._document.body.classList.remove("modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),ft.close=Ci=>{wi.close(Ci)},ft.dismiss=Ci=>{wi.dismiss(Ci)},ft.update=Ci=>{wi.update(Ci)},wi.update(Ne),1===this._modalRefs.length&&this._document.body.classList.add("modal-open"),ei&&ei.instance&&ei.changeDetectorRef.detectChanges(),ii.changeDetectorRef.detectChanges(),wi}get activeInstances(){return this._activeInstances}dismissAll(ae){this._modalRefs.forEach(Ce=>Ce.dismiss(ae))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(ae){let Ce=(0,M.a0P)(Qc,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(Ce.hostView),ae.appendChild(Ce.location.nativeElement),Ce}_attachWindowComponent(ae,Ce){let Ne=(0,M.a0P)(cp,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:Ce});return this._applicationRef.attachView(Ne.hostView),ae.appendChild(Ne.location.nativeElement),Ne}_getContentRef(ae,Ce,Ne,it,ft){return Ne?Ne instanceof M.C4Q?this._createFromTemplateRef(Ne,it):ea(Ne)?this._createFromString(Ne):this._createFromComponent(ae,Ce,Ne,it,ft):new Cl([])}_createFromTemplateRef(ae,Ce){const it=ae.createEmbeddedView({$implicit:Ce,close(ft){Ce.close(ft)},dismiss(ft){Ce.dismiss(ft)}});return this._applicationRef.attachView(it),new Cl([it.rootNodes],it)}_createFromString(ae){const Ce=this._document.createTextNode(`${ae}`);return new Cl([[Ce]])}_createFromComponent(ae,Ce,Ne,it,ft){const Vt=M.zZn.create({providers:[{provide:Gh,useValue:it}],parent:ae}),Ut=(0,M.a0P)(Ne,{environmentInjector:Ce,elementInjector:Vt}),ei=Ut.location.nativeElement;return ft.scrollable&&ei.classList.add("component-host-scrollable"),this._applicationRef.attachView(Ut.hostView),new Cl([[ei]],Ut.hostView,Ut)}_setAriaHidden(ae){const Ce=ae.parentElement;Ce&&ae!==this._document.body&&(Array.from(Ce.children).forEach(Ne=>{Ne!==ae&&"SCRIPT"!==Ne.nodeName&&(this._ariaHiddenValues.set(Ne,Ne.getAttribute("aria-hidden")),Ne.setAttribute("aria-hidden","true"))}),this._setAriaHidden(Ce))}_revertAriaHidden(){this._ariaHiddenValues.forEach((ae,Ce)=>{ae?Ce.setAttribute("aria-hidden",ae):Ce.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(ae){const Ce=()=>{const Ne=this._modalRefs.indexOf(ae);Ne>-1&&(this._modalRefs.splice(Ne,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(ae),this._activeInstances.emit(this._modalRefs),ae.result.then(Ce,Ce)}_registerWindowCmpt(ae){this._windowCmpts.push(ae),this._activeWindowCmptHasChanged.next(),ae.onDestroy(()=>{const Ce=this._windowCmpts.indexOf(ae);Ce>-1&&(this._windowCmpts.splice(Ce,1),this._activeWindowCmptHasChanged.next())})}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),eh=(()=>{class me{constructor(){this._injector=(0,M.WQX)(M.zZn),this._modalStack=(0,M.WQX)(Sc),this._config=(0,M.WQX)(ou)}open(ae,Ce={}){const Ne={...this._config,animation:this._config.animation,...Ce};return this._modalStack.open(this._injector,ae,Ne)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(ae){this._modalStack.dismissAll(ae)}hasOpenModals(){return this._modalStack.hasOpenModals()}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),Ja=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({providers:[eh]})}return me})(),$h=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Tl=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})();const oh={hover:["mouseenter","mouseleave"],focus:["focusin","focusout"]};let xd=(()=>{class me{constructor(){this._ngbConfig=(0,M.WQX)(Lo),this.autoClose=!0,this.placement="auto",this.popperOptions=ae=>ae,this.triggers="click",this.disablePopover=!1,this.openDelay=0,this.closeDelay=0}get animation(){return this._animation??this._ngbConfig.animation}set animation(ae){this._animation=ae}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),_d=0,aa=(()=>{class me{isTitleTemplate(){return this.title instanceof M.C4Q}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275cmp=M.VBU({type:me,selectors:[["ngb-popover-window"]],hostAttrs:["role","tooltip",2,"position","absolute"],hostVars:5,hostBindings:function(Ce,Ne){2&Ce&&(M.Mr5("id",Ne.id),M.HbH("popover"+(Ne.popoverClass?" "+Ne.popoverClass:"")),M.AVh("fade",Ne.animation))},inputs:{animation:"animation",title:"title",id:"id",popoverClass:"popoverClass",context:"context"},standalone:!0,features:[M.aNF],ngContentSelectors:Jr,decls:4,vars:1,consts:[["simpleTitle",""],["data-popper-arrow","",1,"popover-arrow"],[1,"popover-header"],[1,"popover-body"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(Ce,Ne){1&Ce&&(M.NAR(),M.nrm(0,"div",1),M.DNE(1,al,4,2,"h3",2),M.j41(2,"div",3),M.SdG(3),M.k0s()),2&Ce&&(M.R7$(),M.vxM(1,Ne.title?1:-1))},dependencies:[d.T3],encapsulation:2,changeDetection:0})}return me})(),du=(()=>{class me{constructor(){this._config=(0,M.WQX)(xd),this.animation=this._config.animation,this.autoClose=this._config.autoClose,this.placement=this._config.placement,this.popperOptions=this._config.popperOptions,this.triggers=this._config.triggers,this.container=this._config.container,this.disablePopover=this._config.disablePopover,this.popoverClass=this._config.popoverClass,this.openDelay=this._config.openDelay,this.closeDelay=this._config.closeDelay,this.shown=new M.bkB,this.hidden=new M.bkB,this._nativeElement=(0,M.WQX)(M.aKT).nativeElement,this._ngZone=(0,M.WQX)(M.SKi),this._document=(0,M.WQX)(d.qQ),this._changeDetector=(0,M.WQX)(M.gRc),this._ngbPopoverWindowId="ngb-popover-"+_d++,this._popupService=new lp(aa),this._windowRef=null,this._positioning=Os()}open(ae){if(!this._windowRef&&!this._isDisabled()){const{windowRef:Ce,transition$:Ne}=this._popupService.open(this.ngbPopover,ae??this.popoverContext,this.animation);this._windowRef=Ce,this._windowRef.setInput("animation",this.animation),this._windowRef.setInput("title",this.popoverTitle),this._windowRef.setInput("context",ae??this.popoverContext),this._windowRef.setInput("popoverClass",this.popoverClass),this._windowRef.setInput("id",this._ngbPopoverWindowId),this._getPositionTargetElement().setAttribute("aria-describedby",this._ngbPopoverWindowId),"body"===this.container&&this._document.body.appendChild(this._windowRef.location.nativeElement),this._windowRef.changeDetectorRef.detectChanges(),this._windowRef.changeDetectorRef.markForCheck(),this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._getPositionTargetElement(),targetElement:this._windowRef.location.nativeElement,placement:this.placement,appendToBody:"body"===this.container,baseClass:"bs-popover",updatePopperOptions:it=>this.popperOptions(Ks([0,8])(it))}),Promise.resolve().then(()=>{this._positioning.update(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positioning.update())})}),Oh(this._ngZone,this._document,this.autoClose,()=>this.close(),this.hidden,[this._windowRef.location.nativeElement]),Ne.subscribe(()=>this.shown.emit())}}close(ae=this.animation){this._windowRef&&(this._getPositionTargetElement().removeAttribute("aria-describedby"),this._popupService.close(ae).subscribe(()=>{this._windowRef=null,this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this.hidden.emit(),this._changeDetector.markForCheck()}))}toggle(){this._windowRef?this.close():this.open()}isOpen(){return null!=this._windowRef}ngOnInit(){this._unregisterListenersFn=function jf(me,je,ae,Ce,Ne,it=0,ft=0){const Vt=function vr(me){const je=(me||"").trim();if(0===je.length)return[];const ae=je.split(/\s+/).map(Ne=>Ne.split(":")).map(Ne=>oh[Ne[0]]||Ne),Ce=ae.filter(Ne=>Ne.includes("manual"));if(Ce.length>1)throw"Triggers parse error: only one manual trigger is allowed";if(1===Ce.length&&ae.length>1)throw"Triggers parse error: manual trigger can't be mixed with other triggers";return Ce.length?[]:ae}(je);if(0===Vt.length)return()=>{};const Ut=new Set,ei=[];let ii;function wi(Ai,Sn){me.addEventListener(Ai,Sn),ei.push(()=>me.removeEventListener(Ai,Sn))}function Ci(Ai,Sn){clearTimeout(ii),Sn>0?ii=setTimeout(Ai,Sn):Ai()}for(const[Ai,Sn]of Vt)Sn?(wi(Ai,()=>{Ut.add(Ai),Ci(()=>Ut.size>0&&Ce(),it)}),wi(Sn,()=>{Ut.delete(Ai),Ci(()=>0===Ut.size&&Ne(),ft)})):wi(Ai,()=>ae()?Ci(Ne,ft):Ci(Ce,it));return()=>ei.forEach(Ai=>Ai())}(this._nativeElement,this.triggers,this.isOpen.bind(this),this.open.bind(this),this.close.bind(this),+this.openDelay,+this.closeDelay)}ngOnChanges({ngbPopover:ae,popoverTitle:Ce,disablePopover:Ne,popoverClass:it}){it&&this.isOpen()&&this._windowRef.setInput("popoverClass",it.currentValue),(ae||Ce||Ne)&&this._isDisabled()&&this.close()}ngOnDestroy(){this.close(!1),this._unregisterListenersFn?.()}_isDisabled(){return!!this.disablePopover||!this.ngbPopover&&!this.popoverTitle}_getPositionTargetElement(){return(ea(this.positionTarget)?this._document.querySelector(this.positionTarget):this.positionTarget)||this._nativeElement}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbPopover",""]],inputs:{animation:"animation",autoClose:"autoClose",ngbPopover:"ngbPopover",popoverTitle:"popoverTitle",placement:"placement",popperOptions:"popperOptions",triggers:"triggers",positionTarget:"positionTarget",container:"container",disablePopover:"disablePopover",popoverClass:"popoverClass",popoverContext:"popoverContext",openDelay:"openDelay",closeDelay:"closeDelay"},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbPopover"],standalone:!0,features:[M.OA$]})}return me})(),Ql=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),ah=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Jl=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),wd=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),gp=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),kl=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),co=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})();new M.nKC("live announcer delay",{providedIn:"root",factory:()=>100});let Dc=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Tp=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})();const Sp=[xn,Lr,No,Xl,ru,zh,Ja,$h,Tp,Tl,Ql,ah,Jl,wd,gp,kl,co,Dc];let Md=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({imports:[Sp,xn,Lr,No,Xl,ru,zh,Ja,$h,Tp,Tl,Ql,ah,Jl,wd,gp,kl,co,Dc]})}return me})()},97013:(ri,Bt,We)=>{"use strict";We.d(Bt,{Uq:()=>Qt,vr:()=>Cr,MQ:()=>Nt});var M=We(54438),e=We(89417),V=We(56977),Le=We(43236),q=We(39974),ne=We(58750),re=We(54360),le=We(41584);var ue=We(99172),J=We(88141),te=We(70152),X=We(5964),E=We(96354),j=We(30536),F=We(96780);let D,P=1;const A={};function I(mt){return mt in A&&(delete A[mt],!0)}const _={setImmediate(mt){const _t=P++;return A[_t]=!0,D||(D=Promise.resolve()),D.then(()=>I(_t)&&mt()),_t},clearImmediate(mt){I(mt)}},{setImmediate:w,clearImmediate:G}=_,O={setImmediate(...mt){const{delegate:_t}=O;return(_t?.setImmediate||w)(...mt)},clearImmediate(mt){const{delegate:_t}=O;return(_t?.clearImmediate||G)(mt)},delegate:void 0};var a=We(39687);const v=new class g extends a.q{flush(_t){this._active=!0;const $e=this._scheduled;this._scheduled=void 0;const{actions:yt}=this;let At;_t=_t||yt.shift();do{if(At=_t.execute(_t.state,_t.delay))break}while((_t=yt[0])&&_t.id===$e&&yt.shift());if(this._active=!1,At){for(;(_t=yt[0])&&_t.id===$e&&yt.shift();)_t.unsubscribe();throw At}}}(class f extends F.R{constructor(_t,$e){super(_t,$e),this.scheduler=_t,this.work=$e}requestAsyncId(_t,$e,yt=0){return null!==yt&&yt>0?super.requestAsyncId(_t,$e,yt):(_t.actions.push(this),_t._scheduled||(_t._scheduled=O.setImmediate(_t.flush.bind(_t,void 0))))}recycleAsyncId(_t,$e,yt=0){var At;if(null!=yt?yt>0:this.delay>0)return super.recycleAsyncId(_t,$e,yt);const{actions:$t}=_t;null!=$e&&(null===(At=$t[$t.length-1])||void 0===At?void 0:At.id)!==$e&&(O.clearImmediate($e),_t._scheduled===$e&&(_t._scheduled=void 0))}});var n=We(21413),r=We(33726),l=We(57786),d=We(60177);const C=["content"],k=["scroll"],p=["padding"],T=["*"],B=mt=>({searchTerm:mt});function z(mt,_t){if(1&mt&&(M.j41(0,"div",6),M.eu8(1,7),M.k0s()),2&mt){const $e=M.XpG();M.R7$(),M.Y8G("ngTemplateOutlet",$e.headerTemplate)("ngTemplateOutletContext",M.eq3(2,B,$e.filterValue))}}function K(mt,_t){if(1&mt&&(M.j41(0,"div",8),M.eu8(1,7),M.k0s()),2&mt){const $e=M.XpG();M.R7$(),M.Y8G("ngTemplateOutlet",$e.footerTemplate)("ngTemplateOutletContext",M.eq3(2,B,$e.filterValue))}}const U=["searchInput"],se=["clearButton"],S=(mt,_t,$e)=>({item:mt,clear:_t,label:$e}),$=(mt,_t)=>({items:mt,clear:_t}),H=(mt,_t,$e,yt)=>({item:mt,item$:_t,index:$e,searchTerm:yt});function x(mt,_t){if(1&mt){const $e=M.RV6();M.j41(0,"span",22),M.bIt("click",function(){M.eBV($e);const At=M.XpG().$implicit,$t=M.XpG(2);return M.Njj($t.unselect(At))}),M.EFF(1,"\xd7"),M.k0s(),M.nrm(2,"span",23)}if(2&mt){const $e=M.XpG().$implicit,yt=M.XpG(2);M.R7$(2),M.Y8G("ngItemLabel",$e.label)("escape",yt.escapeHTML)}}function N(mt,_t){}function R(mt,_t){if(1&mt&&(M.j41(0,"div",20),M.DNE(1,x,3,2,"ng-template",null,1,M.C5r)(3,N,0,0,"ng-template",21),M.k0s()),2&mt){const $e=_t.$implicit,yt=M.sdS(2),At=M.XpG(2);M.AVh("ng-value-disabled",$e.disabled),M.R7$(3),M.Y8G("ngTemplateOutlet",At.labelTemplate||yt)("ngTemplateOutletContext",M.sMw(4,S,$e.value,At.clearItem,$e.label))}}function Z(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,R,4,8,"div",19),M.bVm()),2&mt){const $e=M.XpG();M.R7$(),M.Y8G("ngForOf",$e.selectedItems)("ngForTrackBy",$e.trackByOption)}}function Y(mt,_t){}function he(mt,_t){if(1&mt&&M.DNE(0,Y,0,0,"ng-template",21),2&mt){const $e=M.XpG();M.Y8G("ngTemplateOutlet",$e.multiLabelTemplate)("ngTemplateOutletContext",M.l_i(2,$,$e.selectedValues,$e.clearItem))}}function ge(mt,_t){1&mt&&M.nrm(0,"div",25)}function _e(mt,_t){}function Te(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,ge,1,0,"ng-template",null,2,M.C5r)(3,_e,0,0,"ng-template",24),M.bVm()),2&mt){const $e=M.sdS(2),yt=M.XpG();M.R7$(3),M.Y8G("ngTemplateOutlet",yt.loadingSpinnerTemplate||$e)}}function Oe(mt,_t){if(1&mt&&(M.j41(0,"span",26,3)(2,"span",27),M.EFF(3,"\xd7"),M.k0s()()),2&mt){const $e=M.XpG();M.FS9("title",$e.clearAllText)}}function De(mt,_t){if(1&mt&&M.nrm(0,"span",32),2&mt){const $e=M.XpG().$implicit,yt=M.XpG(2);M.Y8G("ngItemLabel",$e.label)("escape",yt.escapeHTML)}}function Be(mt,_t){}function oe(mt,_t){if(1&mt){const $e=M.RV6();M.j41(0,"div",31),M.bIt("click",function(){const At=M.eBV($e).$implicit,$t=M.XpG(2);return M.Njj($t.toggleItem(At))})("mouseover",function(){const At=M.eBV($e).$implicit,$t=M.XpG(2);return M.Njj($t.onItemHover(At))}),M.DNE(1,De,1,2,"ng-template",null,4,M.C5r)(3,Be,0,0,"ng-template",21),M.k0s()}if(2&mt){const $e=_t.$implicit,yt=M.sdS(2),At=M.XpG(2);M.AVh("ng-option-disabled",$e.disabled)("ng-option-selected",$e.selected)("ng-optgroup",$e.children)("ng-option",!$e.children)("ng-option-child",!!$e.parent)("ng-option-marked",$e===At.itemsList.markedItem),M.BMQ("role",$e.children?"group":"option")("aria-selected",$e.selected)("id",null==$e?null:$e.htmlId),M.R7$(3),M.Y8G("ngTemplateOutlet",$e.children?At.optgroupTemplate||yt:At.optionTemplate||yt)("ngTemplateOutletContext",M.ziG(17,H,$e.value,$e,$e.index,At.searchTerm))}}function ee(mt,_t){if(1&mt&&(M.j41(0,"span")(1,"span",34),M.EFF(2),M.k0s(),M.EFF(3),M.k0s()),2&mt){const $e=M.XpG(3);M.R7$(2),M.JRh($e.addTagText),M.R7$(),M.SpI('"',$e.searchTerm,'"')}}function be(mt,_t){}function xe(mt,_t){if(1&mt){const $e=M.RV6();M.j41(0,"div",33),M.bIt("mouseover",function(){M.eBV($e);const At=M.XpG(2);return M.Njj(At.itemsList.unmarkItem())})("click",function(){M.eBV($e);const At=M.XpG(2);return M.Njj(At.selectTag())}),M.DNE(1,ee,4,2,"ng-template",null,5,M.C5r)(3,be,0,0,"ng-template",21),M.k0s()}if(2&mt){const $e=M.sdS(2),yt=M.XpG(2);M.AVh("ng-option-marked",!yt.itemsList.markedItem),M.R7$(3),M.Y8G("ngTemplateOutlet",yt.tagTemplate||$e)("ngTemplateOutletContext",M.eq3(4,B,yt.searchTerm))}}function Ie(mt,_t){if(1&mt&&(M.j41(0,"div",35),M.EFF(1),M.k0s()),2&mt){const $e=M.XpG(3);M.R7$(),M.JRh($e.notFoundText)}}function we(mt,_t){}function Ee(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,Ie,2,1,"ng-template",null,6,M.C5r)(3,we,0,0,"ng-template",21),M.bVm()),2&mt){const $e=M.sdS(2),yt=M.XpG(2);M.R7$(3),M.Y8G("ngTemplateOutlet",yt.notFoundTemplate||$e)("ngTemplateOutletContext",M.eq3(2,B,yt.searchTerm))}}function Me(mt,_t){if(1&mt&&(M.j41(0,"div",35),M.EFF(1),M.k0s()),2&mt){const $e=M.XpG(3);M.R7$(),M.JRh($e.typeToSearchText)}}function Xe(mt,_t){}function Je(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,Me,2,1,"ng-template",null,7,M.C5r)(3,Xe,0,0,"ng-template",24),M.bVm()),2&mt){const $e=M.sdS(2),yt=M.XpG(2);M.R7$(3),M.Y8G("ngTemplateOutlet",yt.typeToSearchTemplate||$e)}}function lt(mt,_t){if(1&mt&&(M.j41(0,"div",35),M.EFF(1),M.k0s()),2&mt){const $e=M.XpG(3);M.R7$(),M.JRh($e.loadingText)}}function qe(mt,_t){}function st(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,lt,2,1,"ng-template",null,8,M.C5r)(3,qe,0,0,"ng-template",21),M.bVm()),2&mt){const $e=M.sdS(2),yt=M.XpG(2);M.R7$(3),M.Y8G("ngTemplateOutlet",yt.loadingTextTemplate||$e)("ngTemplateOutletContext",M.eq3(2,B,yt.searchTerm))}}function Tt(mt,_t){if(1&mt){const $e=M.RV6();M.j41(0,"ng-dropdown-panel",28),M.bIt("update",function(At){M.eBV($e);const $t=M.XpG();return M.Njj($t.viewPortItems=At)})("scroll",function(At){M.eBV($e);const $t=M.XpG();return M.Njj($t.scroll.emit(At))})("scrollToEnd",function(At){M.eBV($e);const $t=M.XpG();return M.Njj($t.scrollToEnd.emit(At))})("outsideClick",function(){M.eBV($e);const At=M.XpG();return M.Njj(At.close())}),M.qex(1),M.DNE(2,oe,4,22,"div",29)(3,xe,4,6,"div",30),M.bVm(),M.DNE(4,Ee,4,4,"ng-container",12)(5,Je,4,1,"ng-container",12)(6,st,4,4,"ng-container",12),M.k0s()}if(2&mt){const $e=M.XpG();M.AVh("ng-select-multiple",$e.multiple),M.Y8G("virtualScroll",$e.virtualScroll)("bufferAmount",$e.bufferAmount)("appendTo",$e.appendTo)("position",$e.dropdownPosition)("headerTemplate",$e.headerTemplate)("footerTemplate",$e.footerTemplate)("filterValue",$e.searchTerm)("items",$e.itemsList.filteredItems)("markedItem",$e.itemsList.markedItem)("ngClass",$e.appendTo?$e.classes:null)("id",$e.dropdownId),M.R7$(2),M.Y8G("ngForOf",$e.viewPortItems)("ngForTrackBy",$e.trackByOption),M.R7$(),M.Y8G("ngIf",$e.showAddTag),M.R7$(),M.Y8G("ngIf",$e.showNoItemsFound()),M.R7$(),M.Y8G("ngIf",$e.showTypeToSearch()),M.R7$(),M.Y8G("ngIf",$e.loading&&0===$e.itemsList.filteredItems.length)}}const pt=/[&<>"']/g,ht=RegExp(pt.source),Pt={"&":"&","<":"<",">":">",'"':""","'":"'"};function ti(mt){return null!=mt}function Dt(mt){return"object"==typeof mt&&ti(mt)}function xt(mt){return mt instanceof Function}let wt=(()=>{class mt{constructor($e){this.element=$e,this.escape=!0}ngOnChanges($e){this.element.nativeElement.innerHTML=this.escape?function Gt(mt){return mt&&ht.test(mt)?mt.replace(pt,_t=>Pt[_t]):mt}(this.ngItemLabel):this.ngItemLabel}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.aKT))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ngItemLabel",""]],inputs:{ngItemLabel:"ngItemLabel",escape:"escape"},features:[M.OA$]})}return mt})(),Qt=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-option-tmp",""]]})}return mt})(),di=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-optgroup-tmp",""]]})}return mt})(),Ni=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-label-tmp",""]]})}return mt})(),mi=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-multi-label-tmp",""]]})}return mt})(),vi=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-header-tmp",""]]})}return mt})(),zi=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-footer-tmp",""]]})}return mt})(),gs=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-notfound-tmp",""]]})}return mt})(),Fn=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-typetosearch-tmp",""]]})}return mt})(),as=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-loadingtext-tmp",""]]})}return mt})(),ms=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-tag-tmp",""]]})}return mt})(),Ln=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-loadingspinner-tmp",""]]})}return mt})();function fn(){return"axxxxxxxxxxx".replace(/[x]/g,()=>(16*Math.random()|0).toString(16))}const ki={"\u24b6":"A",\uff21:"A",\u00c0:"A",\u00c1:"A",\u00c2:"A",\u1ea6:"A",\u1ea4:"A",\u1eaa:"A",\u1ea8:"A",\u00c3:"A",\u0100:"A",\u0102:"A",\u1eb0:"A",\u1eae:"A",\u1eb4:"A",\u1eb2:"A",\u0226:"A",\u01e0:"A",\u00c4:"A",\u01de:"A",\u1ea2:"A",\u00c5:"A",\u01fa:"A",\u01cd:"A",\u0200:"A",\u0202:"A",\u1ea0:"A",\u1eac:"A",\u1eb6:"A",\u1e00:"A",\u0104:"A",\u023a:"A",\u2c6f:"A",\ua732:"AA",\u00c6:"AE",\u01fc:"AE",\u01e2:"AE",\ua734:"AO",\ua736:"AU",\ua738:"AV",\ua73a:"AV",\ua73c:"AY","\u24b7":"B",\uff22:"B",\u1e02:"B",\u1e04:"B",\u1e06:"B",\u0243:"B",\u0182:"B",\u0181:"B","\u24b8":"C",\uff23:"C",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u00c7:"C",\u1e08:"C",\u0187:"C",\u023b:"C",\ua73e:"C","\u24b9":"D",\uff24:"D",\u1e0a:"D",\u010e:"D",\u1e0c:"D",\u1e10:"D",\u1e12:"D",\u1e0e:"D",\u0110:"D",\u018b:"D",\u018a:"D",\u0189:"D",\ua779:"D",\u01f1:"DZ",\u01c4:"DZ",\u01f2:"Dz",\u01c5:"Dz","\u24ba":"E",\uff25:"E",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u1ec0:"E",\u1ebe:"E",\u1ec4:"E",\u1ec2:"E",\u1ebc:"E",\u0112:"E",\u1e14:"E",\u1e16:"E",\u0114:"E",\u0116:"E",\u00cb:"E",\u1eba:"E",\u011a:"E",\u0204:"E",\u0206:"E",\u1eb8:"E",\u1ec6:"E",\u0228:"E",\u1e1c:"E",\u0118:"E",\u1e18:"E",\u1e1a:"E",\u0190:"E",\u018e:"E","\u24bb":"F",\uff26:"F",\u1e1e:"F",\u0191:"F",\ua77b:"F","\u24bc":"G",\uff27:"G",\u01f4:"G",\u011c:"G",\u1e20:"G",\u011e:"G",\u0120:"G",\u01e6:"G",\u0122:"G",\u01e4:"G",\u0193:"G",\ua7a0:"G",\ua77d:"G",\ua77e:"G","\u24bd":"H",\uff28:"H",\u0124:"H",\u1e22:"H",\u1e26:"H",\u021e:"H",\u1e24:"H",\u1e28:"H",\u1e2a:"H",\u0126:"H",\u2c67:"H",\u2c75:"H",\ua78d:"H","\u24be":"I",\uff29:"I",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u0128:"I",\u012a:"I",\u012c:"I",\u0130:"I",\u00cf:"I",\u1e2e:"I",\u1ec8:"I",\u01cf:"I",\u0208:"I",\u020a:"I",\u1eca:"I",\u012e:"I",\u1e2c:"I",\u0197:"I","\u24bf":"J",\uff2a:"J",\u0134:"J",\u0248:"J","\u24c0":"K",\uff2b:"K",\u1e30:"K",\u01e8:"K",\u1e32:"K",\u0136:"K",\u1e34:"K",\u0198:"K",\u2c69:"K",\ua740:"K",\ua742:"K",\ua744:"K",\ua7a2:"K","\u24c1":"L",\uff2c:"L",\u013f:"L",\u0139:"L",\u013d:"L",\u1e36:"L",\u1e38:"L",\u013b:"L",\u1e3c:"L",\u1e3a:"L",\u0141:"L",\u023d:"L",\u2c62:"L",\u2c60:"L",\ua748:"L",\ua746:"L",\ua780:"L",\u01c7:"LJ",\u01c8:"Lj","\u24c2":"M",\uff2d:"M",\u1e3e:"M",\u1e40:"M",\u1e42:"M",\u2c6e:"M",\u019c:"M","\u24c3":"N",\uff2e:"N",\u01f8:"N",\u0143:"N",\u00d1:"N",\u1e44:"N",\u0147:"N",\u1e46:"N",\u0145:"N",\u1e4a:"N",\u1e48:"N",\u0220:"N",\u019d:"N",\ua790:"N",\ua7a4:"N",\u01ca:"NJ",\u01cb:"Nj","\u24c4":"O",\uff2f:"O",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u1ed2:"O",\u1ed0:"O",\u1ed6:"O",\u1ed4:"O",\u00d5:"O",\u1e4c:"O",\u022c:"O",\u1e4e:"O",\u014c:"O",\u1e50:"O",\u1e52:"O",\u014e:"O",\u022e:"O",\u0230:"O",\u00d6:"O",\u022a:"O",\u1ece:"O",\u0150:"O",\u01d1:"O",\u020c:"O",\u020e:"O",\u01a0:"O",\u1edc:"O",\u1eda:"O",\u1ee0:"O",\u1ede:"O",\u1ee2:"O",\u1ecc:"O",\u1ed8:"O",\u01ea:"O",\u01ec:"O",\u00d8:"O",\u01fe:"O",\u0186:"O",\u019f:"O",\ua74a:"O",\ua74c:"O",\u01a2:"OI",\ua74e:"OO",\u0222:"OU","\u24c5":"P",\uff30:"P",\u1e54:"P",\u1e56:"P",\u01a4:"P",\u2c63:"P",\ua750:"P",\ua752:"P",\ua754:"P","\u24c6":"Q",\uff31:"Q",\ua756:"Q",\ua758:"Q",\u024a:"Q","\u24c7":"R",\uff32:"R",\u0154:"R",\u1e58:"R",\u0158:"R",\u0210:"R",\u0212:"R",\u1e5a:"R",\u1e5c:"R",\u0156:"R",\u1e5e:"R",\u024c:"R",\u2c64:"R",\ua75a:"R",\ua7a6:"R",\ua782:"R","\u24c8":"S",\uff33:"S",\u1e9e:"S",\u015a:"S",\u1e64:"S",\u015c:"S",\u1e60:"S",\u0160:"S",\u1e66:"S",\u1e62:"S",\u1e68:"S",\u0218:"S",\u015e:"S",\u2c7e:"S",\ua7a8:"S",\ua784:"S","\u24c9":"T",\uff34:"T",\u1e6a:"T",\u0164:"T",\u1e6c:"T",\u021a:"T",\u0162:"T",\u1e70:"T",\u1e6e:"T",\u0166:"T",\u01ac:"T",\u01ae:"T",\u023e:"T",\ua786:"T",\ua728:"TZ","\u24ca":"U",\uff35:"U",\u00d9:"U",\u00da:"U",\u00db:"U",\u0168:"U",\u1e78:"U",\u016a:"U",\u1e7a:"U",\u016c:"U",\u00dc:"U",\u01db:"U",\u01d7:"U",\u01d5:"U",\u01d9:"U",\u1ee6:"U",\u016e:"U",\u0170:"U",\u01d3:"U",\u0214:"U",\u0216:"U",\u01af:"U",\u1eea:"U",\u1ee8:"U",\u1eee:"U",\u1eec:"U",\u1ef0:"U",\u1ee4:"U",\u1e72:"U",\u0172:"U",\u1e76:"U",\u1e74:"U",\u0244:"U","\u24cb":"V",\uff36:"V",\u1e7c:"V",\u1e7e:"V",\u01b2:"V",\ua75e:"V",\u0245:"V",\ua760:"VY","\u24cc":"W",\uff37:"W",\u1e80:"W",\u1e82:"W",\u0174:"W",\u1e86:"W",\u1e84:"W",\u1e88:"W",\u2c72:"W","\u24cd":"X",\uff38:"X",\u1e8a:"X",\u1e8c:"X","\u24ce":"Y",\uff39:"Y",\u1ef2:"Y",\u00dd:"Y",\u0176:"Y",\u1ef8:"Y",\u0232:"Y",\u1e8e:"Y",\u0178:"Y",\u1ef6:"Y",\u1ef4:"Y",\u01b3:"Y",\u024e:"Y",\u1efe:"Y","\u24cf":"Z",\uff3a:"Z",\u0179:"Z",\u1e90:"Z",\u017b:"Z",\u017d:"Z",\u1e92:"Z",\u1e94:"Z",\u01b5:"Z",\u0224:"Z",\u2c7f:"Z",\u2c6b:"Z",\ua762:"Z","\u24d0":"a",\uff41:"a",\u1e9a:"a",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u1ea7:"a",\u1ea5:"a",\u1eab:"a",\u1ea9:"a",\u00e3:"a",\u0101:"a",\u0103:"a",\u1eb1:"a",\u1eaf:"a",\u1eb5:"a",\u1eb3:"a",\u0227:"a",\u01e1:"a",\u00e4:"a",\u01df:"a",\u1ea3:"a",\u00e5:"a",\u01fb:"a",\u01ce:"a",\u0201:"a",\u0203:"a",\u1ea1:"a",\u1ead:"a",\u1eb7:"a",\u1e01:"a",\u0105:"a",\u2c65:"a",\u0250:"a",\ua733:"aa",\u00e6:"ae",\u01fd:"ae",\u01e3:"ae",\ua735:"ao",\ua737:"au",\ua739:"av",\ua73b:"av",\ua73d:"ay","\u24d1":"b",\uff42:"b",\u1e03:"b",\u1e05:"b",\u1e07:"b",\u0180:"b",\u0183:"b",\u0253:"b","\u24d2":"c",\uff43:"c",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u00e7:"c",\u1e09:"c",\u0188:"c",\u023c:"c",\ua73f:"c",\u2184:"c","\u24d3":"d",\uff44:"d",\u1e0b:"d",\u010f:"d",\u1e0d:"d",\u1e11:"d",\u1e13:"d",\u1e0f:"d",\u0111:"d",\u018c:"d",\u0256:"d",\u0257:"d",\ua77a:"d",\u01f3:"dz",\u01c6:"dz","\u24d4":"e",\uff45:"e",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u1ec1:"e",\u1ebf:"e",\u1ec5:"e",\u1ec3:"e",\u1ebd:"e",\u0113:"e",\u1e15:"e",\u1e17:"e",\u0115:"e",\u0117:"e",\u00eb:"e",\u1ebb:"e",\u011b:"e",\u0205:"e",\u0207:"e",\u1eb9:"e",\u1ec7:"e",\u0229:"e",\u1e1d:"e",\u0119:"e",\u1e19:"e",\u1e1b:"e",\u0247:"e",\u025b:"e",\u01dd:"e","\u24d5":"f",\uff46:"f",\u1e1f:"f",\u0192:"f",\ua77c:"f","\u24d6":"g",\uff47:"g",\u01f5:"g",\u011d:"g",\u1e21:"g",\u011f:"g",\u0121:"g",\u01e7:"g",\u0123:"g",\u01e5:"g",\u0260:"g",\ua7a1:"g",\u1d79:"g",\ua77f:"g","\u24d7":"h",\uff48:"h",\u0125:"h",\u1e23:"h",\u1e27:"h",\u021f:"h",\u1e25:"h",\u1e29:"h",\u1e2b:"h",\u1e96:"h",\u0127:"h",\u2c68:"h",\u2c76:"h",\u0265:"h",\u0195:"hv","\u24d8":"i",\uff49:"i",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u0129:"i",\u012b:"i",\u012d:"i",\u00ef:"i",\u1e2f:"i",\u1ec9:"i",\u01d0:"i",\u0209:"i",\u020b:"i",\u1ecb:"i",\u012f:"i",\u1e2d:"i",\u0268:"i",\u0131:"i","\u24d9":"j",\uff4a:"j",\u0135:"j",\u01f0:"j",\u0249:"j","\u24da":"k",\uff4b:"k",\u1e31:"k",\u01e9:"k",\u1e33:"k",\u0137:"k",\u1e35:"k",\u0199:"k",\u2c6a:"k",\ua741:"k",\ua743:"k",\ua745:"k",\ua7a3:"k","\u24db":"l",\uff4c:"l",\u0140:"l",\u013a:"l",\u013e:"l",\u1e37:"l",\u1e39:"l",\u013c:"l",\u1e3d:"l",\u1e3b:"l",\u017f:"l",\u0142:"l",\u019a:"l",\u026b:"l",\u2c61:"l",\ua749:"l",\ua781:"l",\ua747:"l",\u01c9:"lj","\u24dc":"m",\uff4d:"m",\u1e3f:"m",\u1e41:"m",\u1e43:"m",\u0271:"m",\u026f:"m","\u24dd":"n",\uff4e:"n",\u01f9:"n",\u0144:"n",\u00f1:"n",\u1e45:"n",\u0148:"n",\u1e47:"n",\u0146:"n",\u1e4b:"n",\u1e49:"n",\u019e:"n",\u0272:"n",\u0149:"n",\ua791:"n",\ua7a5:"n",\u01cc:"nj","\u24de":"o",\uff4f:"o",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u1ed3:"o",\u1ed1:"o",\u1ed7:"o",\u1ed5:"o",\u00f5:"o",\u1e4d:"o",\u022d:"o",\u1e4f:"o",\u014d:"o",\u1e51:"o",\u1e53:"o",\u014f:"o",\u022f:"o",\u0231:"o",\u00f6:"o",\u022b:"o",\u1ecf:"o",\u0151:"o",\u01d2:"o",\u020d:"o",\u020f:"o",\u01a1:"o",\u1edd:"o",\u1edb:"o",\u1ee1:"o",\u1edf:"o",\u1ee3:"o",\u1ecd:"o",\u1ed9:"o",\u01eb:"o",\u01ed:"o",\u00f8:"o",\u01ff:"o",\u0254:"o",\ua74b:"o",\ua74d:"o",\u0275:"o",\u01a3:"oi",\u0223:"ou",\ua74f:"oo","\u24df":"p",\uff50:"p",\u1e55:"p",\u1e57:"p",\u01a5:"p",\u1d7d:"p",\ua751:"p",\ua753:"p",\ua755:"p","\u24e0":"q",\uff51:"q",\u024b:"q",\ua757:"q",\ua759:"q","\u24e1":"r",\uff52:"r",\u0155:"r",\u1e59:"r",\u0159:"r",\u0211:"r",\u0213:"r",\u1e5b:"r",\u1e5d:"r",\u0157:"r",\u1e5f:"r",\u024d:"r",\u027d:"r",\ua75b:"r",\ua7a7:"r",\ua783:"r","\u24e2":"s",\uff53:"s",\u00df:"s",\u015b:"s",\u1e65:"s",\u015d:"s",\u1e61:"s",\u0161:"s",\u1e67:"s",\u1e63:"s",\u1e69:"s",\u0219:"s",\u015f:"s",\u023f:"s",\ua7a9:"s",\ua785:"s",\u1e9b:"s","\u24e3":"t",\uff54:"t",\u1e6b:"t",\u1e97:"t",\u0165:"t",\u1e6d:"t",\u021b:"t",\u0163:"t",\u1e71:"t",\u1e6f:"t",\u0167:"t",\u01ad:"t",\u0288:"t",\u2c66:"t",\ua787:"t",\ua729:"tz","\u24e4":"u",\uff55:"u",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u0169:"u",\u1e79:"u",\u016b:"u",\u1e7b:"u",\u016d:"u",\u00fc:"u",\u01dc:"u",\u01d8:"u",\u01d6:"u",\u01da:"u",\u1ee7:"u",\u016f:"u",\u0171:"u",\u01d4:"u",\u0215:"u",\u0217:"u",\u01b0:"u",\u1eeb:"u",\u1ee9:"u",\u1eef:"u",\u1eed:"u",\u1ef1:"u",\u1ee5:"u",\u1e73:"u",\u0173:"u",\u1e77:"u",\u1e75:"u",\u0289:"u","\u24e5":"v",\uff56:"v",\u1e7d:"v",\u1e7f:"v",\u028b:"v",\ua75f:"v",\u028c:"v",\ua761:"vy","\u24e6":"w",\uff57:"w",\u1e81:"w",\u1e83:"w",\u0175:"w",\u1e87:"w",\u1e85:"w",\u1e98:"w",\u1e89:"w",\u2c73:"w","\u24e7":"x",\uff58:"x",\u1e8b:"x",\u1e8d:"x","\u24e8":"y",\uff59:"y",\u1ef3:"y",\u00fd:"y",\u0177:"y",\u1ef9:"y",\u0233:"y",\u1e8f:"y",\u00ff:"y",\u1ef7:"y",\u1e99:"y",\u1ef5:"y",\u01b4:"y",\u024f:"y",\u1eff:"y","\u24e9":"z",\uff5a:"z",\u017a:"z",\u1e91:"z",\u017c:"z",\u017e:"z",\u1e93:"z",\u1e95:"z",\u01b6:"z",\u0225:"z",\u0240:"z",\u2c6c:"z",\ua763:"z",\u0386:"\u0391",\u0388:"\u0395",\u0389:"\u0397",\u038a:"\u0399",\u03aa:"\u0399",\u038c:"\u039f",\u038e:"\u03a5",\u03ab:"\u03a5",\u038f:"\u03a9",\u03ac:"\u03b1",\u03ad:"\u03b5",\u03ae:"\u03b7",\u03af:"\u03b9",\u03ca:"\u03b9",\u0390:"\u03b9",\u03cc:"\u03bf",\u03cd:"\u03c5",\u03cb:"\u03c5",\u03b0:"\u03c5",\u03c9:"\u03c9",\u03c2:"\u03c3"};function Cs(mt){return mt.replace(/[^\u0000-\u007E]/g,$e=>ki[$e]||$e)}class Kn{constructor(_t,$e){this._ngSelect=_t,this._selectionModel=$e,this._items=[],this._filteredItems=[],this._markedIndex=-1}get items(){return this._items}get filteredItems(){return this._filteredItems}get markedIndex(){return this._markedIndex}get selectedItems(){return this._selectionModel.value}get markedItem(){return this._filteredItems[this._markedIndex]}get noItemsToSelect(){return this._ngSelect.hideSelected&&this._items.length===this.selectedItems.length}get maxItemsSelected(){return this._ngSelect.multiple&&this._ngSelect.maxSelectedItems<=this.selectedItems.length}get lastSelectedItem(){let _t=this.selectedItems.length-1;for(;_t>=0;_t--){const $e=this.selectedItems[_t];if(!$e.disabled)return $e}return null}setItems(_t){this._items=_t.map(($e,yt)=>this.mapItem($e,yt)),this._ngSelect.groupBy?(this._groups=this._groupBy(this._items,this._ngSelect.groupBy),this._items=this._flatten(this._groups)):(this._groups=new Map,this._groups.set(void 0,this._items)),this._filteredItems=[...this._items]}select(_t){if(_t.selected||this.maxItemsSelected)return;const $e=this._ngSelect.multiple;$e||this.clearSelected(),this._selectionModel.select(_t,$e,this._ngSelect.selectableGroupAsModel),this._ngSelect.hideSelected&&this._hideSelected(_t)}unselect(_t){_t.selected&&(this._selectionModel.unselect(_t,this._ngSelect.multiple),this._ngSelect.hideSelected&&ti(_t.index)&&this._ngSelect.multiple&&this._showSelected(_t))}findItem(_t){let $e;return $e=this._ngSelect.compareWith?yt=>this._ngSelect.compareWith(yt.value,_t):this._ngSelect.bindValue?yt=>!yt.children&&this.resolveNested(yt.value,this._ngSelect.bindValue)===_t:yt=>yt.value===_t||!yt.children&&yt.label&&yt.label===this.resolveNested(_t,this._ngSelect.bindLabel),this._items.find(yt=>$e(yt))}addItem(_t){const $e=this.mapItem(_t,this._items.length);return this._items.push($e),this._filteredItems.push($e),$e}clearSelected(_t=!1){this._selectionModel.clear(_t),this._items.forEach($e=>{$e.selected=_t&&$e.selected&&$e.disabled,$e.marked=!1}),this._ngSelect.hideSelected&&this.resetFilteredItems()}findByLabel(_t){return _t=Cs(_t).toLocaleLowerCase(),this.filteredItems.find($e=>Cs($e.label).toLocaleLowerCase().substr(0,_t.length)===_t)}filter(_t){if(!_t)return void this.resetFilteredItems();this._filteredItems=[],_t=this._ngSelect.searchFn?_t:Cs(_t).toLocaleLowerCase();const $e=this._ngSelect.searchFn||this._defaultSearchFn,yt=this._ngSelect.hideSelected;for(const At of Array.from(this._groups.keys())){const $t=[];for(const si of this._groups.get(At))yt&&(si.parent&&si.parent.selected||si.selected)||$e(_t,this._ngSelect.searchFn?si.value:si)&&$t.push(si);if($t.length>0){const[si]=$t.slice(-1);if(si.parent){const Di=this._items.find(qi=>qi===si.parent);this._filteredItems.push(Di)}this._filteredItems.push(...$t)}}}resetFilteredItems(){this._filteredItems.length!==this._items.length&&(this._filteredItems=this._ngSelect.hideSelected&&this.selectedItems.length>0?this._items.filter(_t=>!_t.selected):this._items)}unmarkItem(){this._markedIndex=-1}markNextItem(){this._stepToItem(1)}markPreviousItem(){this._stepToItem(-1)}markItem(_t){this._markedIndex=this._filteredItems.indexOf(_t)}markSelectedOrDefault(_t){if(0===this._filteredItems.length)return;const $e=this._getLastMarkedIndex();this._markedIndex=$e>-1?$e:_t?this.filteredItems.findIndex(yt=>!yt.disabled):-1}resolveNested(_t,$e){if(!Dt(_t))return _t;if(-1===$e.indexOf("."))return _t[$e];{const yt=$e.split(".");let At=_t;for(let $t=0,si=yt.length;$t-1===this.selectedItems.indexOf($e)))}_showSelected(_t){if(this._filteredItems.push(_t),_t.parent){const $e=_t.parent;this._filteredItems.find(At=>At===$e)||this._filteredItems.push($e)}else if(_t.children)for(const $e of _t.children)$e.selected=!1,this._filteredItems.push($e);this._filteredItems=[...this._filteredItems.sort(($e,yt)=>$e.index-yt.index)]}_hideSelected(_t){this._filteredItems=this._filteredItems.filter($e=>$e!==_t),_t.parent?_t.parent.children.every(yt=>yt.selected)&&(this._filteredItems=this._filteredItems.filter(yt=>yt!==_t.parent)):_t.children&&(this._filteredItems=this.filteredItems.filter($e=>$e.parent!==_t))}_defaultSearchFn(_t,$e){return Cs($e.label).toLocaleLowerCase().indexOf(_t)>-1}_getNextItemIndex(_t){return _t>0?this._markedIndex>=this._filteredItems.length-1?0:this._markedIndex+1:this._markedIndex<=0?this._filteredItems.length-1:this._markedIndex-1}_stepToItem(_t){0===this._filteredItems.length||this._filteredItems.every($e=>$e.disabled)||(this._markedIndex=this._getNextItemIndex(_t),this.markedItem.disabled&&this._stepToItem(_t))}_getLastMarkedIndex(){if(this._ngSelect.hideSelected||this._markedIndex>-1&&void 0===this.markedItem)return-1;const _t=this._filteredItems.indexOf(this.lastSelectedItem);return this.lastSelectedItem&&_t<0?-1:Math.max(this.markedIndex,_t)}_groupBy(_t,$e){const yt=new Map;if(0===_t.length)return yt;if(Array.isArray(_t[0].value[$e])){for(const si of _t){const Di=(si.value[$e]||[]).map((qi,Ki)=>this.mapItem(qi,Ki));yt.set(si,Di)}return yt}const At=xt(this._ngSelect.groupBy),$t=si=>{const Di=At?$e(si.value):si.value[$e];return ti(Di)?Di:void 0};for(const si of _t){const Di=$t(si),qi=yt.get(Di);qi?qi.push(si):yt.set(Di,[si])}return yt}_flatten(_t){const $e=xt(this._ngSelect.groupBy),yt=[];for(const At of Array.from(_t.keys())){let $t=yt.length;if(void 0===At){const Hn=_t.get(void 0)||[];yt.push(...Hn.map(tn=>(tn.index=$t++,tn)));continue}const si=Dt(At),Di={label:si?"":String(At),children:void 0,parent:null,index:$t++,disabled:!this._ngSelect.selectableGroup,htmlId:fn()},qi=$e?this._ngSelect.bindLabel:this._ngSelect.groupBy,Ki=this._ngSelect.groupValue||(()=>si?At.value:{[qi]:At}),ls=_t.get(At).map(Hn=>(Hn.parent=Di,Hn.children=void 0,Hn.index=$t++,Hn));Di.children=ls,Di.value=Ki(At,ls.map(Hn=>Hn.value)),yt.push(Di),yt.push(...ls)}return yt}}var In=function(mt){return mt[mt.Tab=9]="Tab",mt[mt.Enter=13]="Enter",mt[mt.Esc=27]="Esc",mt[mt.Space=32]="Space",mt[mt.ArrowUp=38]="ArrowUp",mt[mt.ArrowDown=40]="ArrowDown",mt[mt.Backspace=8]="Backspace",mt}(In||{});let Bs=(()=>{class mt{constructor(){this._dimensions={itemHeight:0,panelHeight:0,itemsPerViewport:0}}get dimensions(){return this._dimensions}calculateItems($e,yt,At){const $t=this._dimensions,si=$t.itemHeight*yt,qi=Math.max(0,$e)/si*yt;let Ki=Math.min(yt,Math.ceil(qi)+($t.itemsPerViewport+1));const Hn=Math.max(0,Ki-$t.itemsPerViewport);let tn=Math.min(Hn,Math.floor(qi)),gn=$t.itemHeight*Math.ceil(tn)-$t.itemHeight*Math.min(tn,At);return gn=isNaN(gn)?0:gn,tn=isNaN(tn)?-1:tn,Ki=isNaN(Ki)?-1:Ki,tn-=At,tn=Math.max(0,tn),Ki+=At,Ki=Math.min(yt,Ki),{topPadding:gn,scrollHeight:si,start:tn,end:Ki}}setDimensions($e,yt){const At=Math.max(1,Math.floor(yt/$e));this._dimensions={itemHeight:$e,panelHeight:yt,itemsPerViewport:At}}getScrollTo($e,yt,At){const{panelHeight:$t}=this.dimensions,si=$e+yt,qi=At+$t;return $t>=si&&At===$e?null:si>qi?At+si-qi:$e<=At?$e:null}static#e=this.\u0275fac=function(yt){return new(yt||mt)};static#t=this.\u0275prov=M.jDH({token:mt,factory:mt.\u0275fac})}return mt})();const qn=["top","right","bottom","left"],Wi=typeof requestAnimationFrame<"u"?j.X:v;let js=(()=>{class mt{constructor($e,yt,At,$t,si){this._renderer=$e,this._zone=yt,this._panelService=At,this._document=si,this.items=[],this.position="auto",this.virtualScroll=!1,this.filterValue=null,this.update=new M.bkB,this.scroll=new M.bkB,this.scrollToEnd=new M.bkB,this.outsideClick=new M.bkB,this._destroy$=new n.B,this._scrollToEndFired=!1,this._updateScrollHeight=!1,this._lastScrollPosition=0,this._dropdown=$t.nativeElement}get currentPosition(){return this._currentPosition}get itemsLength(){return this._itemsLength}set itemsLength($e){$e!==this._itemsLength&&(this._itemsLength=$e,this._onItemsLengthChanged())}get _startOffset(){if(this.markedItem){const{itemHeight:$e,panelHeight:yt}=this._panelService.dimensions,At=this.markedItem.index*$e;return yt>At?0:At}return 0}ngOnInit(){this._select=this._dropdown.parentElement,this._virtualPadding=this.paddingElementRef.nativeElement,this._scrollablePanel=this.scrollElementRef.nativeElement,this._contentPanel=this.contentElementRef.nativeElement,this._handleScroll(),this._handleOutsideClick(),this._appendDropdown(),this._setupMousedownListener()}ngOnChanges($e){if($e.items){const yt=$e.items;this._onItemsChange(yt.currentValue,yt.firstChange)}}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete(),this._destroy$.unsubscribe(),this.appendTo&&this._renderer.removeChild(this._dropdown.parentNode,this._dropdown)}scrollTo($e,yt=!1){if(!$e)return;const At=this.items.indexOf($e);if(At<0||At>=this.itemsLength)return;let $t;if(this.virtualScroll){const si=this._panelService.dimensions.itemHeight;$t=this._panelService.getScrollTo(At*si,si,this._lastScrollPosition)}else{const si=this._dropdown.querySelector(`#${$e.htmlId}`);$t=this._panelService.getScrollTo(si.offsetTop,si.clientHeight,yt?si.offsetTop:this._lastScrollPosition)}ti($t)&&(this._scrollablePanel.scrollTop=$t)}scrollToTag(){const $e=this._scrollablePanel;$e.scrollTop=$e.scrollHeight-$e.clientHeight}adjustPosition(){this._updateYPosition()}_handleDropdownPosition(){this._currentPosition=this._calculateCurrentPosition(this._dropdown),qn.includes(this._currentPosition)?this._updateDropdownClass(this._currentPosition):this._updateDropdownClass("bottom"),this.appendTo&&this._updateYPosition(),this._dropdown.style.opacity="1"}_updateDropdownClass($e){qn.forEach(At=>{const $t=`ng-select-${At}`;this._renderer.removeClass(this._dropdown,$t),this._renderer.removeClass(this._select,$t)});const yt=`ng-select-${$e}`;this._renderer.addClass(this._dropdown,yt),this._renderer.addClass(this._select,yt)}_handleScroll(){this._zone.runOutsideAngular(()=>{(0,r.R)(this.scrollElementRef.nativeElement,"scroll").pipe((0,V.Q)(this._destroy$),function pe(mt,_t=Le.E){return function ve(mt){return(0,q.N)((_t,$e)=>{let yt=!1,At=null,$t=null,si=!1;const Di=()=>{if($t?.unsubscribe(),$t=null,yt){yt=!1;const Ki=At;At=null,$e.next(Ki)}si&&$e.complete()},qi=()=>{$t=null,si&&$e.complete()};_t.subscribe((0,re._)($e,Ki=>{yt=!0,At=Ki,$t||(0,ne.Tg)(mt(Ki)).subscribe($t=(0,re._)($e,Di,qi))},()=>{si=!0,(!yt||!$t||$t.closed)&&$e.complete()}))})}(()=>(0,le.O)(mt,_t))}(0,Wi)).subscribe($e=>{const yt=$e.path||$e.composedPath&&$e.composedPath();yt&&(0!==yt.length||$e.target)&&this._onContentScrolled(yt&&0!==yt.length?yt[0].scrollTop:$e.target.scrollTop)})})}_handleOutsideClick(){this._document&&this._zone.runOutsideAngular(()=>{(0,l.h)((0,r.R)(this._document,"touchstart",{capture:!0}),(0,r.R)(this._document,"mousedown",{capture:!0})).pipe((0,V.Q)(this._destroy$)).subscribe($e=>this._checkToClose($e))})}_checkToClose($e){if(this._select.contains($e.target)||this._dropdown.contains($e.target))return;const yt=$e.path||$e.composedPath&&$e.composedPath();$e.target&&$e.target.shadowRoot&&yt&&yt[0]&&this._select.contains(yt[0])||this._zone.run(()=>this.outsideClick.emit())}_onItemsChange($e,yt){this.items=$e||[],this._scrollToEndFired=!1,this.itemsLength=$e.length,this.virtualScroll?this._updateItemsRange(yt):(this._setVirtualHeight(),this._updateItems(yt))}_updateItems($e){this.update.emit(this.items),!1!==$e&&this._zone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._panelService.setDimensions(0,this._scrollablePanel.clientHeight),this._handleDropdownPosition(),this.scrollTo(this.markedItem,$e)})})}_updateItemsRange($e){this._zone.runOutsideAngular(()=>{this._measureDimensions().then(()=>{$e?(this._renderItemsRange(this._startOffset),this._handleDropdownPosition()):this._renderItemsRange()})})}_onContentScrolled($e){this.virtualScroll&&this._renderItemsRange($e),this._lastScrollPosition=$e,this._fireScrollToEnd($e)}_updateVirtualHeight($e){this._updateScrollHeight&&(this._virtualPadding.style.height=`${$e}px`,this._updateScrollHeight=!1)}_setVirtualHeight(){this._virtualPadding&&(this._virtualPadding.style.height="0px")}_onItemsLengthChanged(){this._updateScrollHeight=!0}_renderItemsRange($e=null){if($e&&this._lastScrollPosition===$e)return;const yt=this._panelService.calculateItems($e=$e||this._scrollablePanel.scrollTop,this.itemsLength,this.bufferAmount);this._updateVirtualHeight(yt.scrollHeight),this._contentPanel.style.transform=`translateY(${yt.topPadding}px)`,this._zone.run(()=>{this.update.emit(this.items.slice(yt.start,yt.end)),this.scroll.emit({start:yt.start,end:yt.end})}),ti($e)&&0===this._lastScrollPosition&&(this._scrollablePanel.scrollTop=$e,this._lastScrollPosition=$e)}_measureDimensions(){if(this._panelService.dimensions.itemHeight>0||0===this.itemsLength)return Promise.resolve(this._panelService.dimensions);const[$e]=this.items;return this.update.emit([$e]),Promise.resolve().then(()=>{const At=this._dropdown.querySelector(`#${$e.htmlId}`).clientHeight;return this._virtualPadding.style.height=At*this.itemsLength+"px",this._panelService.setDimensions(At,this._scrollablePanel.clientHeight),this._panelService.dimensions})}_fireScrollToEnd($e){this._scrollToEndFired||0===$e||$e+this._dropdown.clientHeight>=(this.virtualScroll?this._virtualPadding:this._contentPanel).clientHeight-1&&(this._zone.run(()=>this.scrollToEnd.emit()),this._scrollToEndFired=!0)}_calculateCurrentPosition($e){if("auto"!==this.position)return this.position;const yt=this._select.getBoundingClientRect(),At=document.documentElement.scrollTop||document.body.scrollTop;return yt.top+window.pageYOffset+yt.height+$e.getBoundingClientRect().height>At+document.documentElement.clientHeight?"top":"bottom"}_appendDropdown(){if(this.appendTo){if(this._parent=document.querySelector(this.appendTo),!this._parent)throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);this._updateXPosition(),this._parent.appendChild(this._dropdown)}}_updateXPosition(){const $e=this._select.getBoundingClientRect(),yt=this._parent.getBoundingClientRect();this._dropdown.style.left=$e.left-yt.left+"px",this._dropdown.style.width=$e.width+"px",this._dropdown.style.minWidth=$e.width+"px"}_updateYPosition(){const $e=this._select.getBoundingClientRect(),yt=this._parent.getBoundingClientRect(),At=$e.height;"top"===this._currentPosition?(this._dropdown.style.bottom=yt.bottom-$e.bottom+At+"px",this._dropdown.style.top="auto"):"bottom"===this._currentPosition&&(this._dropdown.style.top=$e.top-yt.top+At+"px",this._dropdown.style.bottom="auto")}_setupMousedownListener(){this._zone.runOutsideAngular(()=>{(0,r.R)(this._dropdown,"mousedown").pipe((0,V.Q)(this._destroy$)).subscribe($e=>{"INPUT"!==$e.target.tagName&&$e.preventDefault()})})}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.sFG),M.rXU(M.SKi),M.rXU(Bs),M.rXU(M.aKT),M.rXU(d.qQ,8))};static#t=this.\u0275cmp=M.VBU({type:mt,selectors:[["ng-dropdown-panel"]],viewQuery:function(yt,At){if(1&yt&&(M.GBs(C,7,M.aKT),M.GBs(k,7,M.aKT),M.GBs(p,7,M.aKT)),2&yt){let $t;M.mGM($t=M.lsd())&&(At.contentElementRef=$t.first),M.mGM($t=M.lsd())&&(At.scrollElementRef=$t.first),M.mGM($t=M.lsd())&&(At.paddingElementRef=$t.first)}},inputs:{items:"items",markedItem:"markedItem",position:"position",appendTo:"appendTo",bufferAmount:"bufferAmount",virtualScroll:"virtualScroll",headerTemplate:"headerTemplate",footerTemplate:"footerTemplate",filterValue:"filterValue"},outputs:{update:"update",scroll:"scroll",scrollToEnd:"scrollToEnd",outsideClick:"outsideClick"},features:[M.OA$],ngContentSelectors:T,decls:9,vars:6,consts:[["scroll",""],["padding",""],["content",""],["class","ng-dropdown-header",4,"ngIf"],["role","listbox",1,"ng-dropdown-panel-items","scroll-host"],["class","ng-dropdown-footer",4,"ngIf"],[1,"ng-dropdown-header"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng-dropdown-footer"]],template:function(yt,At){1&yt&&(M.NAR(),M.DNE(0,z,2,4,"div",3),M.j41(1,"div",4,0),M.nrm(3,"div",null,1),M.j41(5,"div",null,2),M.SdG(7),M.k0s()(),M.DNE(8,K,2,4,"div",5)),2&yt&&(M.Y8G("ngIf",At.headerTemplate),M.R7$(3),M.AVh("total-padding",At.virtualScroll),M.R7$(2),M.AVh("scrollable-content",At.virtualScroll&&At.items.length),M.R7$(3),M.Y8G("ngIf",At.footerTemplate))},dependencies:[d.bT,d.T3],encapsulation:2,changeDetection:0})}return mt})(),On=(()=>{class mt{get disabled(){return this._disabled}set disabled($e){this._disabled=this._isDisabled($e)}constructor($e){this.elementRef=$e,this.stateChange$=new n.B,this._disabled=!1}get label(){return(this.elementRef.nativeElement.textContent||"").trim()}ngOnChanges($e){$e.disabled&&this.stateChange$.next({value:this.value,disabled:this._disabled})}ngAfterViewChecked(){this.label!==this._previousLabel&&(this._previousLabel=this.label,this.stateChange$.next({value:this.value,disabled:this._disabled,label:this.elementRef.nativeElement.innerHTML}))}ngOnDestroy(){this.stateChange$.complete()}_isDisabled($e){return null!=$e&&"false"!=`${$e}`}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.aKT))};static#t=this.\u0275cmp=M.VBU({type:mt,selectors:[["ng-option"]],inputs:{value:"value",disabled:"disabled"},features:[M.OA$],ngContentSelectors:T,decls:1,vars:0,template:function(yt,At){1&yt&&(M.NAR(),M.SdG(0))},encapsulation:2,changeDetection:0})}return mt})(),ar=(()=>{class mt{constructor(){this.notFoundText="No items found",this.typeToSearchText="Type to search",this.addTagText="Add item",this.loadingText="Loading...",this.clearAllText="Clear all",this.disableVirtualScroll=!0,this.openOnEnter=!0,this.appearance="underline"}static#e=this.\u0275fac=function(yt){return new(yt||mt)};static#t=this.\u0275prov=M.jDH({token:mt,factory:mt.\u0275fac,providedIn:"root"})}return mt})(),To=(()=>{class mt{warn($e){console.warn($e)}static#e=this.\u0275fac=function(yt){return new(yt||mt)};static#t=this.\u0275prov=M.jDH({token:mt,factory:mt.\u0275fac,providedIn:"root"})}return mt})();const Wr=new M.nKC("ng-select-selection-model");let Cr=(()=>{class mt{get items(){return this._items}set items($e){null===$e&&($e=[]),this._itemsAreUsed=!0,this._items=$e}get compareWith(){return this._compareWith}set compareWith($e){if(null!=$e&&!xt($e))throw Error("`compareWith` must be a function.");this._compareWith=$e}get clearSearchOnAdd(){return ti(this._clearSearchOnAdd)?this._clearSearchOnAdd:ti(this.config.clearSearchOnAdd)?this.config.clearSearchOnAdd:this.closeOnSelect}set clearSearchOnAdd($e){this._clearSearchOnAdd=$e}get deselectOnClick(){return ti(this._deselectOnClick)?this._deselectOnClick:ti(this.config.deselectOnClick)?this.config.deselectOnClick:this.multiple}set deselectOnClick($e){this._deselectOnClick=$e}get disabled(){return this.readonly||this._disabled}get filtered(){return!!this.searchTerm&&this.searchable||this._isComposing}get single(){return!this.multiple}get _editableSearchTerm(){return this.editableSearchTerm&&!this.multiple}constructor($e,yt,At,$t,si,Di,qi){this.classes=$e,this.autoFocus=yt,this.config=At,this._cd=Di,this._console=qi,this.markFirst=!0,this.dropdownPosition="auto",this.loading=!1,this.closeOnSelect=!0,this.hideSelected=!1,this.selectOnTab=!1,this.bufferAmount=4,this.selectableGroup=!1,this.selectableGroupAsModel=!0,this.searchFn=null,this.trackByFn=null,this.clearOnBackspace=!0,this.labelForId=null,this.inputAttrs={},this.readonly=!1,this.searchWhileComposing=!0,this.minTermLength=0,this.editableSearchTerm=!1,this.keyDownFn=Ki=>!0,this.multiple=!1,this.addTag=!1,this.searchable=!0,this.clearable=!0,this.isOpen=!1,this.blurEvent=new M.bkB,this.focusEvent=new M.bkB,this.changeEvent=new M.bkB,this.openEvent=new M.bkB,this.closeEvent=new M.bkB,this.searchEvent=new M.bkB,this.clearEvent=new M.bkB,this.addEvent=new M.bkB,this.removeEvent=new M.bkB,this.scroll=new M.bkB,this.scrollToEnd=new M.bkB,this.useDefaultClass=!0,this.viewPortItems=[],this.searchTerm=null,this.dropdownId=fn(),this.escapeHTML=!0,this._items=[],this._defaultLabel="label",this._pressedKeys=[],this._isComposing=!1,this._destroy$=new n.B,this._keyPress$=new n.B,this._onChange=Ki=>{},this._onTouched=()=>{},this.clearItem=Ki=>{const ls=this.selectedItems.find(Hn=>Hn.value===Ki);this.unselect(ls)},this.trackByOption=(Ki,ls)=>this.trackByFn?this.trackByFn(ls.value):ls,this._mergeGlobalConfig(At),this.itemsList=new Kn(this,$t()),this.element=si.nativeElement}get selectedItems(){return this.itemsList.selectedItems}get selectedValues(){return this.selectedItems.map($e=>$e.value)}get hasValue(){return this.selectedItems.length>0}get currentPanelPosition(){if(this.dropdownPanel)return this.dropdownPanel.currentPosition}ngOnInit(){this._handleKeyPresses(),this._setInputAttributes()}ngOnChanges($e){$e.multiple&&this.itemsList.clearSelected(),$e.items&&this._setItems($e.items.currentValue||[]),$e.isOpen&&(this._manualOpen=ti($e.isOpen.currentValue))}ngAfterViewInit(){this._itemsAreUsed||(this.escapeHTML=!1,this._setItemsFromNgOptions()),ti(this.autoFocus)&&this.focus()}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete()}handleKeyDown($e){if(In[$e.which]){if(!1===this.keyDownFn($e))return;this.handleKeyCode($e)}else $e.key&&1===$e.key.length&&this._keyPress$.next($e.key.toLocaleLowerCase())}handleKeyCode($e){this.clearButton&&this.clearButton.nativeElement===$e.target?this.handleKeyCodeClear($e):this.handleKeyCodeInput($e)}handleKeyCodeInput($e){switch($e.which){case In.ArrowDown:this._handleArrowDown($e);break;case In.ArrowUp:this._handleArrowUp($e);break;case In.Space:this._handleSpace($e);break;case In.Enter:this._handleEnter($e);break;case In.Tab:this._handleTab($e);break;case In.Esc:this.close(),$e.preventDefault();break;case In.Backspace:this._handleBackspace()}}handleKeyCodeClear($e){$e.which===In.Enter&&(this.handleClearClick(),$e.preventDefault())}handleMousedown($e){const yt=$e.target;"INPUT"!==yt.tagName&&$e.preventDefault(),yt.classList.contains("ng-clear-wrapper")?this.handleClearClick():yt.classList.contains("ng-arrow-wrapper")?this.handleArrowClick():yt.classList.contains("ng-value-icon")||(this.focused||this.focus(),this.searchable?this.open():this.toggle())}handleArrowClick(){this.isOpen?this.close():this.open()}handleClearClick(){this.hasValue&&(this.itemsList.clearSelected(!0),this._updateNgModel()),this._clearSearch(),this.focus(),this.clearEvent.emit(),this._onSelectionChanged()}clearModel(){this.clearable&&(this.itemsList.clearSelected(),this._updateNgModel())}writeValue($e){this.itemsList.clearSelected(),this._handleWriteValue($e),this._cd.markForCheck()}registerOnChange($e){this._onChange=$e}registerOnTouched($e){this._onTouched=$e}setDisabledState($e){this._disabled=$e,this._cd.markForCheck()}toggle(){this.isOpen?this.close():this.open()}open(){this.disabled||this.isOpen||this._manualOpen||!this._isTypeahead&&!this.addTag&&this.itemsList.noItemsToSelect||(this.isOpen=!0,this.itemsList.markSelectedOrDefault(this.markFirst),this.openEvent.emit(),this.searchTerm||this.focus(),this.detectChanges())}close(){!this.isOpen||this._manualOpen||(this.isOpen=!1,this._isComposing=!1,this._editableSearchTerm?this.itemsList.resetFilteredItems():this._clearSearch(),this.itemsList.unmarkItem(),this._onTouched(),this.closeEvent.emit(),this._cd.markForCheck())}toggleItem($e){!$e||$e.disabled||this.disabled||(this.deselectOnClick&&$e.selected?this.unselect($e):this.select($e),this._editableSearchTerm&&this._setSearchTermFromItems(),this._onSelectionChanged())}select($e){$e.selected||(this.itemsList.select($e),this.clearSearchOnAdd&&!this._editableSearchTerm&&this._clearSearch(),this._updateNgModel(),this.multiple&&this.addEvent.emit($e.value)),(this.closeOnSelect||this.itemsList.noItemsToSelect)&&this.close()}focus(){this.searchInput.nativeElement.focus()}blur(){this.searchInput.nativeElement.blur()}unselect($e){$e&&(this.itemsList.unselect($e),this.focus(),this._updateNgModel(),this.removeEvent.emit($e.value))}selectTag(){let $e;$e=xt(this.addTag)?this.addTag(this.searchTerm):this._primitive?this.searchTerm:{[this.bindLabel]:this.searchTerm};const yt=At=>this._isTypeahead||!this.isOpen?this.itemsList.mapItem(At,null):this.itemsList.addItem(At);!function It(mt){return mt instanceof Promise}($e)?$e&&this.select(yt($e)):$e.then(At=>this.select(yt(At))).catch(()=>{})}showClear(){return this.clearable&&(this.hasValue||this.searchTerm)&&!this.disabled}focusOnClear(){this.blur(),this.clearButton&&this.clearButton.nativeElement.focus()}get showAddTag(){if(!this._validTerm)return!1;const $e=this.searchTerm.toLowerCase().trim();return this.addTag&&!this.itemsList.filteredItems.some(yt=>yt.label.toLowerCase()===$e)&&(!this.hideSelected&&this.isOpen||!this.selectedItems.some(yt=>yt.label.toLowerCase()===$e))&&!this.loading}showNoItemsFound(){const $e=0===this.itemsList.filteredItems.length;return($e&&!this._isTypeahead&&!this.loading||$e&&this._isTypeahead&&this._validTerm&&!this.loading)&&!this.showAddTag}showTypeToSearch(){return 0===this.itemsList.filteredItems.length&&this._isTypeahead&&!this._validTerm&&!this.loading}onCompositionStart(){this._isComposing=!0}onCompositionEnd($e){this._isComposing=!1,!this.searchWhileComposing&&this.filter($e)}filter($e){this._isComposing&&!this.searchWhileComposing||(this.searchTerm=$e,this._isTypeahead&&(this._validTerm||0===this.minTermLength)&&this.typeahead.next($e),this._isTypeahead||(this.itemsList.filter(this.searchTerm),this.isOpen&&this.itemsList.markSelectedOrDefault(this.markFirst)),this.searchEvent.emit({term:$e,items:this.itemsList.filteredItems.map(yt=>yt.value)}),this.open())}onInputFocus($e){this.focused||(this._editableSearchTerm&&this._setSearchTermFromItems(),this.element.classList.add("ng-select-focused"),this.focusEvent.emit($e),this.focused=!0)}onInputBlur($e){this.element.classList.remove("ng-select-focused"),this.blurEvent.emit($e),!this.isOpen&&!this.disabled&&this._onTouched(),this._editableSearchTerm&&this._setSearchTermFromItems(),this.focused=!1}onItemHover($e){$e.disabled||this.itemsList.markItem($e)}detectChanges(){this._cd.destroyed||this._cd.detectChanges()}_setSearchTermFromItems(){const $e=this.selectedItems&&this.selectedItems[0];this.searchTerm=$e&&$e.label||null}_setItems($e){const yt=$e[0];this.bindLabel=this.bindLabel||this._defaultLabel,this._primitive=ti(yt)?!Dt(yt):this._primitive||this.bindLabel===this._defaultLabel,this.itemsList.setItems($e),$e.length>0&&this.hasValue&&this.itemsList.mapSelectedItems(),this.isOpen&&ti(this.searchTerm)&&!this._isTypeahead&&this.itemsList.filter(this.searchTerm),(this._isTypeahead||this.isOpen)&&this.itemsList.markSelectedOrDefault(this.markFirst)}_setItemsFromNgOptions(){const $e=At=>{this.items=At.map($t=>({$ngOptionValue:$t.value,$ngOptionLabel:$t.elementRef.nativeElement.innerHTML,disabled:$t.disabled})),this.itemsList.setItems(this.items),this.hasValue&&this.itemsList.mapSelectedItems(),this.detectChanges()},yt=()=>{const At=(0,l.h)(this.ngOptions.changes,this._destroy$);(0,l.h)(...this.ngOptions.map($t=>$t.stateChange$)).pipe((0,V.Q)(At)).subscribe($t=>{const si=this.itemsList.findItem($t.value);si.disabled=$t.disabled,si.label=$t.label||si.label,this._cd.detectChanges()})};this.ngOptions.changes.pipe((0,ue.Z)(this.ngOptions),(0,V.Q)(this._destroy$)).subscribe(At=>{this.bindLabel=this._defaultLabel,$e(At),yt()})}_isValidWriteValue($e){if(!ti($e)||this.multiple&&""===$e||Array.isArray($e)&&0===$e.length)return!1;const yt=At=>!(!ti(this.compareWith)&&Dt(At)&&this.bindValue&&(this._console.warn(`Setting object(${JSON.stringify(At)}) as your model with bindValue is not allowed unless [compareWith] is used.`),1));return this.multiple?Array.isArray($e)?$e.every(At=>yt(At)):(this._console.warn("Multiple select ngModel should be array."),!1):yt($e)}_handleWriteValue($e){if(!this._isValidWriteValue($e))return;const yt=At=>{let $t=this.itemsList.findItem(At);if($t)this.itemsList.select($t);else{const si=Dt(At);si||!si&&!this.bindValue?this.itemsList.select(this.itemsList.mapItem(At,null)):this.bindValue&&($t={[this.bindLabel]:null,[this.bindValue]:At},this.itemsList.select(this.itemsList.mapItem($t,null)))}};this.multiple?$e.forEach(At=>yt(At)):yt($e)}_handleKeyPresses(){this.searchable||this._keyPress$.pipe((0,V.Q)(this._destroy$),(0,J.M)($e=>this._pressedKeys.push($e)),(0,te.B)(200),(0,X.p)(()=>this._pressedKeys.length>0),(0,E.T)(()=>this._pressedKeys.join(""))).subscribe($e=>{const yt=this.itemsList.findByLabel($e);yt&&(this.isOpen?(this.itemsList.markItem(yt),this._scrollToMarked(),this._cd.markForCheck()):this.select(yt)),this._pressedKeys=[]})}_setInputAttributes(){const $e=this.searchInput.nativeElement,yt={type:"text",autocorrect:"off",autocapitalize:"off",autocomplete:this.labelForId?"off":this.dropdownId,...this.inputAttrs};for(const At of Object.keys(yt))$e.setAttribute(At,yt[At])}_updateNgModel(){const $e=[];for(const At of this.selectedItems)if(this.bindValue){let $t=null;$t=At.children?At.value[(this.groupValue?this.bindValue:this.groupBy)||this.groupBy]:this.itemsList.resolveNested(At.value,this.bindValue),$e.push($t)}else $e.push(At.value);const yt=this.selectedItems.map(At=>At.value);this.multiple?(this._onChange($e),this.changeEvent.emit(yt)):(this._onChange(ti($e[0])?$e[0]:null),this.changeEvent.emit(yt[0])),this._cd.markForCheck()}_clearSearch(){this.searchTerm&&(this._changeSearch(null),this.itemsList.resetFilteredItems())}_changeSearch($e){this.searchTerm=$e,this._isTypeahead&&this.typeahead.next($e)}_scrollToMarked(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollTo(this.itemsList.markedItem)}_scrollToTag(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollToTag()}_onSelectionChanged(){this.isOpen&&this.deselectOnClick&&this.appendTo&&(this._cd.detectChanges(),this.dropdownPanel.adjustPosition())}_handleTab($e){if(!1===this.isOpen)if(this.showClear())this.focusOnClear(),$e.preventDefault();else if(!this.addTag)return;this.selectOnTab?this.itemsList.markedItem?(this.toggleItem(this.itemsList.markedItem),$e.preventDefault()):this.showAddTag?(this.selectTag(),$e.preventDefault()):this.close():this.close()}_handleEnter($e){if(this.isOpen||this._manualOpen)this.itemsList.markedItem?this.toggleItem(this.itemsList.markedItem):this.showAddTag&&this.selectTag();else{if(!this.openOnEnter)return;this.open()}$e.preventDefault()}_handleSpace($e){this.isOpen||this._manualOpen||(this.open(),$e.preventDefault())}_handleArrowDown($e){this._nextItemIsTag(1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markNextItem(),this._scrollToMarked()),this.open(),$e.preventDefault()}_handleArrowUp($e){this.isOpen&&(this._nextItemIsTag(-1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markPreviousItem(),this._scrollToMarked()),$e.preventDefault())}_nextItemIsTag($e){const yt=this.itemsList.markedIndex+$e;return this.addTag&&this.searchTerm&&this.itemsList.markedItem&&(yt<0||yt===this.itemsList.filteredItems.length)}_handleBackspace(){this.searchTerm||!this.clearable||!this.clearOnBackspace||!this.hasValue||(this.multiple?this.unselect(this.itemsList.lastSelectedItem):this.clearModel())}get _isTypeahead(){return this.typeahead&&this.typeahead.observers.length>0}get _validTerm(){const $e=this.searchTerm&&this.searchTerm.trim();return $e&&$e.length>=this.minTermLength}_mergeGlobalConfig($e){this.placeholder=this.placeholder||$e.placeholder,this.notFoundText=this.notFoundText||$e.notFoundText,this.typeToSearchText=this.typeToSearchText||$e.typeToSearchText,this.addTagText=this.addTagText||$e.addTagText,this.loadingText=this.loadingText||$e.loadingText,this.clearAllText=this.clearAllText||$e.clearAllText,this.virtualScroll=ti(this.virtualScroll)?this.virtualScroll:!!ti($e.disableVirtualScroll)&&!$e.disableVirtualScroll,this.openOnEnter=ti(this.openOnEnter)?this.openOnEnter:$e.openOnEnter,this.appendTo=this.appendTo||$e.appendTo,this.bindValue=this.bindValue||$e.bindValue,this.bindLabel=this.bindLabel||$e.bindLabel,this.appearance=this.appearance||$e.appearance}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.kS0("class"),M.kS0("autofocus"),M.rXU(ar),M.rXU(Wr),M.rXU(M.aKT),M.rXU(M.gRc),M.rXU(To))};static#t=this.\u0275cmp=M.VBU({type:mt,selectors:[["ng-select"]],contentQueries:function(yt,At,$t){if(1&yt&&(M.wni($t,Qt,5,M.C4Q),M.wni($t,di,5,M.C4Q),M.wni($t,Ni,5,M.C4Q),M.wni($t,mi,5,M.C4Q),M.wni($t,vi,5,M.C4Q),M.wni($t,zi,5,M.C4Q),M.wni($t,gs,5,M.C4Q),M.wni($t,Fn,5,M.C4Q),M.wni($t,as,5,M.C4Q),M.wni($t,ms,5,M.C4Q),M.wni($t,Ln,5,M.C4Q),M.wni($t,On,5)),2&yt){let si;M.mGM(si=M.lsd())&&(At.optionTemplate=si.first),M.mGM(si=M.lsd())&&(At.optgroupTemplate=si.first),M.mGM(si=M.lsd())&&(At.labelTemplate=si.first),M.mGM(si=M.lsd())&&(At.multiLabelTemplate=si.first),M.mGM(si=M.lsd())&&(At.headerTemplate=si.first),M.mGM(si=M.lsd())&&(At.footerTemplate=si.first),M.mGM(si=M.lsd())&&(At.notFoundTemplate=si.first),M.mGM(si=M.lsd())&&(At.typeToSearchTemplate=si.first),M.mGM(si=M.lsd())&&(At.loadingTextTemplate=si.first),M.mGM(si=M.lsd())&&(At.tagTemplate=si.first),M.mGM(si=M.lsd())&&(At.loadingSpinnerTemplate=si.first),M.mGM(si=M.lsd())&&(At.ngOptions=si)}},viewQuery:function(yt,At){if(1&yt&&(M.GBs(js,5),M.GBs(U,7),M.GBs(se,5)),2&yt){let $t;M.mGM($t=M.lsd())&&(At.dropdownPanel=$t.first),M.mGM($t=M.lsd())&&(At.searchInput=$t.first),M.mGM($t=M.lsd())&&(At.clearButton=$t.first)}},hostVars:20,hostBindings:function(yt,At){1&yt&&M.bIt("keydown",function(si){return At.handleKeyDown(si)}),2&yt&&M.AVh("ng-select-typeahead",At.typeahead)("ng-select-multiple",At.multiple)("ng-select-taggable",At.addTag)("ng-select-searchable",At.searchable)("ng-select-clearable",At.clearable)("ng-select-opened",At.isOpen)("ng-select",At.useDefaultClass)("ng-select-disabled",At.disabled)("ng-select-filtered",At.filtered)("ng-select-single",At.single)},inputs:{bindLabel:"bindLabel",bindValue:"bindValue",markFirst:"markFirst",placeholder:"placeholder",notFoundText:"notFoundText",typeToSearchText:"typeToSearchText",addTagText:"addTagText",loadingText:"loadingText",clearAllText:"clearAllText",appearance:"appearance",dropdownPosition:"dropdownPosition",appendTo:"appendTo",loading:"loading",closeOnSelect:"closeOnSelect",hideSelected:"hideSelected",selectOnTab:"selectOnTab",openOnEnter:"openOnEnter",maxSelectedItems:"maxSelectedItems",groupBy:"groupBy",groupValue:"groupValue",bufferAmount:"bufferAmount",virtualScroll:"virtualScroll",selectableGroup:"selectableGroup",selectableGroupAsModel:"selectableGroupAsModel",searchFn:"searchFn",trackByFn:"trackByFn",clearOnBackspace:"clearOnBackspace",labelForId:"labelForId",inputAttrs:"inputAttrs",tabIndex:"tabIndex",readonly:"readonly",searchWhileComposing:"searchWhileComposing",minTermLength:"minTermLength",editableSearchTerm:"editableSearchTerm",keyDownFn:"keyDownFn",typeahead:"typeahead",multiple:"multiple",addTag:"addTag",searchable:"searchable",clearable:"clearable",isOpen:"isOpen",items:"items",compareWith:"compareWith",clearSearchOnAdd:"clearSearchOnAdd",deselectOnClick:"deselectOnClick"},outputs:{blurEvent:"blur",focusEvent:"focus",changeEvent:"change",openEvent:"open",closeEvent:"close",searchEvent:"search",clearEvent:"clear",addEvent:"add",removeEvent:"remove",scroll:"scroll",scrollToEnd:"scrollToEnd"},features:[M.Jv_([{provide:e.kq,useExisting:(0,M.Rfq)(()=>mt),multi:!0},Bs]),M.OA$],decls:14,vars:19,consts:[["searchInput",""],["defaultLabelTemplate",""],["defaultLoadingSpinnerTemplate",""],["clearButton",""],["defaultOptionTemplate",""],["defaultTagTemplate",""],["defaultNotFoundTemplate",""],["defaultTypeToSearchTemplate",""],["defaultLoadingTextTemplate",""],[1,"ng-select-container",3,"mousedown"],[1,"ng-value-container"],[1,"ng-placeholder"],[4,"ngIf"],["role","combobox","aria-haspopup","listbox",1,"ng-input"],["aria-autocomplete","list",3,"input","compositionstart","compositionend","focus","blur","change","readOnly","disabled","value"],["class","ng-clear-wrapper","tabindex","0",3,"title",4,"ngIf"],[1,"ng-arrow-wrapper"],[1,"ng-arrow"],["class","ng-dropdown-panel","role","listbox","aria-label","Options list",3,"virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ng-select-multiple","ngClass","id","update","scroll","scrollToEnd","outsideClick",4,"ngIf"],["class","ng-value",3,"ng-value-disabled",4,"ngFor","ngForOf","ngForTrackBy"],[1,"ng-value"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-hidden","true",1,"ng-value-icon","left",3,"click"],[1,"ng-value-label",3,"ngItemLabel","escape"],[3,"ngTemplateOutlet"],[1,"ng-spinner-loader"],["tabindex","0",1,"ng-clear-wrapper",3,"title"],["aria-hidden","true",1,"ng-clear"],["role","listbox","aria-label","Options list",1,"ng-dropdown-panel",3,"update","scroll","scrollToEnd","outsideClick","virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ngClass","id"],["class","ng-option",3,"ng-option-disabled","ng-option-selected","ng-optgroup","ng-option","ng-option-child","ng-option-marked","click","mouseover",4,"ngFor","ngForOf","ngForTrackBy"],["class","ng-option","role","option",3,"ng-option-marked","mouseover","click",4,"ngIf"],[1,"ng-option",3,"click","mouseover"],[1,"ng-option-label",3,"ngItemLabel","escape"],["role","option",1,"ng-option",3,"mouseover","click"],[1,"ng-tag-label"],[1,"ng-option","ng-option-disabled"]],template:function(yt,At){if(1&yt){const $t=M.RV6();M.j41(0,"div",9),M.bIt("mousedown",function(Di){return M.eBV($t),M.Njj(At.handleMousedown(Di))}),M.j41(1,"div",10)(2,"div",11),M.EFF(3),M.k0s(),M.DNE(4,Z,2,2,"ng-container",12)(5,he,1,5,null,12),M.j41(6,"div",13)(7,"input",14,0),M.bIt("input",function(){M.eBV($t);const Di=M.sdS(8);return M.Njj(At.filter(Di.value))})("compositionstart",function(){return M.eBV($t),M.Njj(At.onCompositionStart())})("compositionend",function(){M.eBV($t);const Di=M.sdS(8);return M.Njj(At.onCompositionEnd(Di.value))})("focus",function(Di){return M.eBV($t),M.Njj(At.onInputFocus(Di))})("blur",function(Di){return M.eBV($t),M.Njj(At.onInputBlur(Di))})("change",function(Di){return M.eBV($t),M.Njj(Di.stopPropagation())}),M.k0s()()(),M.DNE(9,Te,4,1,"ng-container",12)(10,Oe,4,1,"span",15),M.j41(11,"span",16),M.nrm(12,"span",17),M.k0s()(),M.DNE(13,Tt,7,19,"ng-dropdown-panel",18)}2&yt&&(M.AVh("ng-appearance-outline","outline"===At.appearance)("ng-has-value",At.hasValue),M.R7$(3),M.JRh(At.placeholder),M.R7$(),M.Y8G("ngIf",(!At.multiLabelTemplate||!At.multiple)&&At.selectedItems.length>0),M.R7$(),M.Y8G("ngIf",At.multiple&&At.multiLabelTemplate&&At.selectedValues.length>0),M.R7$(),M.BMQ("aria-expanded",At.isOpen)("aria-owns",At.isOpen?At.dropdownId:null),M.R7$(),M.Y8G("readOnly",!At.searchable||At.itemsList.maxItemsSelected)("disabled",At.disabled)("value",At.searchTerm?At.searchTerm:""),M.BMQ("id",At.labelForId)("tabindex",At.tabIndex)("aria-activedescendant",At.isOpen?null==At.itemsList||null==At.itemsList.markedItem?null:At.itemsList.markedItem.htmlId:null)("aria-controls",At.isOpen?At.dropdownId:null),M.R7$(2),M.Y8G("ngIf",At.loading),M.R7$(),M.Y8G("ngIf",At.showClear()),M.R7$(3),M.Y8G("ngIf",At.isOpen))},dependencies:[d.YU,d.Sq,d.bT,d.T3,js,wt],styles:['@charset "UTF-8";.ng-select{position:relative;display:block;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:none;user-select:none;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:"\\200b"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0}\n'],encapsulation:2,changeDetection:0})}return mt})();function St(){return new Rt}class Rt{constructor(){this._selected=[]}get value(){return this._selected}select(_t,$e,yt){if(_t.selected=!0,(!_t.children||!$e&&yt)&&this._selected.push(_t),$e)if(_t.parent){const At=_t.parent.children.length,$t=_t.parent.children.filter(si=>si.selected).length;_t.parent.selected=At===$t}else _t.children&&(this._setChildrenSelectedState(_t.children,!0),this._removeChildren(_t),this._selected=yt&&this._activeChildren(_t)?[...this._selected.filter(At=>At.parent!==_t),_t]:[...this._selected,..._t.children.filter(At=>!At.disabled)])}unselect(_t,$e){if(this._selected=this._selected.filter(yt=>yt!==_t),_t.selected=!1,$e)if(_t.parent&&_t.parent.selected){const yt=_t.parent.children;this._removeParent(_t.parent),this._removeChildren(_t.parent),this._selected.push(...yt.filter(At=>At!==_t&&!At.disabled)),_t.parent.selected=!1}else _t.children&&(this._setChildrenSelectedState(_t.children,!1),this._removeChildren(_t))}clear(_t){this._selected=_t?this._selected.filter($e=>$e.disabled):[]}_setChildrenSelectedState(_t,$e){for(const yt of _t)yt.disabled||(yt.selected=$e)}_removeChildren(_t){this._selected=[...this._selected.filter($e=>$e.parent!==_t),..._t.children.filter($e=>$e.parent===_t&&$e.disabled&&$e.selected)]}_removeParent(_t){this._selected=this._selected.filter($e=>$e!==_t)}_activeChildren(_t){return _t.children.every($e=>!$e.disabled||$e.selected)}}let Nt=(()=>{class mt{static#e=this.\u0275fac=function(yt){return new(yt||mt)};static#t=this.\u0275mod=M.$C({type:mt});static#i=this.\u0275inj=M.G2t({providers:[{provide:Wr,useValue:St}],imports:[d.MD]})}return mt})()},19664:(ri,Bt,We)=>{"use strict";We.d(Bt,{Mm:()=>l,h:()=>C,D9:()=>d,c$:()=>r});var M=We(54438),e=We(7673),V=We(74402),Le=We(27468),q=We(28793),ne=We(59030),re=We(96697),ve=We(21413),le=We(86129);class pe extends ve.B{constructor(p=1/0,T=1/0,B=le.U){super(),this._bufferSize=p,this._windowTime=T,this._timestampProvider=B,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=T===1/0,this._bufferSize=Math.max(1,p),this._windowTime=Math.max(1,T)}next(p){const{isStopped:T,_buffer:B,_infiniteTimeWindow:z,_timestampProvider:K,_windowTime:U}=this;T||(B.push(p),!z&&B.push(K.now()+U)),this._trimBuffer(),super.next(p)}_subscribe(p){this._throwIfClosed(),this._trimBuffer();const T=this._innerSubscribe(p),{_infiniteTimeWindow:B,_buffer:z}=this,K=z.slice();for(let U=0;Unew pe(B,p,T),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:z})}var te=We(96354),X=We(70274),E=We(25558);class j{}let F=(()=>{class k extends j{getTranslation(T){return(0,e.of)({})}static \u0275fac=(()=>{let T;return function(z){return(T||(T=M.xGo(k)))(z||k)}})();static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();class P{}let D=(()=>{class k{handle(T){return T.key}static \u0275fac=function(B){return new(B||k)};static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();function A(k,p){if(k===p)return!0;if(null===k||null===p)return!1;if(k!=k&&p!=p)return!0;let z,K,U,T=typeof k;if(T==typeof p&&"object"==T){if(!Array.isArray(k)){if(Array.isArray(p))return!1;for(K in U=Object.create(null),k){if(!A(k[K],p[K]))return!1;U[K]=!0}for(K in p)if(!(K in U)&&typeof p[K]<"u")return!1;return!0}if(!Array.isArray(p))return!1;if((z=k.length)==p.length){for(K=0;K{_(p[B])?B in k?T[B]=m(k[B],p[B]):Object.assign(T,{[B]:p[B]}):Object.assign(T,{[B]:p[B]})}),T}class w{}let G=(()=>{class k extends w{templateMatcher=/{{\s?([^{}\s]*)\s?}}/g;interpolate(T,B){let z;return z="string"==typeof T?this.interpolateString(T,B):"function"==typeof T?this.interpolateFunction(T,B):T,z}getValue(T,B){let z="string"==typeof B?B.split("."):[B];B="";do{B+=z.shift(),!I(T)||!I(T[B])||"object"!=typeof T[B]&&z.length?z.length?B+=".":T=void 0:(T=T[B],B="")}while(z.length);return T}interpolateFunction(T,B){return T(B)}interpolateString(T,B){return B?T.replace(this.templateMatcher,(z,K)=>{let U=this.getValue(B,K);return I(U)?U:z}):T}static \u0275fac=(()=>{let T;return function(z){return(T||(T=M.xGo(k)))(z||k)}})();static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();class O{}let f=(()=>{class k extends O{compile(T,B){return T}compileTranslations(T,B){return T}static \u0275fac=(()=>{let T;return function(z){return(T||(T=M.xGo(k)))(z||k)}})();static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();class a{defaultLang;currentLang=this.defaultLang;translations={};langs=[];onTranslationChange=new M.bkB;onLangChange=new M.bkB;onDefaultLangChange=new M.bkB}const g=new M.nKC("USE_STORE"),v=new M.nKC("USE_DEFAULT_LANG"),o=new M.nKC("DEFAULT_LANGUAGE"),n=new M.nKC("USE_EXTEND");let r=(()=>{class k{store;currentLoader;compiler;parser;missingTranslationHandler;useDefaultLang;isolate;extend;loadingTranslations;pending=!1;_onTranslationChange=new M.bkB;_onLangChange=new M.bkB;_onDefaultLangChange=new M.bkB;_defaultLang;_currentLang;_langs=[];_translations={};_translationRequests={};get onTranslationChange(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange}get onLangChange(){return this.isolate?this._onLangChange:this.store.onLangChange}get onDefaultLangChange(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange}get defaultLang(){return this.isolate?this._defaultLang:this.store.defaultLang}set defaultLang(T){this.isolate?this._defaultLang=T:this.store.defaultLang=T}get currentLang(){return this.isolate?this._currentLang:this.store.currentLang}set currentLang(T){this.isolate?this._currentLang=T:this.store.currentLang=T}get langs(){return this.isolate?this._langs:this.store.langs}set langs(T){this.isolate?this._langs=T:this.store.langs=T}get translations(){return this.isolate?this._translations:this.store.translations}set translations(T){this.isolate?this._translations=T:this.store.translations=T}constructor(T,B,z,K,U,se=!0,S=!1,$=!1,H){this.store=T,this.currentLoader=B,this.compiler=z,this.parser=K,this.missingTranslationHandler=U,this.useDefaultLang=se,this.isolate=S,this.extend=$,H&&this.setDefaultLang(H)}setDefaultLang(T){if(T===this.defaultLang)return;let B=this.retrieveTranslations(T);typeof B<"u"?(null==this.defaultLang&&(this.defaultLang=T),B.pipe((0,re.s)(1)).subscribe(z=>{this.changeDefaultLang(T)})):this.changeDefaultLang(T)}getDefaultLang(){return this.defaultLang}use(T){if(T===this.currentLang)return(0,e.of)(this.translations[T]);let B=this.retrieveTranslations(T);return typeof B<"u"?(this.currentLang||(this.currentLang=T),B.pipe((0,re.s)(1)).subscribe(z=>{this.changeLang(T)}),B):(this.changeLang(T),(0,e.of)(this.translations[T]))}retrieveTranslations(T){let B;return(typeof this.translations[T]>"u"||this.extend)&&(this._translationRequests[T]=this._translationRequests[T]||this.getTranslation(T),B=this._translationRequests[T]),B}getTranslation(T){this.pending=!0;const B=this.currentLoader.getTranslation(T).pipe(J(1),(0,re.s)(1));return this.loadingTranslations=B.pipe((0,te.T)(z=>this.compiler.compileTranslations(z,T)),J(1),(0,re.s)(1)),this.loadingTranslations.subscribe({next:z=>{this.translations[T]=this.extend&&this.translations[T]?{...z,...this.translations[T]}:z,this.updateLangs(),this.pending=!1},error:z=>{this.pending=!1}}),B}setTranslation(T,B,z=!1){B=this.compiler.compileTranslations(B,T),this.translations[T]=(z||this.extend)&&this.translations[T]?m(this.translations[T],B):B,this.updateLangs(),this.onTranslationChange.emit({lang:T,translations:this.translations[T]})}getLangs(){return this.langs}addLangs(T){T.forEach(B=>{-1===this.langs.indexOf(B)&&this.langs.push(B)})}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResult(T,B,z){let K;if(B instanceof Array){let U={},se=!1;for(let S of B)U[S]=this.getParsedResult(T,S,z),(0,V.A)(U[S])&&(se=!0);if(se){const S=B.map($=>(0,V.A)(U[$])?U[$]:(0,e.of)(U[$]));return(0,Le.p)(S).pipe((0,te.T)($=>{let H={};return $.forEach((x,N)=>{H[B[N]]=x}),H}))}return U}if(T&&(K=this.parser.interpolate(this.parser.getValue(T,B),z)),typeof K>"u"&&null!=this.defaultLang&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(K=this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang],B),z)),typeof K>"u"){let U={key:B,translateService:this};typeof z<"u"&&(U.interpolateParams=z),K=this.missingTranslationHandler.handle(U)}return typeof K<"u"?K:B}get(T,B){if(!I(T)||!T.length)throw new Error('Parameter "key" required');if(this.pending)return this.loadingTranslations.pipe((0,X.H)(z=>(z=this.getParsedResult(z,T,B),(0,V.A)(z)?z:(0,e.of)(z))));{let z=this.getParsedResult(this.translations[this.currentLang],T,B);return(0,V.A)(z)?z:(0,e.of)(z)}}getStreamOnTranslationChange(T,B){if(!I(T)||!T.length)throw new Error('Parameter "key" required');return(0,q.x)((0,ne.v)(()=>this.get(T,B)),this.onTranslationChange.pipe((0,E.n)(z=>{const K=this.getParsedResult(z.translations,T,B);return"function"==typeof K.subscribe?K:(0,e.of)(K)})))}stream(T,B){if(!I(T)||!T.length)throw new Error('Parameter "key" required');return(0,q.x)((0,ne.v)(()=>this.get(T,B)),this.onLangChange.pipe((0,E.n)(z=>{const K=this.getParsedResult(z.translations,T,B);return(0,V.A)(K)?K:(0,e.of)(K)})))}instant(T,B){if(!I(T)||!T.length)throw new Error('Parameter "key" required');let z=this.getParsedResult(this.translations[this.currentLang],T,B);if((0,V.A)(z)){if(T instanceof Array){let K={};return T.forEach((U,se)=>{K[T[se]]=T[se]}),K}return T}return z}set(T,B,z=this.currentLang){this.translations[z][T]=this.compiler.compile(B,z),this.updateLangs(),this.onTranslationChange.emit({lang:z,translations:this.translations[z]})}changeLang(T){this.currentLang=T,this.onLangChange.emit({lang:T,translations:this.translations[T]}),null==this.defaultLang&&this.changeDefaultLang(T)}changeDefaultLang(T){this.defaultLang=T,this.onDefaultLangChange.emit({lang:T,translations:this.translations[T]})}reloadLang(T){return this.resetLang(T),this.getTranslation(T)}resetLang(T){this._translationRequests[T]=void 0,this.translations[T]=void 0}getBrowserLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let T=window.navigator.languages?window.navigator.languages[0]:null;return T=T||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,typeof T>"u"?void 0:(-1!==T.indexOf("-")&&(T=T.split("-")[0]),-1!==T.indexOf("_")&&(T=T.split("_")[0]),T)}getBrowserCultureLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let T=window.navigator.languages?window.navigator.languages[0]:null;return T=T||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,T}static \u0275fac=function(B){return new(B||k)(M.KVO(a),M.KVO(j),M.KVO(O),M.KVO(w),M.KVO(P),M.KVO(v),M.KVO(g),M.KVO(n),M.KVO(o))};static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})(),l=(()=>{class k{translateService;element;_ref;key;lastParams;currentParams;onLangChangeSub;onDefaultLangChangeSub;onTranslationChangeSub;set translate(T){T&&(this.key=T,this.checkNodes())}set translateParams(T){A(this.currentParams,T)||(this.currentParams=T,this.checkNodes(!0))}constructor(T,B,z){this.translateService=T,this.element=B,this._ref=z,this.onTranslationChangeSub||(this.onTranslationChangeSub=this.translateService.onTranslationChange.subscribe(K=>{K.lang===this.translateService.currentLang&&this.checkNodes(!0,K.translations)})),this.onLangChangeSub||(this.onLangChangeSub=this.translateService.onLangChange.subscribe(K=>{this.checkNodes(!0,K.translations)})),this.onDefaultLangChangeSub||(this.onDefaultLangChangeSub=this.translateService.onDefaultLangChange.subscribe(K=>{this.checkNodes(!0)}))}ngAfterViewChecked(){this.checkNodes()}checkNodes(T=!1,B){let z=this.element.nativeElement.childNodes;z.length||(this.setContent(this.element.nativeElement,this.key),z=this.element.nativeElement.childNodes);for(let K=0;K{U!==T&&(B.lastKey=T),B.originalContent||(B.originalContent=this.getContent(B)),B.currentValue=I(U)?U:B.originalContent||T,this.setContent(B,this.key?B.currentValue:B.originalContent.replace(T,B.currentValue)),this._ref.markForCheck()};if(I(z)){let U=this.translateService.getParsedResult(z,T,this.currentParams);(0,V.A)(U)?U.subscribe({next:K}):K(U)}else this.translateService.get(T,this.currentParams).subscribe(K)}}getContent(T){return I(T.textContent)?T.textContent:T.data}setContent(T,B){I(T.textContent)?T.textContent=B:T.data=B}ngOnDestroy(){this.onLangChangeSub&&this.onLangChangeSub.unsubscribe(),this.onDefaultLangChangeSub&&this.onDefaultLangChangeSub.unsubscribe(),this.onTranslationChangeSub&&this.onTranslationChangeSub.unsubscribe()}static \u0275fac=function(B){return new(B||k)(M.rXU(r),M.rXU(M.aKT),M.rXU(M.gRc))};static \u0275dir=M.FsC({type:k,selectors:[["","translate",""],["","ngx-translate",""]],inputs:{translate:"translate",translateParams:"translateParams"}})}return k})(),d=(()=>{class k{translate;_ref;value="";lastKey=null;lastParams=[];onTranslationChange;onLangChange;onDefaultLangChange;constructor(T,B){this.translate=T,this._ref=B}updateValue(T,B,z){let K=U=>{this.value=void 0!==U?U:T,this.lastKey=T,this._ref.markForCheck()};if(z){let U=this.translate.getParsedResult(z,T,B);(0,V.A)(U.subscribe)?U.subscribe(K):K(U)}this.translate.get(T,B).subscribe(K)}transform(T,...B){if(!T||!T.length)return T;if(A(T,this.lastKey)&&A(B,this.lastParams))return this.value;let z;if(I(B[0])&&B.length)if("string"==typeof B[0]&&B[0].length){let K=B[0].replace(/(\')?([a-zA-Z0-9_]+)(\')?(\s)?:/g,'"$2":').replace(/:(\s)?(\')(.*?)(\')/g,':"$3"');try{z=JSON.parse(K)}catch{throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${B[0]}`)}}else"object"==typeof B[0]&&!Array.isArray(B[0])&&(z=B[0]);return this.lastKey=T,this.lastParams=B,this.updateValue(T,z),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(K=>{this.lastKey&&K.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(T,z,K.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(K=>{this.lastKey&&(this.lastKey=null,this.updateValue(T,z,K.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(T,z))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}static \u0275fac=function(B){return new(B||k)(M.rXU(r,16),M.rXU(M.gRc,16))};static \u0275pipe=M.EJ8({name:"translate",type:k,pure:!1});static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})(),C=(()=>{class k{static forRoot(T={}){return{ngModule:k,providers:[T.loader||{provide:j,useClass:F},T.compiler||{provide:O,useClass:f},T.parser||{provide:w,useClass:G},T.missingTranslationHandler||{provide:P,useClass:D},a,{provide:g,useValue:T.isolate},{provide:v,useValue:T.useDefaultLang},{provide:n,useValue:T.extend},{provide:o,useValue:T.defaultLanguage},r]}}static forChild(T={}){return{ngModule:k,providers:[T.loader||{provide:j,useClass:F},T.compiler||{provide:O,useClass:f},T.parser||{provide:w,useClass:G},T.missingTranslationHandler||{provide:P,useClass:D},{provide:g,useValue:T.isolate},{provide:v,useValue:T.useDefaultLang},{provide:n,useValue:T.extend},{provide:o,useValue:T.defaultLanguage},r]}}static \u0275fac=function(B){return new(B||k)};static \u0275mod=M.$C({type:k});static \u0275inj=M.G2t({})}return k})()},91346:(ri,Bt,We)=>{"use strict";We.d(Bt,{t1:()=>J,S6:()=>j,Fr:()=>D,SV:()=>F});var M=We(21264),e=We.t(M,2),V=We(21413);class Le extends V.B{constructor(){super(...arguments),this._value=null,this._hasValue=!1,this._isComplete=!1}_checkFinalizedStatuses(I){const{hasError:_,_hasValue:m,_value:w,thrownError:G,isStopped:O,_isComplete:f}=this;_?I.error(G):(O||f)&&(m&&I.next(w),I.complete())}next(I){this.isStopped||(this._value=I,this._hasValue=!0)}complete(){const{_hasValue:I,_value:_,_isComplete:m}=this;m||(this._isComplete=!0,I&&super.next(_),super.complete())}}var q=We(54438),ne=We(12146),re=We.t(ne,2),ve=We(84191),le=We.t(ve,2),pe=We(31923),ue=We.t(pe,2);class J{constructor(I={series:[]}){this.options=I,this.refSubject=new Le,this.ref$=this.refSubject.asObservable()}addPoint(I,_=0,m=!0,w=!1){this.ref$.subscribe(G=>{G.series.length>_&&G.series[_].addPoint(I,m,w)})}addSeries(I,_=!0,m){this.ref$.subscribe(w=>{w.addSeries(I,_,m)})}removePoint(I,_=0){this.ref$.subscribe(m=>{m.series.length>_&&m.series[_].data.length>I&&m.series[_].removePoint(I,!0)})}removeSeries(I){this.ref$.subscribe(_=>{_.series.length>I&&_.series[I].remove(!0)})}init(I){this.ref||M.chart(I.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Le,this.ref$=this.refSubject.asObservable())}}class te{constructor(I={series:[]}){this.options=I,this.refSubject=new Le,this.ref$=this.refSubject.asObservable()}init(I){this.ref||ne.mapChart(I.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Le,this.ref$=this.refSubject.asObservable())}}class X{constructor(I={series:[]}){this.options=I,this.refSubject=new Le,this.ref$=this.refSubject.asObservable()}init(I){this.ref||ve.stockChart(I.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Le,this.ref$=this.refSubject.asObservable())}}class E{constructor(I={series:[]}){this.options=I,this.refSubject=new Le,this.ref$=this.refSubject.asObservable()}init(I){this.ref||pe.ganttChart(I.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Le,this.ref$=this.refSubject.asObservable())}}let j=(()=>{class A{constructor(_){this.el=_}ngOnChanges(_){_.chart?.isFirstChange()||(this.destroy(),this.init())}ngOnInit(){this.init()}ngOnDestroy(){this.destroy()}init(){(this.chart instanceof J||this.chart instanceof X||this.chart instanceof te||this.chart instanceof E)&&this.chart.init(this.el)}destroy(){(this.chart instanceof J||this.chart instanceof X||this.chart instanceof te||this.chart instanceof E)&&this.chart.destroy()}static#e=this.\u0275fac=function(m){return new(m||A)(q.rXU(q.aKT))};static#t=this.\u0275dir=q.FsC({type:A,selectors:[["","chart",""]],inputs:{chart:"chart"},features:[q.OA$]})}return A})(),F=new q.nKC("HighchartsModules"),P=(()=>{class A{constructor(_){this.chartModules=_}initModules(){this.chartModules.forEach(_=>{[e,le,re,ue].forEach(_)})}static#e=this.\u0275fac=function(m){return new(m||A)(q.KVO(F))};static#t=this.\u0275prov=q.jDH({token:A,factory:A.\u0275fac})}return A})(),D=(()=>{class A{constructor(_){this.cs=_,this.cs.initModules()}static#e=this.\u0275fac=function(m){return new(m||A)(q.KVO(P))};static#t=this.\u0275mod=q.$C({type:A});static#i=this.\u0275inj=q.G2t({providers:[{provide:F,useValue:[]},P]})}return A})()},36554:(ri,Bt,We)=>{"use strict";We.d(Bt,{PO:()=>m,et:()=>_,ex:()=>D});var M=We(54438),e=We(84412),V=We(21413),Le=We(5964),q=We(56977),ne=We(49969),re=We(60177),ve=We(345);const le=["overlay"],pe=["*"];function ue(w,G){1&w&&M.nrm(0,"div")}function J(w,G){if(1&w&&(M.j41(0,"div"),M.DNE(1,ue,1,0,"div",6),M.k0s()),2&w){const O=M.XpG(2);M.HbH(O.spinner.class),M.xc7("color",O.spinner.color),M.R7$(),M.Y8G("ngForOf",O.spinner.divArray)}}function te(w,G){if(1&w&&(M.nrm(0,"div",7),M.nI1(1,"safeHtml")),2&w){const O=M.XpG(2);M.Y8G("innerHTML",M.bMT(1,1,O.template),M.npT)}}function X(w,G){if(1&w&&(M.j41(0,"div",2,0),M.DNE(2,J,2,5,"div",3)(3,te,2,3,"div",4),M.j41(4,"div",5),M.SdG(5),M.k0s()()),2&w){const O=M.XpG();M.xc7("background-color",O.spinner.bdColor)("z-index",O.spinner.zIndex)("position",O.spinner.fullScreen?"fixed":"absolute"),M.Y8G("@.disabled",O.disableAnimation)("@fadeIn","in"),M.R7$(2),M.Y8G("ngIf",!O.template),M.R7$(),M.Y8G("ngIf",O.template),M.R7$(),M.xc7("z-index",O.spinner.zIndex)}}const E={"ball-8bits":16,"ball-atom":4,"ball-beat":3,"ball-circus":5,"ball-climbing-dot":4,"ball-clip-rotate":1,"ball-clip-rotate-multiple":2,"ball-clip-rotate-pulse":2,"ball-elastic-dots":5,"ball-fall":3,"ball-fussion":4,"ball-grid-beat":9,"ball-grid-pulse":9,"ball-newton-cradle":4,"ball-pulse":3,"ball-pulse-rise":5,"ball-pulse-sync":3,"ball-rotate":1,"ball-running-dots":5,"ball-scale":1,"ball-scale-multiple":3,"ball-scale-pulse":2,"ball-scale-ripple":1,"ball-scale-ripple-multiple":3,"ball-spin":8,"ball-spin-clockwise":8,"ball-spin-clockwise-fade":8,"ball-spin-clockwise-fade-rotating":8,"ball-spin-fade":8,"ball-spin-fade-rotating":8,"ball-spin-rotate":2,"ball-square-clockwise-spin":8,"ball-square-spin":8,"ball-triangle-path":3,"ball-zig-zag":2,"ball-zig-zag-deflect":2,cog:1,"cube-transition":2,fire:3,"line-scale":5,"line-scale-party":5,"line-scale-pulse-out":5,"line-scale-pulse-out-rapid":5,"line-spin-clockwise-fade":8,"line-spin-clockwise-fade-rotating":8,"line-spin-fade":8,"line-spin-fade-rotating":8,pacman:6,"square-jelly-box":2,"square-loader":1,"square-spin":1,timer:1,"triangle-skew-spin":1},F="primary";class P{constructor(G){Object.assign(this,G)}static create(G){return!G?.template&&!G?.type&&console.warn('[ngx-spinner]: Property "type" is missed. Please, provide animation type to component\n and ensure css is added to angular.json file'),new P(G)}}let D=(()=>{class w{constructor(){this.spinnerObservable=new e.t(null)}getSpinner(O){return this.spinnerObservable.asObservable().pipe((0,Le.p)(f=>f&&f.name===O))}show(O=F,f){return new Promise((a,g)=>{setTimeout(()=>{f&&Object.keys(f).length?(f.name=O,this.spinnerObservable.next(new P({...f,show:!0})),a(!0)):(this.spinnerObservable.next(new P({name:O,show:!0})),a(!0))},10)})}hide(O=F,f=10){return new Promise((a,g)=>{setTimeout(()=>{this.spinnerObservable.next(new P({name:O,show:!1})),a(!0)},f)})}static#e=this.\u0275fac=function(f){return new(f||w)};static#t=this.\u0275prov=M.jDH({token:w,factory:w.\u0275fac,providedIn:"root"})}return w})();const A=new M.nKC("NGX_SPINNER_CONFIG");let I=(()=>{class w{constructor(O){this._sanitizer=O}transform(O){if(O)return this._sanitizer.bypassSecurityTrustHtml(O)}static#e=this.\u0275fac=function(f){return new(f||w)(M.rXU(ve.up,16))};static#t=this.\u0275pipe=M.EJ8({name:"safeHtml",type:w,pure:!0})}return w})(),_=(()=>{class w{constructor(O,f,a,g){this.spinnerService=O,this.changeDetector=f,this.elementRef=a,this.globalConfig=g,this.disableAnimation=!1,this.spinner=new P,this.ngUnsubscribe=new V.B,this.setDefaultOptions=()=>{const{type:v}=this.globalConfig??{};this.spinner=P.create({name:this.name,bdColor:this.bdColor,size:this.size,color:this.color,type:this.type??v,fullScreen:this.fullScreen,divArray:this.divArray,divCount:this.divCount,show:this.show,zIndex:this.zIndex,template:this.template,showSpinner:this.showSpinner})},this.bdColor="rgba(51,51,51,0.8)",this.zIndex=99999,this.color="#fff",this.size="large",this.fullScreen=!0,this.name=F,this.template=null,this.showSpinner=!1,this.divArray=[],this.divCount=0,this.show=!1}initObservable(){this.spinnerService.getSpinner(this.name).pipe((0,q.Q)(this.ngUnsubscribe)).subscribe(O=>{this.setDefaultOptions(),Object.assign(this.spinner,O),O.show&&this.onInputChange(),this.changeDetector.detectChanges()})}ngOnInit(){this.setDefaultOptions(),this.initObservable()}isSpinnerZone(O){return O===this.elementRef.nativeElement.parentElement||O.parentNode&&this.isSpinnerZone(O.parentNode)}ngOnChanges(O){for(const f in O)if(f){const a=O[f];if(a.isFirstChange())return;typeof a.currentValue<"u"&&a.currentValue!==a.previousValue&&""!==a.currentValue&&(this.spinner[f]=a.currentValue,"showSpinner"===f&&(a.currentValue?this.spinnerService.show(this.spinner.name,this.spinner):this.spinnerService.hide(this.spinner.name)),"name"===f&&this.initObservable())}}getClass(O,f){this.spinner.divCount=E[O],this.spinner.divArray=Array(this.spinner.divCount).fill(0).map((g,v)=>v);let a="";switch(f.toLowerCase()){case"small":a="la-sm";break;case"medium":a="la-2x";break;case"large":a="la-3x"}return"la-"+O+" "+a}onInputChange(){this.spinner.class=this.getClass(this.spinner.type,this.spinner.size)}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}static#e=this.\u0275fac=function(f){return new(f||w)(M.rXU(D),M.rXU(M.gRc),M.rXU(M.aKT),M.rXU(A,8))};static#t=this.\u0275cmp=M.VBU({type:w,selectors:[["ngx-spinner"]],viewQuery:function(f,a){if(1&f&&M.GBs(le,5),2&f){let g;M.mGM(g=M.lsd())&&(a.spinnerDOM=g.first)}},inputs:{bdColor:"bdColor",size:"size",color:"color",type:"type",fullScreen:"fullScreen",name:"name",zIndex:"zIndex",template:"template",showSpinner:"showSpinner",disableAnimation:"disableAnimation"},features:[M.OA$],ngContentSelectors:pe,decls:1,vars:1,consts:[["overlay",""],["class","ngx-spinner-overlay",3,"background-color","z-index","position",4,"ngIf"],[1,"ngx-spinner-overlay"],[3,"class","color",4,"ngIf"],[3,"innerHTML",4,"ngIf"],[1,"loading-text"],[4,"ngFor","ngForOf"],[3,"innerHTML"]],template:function(f,a){1&f&&(M.NAR(),M.DNE(0,X,6,12,"div",1)),2&f&&M.Y8G("ngIf",a.spinner.show)},dependencies:[re.Sq,re.bT,I],styles:[".ngx-spinner-overlay[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%}.ngx-spinner-overlay[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:not(.loading-text){top:50%;left:50%;margin:0;position:absolute;transform:translate(-50%,-50%)}.loading-text[_ngcontent-%COMP%]{position:absolute;top:60%;left:50%;transform:translate(-50%,-60%)}"],data:{animation:[(0,ne.hZ)("fadeIn",[(0,ne.wk)("in",(0,ne.iF)({opacity:1})),(0,ne.kY)(":enter",[(0,ne.iF)({opacity:0}),(0,ne.i0)(300)]),(0,ne.kY)(":leave",(0,ne.i0)(200,(0,ne.iF)({opacity:0})))])]},changeDetection:0})}return w})(),m=(()=>{class w{static forRoot(O){return{ngModule:w,providers:[{provide:A,useValue:O}]}}static#e=this.\u0275fac=function(f){return new(f||w)};static#t=this.\u0275mod=M.$C({type:w});static#i=this.\u0275inj=M.G2t({imports:[re.MD]})}return w})()},45794:(ri,Bt,We)=>{"use strict";We.d(Bt,{_B:()=>l,tw:()=>v});var M=We(54438),e=We(49969),V=We(60177),Le=We(21413),q=We(345);const ne=["toast-component",""];function re(T,B){if(1&T){const z=M.RV6();M.j41(0,"button",5),M.bIt("click",function(){M.eBV(z);const U=M.XpG();return M.Njj(U.remove())}),M.j41(1,"span",6),M.EFF(2,"\xd7"),M.k0s()()}}function ve(T,B){if(1&T&&(M.qex(0),M.EFF(1),M.bVm()),2&T){const z=M.XpG(2);M.R7$(),M.SpI("[",z.duplicatesCount+1,"]")}}function le(T,B){if(1&T&&(M.j41(0,"div"),M.EFF(1),M.DNE(2,ve,2,1,"ng-container",4),M.k0s()),2&T){const z=M.XpG();M.HbH(z.options.titleClass),M.BMQ("aria-label",z.title),M.R7$(),M.SpI(" ",z.title," "),M.R7$(),M.Y8G("ngIf",z.duplicatesCount)}}function pe(T,B){if(1&T&&M.nrm(0,"div",7),2&T){const z=M.XpG();M.HbH(z.options.messageClass),M.Y8G("innerHTML",z.message,M.npT)}}function ue(T,B){if(1&T&&(M.j41(0,"div",8),M.EFF(1),M.k0s()),2&T){const z=M.XpG();M.HbH(z.options.messageClass),M.BMQ("aria-label",z.message),M.R7$(),M.SpI(" ",z.message," ")}}function J(T,B){if(1&T&&(M.j41(0,"div"),M.nrm(1,"div",9),M.k0s()),2&T){const z=M.XpG();M.R7$(),M.xc7("width",z.width+"%")}}class A{_attachedHost;component;viewContainerRef;injector;constructor(B,z){this.component=B,this.injector=z}attach(B,z){return this._attachedHost=B,B.attach(this,z)}detach(){const B=this._attachedHost;if(B)return this._attachedHost=void 0,B.detach()}get isAttached(){return null!=this._attachedHost}setAttachedHost(B){this._attachedHost=B}}class I{_attachedPortal;_disposeFn;attach(B,z){return this._attachedPortal=B,this.attachComponentPortal(B,z)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(B){this._disposeFn=B}}class _{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new Le.B;_activate=new Le.B;_manualClose=new Le.B;_resetTimeout=new Le.B;_countDuplicate=new Le.B;constructor(B){this._overlayRef=B}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(B,z){B&&this._resetTimeout.next(),z&&this._countDuplicate.next(++this.duplicatesCount)}}class m{toastId;config;message;title;toastType;toastRef;_onTap=new Le.B;_onAction=new Le.B;constructor(B,z,K,U,se,S){this.toastId=B,this.config=z,this.message=K,this.title=U,this.toastType=se,this.toastRef=S,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(B){this._onAction.next(B)}onAction(){return this._onAction.asObservable()}}const G=new M.nKC("ToastConfig");class O extends I{_hostDomElement;_componentFactoryResolver;_appRef;constructor(B,z,K){super(),this._hostDomElement=B,this._componentFactoryResolver=z,this._appRef=K}attachComponentPortal(B,z){const K=this._componentFactoryResolver.resolveComponentFactory(B.component);let U;return U=K.create(B.injector),this._appRef.attachView(U.hostView),this.setDisposeFn(()=>{this._appRef.detachView(U.hostView),U.destroy()}),z?this._hostDomElement.insertBefore(this._getComponentRootNode(U),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(U)),U}_getComponentRootNode(B){return B.hostView.rootNodes[0]}}let f=(()=>{class T{_document=(0,M.WQX)(V.qQ);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const z=this._document.createElement("div");z.classList.add("overlay-container"),z.setAttribute("aria-live","polite"),this._document.body.appendChild(z),this._containerElement=z}static \u0275fac=function(K){return new(K||T)};static \u0275prov=M.jDH({token:T,factory:T.\u0275fac,providedIn:"root"})}return T})();class a{_portalHost;constructor(B){this._portalHost=B}attach(B,z=!0){return this._portalHost.attach(B,z)}detach(){return this._portalHost.detach()}}let g=(()=>{class T{_overlayContainer=(0,M.WQX)(f);_componentFactoryResolver=(0,M.WQX)(M.OM3);_appRef=(0,M.WQX)(M.o8S);_document=(0,M.WQX)(V.qQ);_paneElements=new Map;create(z,K){return this._createOverlayRef(this.getPaneElement(z,K))}getPaneElement(z="",K){return this._paneElements.get(K)||this._paneElements.set(K,{}),this._paneElements.get(K)[z]||(this._paneElements.get(K)[z]=this._createPaneElement(z,K)),this._paneElements.get(K)[z]}_createPaneElement(z,K){const U=this._document.createElement("div");return U.id="toast-container",U.classList.add(z),U.classList.add("toast-container"),K?K.getContainerElement().appendChild(U):this._overlayContainer.getContainerElement().appendChild(U),U}_createPortalHost(z){return new O(z,this._componentFactoryResolver,this._appRef)}_createOverlayRef(z){return new a(this._createPortalHost(z))}static \u0275fac=function(K){return new(K||T)};static \u0275prov=M.jDH({token:T,factory:T.\u0275fac,providedIn:"root"})}return T})(),v=(()=>{class T{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(z,K,U,se,S){this.overlay=K,this._injector=U,this.sanitizer=se,this.ngZone=S,this.toastrConfig={...z.default,...z.config},z.config.iconClasses&&(this.toastrConfig.iconClasses={...z.default.iconClasses,...z.config.iconClasses})}show(z,K,U={},se=""){return this._preBuildNotification(se,z,K,this.applyConfig(U))}success(z,K,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.success||"",z,K,this.applyConfig(U))}error(z,K,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.error||"",z,K,this.applyConfig(U))}info(z,K,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.info||"",z,K,this.applyConfig(U))}warning(z,K,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.warning||"",z,K,this.applyConfig(U))}clear(z){for(const K of this.toasts)if(void 0!==z){if(K.toastId===z)return void K.toastRef.manualClose()}else K.toastRef.manualClose()}remove(z){const K=this._findToast(z);if(!K||(K.activeToast.toastRef.close(),this.toasts.splice(K.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActivethis._buildNotification(z,K,U,se)):this._buildNotification(z,K,U,se)}_buildNotification(z,K,U,se){if(!se.toastComponent)throw new Error("toastComponent required");const S=this.findDuplicate(U,K,this.toastrConfig.resetTimeoutOnDuplicate&&se.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&U||K)&&this.toastrConfig.preventDuplicates&&null!==S)return S;this.previousToastMessage=K;let $=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&($=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));const H=this.overlay.create(se.positionClass,this.overlayContainer);this.index=this.index+1;let x=K;K&&se.enableHtml&&(x=this.sanitizer.sanitize(M.WPN.HTML,K));const N=new _(H),R=new m(this.index,se,x,U,z,N),Y=M.zZn.create({providers:[{provide:m,useValue:R}],parent:this._injector}),he=new A(se.toastComponent,Y),ge=H.attach(he,se.newestOnTop);N.componentInstance=ge.instance;const _e={toastId:this.index,title:U||"",message:K||"",toastRef:N,onShown:N.afterActivate(),onHidden:N.afterClosed(),onTap:R.onTap(),onAction:R.onAction(),portal:ge};return $||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{_e.toastRef.activate()})),this.toasts.push(_e),_e}static \u0275fac=function(K){return new(K||T)(M.KVO(G),M.KVO(g),M.KVO(M.zZn),M.KVO(q.up),M.KVO(M.SKi))};static \u0275prov=M.jDH({token:T,factory:T.\u0275fac,providedIn:"root"})}return T})();const n={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing",toastComponent:(()=>{class T{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=-1;toastClasses="";state;get displayStyle(){if("inactive"===this.state.value)return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(z,K,U){this.toastrService=z,this.toastPackage=K,this.ngZone=U,this.message=K.message,this.title=K.title,this.options=K.config,this.originalTimeout=K.config.timeOut,this.toastClasses=`${K.toastType} ${K.config.toastClass}`,this.sub=K.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=K.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=K.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=K.toastRef.countDuplicate().subscribe(se=>{this.duplicatesCount=se}),this.state={value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}}}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state={...this.state,value:"active"},!0!==this.options.disableTimeOut&&"timeOut"!==this.options.disableTimeOut&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const z=(new Date).getTime();this.width=(this.hideTime-z)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state={...this.state,value:"active"},this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.state={...this.state,value:"removed"},this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){"removed"!==this.state.value&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state.value&&"extendedTimeOut"!==this.options.disableTimeOut&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){!0===this.options.disableTimeOut||"extendedTimeOut"===this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state.value||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(z,K){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(z),K)):this.timeout=setTimeout(()=>z(),K)}outsideInterval(z,K){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(z),K)):this.intervalId=setInterval(()=>z(),K)}runInsideAngular(z){this.ngZone?this.ngZone.run(()=>z()):z()}static \u0275fac=function(K){return new(K||T)(M.rXU(v),M.rXU(m),M.rXU(M.SKi))};static \u0275cmp=M.VBU({type:T,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(K,U){1&K&&M.bIt("click",function(){return U.tapToast()})("mouseenter",function(){return U.stickAround()})("mouseleave",function(){return U.delayedHideToast()}),2&K&&(M.zvX("@flyInOut",U.state),M.HbH(U.toastClasses),M.xc7("display",U.displayStyle))},standalone:!0,features:[M.aNF],attrs:ne,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(K,U){1&K&&M.DNE(0,re,3,0,"button",0)(1,le,3,5,"div",1)(2,pe,1,3,"div",2)(3,ue,2,4,"div",3)(4,J,2,2,"div",4),2&K&&(M.Y8G("ngIf",U.options.closeButton),M.R7$(),M.Y8G("ngIf",U.title),M.R7$(),M.Y8G("ngIf",U.message&&U.options.enableHtml),M.R7$(),M.Y8G("ngIf",U.message&&!U.options.enableHtml),M.R7$(),M.Y8G("ngIf",U.options.progressBar))},dependencies:[V.bT],encapsulation:2,data:{animation:[(0,e.hZ)("flyInOut",[(0,e.wk)("inactive",(0,e.iF)({opacity:0})),(0,e.wk)("active",(0,e.iF)({opacity:1})),(0,e.wk)("removed",(0,e.iF)({opacity:0})),(0,e.kY)("inactive => active",(0,e.i0)("{{ easeTime }}ms {{ easing }}")),(0,e.kY)("active => removed",(0,e.i0)("{{ easeTime }}ms {{ easing }}"))])]}})}return T})()},r=(T={})=>(0,M.EmA)([{provide:G,useValue:{default:n,config:T}}]);let l=(()=>{class T{static forRoot(z={}){return{ngModule:T,providers:[r(z)]}}static \u0275fac=function(K){return new(K||T)};static \u0275mod=M.$C({type:T});static \u0275inj=M.G2t({})}return T})()},5779:(ri,Bt,We)=>{"use strict";We.d(Bt,{E:()=>ue,Ei:()=>P,Gg:()=>D,Rn:()=>le,Y9:()=>j,Yj:()=>A,r1:()=>E,si:()=>te,tl:()=>pe,wi:()=>F});var M=We(54438),e=We(21413),V=We(54420),Le=We(60177);const q=["*"];let le=(()=>class _{static STARTS_WITH="startsWith";static CONTAINS="contains";static NOT_CONTAINS="notContains";static ENDS_WITH="endsWith";static EQUALS="equals";static NOT_EQUALS="notEquals";static IN="in";static LESS_THAN="lt";static LESS_THAN_OR_EQUAL_TO="lte";static GREATER_THAN="gt";static GREATER_THAN_OR_EQUAL_TO="gte";static BETWEEN="between";static IS="is";static IS_NOT="isNot";static BEFORE="before";static AFTER="after";static DATE_IS="dateIs";static DATE_IS_NOT="dateIsNot";static DATE_BEFORE="dateBefore";static DATE_AFTER="dateAfter"})(),pe=(()=>class _{static AND="and";static OR="or"})(),ue=(()=>{class _{filter(w,G,O,f,a){let g=[];if(w)for(let v of w)for(let o of G){let n=V.BF.resolveFieldData(v,o);if(this.filters[f](n,O,a)){g.push(v);break}}return g}filters={startsWith:(w,G,O)=>{if(null==G||""===G.trim())return!0;if(null==w)return!1;let f=V.BF.removeAccents(G.toString()).toLocaleLowerCase(O);return V.BF.removeAccents(w.toString()).toLocaleLowerCase(O).slice(0,f.length)===f},contains:(w,G,O)=>{if(null==G||"string"==typeof G&&""===G.trim())return!0;if(null==w)return!1;let f=V.BF.removeAccents(G.toString()).toLocaleLowerCase(O);return-1!==V.BF.removeAccents(w.toString()).toLocaleLowerCase(O).indexOf(f)},notContains:(w,G,O)=>{if(null==G||"string"==typeof G&&""===G.trim())return!0;if(null==w)return!1;let f=V.BF.removeAccents(G.toString()).toLocaleLowerCase(O);return-1===V.BF.removeAccents(w.toString()).toLocaleLowerCase(O).indexOf(f)},endsWith:(w,G,O)=>{if(null==G||""===G.trim())return!0;if(null==w)return!1;let f=V.BF.removeAccents(G.toString()).toLocaleLowerCase(O),a=V.BF.removeAccents(w.toString()).toLocaleLowerCase(O);return-1!==a.indexOf(f,a.length-f.length)},equals:(w,G,O)=>null==G||"string"==typeof G&&""===G.trim()||null!=w&&(w.getTime&&G.getTime?w.getTime()===G.getTime():V.BF.removeAccents(w.toString()).toLocaleLowerCase(O)==V.BF.removeAccents(G.toString()).toLocaleLowerCase(O)),notEquals:(w,G,O)=>!(null==G||"string"==typeof G&&""===G.trim()||null!=w&&(w.getTime&&G.getTime?w.getTime()===G.getTime():V.BF.removeAccents(w.toString()).toLocaleLowerCase(O)==V.BF.removeAccents(G.toString()).toLocaleLowerCase(O))),in:(w,G)=>{if(null==G||0===G.length)return!0;for(let O=0;Onull==G||null==G[0]||null==G[1]||null!=w&&(w.getTime?G[0].getTime()<=w.getTime()&&w.getTime()<=G[1].getTime():G[0]<=w&&w<=G[1]),lt:(w,G,O)=>null==G||null!=w&&(w.getTime&&G.getTime?w.getTime()null==G||null!=w&&(w.getTime&&G.getTime?w.getTime()<=G.getTime():w<=G),gt:(w,G,O)=>null==G||null!=w&&(w.getTime&&G.getTime?w.getTime()>G.getTime():w>G),gte:(w,G,O)=>null==G||null!=w&&(w.getTime&&G.getTime?w.getTime()>=G.getTime():w>=G),is:(w,G,O)=>this.filters.equals(w,G,O),isNot:(w,G,O)=>this.filters.notEquals(w,G,O),before:(w,G,O)=>this.filters.lt(w,G,O),after:(w,G,O)=>this.filters.gt(w,G,O),dateIs:(w,G)=>null==G||null!=w&&w.toDateString()===G.toDateString(),dateIsNot:(w,G)=>null==G||null!=w&&w.toDateString()!==G.toDateString(),dateBefore:(w,G)=>null==G||null!=w&&w.getTime()null==G||null!=w&&w.getTime()>G.getTime()};register(w,G){this.filters[w]=G}static \u0275fac=function(G){return new(G||_)};static \u0275prov=M.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),te=(()=>{class _{clickSource=new e.B;clickObservable=this.clickSource.asObservable();add(w){w&&this.clickSource.next(w)}static \u0275fac=function(G){return new(G||_)};static \u0275prov=M.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),E=(()=>{class _{ripple=!1;inputStyle="outlined";overlayOptions={};filterMatchModeOptions={text:[le.STARTS_WITH,le.CONTAINS,le.NOT_CONTAINS,le.ENDS_WITH,le.EQUALS,le.NOT_EQUALS],numeric:[le.EQUALS,le.NOT_EQUALS,le.LESS_THAN,le.LESS_THAN_OR_EQUAL_TO,le.GREATER_THAN,le.GREATER_THAN_OR_EQUAL_TO],date:[le.DATE_IS,le.DATE_IS_NOT,le.DATE_BEFORE,le.DATE_AFTER]};translation={startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",is:"Is",isNot:"Is not",before:"Before",after:"After",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",upload:"Upload",cancel:"Cancel",pending:"Pending",fileSizeTypes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],chooseYear:"Choose Year",chooseMonth:"Choose Month",chooseDate:"Choose Date",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",prevHour:"Previous Hour",nextHour:"Next Hour",prevMinute:"Previous Minute",nextMinute:"Next Minute",prevSecond:"Previous Second",nextSecond:"Next Second",am:"am",pm:"pm",dateFormat:"mm/dd/yy",firstDayOfWeek:0,today:"Today",weekHeader:"Wk",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyMessage:"No results found",searchMessage:"{0} results are available",selectionMessage:"{0} items selected",emptySelectionMessage:"No selected item",emptySearchMessage:"No results found",emptyFilterMessage:"No results found",aria:{trueLabel:"True",falseLabel:"False",nullLabel:"Not Selected",star:"1 star",stars:"{star} stars",selectAll:"All items selected",unselectAll:"All items unselected",close:"Close",previous:"Previous",next:"Next",navigation:"Navigation",scrollTop:"Scroll Top",moveTop:"Move Top",moveUp:"Move Up",moveDown:"Move Down",moveBottom:"Move Bottom",moveToTarget:"Move to Target",moveToSource:"Move to Source",moveAllToTarget:"Move All to Target",moveAllToSource:"Move All to Source",pageLabel:"{page}",firstPageLabel:"First Page",lastPageLabel:"Last Page",nextPageLabel:"Next Page",prevPageLabel:"Previous Page",rowsPerPageLabel:"Rows per page",previousPageLabel:"Previous Page",jumpToPageDropdownLabel:"Jump to Page Dropdown",jumpToPageInputLabel:"Jump to Page Input",selectRow:"Row Selected",unselectRow:"Row Unselected",expandRow:"Row Expanded",collapseRow:"Row Collapsed",showFilterMenu:"Show Filter Menu",hideFilterMenu:"Hide Filter Menu",filterOperator:"Filter Operator",filterConstraint:"Filter Constraint",editRow:"Row Edit",saveEdit:"Save Edit",cancelEdit:"Cancel Edit",listView:"List View",gridView:"Grid View",slide:"Slide",slideNumber:"{slideNumber}",zoomImage:"Zoom Image",zoomIn:"Zoom In",zoomOut:"Zoom Out",rotateRight:"Rotate Right",rotateLeft:"Rotate Left",listLabel:"Option List",selectColor:"Select a color",removeLabel:"Remove"}};zIndex={modal:1100,overlay:1e3,menu:1e3,tooltip:1100};translationSource=new e.B;translationObserver=this.translationSource.asObservable();getTranslation(w){return this.translation[w]}setTranslation(w){this.translation={...this.translation,...w},this.translationSource.next(this.translation)}static \u0275fac=function(G){return new(G||_)};static \u0275prov=M.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),j=(()=>{class _{static \u0275fac=function(G){return new(G||_)};static \u0275cmp=M.VBU({type:_,selectors:[["p-header"]],ngContentSelectors:q,decls:1,vars:0,template:function(G,O){1&G&&(M.NAR(),M.SdG(0))},encapsulation:2})}return _})(),F=(()=>{class _{static \u0275fac=function(G){return new(G||_)};static \u0275cmp=M.VBU({type:_,selectors:[["p-footer"]],ngContentSelectors:q,decls:1,vars:0,template:function(G,O){1&G&&(M.NAR(),M.SdG(0))},encapsulation:2})}return _})(),P=(()=>{class _{template;type;name;constructor(w){this.template=w}getType(){return this.name}static \u0275fac=function(G){return new(G||_)(M.rXU(M.C4Q))};static \u0275dir=M.FsC({type:_,selectors:[["","pTemplate",""]],inputs:{type:"type",name:[M.Mj6.None,"pTemplate","name"]}})}return _})(),D=(()=>{class _{static \u0275fac=function(G){return new(G||_)};static \u0275mod=M.$C({type:_});static \u0275inj=M.G2t({imports:[Le.MD]})}return _})(),A=(()=>class _{static STARTS_WITH="startsWith";static CONTAINS="contains";static NOT_CONTAINS="notContains";static ENDS_WITH="endsWith";static EQUALS="equals";static NOT_EQUALS="notEquals";static NO_FILTER="noFilter";static LT="lt";static LTE="lte";static GT="gt";static GTE="gte";static IS="is";static IS_NOT="isNot";static BEFORE="before";static AFTER="after";static CLEAR="clear";static APPLY="apply";static MATCH_ALL="matchAll";static MATCH_ANY="matchAny";static ADD_RULE="addRule";static REMOVE_RULE="removeRule";static ACCEPT="accept";static REJECT="reject";static CHOOSE="choose";static UPLOAD="upload";static CANCEL="cancel";static PENDING="pending";static FILE_SIZE_TYPES="fileSizeTypes";static DAY_NAMES="dayNames";static DAY_NAMES_SHORT="dayNamesShort";static DAY_NAMES_MIN="dayNamesMin";static MONTH_NAMES="monthNames";static MONTH_NAMES_SHORT="monthNamesShort";static FIRST_DAY_OF_WEEK="firstDayOfWeek";static TODAY="today";static WEEK_HEADER="weekHeader";static WEAK="weak";static MEDIUM="medium";static STRONG="strong";static PASSWORD_PROMPT="passwordPrompt";static EMPTY_MESSAGE="emptyMessage";static EMPTY_FILTER_MESSAGE="emptyFilterMessage";static SHOW_FILTER_MENU="showFilterMenu";static HIDE_FILTER_MENU="hideFilterMenu";static SELECTION_MESSAGE="selectionMessage";static ARIA="aria";static SELECT_COLOR="selectColor"})()},461:(ri,Bt,We)=>{"use strict";We.d(Bt,{h:()=>Le});var M=We(54438),e=We(54420);const V=["*"];let Le=(()=>{class q{label;spin=!1;styleClass;role;ariaLabel;ariaHidden;ngOnInit(){this.getAttributes()}getAttributes(){const re=e.BF.isEmpty(this.label);this.role=re?void 0:"img",this.ariaLabel=re?void 0:this.label,this.ariaHidden=re}getClassNames(){return`p-icon ${this.styleClass?this.styleClass+" ":""}${this.spin?"p-icon-spin":""}`}static \u0275fac=function(ve){return new(ve||q)};static \u0275cmp=M.VBU({type:q,selectors:[["ng-component"]],hostAttrs:[1,"p-element","p-icon-wrapper"],inputs:{label:"label",spin:"spin",styleClass:"styleClass"},standalone:!0,features:[M.aNF],ngContentSelectors:V,decls:1,vars:0,template:function(ve,le){1&ve&&(M.NAR(),M.SdG(0))},encapsulation:2,changeDetection:0})}return q})()},81141:(ri,Bt,We)=>{"use strict";We.d(Bt,{_f:()=>G,tm:()=>f});var M=We(60177),e=We(54438),V=We(5779),Le=We(81455),q=We(38757),ne=We(10563),re=We(54420);const w={button:"p-button",component:"p-component",iconOnly:"p-button-icon-only",disabled:"p-disabled",loading:"p-button-loading",labelOnly:"p-button-loading-label-only"};let G=(()=>{class a{el;document;iconPos="left";loadingIcon;get label(){return this._label}set label(v){this._label=v,this.initialized&&(this.updateLabel(),this.updateIcon(),this.setStyleClass())}get icon(){return this._icon}set icon(v){this._icon=v,this.initialized&&(this.updateIcon(),this.setStyleClass())}get loading(){return this._loading}set loading(v){this._loading=v,this.initialized&&(this.updateIcon(),this.setStyleClass())}_label;_icon;_loading=!1;initialized;get htmlElement(){return this.el.nativeElement}_internalClasses=Object.values(w);spinnerIcon='\n \n \n \n \n \n \n \n \n ';constructor(v,o){this.el=v,this.document=o}ngAfterViewInit(){Le.D.addMultipleClasses(this.htmlElement,this.getStyleClass().join(" ")),this.createIcon(),this.createLabel(),this.initialized=!0}getStyleClass(){const v=[w.button,w.component];return this.icon&&!this.label&&re.BF.isEmpty(this.htmlElement.textContent)&&v.push(w.iconOnly),this.loading&&(v.push(w.disabled,w.loading),!this.icon&&this.label&&v.push(w.labelOnly),this.icon&&!this.label&&!re.BF.isEmpty(this.htmlElement.textContent)&&v.push(w.iconOnly)),v}setStyleClass(){const v=this.getStyleClass();this.htmlElement.classList.remove(...this._internalClasses),this.htmlElement.classList.add(...v)}createLabel(){if(!Le.D.findSingle(this.htmlElement,".p-button-label")&&this.label){let o=this.document.createElement("span");this.icon&&!this.label&&o.setAttribute("aria-hidden","true"),o.className="p-button-label",o.appendChild(this.document.createTextNode(this.label)),this.htmlElement.appendChild(o)}}createIcon(){if(!Le.D.findSingle(this.htmlElement,".p-button-icon")&&(this.icon||this.loading)){let o=this.document.createElement("span");o.className="p-button-icon",o.setAttribute("aria-hidden","true");let n=this.label?"p-button-icon-"+this.iconPos:null;n&&Le.D.addClass(o,n);let r=this.getIconClass();r&&Le.D.addMultipleClasses(o,r),!this.loadingIcon&&this.loading&&(o.innerHTML=this.spinnerIcon),this.htmlElement.insertBefore(o,this.htmlElement.firstChild)}}updateLabel(){let v=Le.D.findSingle(this.htmlElement,".p-button-label");this.label?v?v.textContent=this.label:this.createLabel():v&&this.htmlElement.removeChild(v)}updateIcon(){let v=Le.D.findSingle(this.htmlElement,".p-button-icon"),o=Le.D.findSingle(this.htmlElement,".p-button-label");this.loading&&!this.loadingIcon&&v?v.innerHTML=this.spinnerIcon:v?.innerHTML&&(v.innerHTML=""),v?v.className=this.iconPos?"p-button-icon "+(o?"p-button-icon-"+this.iconPos:"")+" "+this.getIconClass():"p-button-icon "+this.getIconClass():this.createIcon()}getIconClass(){return this.loading?"p-button-loading-icon "+(this.loadingIcon?this.loadingIcon:"p-icon"):this.icon||"p-hidden"}ngOnDestroy(){this.initialized=!1}static \u0275fac=function(o){return new(o||a)(e.rXU(e.aKT),e.rXU(M.qQ))};static \u0275dir=e.FsC({type:a,selectors:[["","pButton",""]],hostAttrs:[1,"p-element"],inputs:{iconPos:"iconPos",loadingIcon:"loadingIcon",label:"label",icon:"icon",loading:"loading"}})}return a})(),f=(()=>{class a{static \u0275fac=function(o){return new(o||a)};static \u0275mod=e.$C({type:a});static \u0275inj=e.G2t({imports:[M.MD,ne.Z,V.Gg,q.N,V.Gg]})}return a})()},41570:(ri,Bt,We)=>{"use strict";We.d(Bt,{l:()=>Be,P:()=>oe});var M=We(49969),e=We(60177),V=We(54438),Le=We(5779),q=We(81455);let ne=(()=>{class ee{pFocusTrapDisabled=!1;host=(0,V.WQX)(V.aKT);onkeydown(xe){if(!0!==this.pFocusTrapDisabled){xe.preventDefault();const Ie=q.D.getNextFocusableElement(this.host.nativeElement,xe.shiftKey);Ie&&(Ie.focus(),Ie.select?.())}}static \u0275fac=function(Ie){return new(Ie||ee)};static \u0275dir=V.FsC({type:ee,selectors:[["","pFocusTrap",""]],hostAttrs:[1,"p-element"],hostBindings:function(Ie,we){1&Ie&&V.bIt("keydown.tab",function(Me){return we.onkeydown(Me)})("keydown.shift.tab",function(Me){return we.onkeydown(Me)})},inputs:{pFocusTrapDisabled:"pFocusTrapDisabled"}})}return ee})(),re=(()=>{class ee{static \u0275fac=function(Ie){return new(Ie||ee)};static \u0275mod=V.$C({type:ee});static \u0275inj=V.G2t({imports:[e.MD]})}return ee})();var ve=We(1512),le=We(461),pe=We(54420);let ue=(()=>{class ee extends le.h{pathId;ngOnInit(){this.pathId="url(#"+(0,pe._Y)()+")"}static \u0275fac=(()=>{let xe;return function(we){return(xe||(xe=V.xGo(ee)))(we||ee)}})();static \u0275cmp=V.VBU({type:ee,selectors:[["WindowMaximizeIcon"]],standalone:!0,features:[V.Vt3,V.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14ZM9.77805 7.42192C9.89013 7.534 10.0415 7.59788 10.2 7.59995C10.3585 7.59788 10.5099 7.534 10.622 7.42192C10.7341 7.30985 10.798 7.15844 10.8 6.99995V3.94242C10.8066 3.90505 10.8096 3.86689 10.8089 3.82843C10.8079 3.77159 10.7988 3.7157 10.7824 3.6623C10.756 3.55552 10.701 3.45698 10.622 3.37798C10.5099 3.2659 10.3585 3.20202 10.2 3.19995H7.00002C6.84089 3.19995 6.68828 3.26317 6.57576 3.37569C6.46324 3.48821 6.40002 3.64082 6.40002 3.79995C6.40002 3.95908 6.46324 4.11169 6.57576 4.22422C6.68828 4.33674 6.84089 4.39995 7.00002 4.39995H8.80006L6.19997 7.00005C6.10158 7.11005 6.04718 7.25246 6.04718 7.40005C6.04718 7.54763 6.10158 7.69004 6.19997 7.80005C6.30202 7.91645 6.44561 7.98824 6.59997 8.00005C6.75432 7.98824 6.89791 7.91645 6.99997 7.80005L9.60002 5.26841V6.99995C9.6021 7.15844 9.66598 7.30985 9.77805 7.42192ZM1.4 14H3.8C4.17066 13.9979 4.52553 13.8498 4.78763 13.5877C5.04973 13.3256 5.1979 12.9707 5.2 12.6V10.2C5.1979 9.82939 5.04973 9.47452 4.78763 9.21242C4.52553 8.95032 4.17066 8.80215 3.8 8.80005H1.4C1.02934 8.80215 0.674468 8.95032 0.412371 9.21242C0.150274 9.47452 0.00210008 9.82939 0 10.2V12.6C0.00210008 12.9707 0.150274 13.3256 0.412371 13.5877C0.674468 13.8498 1.02934 13.9979 1.4 14ZM1.25858 10.0586C1.29609 10.0211 1.34696 10 1.4 10H3.8C3.85304 10 3.90391 10.0211 3.94142 10.0586C3.97893 10.0961 4 10.147 4 10.2V12.6C4 12.6531 3.97893 12.704 3.94142 12.7415C3.90391 12.779 3.85304 12.8 3.8 12.8H1.4C1.34696 12.8 1.29609 12.779 1.25858 12.7415C1.22107 12.704 1.2 12.6531 1.2 12.6V10.2C1.2 10.147 1.22107 10.0961 1.25858 10.0586Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(Ie,we){1&Ie&&(V.qSk(),V.j41(0,"svg",0)(1,"g"),V.nrm(2,"path",1),V.k0s(),V.j41(3,"defs")(4,"clipPath",2),V.nrm(5,"rect",3),V.k0s()()()),2&Ie&&(V.HbH(we.getClassNames()),V.BMQ("aria-label",we.ariaLabel)("aria-hidden",we.ariaHidden)("role",we.role),V.R7$(),V.BMQ("clip-path",we.pathId),V.R7$(3),V.Y8G("id",we.pathId))},encapsulation:2})}return ee})(),J=(()=>{class ee extends le.h{pathId;ngOnInit(){this.pathId="url(#"+(0,pe._Y)()+")"}static \u0275fac=(()=>{let xe;return function(we){return(xe||(xe=V.xGo(ee)))(we||ee)}})();static \u0275cmp=V.VBU({type:ee,selectors:[["WindowMinimizeIcon"]],standalone:!0,features:[V.Vt3,V.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0ZM6.368 7.952C6.44137 7.98326 6.52025 7.99958 6.6 8H9.8C9.95913 8 10.1117 7.93678 10.2243 7.82426C10.3368 7.71174 10.4 7.55913 10.4 7.4C10.4 7.24087 10.3368 7.08826 10.2243 6.97574C10.1117 6.86321 9.95913 6.8 9.8 6.8H8.048L10.624 4.224C10.73 4.11026 10.7877 3.95982 10.7849 3.80438C10.7822 3.64894 10.7192 3.50063 10.6093 3.3907C10.4994 3.28077 10.3511 3.2178 10.1956 3.21506C10.0402 3.21232 9.88974 3.27002 9.776 3.376L7.2 5.952V4.2C7.2 4.04087 7.13679 3.88826 7.02426 3.77574C6.91174 3.66321 6.75913 3.6 6.6 3.6C6.44087 3.6 6.28826 3.66321 6.17574 3.77574C6.06321 3.88826 6 4.04087 6 4.2V7.4C6.00042 7.47975 6.01674 7.55862 6.048 7.632C6.07656 7.70442 6.11971 7.7702 6.17475 7.82524C6.2298 7.88029 6.29558 7.92344 6.368 7.952ZM1.4 8.80005H3.8C4.17066 8.80215 4.52553 8.95032 4.78763 9.21242C5.04973 9.47452 5.1979 9.82939 5.2 10.2V12.6C5.1979 12.9707 5.04973 13.3256 4.78763 13.5877C4.52553 13.8498 4.17066 13.9979 3.8 14H1.4C1.02934 13.9979 0.674468 13.8498 0.412371 13.5877C0.150274 13.3256 0.00210008 12.9707 0 12.6V10.2C0.00210008 9.82939 0.150274 9.47452 0.412371 9.21242C0.674468 8.95032 1.02934 8.80215 1.4 8.80005ZM3.94142 12.7415C3.97893 12.704 4 12.6531 4 12.6V10.2C4 10.147 3.97893 10.0961 3.94142 10.0586C3.90391 10.0211 3.85304 10 3.8 10H1.4C1.34696 10 1.29609 10.0211 1.25858 10.0586C1.22107 10.0961 1.2 10.147 1.2 10.2V12.6C1.2 12.6531 1.22107 12.704 1.25858 12.7415C1.29609 12.779 1.34696 12.8 1.4 12.8H3.8C3.85304 12.8 3.90391 12.779 3.94142 12.7415Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(Ie,we){1&Ie&&(V.qSk(),V.j41(0,"svg",0)(1,"g"),V.nrm(2,"path",1),V.k0s(),V.j41(3,"defs")(4,"clipPath",2),V.nrm(5,"rect",3),V.k0s()()()),2&Ie&&(V.HbH(we.getClassNames()),V.BMQ("aria-label",we.ariaLabel)("aria-hidden",we.ariaHidden)("role",we.role),V.R7$(),V.BMQ("clip-path",we.pathId),V.R7$(3),V.Y8G("id",we.pathId))},encapsulation:2})}return ee})();var te=We(10563),X=We(81141);const E=["titlebar"],j=["content"],F=["footer"],P=["*",[["p-header"]],[["p-footer"]]],D=["*","p-header","p-footer"],A=(ee,be,xe,Ie,we,Ee,Me,Xe,Je,lt)=>({"p-dialog-mask":!0,"p-component-overlay p-component-overlay-enter":ee,"p-dialog-mask-scrollblocker":be,"p-dialog-left":xe,"p-dialog-right":Ie,"p-dialog-top":we,"p-dialog-top-left":Ee,"p-dialog-top-right":Me,"p-dialog-bottom":Xe,"p-dialog-bottom-left":Je,"p-dialog-bottom-right":lt}),I=(ee,be,xe,Ie)=>({"p-dialog p-component":!0,"p-dialog-rtl":ee,"p-dialog-draggable":be,"p-dialog-resizable":xe,"p-dialog-maximized":Ie}),_=(ee,be)=>({transform:ee,transition:be}),m=ee=>({value:"visible",params:ee}),w=()=>({"p-dialog-header-icon p-dialog-header-maximize p-link":!0}),G=()=>({"p-dialog-header-icon p-dialog-header-close p-link":!0});function O(ee,be){1&ee&&V.eu8(0)}function f(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,O,1,0,"ng-container",10),V.bVm()),2&ee){const xe=V.XpG(3);V.R7$(),V.Y8G("ngTemplateOutlet",xe.headlessTemplate)}}function a(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"div",15),V.bIt("mousedown",function(we){V.eBV(xe);const Ee=V.XpG(4);return V.Njj(Ee.initResize(we))}),V.k0s()}}function g(ee,be){if(1&ee&&(V.j41(0,"span",21),V.EFF(1),V.k0s()),2&ee){const xe=V.XpG(5);V.Y8G("id",xe.getAriaLabelledBy()),V.R7$(),V.JRh(xe.header)}}function v(ee,be){if(1&ee&&(V.j41(0,"span",21),V.SdG(1,1),V.k0s()),2&ee){const xe=V.XpG(5);V.Y8G("id",xe.getAriaLabelledBy())}}function o(ee,be){1&ee&&V.eu8(0)}function n(ee,be){if(1&ee&&V.nrm(0,"span",25),2&ee){const xe=V.XpG(6);V.Y8G("ngClass",xe.maximized?xe.minimizeIcon:xe.maximizeIcon)}}function r(ee,be){1&ee&&V.nrm(0,"WindowMaximizeIcon",27),2&ee&&V.Y8G("styleClass","p-dialog-header-maximize-icon")}function l(ee,be){1&ee&&V.nrm(0,"WindowMinimizeIcon",27),2&ee&&V.Y8G("styleClass","p-dialog-header-maximize-icon")}function d(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,r,1,1,"WindowMaximizeIcon",26)(2,l,1,1,"WindowMinimizeIcon",26),V.bVm()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngIf",!xe.maximized&&!xe.maximizeIconTemplate),V.R7$(),V.Y8G("ngIf",xe.maximized&&!xe.minimizeIconTemplate)}}function C(ee,be){}function k(ee,be){1&ee&&V.DNE(0,C,0,0,"ng-template")}function p(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,k,1,0,null,10),V.bVm()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngTemplateOutlet",xe.maximizeIconTemplate)}}function T(ee,be){}function B(ee,be){1&ee&&V.DNE(0,T,0,0,"ng-template")}function z(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,B,1,0,null,10),V.bVm()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngTemplateOutlet",xe.minimizeIconTemplate)}}function K(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"button",22),V.bIt("click",function(){V.eBV(xe);const we=V.XpG(5);return V.Njj(we.maximize())})("keydown.enter",function(){V.eBV(xe);const we=V.XpG(5);return V.Njj(we.maximize())}),V.DNE(1,n,1,1,"span",23)(2,d,3,2,"ng-container",24)(3,p,2,1,"ng-container",24)(4,z,2,1,"ng-container",24),V.k0s()}if(2&ee){const xe=V.XpG(5);V.Y8G("ngClass",V.lJ4(6,w)),V.BMQ("tabindex",xe.maximizable?"0":"-1"),V.R7$(),V.Y8G("ngIf",xe.maximizeIcon&&!xe.maximizeIconTemplate&&!xe.minimizeIconTemplate),V.R7$(),V.Y8G("ngIf",!xe.maximizeIcon),V.R7$(),V.Y8G("ngIf",!xe.maximized),V.R7$(),V.Y8G("ngIf",xe.maximized)}}function U(ee,be){if(1&ee&&V.nrm(0,"span",30),2&ee){const xe=V.XpG(7);V.Y8G("ngClass",xe.closeIcon)}}function se(ee,be){1&ee&&V.nrm(0,"TimesIcon",27),2&ee&&V.Y8G("styleClass","p-dialog-header-close-icon")}function S(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,U,1,1,"span",29)(2,se,1,1,"TimesIcon",26),V.bVm()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngIf",xe.closeIcon),V.R7$(),V.Y8G("ngIf",!xe.closeIcon)}}function $(ee,be){}function H(ee,be){1&ee&&V.DNE(0,$,0,0,"ng-template")}function x(ee,be){if(1&ee&&(V.j41(0,"span"),V.DNE(1,H,1,0,null,10),V.k0s()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngTemplateOutlet",xe.closeIconTemplate)}}function N(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"button",28),V.bIt("click",function(we){V.eBV(xe);const Ee=V.XpG(5);return V.Njj(Ee.close(we))})("keydown.enter",function(we){V.eBV(xe);const Ee=V.XpG(5);return V.Njj(Ee.close(we))}),V.DNE(1,S,3,2,"ng-container",24)(2,x,2,1,"span",24),V.k0s()}if(2&ee){const xe=V.XpG(5);V.Y8G("ngClass",V.lJ4(5,G)),V.BMQ("aria-label",xe.closeAriaLabel)("tabindex",xe.closeTabindex),V.R7$(),V.Y8G("ngIf",!xe.closeIconTemplate),V.R7$(),V.Y8G("ngIf",xe.closeIconTemplate)}}function R(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"div",16,3),V.bIt("mousedown",function(we){V.eBV(xe);const Ee=V.XpG(4);return V.Njj(Ee.initDrag(we))}),V.DNE(2,g,2,2,"span",17)(3,v,2,1,"span",17)(4,o,1,0,"ng-container",10),V.j41(5,"div",18),V.DNE(6,K,5,7,"button",19)(7,N,3,6,"button",20),V.k0s()()}if(2&ee){const xe=V.XpG(4);V.R7$(2),V.Y8G("ngIf",!xe.headerFacet&&!xe.headerTemplate),V.R7$(),V.Y8G("ngIf",xe.headerFacet),V.R7$(),V.Y8G("ngTemplateOutlet",xe.headerTemplate),V.R7$(2),V.Y8G("ngIf",xe.maximizable),V.R7$(),V.Y8G("ngIf",xe.closable)}}function Z(ee,be){1&ee&&V.eu8(0)}function Y(ee,be){1&ee&&V.eu8(0)}function he(ee,be){if(1&ee&&(V.j41(0,"div",31,4),V.SdG(2,2),V.DNE(3,Y,1,0,"ng-container",10),V.k0s()),2&ee){const xe=V.XpG(4);V.R7$(3),V.Y8G("ngTemplateOutlet",xe.footerTemplate)}}function ge(ee,be){if(1&ee&&(V.DNE(0,a,1,0,"div",11)(1,R,8,5,"div",12),V.j41(2,"div",13,2),V.SdG(4),V.DNE(5,Z,1,0,"ng-container",10),V.k0s(),V.DNE(6,he,4,1,"div",14)),2&ee){const xe=V.XpG(3);V.Y8G("ngIf",xe.resizable),V.R7$(),V.Y8G("ngIf",xe.showHeader),V.R7$(),V.HbH(xe.contentStyleClass),V.Y8G("ngClass","p-dialog-content")("ngStyle",xe.contentStyle),V.R7$(3),V.Y8G("ngTemplateOutlet",xe.contentTemplate),V.R7$(),V.Y8G("ngIf",xe.footerFacet||xe.footerTemplate)}}function _e(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"div",8,0),V.bIt("@animation.start",function(we){V.eBV(xe);const Ee=V.XpG(2);return V.Njj(Ee.onAnimationStart(we))})("@animation.done",function(we){V.eBV(xe);const Ee=V.XpG(2);return V.Njj(Ee.onAnimationEnd(we))}),V.DNE(2,f,2,1,"ng-container",9)(3,ge,7,8,"ng-template",null,1,V.C5r),V.k0s()}if(2&ee){const xe=V.sdS(4),Ie=V.XpG(2);V.HbH(Ie.styleClass),V.Y8G("ngClass",V.ziG(10,I,Ie.rtl,Ie.draggable,Ie.resizable,Ie.maximized))("ngStyle",Ie.style)("pFocusTrapDisabled",!1===Ie.focusTrap)("@animation",V.eq3(18,m,V.l_i(15,_,Ie.transformOptions,Ie.transitionOptions))),V.BMQ("aria-labelledby",Ie.ariaLabelledBy)("aria-modal",!0),V.R7$(2),V.Y8G("ngIf",Ie.headlessTemplate)("ngIfElse",xe)}}function Te(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"div",6),V.bIt("focus",function(we){V.eBV(xe);const Ee=V.XpG();return V.Njj(Ee.containerFocus(we))}),V.DNE(1,_e,5,20,"div",7),V.k0s()}if(2&ee){const xe=V.XpG();V.Aen(xe.maskStyle),V.HbH(xe.maskStyleClass),V.Y8G("ngClass",V.zJS(6,A,[xe.modal,xe.modal||xe.blockScroll,"left"===xe.position,"right"===xe.position,"top"===xe.position,"topleft"===xe.position||"top-left"===xe.position,"topright"===xe.position||"top-right"===xe.position,"bottom"===xe.position,"bottomleft"===xe.position||"bottom-left"===xe.position,"bottomright"===xe.position||"bottom-right"===xe.position])),V.R7$(),V.Y8G("ngIf",xe.visible)}}const Oe=(0,M.lY)([(0,M.iF)({transform:"{{transform}}",opacity:0}),(0,M.i0)("{{transition}}")]),De=(0,M.lY)([(0,M.i0)("{{transition}}",(0,M.iF)({transform:"{{transform}}",opacity:0}))]);let Be=(()=>{class ee{document;platformId;el;renderer;zone;cd;config;header;draggable=!0;resizable=!0;get positionLeft(){return 0}set positionLeft(xe){console.log("positionLeft property is deprecated.")}get positionTop(){return 0}set positionTop(xe){console.log("positionTop property is deprecated.")}contentStyle;contentStyleClass;modal=!1;closeOnEscape=!0;dismissableMask=!1;rtl=!1;closable=!0;get responsive(){return!1}set responsive(xe){console.log("Responsive property is deprecated.")}appendTo;breakpoints;styleClass;maskStyleClass;maskStyle;showHeader=!0;get breakpoint(){return 649}set breakpoint(xe){console.log("Breakpoint property is not utilized and deprecated, use breakpoints or CSS media queries instead.")}blockScroll=!1;autoZIndex=!0;baseZIndex=0;minX=0;minY=0;focusOnShow=!0;maximizable=!1;keepInViewport=!0;focusTrap=!0;transitionOptions="150ms cubic-bezier(0, 0, 0.2, 1)";closeIcon;closeAriaLabel;closeTabindex="0";minimizeIcon;maximizeIcon;get visible(){return this._visible}set visible(xe){this._visible=xe,this._visible&&!this.maskVisible&&(this.maskVisible=!0)}get style(){return this._style}set style(xe){xe&&(this._style={...xe},this.originalStyle=xe)}get position(){return this._position}set position(xe){switch(this._position=xe,xe){case"topleft":case"bottomleft":case"left":this.transformOptions="translate3d(-100%, 0px, 0px)";break;case"topright":case"bottomright":case"right":this.transformOptions="translate3d(100%, 0px, 0px)";break;case"bottom":this.transformOptions="translate3d(0px, 100%, 0px)";break;case"top":this.transformOptions="translate3d(0px, -100%, 0px)";break;default:this.transformOptions="scale(0.7)"}}onShow=new V.bkB;onHide=new V.bkB;visibleChange=new V.bkB;onResizeInit=new V.bkB;onResizeEnd=new V.bkB;onDragEnd=new V.bkB;onMaximize=new V.bkB;headerFacet;footerFacet;templates;headerViewChild;contentViewChild;footerViewChild;headerTemplate;contentTemplate;footerTemplate;maximizeIconTemplate;closeIconTemplate;minimizeIconTemplate;headlessTemplate;_visible=!1;maskVisible;container;wrapper;dragging;ariaLabelledBy;documentDragListener;documentDragEndListener;resizing;documentResizeListener;documentResizeEndListener;documentEscapeListener;maskClickListener;lastPageX;lastPageY;preventVisibleChangePropagation;maximized;preMaximizeContentHeight;preMaximizeContainerWidth;preMaximizeContainerHeight;preMaximizePageX;preMaximizePageY;id=(0,pe._Y)();_style={};_position="center";originalStyle;transformOptions="scale(0.7)";styleElement;window;constructor(xe,Ie,we,Ee,Me,Xe,Je){this.document=xe,this.platformId=Ie,this.el=we,this.renderer=Ee,this.zone=Me,this.cd=Xe,this.config=Je,this.window=this.document.defaultView}ngAfterContentInit(){this.templates?.forEach(xe=>{switch(xe.getType()){case"header":this.headerTemplate=xe.template;break;case"content":default:this.contentTemplate=xe.template;break;case"footer":this.footerTemplate=xe.template;break;case"closeicon":this.closeIconTemplate=xe.template;break;case"maximizeicon":this.maximizeIconTemplate=xe.template;break;case"minimizeicon":this.minimizeIconTemplate=xe.template;break;case"headless":this.headlessTemplate=xe.template}})}ngOnInit(){this.breakpoints&&this.createStyle()}getAriaLabelledBy(){return null!==this.header?(0,pe._Y)()+"_header":null}focus(){let xe=q.D.findSingle(this.container,"[autofocus]");xe&&this.zone.runOutsideAngular(()=>{setTimeout(()=>xe.focus(),5)})}close(xe){this.visibleChange.emit(!1),xe.preventDefault()}enableModality(){this.closable&&this.dismissableMask&&(this.maskClickListener=this.renderer.listen(this.wrapper,"mousedown",xe=>{this.wrapper&&this.wrapper.isSameNode(xe.target)&&this.close(xe)})),this.modal&&q.D.blockBodyScroll()}disableModality(){if(this.wrapper){this.dismissableMask&&this.unbindMaskClickListener();const xe=document.querySelectorAll(".p-dialog-mask-scrollblocker");this.modal&&xe&&1==xe.length&&q.D.unblockBodyScroll(),this.cd.destroyed||this.cd.detectChanges()}}maximize(){this.maximized=!this.maximized,!this.modal&&!this.blockScroll&&(this.maximized?q.D.blockBodyScroll():q.D.unblockBodyScroll()),this.onMaximize.emit({maximized:this.maximized})}unbindMaskClickListener(){this.maskClickListener&&(this.maskClickListener(),this.maskClickListener=null)}moveOnTop(){this.autoZIndex&&(pe.Q$.set("modal",this.container,this.baseZIndex+this.config.zIndex.modal),this.wrapper.style.zIndex=String(parseInt(this.container.style.zIndex,10)-1))}createStyle(){if((0,e.UE)(this.platformId)&&!this.styleElement){this.styleElement=this.renderer.createElement("style"),this.styleElement.type="text/css",this.renderer.appendChild(this.document.head,this.styleElement);let xe="";for(let Ie in this.breakpoints)xe+=`\n @media screen and (max-width: ${Ie}) {\n .p-dialog[${this.id}]:not(.p-dialog-maximized) {\n width: ${this.breakpoints[Ie]} !important;\n }\n }\n `;this.renderer.setProperty(this.styleElement,"innerHTML",xe)}}initDrag(xe){q.D.hasClass(xe.target,"p-dialog-header-icon")||q.D.hasClass(xe.target.parentElement,"p-dialog-header-icon")||this.draggable&&(this.dragging=!0,this.lastPageX=xe.pageX,this.lastPageY=xe.pageY,this.container.style.margin="0",q.D.addClass(this.document.body,"p-unselectable-text"))}onKeydown(xe){if(this.focusTrap&&9===xe.which){xe.preventDefault();let Ie=q.D.getFocusableElements(this.container);if(Ie&&Ie.length>0)if(Ie[0].ownerDocument.activeElement){let we=Ie.indexOf(Ie[0].ownerDocument.activeElement);xe.shiftKey?-1==we||0===we?Ie[Ie.length-1].focus():Ie[we-1].focus():-1==we||we===Ie.length-1?Ie[0].focus():Ie[we+1].focus()}else Ie[0].focus()}}onDrag(xe){if(this.dragging){const Ie=q.D.getOuterWidth(this.container),we=q.D.getOuterHeight(this.container),Ee=xe.pageX-this.lastPageX,Me=xe.pageY-this.lastPageY,Xe=this.container.getBoundingClientRect(),Je=getComputedStyle(this.container),lt=parseFloat(Je.marginLeft),qe=parseFloat(Je.marginTop),st=Xe.left+Ee-lt,Tt=Xe.top+Me-qe,pt=q.D.getViewport();this.container.style.position="fixed",this.keepInViewport?(st>=this.minX&&st+Ie=this.minY&&Tt+weparseInt(qe))&&Tt.left+JeparseInt(st))&&Tt.top+lt{this.documentDragListener=this.renderer.listen(this.window,"mousemove",this.onDrag.bind(this))})}unbindDocumentDragListener(){this.documentDragListener&&(this.documentDragListener(),this.documentDragListener=null)}bindDocumentDragEndListener(){this.documentDragEndListener||this.zone.runOutsideAngular(()=>{this.documentDragEndListener=this.renderer.listen(this.window,"mouseup",this.endDrag.bind(this))})}unbindDocumentDragEndListener(){this.documentDragEndListener&&(this.documentDragEndListener(),this.documentDragEndListener=null)}bindDocumentResizeListeners(){!this.documentResizeListener&&!this.documentResizeEndListener&&this.zone.runOutsideAngular(()=>{this.documentResizeListener=this.renderer.listen(this.window,"mousemove",this.onResize.bind(this)),this.documentResizeEndListener=this.renderer.listen(this.window,"mouseup",this.resizeEnd.bind(this))})}unbindDocumentResizeListeners(){this.documentResizeListener&&this.documentResizeEndListener&&(this.documentResizeListener(),this.documentResizeEndListener(),this.documentResizeListener=null,this.documentResizeEndListener=null)}bindDocumentEscapeListener(){this.documentEscapeListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:"document","keydown",Ie=>{27==Ie.which&&this.close(Ie)})}unbindDocumentEscapeListener(){this.documentEscapeListener&&(this.documentEscapeListener(),this.documentEscapeListener=null)}appendContainer(){this.appendTo&&("body"===this.appendTo?this.renderer.appendChild(this.document.body,this.wrapper):q.D.appendChild(this.wrapper,this.appendTo))}restoreAppend(){this.container&&this.appendTo&&this.renderer.appendChild(this.el.nativeElement,this.wrapper)}onAnimationStart(xe){switch(xe.toState){case"visible":this.container=xe.element,this.wrapper=this.container?.parentElement,this.appendContainer(),this.moveOnTop(),this.bindGlobalListeners(),this.container?.setAttribute(this.id,""),this.modal&&this.enableModality(),!this.modal&&this.blockScroll&&q.D.addClass(this.document.body,"p-overflow-hidden"),this.focusOnShow&&this.focus();break;case"void":this.wrapper&&this.modal&&q.D.addClass(this.wrapper,"p-component-overlay-leave")}}onAnimationEnd(xe){switch(xe.toState){case"void":this.onContainerDestroy(),this.onHide.emit({}),this.cd.markForCheck();break;case"visible":this.onShow.emit({})}}onContainerDestroy(){this.unbindGlobalListeners(),this.dragging=!1,this.maskVisible=!1,this.maximized&&(q.D.removeClass(this.document.body,"p-overflow-hidden"),this.document.body.style.removeProperty("--scrollbar-width"),this.maximized=!1),this.modal&&this.disableModality(),this.blockScroll&&q.D.removeClass(this.document.body,"p-overflow-hidden"),this.container&&this.autoZIndex&&pe.Q$.clear(this.container),this.container=null,this.wrapper=null,this._style=this.originalStyle?{...this.originalStyle}:{}}destroyStyle(){this.styleElement&&(this.renderer.removeChild(this.document.head,this.styleElement),this.styleElement=null)}ngOnDestroy(){this.container&&(this.restoreAppend(),this.onContainerDestroy()),this.destroyStyle()}static \u0275fac=function(Ie){return new(Ie||ee)(V.rXU(e.qQ),V.rXU(V.Agw),V.rXU(V.aKT),V.rXU(V.sFG),V.rXU(V.SKi),V.rXU(V.gRc),V.rXU(Le.r1))};static \u0275cmp=V.VBU({type:ee,selectors:[["p-dialog"]],contentQueries:function(Ie,we,Ee){if(1&Ie&&(V.wni(Ee,Le.Y9,5),V.wni(Ee,Le.wi,5),V.wni(Ee,Le.Ei,4)),2&Ie){let Me;V.mGM(Me=V.lsd())&&(we.headerFacet=Me.first),V.mGM(Me=V.lsd())&&(we.footerFacet=Me.first),V.mGM(Me=V.lsd())&&(we.templates=Me)}},viewQuery:function(Ie,we){if(1&Ie&&(V.GBs(E,5),V.GBs(j,5),V.GBs(F,5)),2&Ie){let Ee;V.mGM(Ee=V.lsd())&&(we.headerViewChild=Ee.first),V.mGM(Ee=V.lsd())&&(we.contentViewChild=Ee.first),V.mGM(Ee=V.lsd())&&(we.footerViewChild=Ee.first)}},hostAttrs:[1,"p-element"],inputs:{header:"header",draggable:"draggable",resizable:"resizable",positionLeft:"positionLeft",positionTop:"positionTop",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",modal:"modal",closeOnEscape:"closeOnEscape",dismissableMask:"dismissableMask",rtl:"rtl",closable:"closable",responsive:"responsive",appendTo:"appendTo",breakpoints:"breakpoints",styleClass:"styleClass",maskStyleClass:"maskStyleClass",maskStyle:"maskStyle",showHeader:"showHeader",breakpoint:"breakpoint",blockScroll:"blockScroll",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",minX:"minX",minY:"minY",focusOnShow:"focusOnShow",maximizable:"maximizable",keepInViewport:"keepInViewport",focusTrap:"focusTrap",transitionOptions:"transitionOptions",closeIcon:"closeIcon",closeAriaLabel:"closeAriaLabel",closeTabindex:"closeTabindex",minimizeIcon:"minimizeIcon",maximizeIcon:"maximizeIcon",visible:"visible",style:"style",position:"position"},outputs:{onShow:"onShow",onHide:"onHide",visibleChange:"visibleChange",onResizeInit:"onResizeInit",onResizeEnd:"onResizeEnd",onDragEnd:"onDragEnd",onMaximize:"onMaximize"},ngContentSelectors:D,decls:1,vars:1,consts:[["container",""],["notHeadless",""],["content",""],["titlebar",""],["footer",""],[3,"class","style","ngClass","focus",4,"ngIf"],[3,"focus","ngClass"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","class","pFocusTrapDisabled",4,"ngIf"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","pFocusTrapDisabled"],[4,"ngIf","ngIfElse"],[4,"ngTemplateOutlet"],["class","p-resizable-handle","style","z-index: 90;",3,"mousedown",4,"ngIf"],["class","p-dialog-header",3,"mousedown",4,"ngIf"],[3,"ngClass","ngStyle"],["class","p-dialog-footer",4,"ngIf"],[1,"p-resizable-handle",2,"z-index","90",3,"mousedown"],[1,"p-dialog-header",3,"mousedown"],["class","p-dialog-title",3,"id",4,"ngIf"],[1,"p-dialog-header-icons"],["role","button","type","button","pRipple","","pButton","",3,"ngClass","click","keydown.enter",4,"ngIf"],["type","button","pRipple","","pButton","",3,"ngClass","click","keydown.enter",4,"ngIf"],[1,"p-dialog-title",3,"id"],["role","button","type","button","pRipple","","pButton","",3,"click","keydown.enter","ngClass"],["class","p-dialog-header-maximize-icon",3,"ngClass",4,"ngIf"],[4,"ngIf"],[1,"p-dialog-header-maximize-icon",3,"ngClass"],[3,"styleClass",4,"ngIf"],[3,"styleClass"],["type","button","pRipple","","pButton","",3,"click","keydown.enter","ngClass"],["class","p-dialog-header-close-icon",3,"ngClass",4,"ngIf"],[1,"p-dialog-header-close-icon",3,"ngClass"],[1,"p-dialog-footer"]],template:function(Ie,we){1&Ie&&(V.NAR(P),V.DNE(0,Te,2,17,"div",5)),2&Ie&&V.Y8G("ngIf",we.maskVisible)},dependencies:()=>[e.YU,e.bT,e.T3,e.B3,ne,X._f,te.n,ve.A,ue,J],styles:["@layer primeng{.p-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.p-dialog-mask.p-component-overlay{pointer-events:auto}.p-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative}.p-dialog-content{overflow-y:auto;flex-grow:1}.p-dialog-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.p-dialog-draggable .p-dialog-header{cursor:move}.p-dialog-footer{flex-shrink:0}.p-dialog .p-dialog-header-icons{display:flex;align-items:center}.p-dialog .p-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-fluid .p-dialog-footer .p-button{width:auto}.p-dialog-top .p-dialog,.p-dialog-bottom .p-dialog,.p-dialog-left .p-dialog,.p-dialog-right .p-dialog,.p-dialog-top-left .p-dialog,.p-dialog-top-right .p-dialog,.p-dialog-bottom-left .p-dialog,.p-dialog-bottom-right .p-dialog{margin:.75rem;transform:translateZ(0)}.p-dialog-maximized{-webkit-transition:none;transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.p-dialog-maximized .p-dialog-content{flex-grow:1}.p-dialog-left{justify-content:flex-start}.p-dialog-right{justify-content:flex-end}.p-dialog-top{align-items:flex-start}.p-dialog-top-left{justify-content:flex-start;align-items:flex-start}.p-dialog-top-right{justify-content:flex-end;align-items:flex-start}.p-dialog-bottom{align-items:flex-end}.p-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.p-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.p-dialog .p-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.p-confirm-dialog .p-dialog-content{display:flex;align-items:center}}\n"],encapsulation:2,data:{animation:[(0,M.hZ)("animation",[(0,M.kY)("void => visible",[(0,M.sM)(Oe)]),(0,M.kY)("visible => void",[(0,M.sM)(De)])])]},changeDetection:0})}return ee})(),oe=(()=>{class ee{static \u0275fac=function(Ie){return new(Ie||ee)};static \u0275mod=V.$C({type:ee});static \u0275inj=V.G2t({imports:[e.MD,re,X.tm,te.Z,ve.A,ue,J,Le.Gg]})}return ee})()},81455:(ri,Bt,We)=>{"use strict";We.d(Bt,{D:()=>M,b:()=>e});let M=(()=>{class V{static zindex=1e3;static calculatedScrollbarWidth=null;static calculatedScrollbarHeight=null;static browser;static addClass(q,ne){q&&ne&&(q.classList?q.classList.add(ne):q.className+=" "+ne)}static addMultipleClasses(q,ne){if(q&&ne)if(q.classList){let re=ne.trim().split(" ");for(let ve=0;vere.split(" ").forEach(ve=>this.removeClass(q,ve)))}static hasClass(q,ne){return!(!q||!ne)&&(q.classList?q.classList.contains(ne):new RegExp("(^| )"+ne+"( |$)","gi").test(q.className))}static siblings(q){return Array.prototype.filter.call(q.parentNode.children,function(ne){return ne!==q})}static find(q,ne){return Array.from(q.querySelectorAll(ne))}static findSingle(q,ne){return this.isElement(q)?q.querySelector(ne):null}static index(q){let ne=q.parentNode.childNodes,re=0;for(var ve=0;ve{if(A)return"relative"===getComputedStyle(A).getPropertyValue("position")?A:re(A.parentElement)},ve=q.offsetParent?{width:q.offsetWidth,height:q.offsetHeight}:this.getHiddenElementDimensions(q),le=ne.offsetHeight,pe=ne.getBoundingClientRect(),ue=this.getWindowScrollTop(),J=this.getWindowScrollLeft(),te=this.getViewport(),E=re(q)?.getBoundingClientRect()||{top:-1*ue,left:-1*J};let j,F;pe.top+le+ve.height>te.height?(j=pe.top-E.top-ve.height,q.style.transformOrigin="bottom",pe.top+j<0&&(j=-1*pe.top)):(j=le+pe.top-E.top,q.style.transformOrigin="top");const P=pe.left+ve.width-te.width;F=ve.width>te.width?-1*(pe.left-E.left):P>0?pe.left-E.left-P:pe.left-E.left,q.style.top=j+"px",q.style.left=F+"px"}static absolutePosition(q,ne){const re=q.offsetParent?{width:q.offsetWidth,height:q.offsetHeight}:this.getHiddenElementDimensions(q),ve=re.height,le=re.width,pe=ne.offsetHeight,ue=ne.offsetWidth,J=ne.getBoundingClientRect(),te=this.getWindowScrollTop(),X=this.getWindowScrollLeft(),E=this.getViewport();let j,F;J.top+pe+ve>E.height?(j=J.top+te-ve,q.style.transformOrigin="bottom",j<0&&(j=te)):(j=pe+J.top+te,q.style.transformOrigin="top"),F=J.left+le>E.width?Math.max(0,J.left+X+ue-le):J.left+X,q.style.top=j+"px",q.style.left=F+"px"}static getParents(q,ne=[]){return null===q.parentNode?ne:this.getParents(q.parentNode,ne.concat([q.parentNode]))}static getScrollableParents(q){let ne=[];if(q){let re=this.getParents(q);const ve=/(auto|scroll)/,le=pe=>{let ue=window.getComputedStyle(pe,null);return ve.test(ue.getPropertyValue("overflow"))||ve.test(ue.getPropertyValue("overflowX"))||ve.test(ue.getPropertyValue("overflowY"))};for(let pe of re){let ue=1===pe.nodeType&&pe.dataset.scrollselectors;if(ue){let J=ue.split(",");for(let te of J){let X=this.findSingle(pe,te);X&&le(X)&&ne.push(X)}}9!==pe.nodeType&&le(pe)&&ne.push(pe)}}return ne}static getHiddenElementOuterHeight(q){q.style.visibility="hidden",q.style.display="block";let ne=q.offsetHeight;return q.style.display="none",q.style.visibility="visible",ne}static getHiddenElementOuterWidth(q){q.style.visibility="hidden",q.style.display="block";let ne=q.offsetWidth;return q.style.display="none",q.style.visibility="visible",ne}static getHiddenElementDimensions(q){let ne={};return q.style.visibility="hidden",q.style.display="block",ne.width=q.offsetWidth,ne.height=q.offsetHeight,q.style.display="none",q.style.visibility="visible",ne}static scrollInView(q,ne){let re=getComputedStyle(q).getPropertyValue("borderTopWidth"),ve=re?parseFloat(re):0,le=getComputedStyle(q).getPropertyValue("paddingTop"),pe=le?parseFloat(le):0,ue=q.getBoundingClientRect(),te=ne.getBoundingClientRect().top+document.body.scrollTop-(ue.top+document.body.scrollTop)-ve-pe,X=q.scrollTop,E=q.clientHeight,j=this.getOuterHeight(ne);te<0?q.scrollTop=X+te:te+j>E&&(q.scrollTop=X+te-E+j)}static fadeIn(q,ne){q.style.opacity=0;let re=+new Date,ve=0,le=function(){ve=+q.style.opacity.replace(",",".")+((new Date).getTime()-re)/ne,q.style.opacity=ve,re=+new Date,+ve<1&&(window.requestAnimationFrame&&requestAnimationFrame(le)||setTimeout(le,16))};le()}static fadeOut(q,ne){var re=1,pe=50/ne;let ue=setInterval(()=>{(re-=pe)<=0&&(re=0,clearInterval(ue)),q.style.opacity=re},50)}static getWindowScrollTop(){let q=document.documentElement;return(window.pageYOffset||q.scrollTop)-(q.clientTop||0)}static getWindowScrollLeft(){let q=document.documentElement;return(window.pageXOffset||q.scrollLeft)-(q.clientLeft||0)}static matches(q,ne){var re=Element.prototype;return(re.matches||re.webkitMatchesSelector||re.mozMatchesSelector||re.msMatchesSelector||function(le){return-1!==[].indexOf.call(document.querySelectorAll(le),this)}).call(q,ne)}static getOuterWidth(q,ne){let re=q.offsetWidth;if(ne){let ve=getComputedStyle(q);re+=parseFloat(ve.marginLeft)+parseFloat(ve.marginRight)}return re}static getHorizontalPadding(q){let ne=getComputedStyle(q);return parseFloat(ne.paddingLeft)+parseFloat(ne.paddingRight)}static getHorizontalMargin(q){let ne=getComputedStyle(q);return parseFloat(ne.marginLeft)+parseFloat(ne.marginRight)}static innerWidth(q){let ne=q.offsetWidth,re=getComputedStyle(q);return ne+=parseFloat(re.paddingLeft)+parseFloat(re.paddingRight),ne}static width(q){let ne=q.offsetWidth,re=getComputedStyle(q);return ne-=parseFloat(re.paddingLeft)+parseFloat(re.paddingRight),ne}static getInnerHeight(q){let ne=q.offsetHeight,re=getComputedStyle(q);return ne+=parseFloat(re.paddingTop)+parseFloat(re.paddingBottom),ne}static getOuterHeight(q,ne){let re=q.offsetHeight;if(ne){let ve=getComputedStyle(q);re+=parseFloat(ve.marginTop)+parseFloat(ve.marginBottom)}return re}static getHeight(q){let ne=q.offsetHeight,re=getComputedStyle(q);return ne-=parseFloat(re.paddingTop)+parseFloat(re.paddingBottom)+parseFloat(re.borderTopWidth)+parseFloat(re.borderBottomWidth),ne}static getWidth(q){let ne=q.offsetWidth,re=getComputedStyle(q);return ne-=parseFloat(re.paddingLeft)+parseFloat(re.paddingRight)+parseFloat(re.borderLeftWidth)+parseFloat(re.borderRightWidth),ne}static getViewport(){let q=window,ne=document,re=ne.documentElement,ve=ne.getElementsByTagName("body")[0];return{width:q.innerWidth||re.clientWidth||ve.clientWidth,height:q.innerHeight||re.clientHeight||ve.clientHeight}}static getOffset(q){var ne=q.getBoundingClientRect();return{top:ne.top+(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0),left:ne.left+(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0)}}static replaceElementWith(q,ne){let re=q.parentNode;if(!re)throw"Can't replace element";return re.replaceChild(ne,q)}static getUserAgent(){if(navigator&&this.isClient())return navigator.userAgent}static isIE(){var q=window.navigator.userAgent;return q.indexOf("MSIE ")>0||(q.indexOf("Trident/")>0?(q.indexOf("rv:"),!0):q.indexOf("Edge/")>0)}static isIOS(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream}static isAndroid(){return/(android)/i.test(navigator.userAgent)}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}static appendChild(q,ne){if(this.isElement(ne))ne.appendChild(q);else{if(!(ne&&ne.el&&ne.el.nativeElement))throw"Cannot append "+ne+" to "+q;ne.el.nativeElement.appendChild(q)}}static removeChild(q,ne){if(this.isElement(ne))ne.removeChild(q);else{if(!ne.el||!ne.el.nativeElement)throw"Cannot remove "+q+" from "+ne;ne.el.nativeElement.removeChild(q)}}static removeElement(q){"remove"in Element.prototype?q.remove():q.parentNode.removeChild(q)}static isElement(q){return"object"==typeof HTMLElement?q instanceof HTMLElement:q&&"object"==typeof q&&null!==q&&1===q.nodeType&&"string"==typeof q.nodeName}static calculateScrollbarWidth(q){if(q){let ne=getComputedStyle(q);return q.offsetWidth-q.clientWidth-parseFloat(ne.borderLeftWidth)-parseFloat(ne.borderRightWidth)}{if(null!==this.calculatedScrollbarWidth)return this.calculatedScrollbarWidth;let ne=document.createElement("div");ne.className="p-scrollbar-measure",document.body.appendChild(ne);let re=ne.offsetWidth-ne.clientWidth;return document.body.removeChild(ne),this.calculatedScrollbarWidth=re,re}}static calculateScrollbarHeight(){if(null!==this.calculatedScrollbarHeight)return this.calculatedScrollbarHeight;let q=document.createElement("div");q.className="p-scrollbar-measure",document.body.appendChild(q);let ne=q.offsetHeight-q.clientHeight;return document.body.removeChild(q),this.calculatedScrollbarWidth=ne,ne}static invokeElementMethod(q,ne,re){q[ne].apply(q,re)}static clearSelection(){if(window.getSelection)window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().rangeCount>0&&window.getSelection().getRangeAt(0).getClientRects().length>0&&window.getSelection().removeAllRanges();else if(document.selection&&document.selection.empty)try{document.selection.empty()}catch{}}static getBrowser(){if(!this.browser){let q=this.resolveUserAgent();this.browser={},q.browser&&(this.browser[q.browser]=!0,this.browser.version=q.version),this.browser.chrome?this.browser.webkit=!0:this.browser.webkit&&(this.browser.safari=!0)}return this.browser}static resolveUserAgent(){let q=navigator.userAgent.toLowerCase(),ne=/(chrome)[ \/]([\w.]+)/.exec(q)||/(webkit)[ \/]([\w.]+)/.exec(q)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(q)||/(msie) ([\w.]+)/.exec(q)||q.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(q)||[];return{browser:ne[1]||"",version:ne[2]||"0"}}static isInteger(q){return Number.isInteger?Number.isInteger(q):"number"==typeof q&&isFinite(q)&&Math.floor(q)===q}static isHidden(q){return!q||null===q.offsetParent}static isVisible(q){return q&&null!=q.offsetParent}static isExist(q){return null!==q&&typeof q<"u"&&q.nodeName&&q.parentNode}static focus(q,ne){q&&document.activeElement!==q&&q.focus(ne)}static getFocusableElements(q,ne=""){let re=this.find(q,`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne}`),ve=[];for(let le of re){const pe=getComputedStyle(le);this.isVisible(le)&&"none"!=pe.display&&"hidden"!=pe.visibility&&ve.push(le)}return ve}static getFirstFocusableElement(q,ne){const re=this.getFocusableElements(q,ne);return re.length>0?re[0]:null}static getLastFocusableElement(q,ne){const re=this.getFocusableElements(q,ne);return re.length>0?re[re.length-1]:null}static getNextFocusableElement(q,ne=!1){const re=V.getFocusableElements(q);let ve=0;if(re&&re.length>0){const le=re.indexOf(re[0].ownerDocument.activeElement);ne?ve=-1==le||0===le?re.length-1:le-1:-1!=le&&le!==re.length-1&&(ve=le+1)}return re[ve]}static generateZIndex(){return this.zindex=this.zindex||999,++this.zindex}static getSelection(){return window.getSelection?window.getSelection().toString():document.getSelection?document.getSelection().toString():document.selection?document.selection.createRange().text:null}static getTargetElement(q,ne){if(!q)return null;switch(q){case"document":return document;case"window":return window;case"@next":return ne?.nextElementSibling;case"@prev":return ne?.previousElementSibling;case"@parent":return ne?.parentElement;case"@grandparent":return ne?.parentElement.parentElement;default:const re=typeof q;if("string"===re)return document.querySelector(q);if("object"===re&&q.hasOwnProperty("nativeElement"))return this.isExist(q.nativeElement)?q.nativeElement:void 0;const le=(pe=q)&&pe.constructor&&pe.call&&pe.apply?q():q;return le&&9===le.nodeType||this.isExist(le)?le:null}var pe}static isClient(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}static getAttribute(q,ne){if(q){const re=q.getAttribute(ne);return isNaN(re)?"true"===re||"false"===re?"true"===re:re:+re}}static calculateBodyScrollbarWidth(){return window.innerWidth-document.documentElement.offsetWidth}static blockBodyScroll(q="p-overflow-hidden"){document.body.style.setProperty("--scrollbar-width",this.calculateBodyScrollbarWidth()+"px"),this.addClass(document.body,q)}static unblockBodyScroll(q="p-overflow-hidden"){document.body.style.removeProperty("--scrollbar-width"),this.removeClass(document.body,q)}}return V})();class e{element;listener;scrollableParents;constructor(Le,q=(()=>{})){this.element=Le,this.listener=q}bindScrollListener(){this.scrollableParents=M.getScrollableParents(this.element);for(let Le=0;Le{"use strict";We.d(Bt,{N:()=>Le});var M=We(54438),e=We(461),V=We(54420);let Le=(()=>{class q extends e.h{pathId;ngOnInit(){this.pathId="url(#"+(0,V._Y)()+")"}static \u0275fac=(()=>{let re;return function(le){return(re||(re=M.xGo(q)))(le||q)}})();static \u0275cmp=M.VBU({type:q,selectors:[["SpinnerIcon"]],standalone:!0,features:[M.Vt3,M.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ve,le){1&ve&&(M.qSk(),M.j41(0,"svg",0)(1,"g"),M.nrm(2,"path",1),M.k0s(),M.j41(3,"defs")(4,"clipPath",2),M.nrm(5,"rect",3),M.k0s()()()),2&ve&&(M.HbH(le.getClassNames()),M.BMQ("aria-label",le.ariaLabel)("aria-hidden",le.ariaHidden)("role",le.role),M.R7$(),M.BMQ("clip-path",le.pathId),M.R7$(3),M.Y8G("id",le.pathId))},encapsulation:2})}return q})()},1512:(ri,Bt,We)=>{"use strict";We.d(Bt,{A:()=>V});var M=We(54438),e=We(461);let V=(()=>{class Le extends e.h{static \u0275fac=(()=>{let ne;return function(ve){return(ne||(ne=M.xGo(Le)))(ve||Le)}})();static \u0275cmp=M.VBU({type:Le,selectors:[["TimesIcon"]],standalone:!0,features:[M.Vt3,M.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z","fill","currentColor"]],template:function(re,ve){1&re&&(M.qSk(),M.j41(0,"svg",0),M.nrm(1,"path",1),M.k0s()),2&re&&(M.HbH(ve.getClassNames()),M.BMQ("aria-label",ve.ariaLabel)("aria-hidden",ve.ariaHidden)("role",ve.role))},encapsulation:2})}return Le})()},22242:(ri,Bt,We)=>{"use strict";We.d(Bt,{S:()=>Le,u:()=>q});var M=We(54438),e=We(60177),V=We(89417);let Le=(()=>{class ne{el;ngModel;cd;filled;constructor(ve,le,pe){this.el=ve,this.ngModel=le,this.cd=pe}ngAfterViewInit(){this.updateFilledState(),this.cd.detectChanges()}ngDoCheck(){this.updateFilledState()}onInput(){this.updateFilledState()}updateFilledState(){this.filled=this.el.nativeElement.value&&this.el.nativeElement.value.length||this.ngModel&&this.ngModel.model}static \u0275fac=function(le){return new(le||ne)(M.rXU(M.aKT),M.rXU(V.vS,8),M.rXU(M.gRc))};static \u0275dir=M.FsC({type:ne,selectors:[["","pInputText",""]],hostAttrs:[1,"p-inputtext","p-component","p-element"],hostVars:2,hostBindings:function(le,pe){1&le&&M.bIt("input",function(J){return pe.onInput(J)}),2&le&&M.AVh("p-filled",pe.filled)}})}return ne})(),q=(()=>{class ne{static \u0275fac=function(le){return new(le||ne)};static \u0275mod=M.$C({type:ne});static \u0275inj=M.G2t({imports:[e.MD]})}return ne})()},10563:(ri,Bt,We)=>{"use strict";We.d(Bt,{Z:()=>ne,n:()=>q});var M=We(60177),e=We(54438),V=We(81455),Le=We(5779);let q=(()=>{class re{document;platformId;renderer;el;zone;config;constructor(le,pe,ue,J,te,X){this.document=le,this.platformId=pe,this.renderer=ue,this.el=J,this.zone=te,this.config=X}animationListener;mouseDownListener;timeout;ngAfterViewInit(){(0,M.UE)(this.platformId)&&this.config&&this.config.ripple&&this.zone.runOutsideAngular(()=>{this.create(),this.mouseDownListener=this.renderer.listen(this.el.nativeElement,"mousedown",this.onMouseDown.bind(this))})}onMouseDown(le){let pe=this.getInk();if(!pe||"none"===this.document.defaultView?.getComputedStyle(pe,null).display)return;if(V.D.removeClass(pe,"p-ink-active"),!V.D.getHeight(pe)&&!V.D.getWidth(pe)){let X=Math.max(V.D.getOuterWidth(this.el.nativeElement),V.D.getOuterHeight(this.el.nativeElement));pe.style.height=X+"px",pe.style.width=X+"px"}let ue=V.D.getOffset(this.el.nativeElement),J=le.pageX-ue.left+this.document.body.scrollTop-V.D.getWidth(pe)/2,te=le.pageY-ue.top+this.document.body.scrollLeft-V.D.getHeight(pe)/2;this.renderer.setStyle(pe,"top",te+"px"),this.renderer.setStyle(pe,"left",J+"px"),V.D.addClass(pe,"p-ink-active"),this.timeout=setTimeout(()=>{let X=this.getInk();X&&V.D.removeClass(X,"p-ink-active")},401)}getInk(){const le=this.el.nativeElement.children;for(let pe=0;pe{class re{static \u0275fac=function(pe){return new(pe||re)};static \u0275mod=e.$C({type:re});static \u0275inj=e.G2t({imports:[M.MD]})}return re})()},46247:(ri,Bt,We)=>{"use strict";We.d(Bt,{c5:()=>ts,hp:()=>kn,FP:()=>Ai,yc:()=>ei,Tg:()=>Ut,XI:()=>Ne,bG:()=>Vr});var M=We(60177),e=We(54438),V=We(89417),Le=We(5779),q=We(81141),ne=We(49969),re=We(81455),ve=We(10563),le=We(54420),pe=We(461);let ue=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ChevronLeftIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M9.61296 13C9.50997 13.0005 9.40792 12.9804 9.3128 12.9409C9.21767 12.9014 9.13139 12.8433 9.05902 12.7701L3.83313 7.54416C3.68634 7.39718 3.60388 7.19795 3.60388 6.99022C3.60388 6.78249 3.68634 6.58325 3.83313 6.43628L9.05902 1.21039C9.20762 1.07192 9.40416 0.996539 9.60724 1.00012C9.81032 1.00371 10.0041 1.08597 10.1477 1.22959C10.2913 1.37322 10.3736 1.56698 10.3772 1.77005C10.3808 1.97313 10.3054 2.16968 10.1669 2.31827L5.49496 6.99022L10.1669 11.6622C10.3137 11.8091 10.3962 12.0084 10.3962 12.2161C10.3962 12.4238 10.3137 12.6231 10.1669 12.7701C10.0945 12.8433 10.0083 12.9014 9.91313 12.9409C9.81801 12.9804 9.71596 13.0005 9.61296 13Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),J=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ChevronRightIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),te=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ChevronUpIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M12.2097 10.4113C12.1057 10.4118 12.0027 10.3915 11.9067 10.3516C11.8107 10.3118 11.7237 10.2532 11.6506 10.1792L6.93602 5.46461L2.22139 10.1476C2.07272 10.244 1.89599 10.2877 1.71953 10.2717C1.54307 10.2556 1.3771 10.1808 1.24822 10.0593C1.11933 9.93766 1.035 9.77633 1.00874 9.6011C0.982477 9.42587 1.0158 9.2469 1.10338 9.09287L6.37701 3.81923C6.52533 3.6711 6.72639 3.58789 6.93602 3.58789C7.14565 3.58789 7.3467 3.6711 7.49502 3.81923L12.7687 9.09287C12.9168 9.24119 13 9.44225 13 9.65187C13 9.8615 12.9168 10.0626 12.7687 10.2109C12.616 10.3487 12.4151 10.4207 12.2097 10.4113Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),X=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ChevronDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})();var E=We(1512);let j=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["CalendarIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M10.7838 1.51351H9.83783V0.567568C9.83783 0.417039 9.77804 0.272676 9.6716 0.166237C9.56516 0.0597971 9.42079 0 9.27027 0C9.11974 0 8.97538 0.0597971 8.86894 0.166237C8.7625 0.272676 8.7027 0.417039 8.7027 0.567568V1.51351H5.29729V0.567568C5.29729 0.417039 5.2375 0.272676 5.13106 0.166237C5.02462 0.0597971 4.88025 0 4.72973 0C4.5792 0 4.43484 0.0597971 4.3284 0.166237C4.22196 0.272676 4.16216 0.417039 4.16216 0.567568V1.51351H3.21621C2.66428 1.51351 2.13494 1.73277 1.74467 2.12305C1.35439 2.51333 1.13513 3.04266 1.13513 3.59459V11.9189C1.13513 12.4709 1.35439 13.0002 1.74467 13.3905C2.13494 13.7807 2.66428 14 3.21621 14H10.7838C11.3357 14 11.865 13.7807 12.2553 13.3905C12.6456 13.0002 12.8649 12.4709 12.8649 11.9189V3.59459C12.8649 3.04266 12.6456 2.51333 12.2553 2.12305C11.865 1.73277 11.3357 1.51351 10.7838 1.51351ZM3.21621 2.64865H4.16216V3.59459C4.16216 3.74512 4.22196 3.88949 4.3284 3.99593C4.43484 4.10237 4.5792 4.16216 4.72973 4.16216C4.88025 4.16216 5.02462 4.10237 5.13106 3.99593C5.2375 3.88949 5.29729 3.74512 5.29729 3.59459V2.64865H8.7027V3.59459C8.7027 3.74512 8.7625 3.88949 8.86894 3.99593C8.97538 4.10237 9.11974 4.16216 9.27027 4.16216C9.42079 4.16216 9.56516 4.10237 9.6716 3.99593C9.77804 3.88949 9.83783 3.74512 9.83783 3.59459V2.64865H10.7838C11.0347 2.64865 11.2753 2.74831 11.4527 2.92571C11.6301 3.10311 11.7297 3.34371 11.7297 3.59459V5.67568H2.27027V3.59459C2.27027 3.34371 2.36993 3.10311 2.54733 2.92571C2.72473 2.74831 2.96533 2.64865 3.21621 2.64865ZM10.7838 12.8649H3.21621C2.96533 12.8649 2.72473 12.7652 2.54733 12.5878C2.36993 12.4104 2.27027 12.1698 2.27027 11.9189V6.81081H11.7297V11.9189C11.7297 12.1698 11.6301 12.4104 11.4527 12.5878C11.2753 12.7652 11.0347 12.8649 10.7838 12.8649Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})();const F=["container"],P=["inputfield"],D=["contentWrapper"],A=[[["p-header"]],[["p-footer"]]],I=["p-header","p-footer"],_=(ye,et,u,ie,de)=>({"p-calendar":!0,"p-input-icon-right":ye,"p-calendar-w-btn":et,"p-calendar-timeonly":u,"p-calendar-disabled":ie,"p-focus":de}),m=ye=>({clickCallBack:ye}),w=ye=>({"p-datepicker-icon":ye}),G=(ye,et,u,ie,de,Ae)=>({"p-datepicker p-component":!0,"p-datepicker-inline":ye,"p-disabled":et,"p-datepicker-timeonly":u,"p-datepicker-multiple-month":ie,"p-datepicker-monthpicker":de,"p-datepicker-touch-ui":Ae}),O=(ye,et)=>({showTransitionParams:ye,hideTransitionParams:et}),f=ye=>({value:"visibleTouchUI",params:ye}),a=ye=>({value:"visible",params:ye}),g=ye=>({$implicit:ye}),v=(ye,et)=>({"p-datepicker-other-month":ye,"p-datepicker-today":et}),o=(ye,et)=>({"p-highlight":ye,"p-disabled":et}),n=ye=>[ye];function r(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"TimesIcon",11),e.bIt("click",function(){e.eBV(u);const de=e.XpG(3);return e.Njj(de.clear())}),e.k0s()}2&ye&&e.Y8G("styleClass","p-calendar-clear-icon")}function l(ye,et){}function d(ye,et){1&ye&&e.DNE(0,l,0,0,"ng-template")}function C(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",12),e.bIt("click",function(){e.eBV(u);const de=e.XpG(3);return e.Njj(de.clear())}),e.DNE(1,d,1,0,null,13),e.k0s()}if(2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.clearIconTemplate)}}function k(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,r,1,1,"TimesIcon",9)(2,C,2,1,"span",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.clearIconTemplate),e.R7$(),e.Y8G("ngIf",u.clearIconTemplate)}}function p(ye,et){if(1&ye&&e.nrm(0,"span",16),2&ye){const u=e.XpG(3);e.Y8G("ngClass",u.icon)}}function T(ye,et){1&ye&&e.nrm(0,"CalendarIcon")}function B(ye,et){}function z(ye,et){1&ye&&e.DNE(0,B,0,0,"ng-template")}function K(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,T,1,0,"CalendarIcon",7)(2,z,1,0,null,13),e.bVm()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngIf",!u.triggerIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.triggerIconTemplate)}}function U(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",14),e.bIt("click",function(de){e.eBV(u),e.XpG();const Ae=e.sdS(1),nt=e.XpG();return e.Njj(nt.onButtonClick(de,Ae))}),e.DNE(1,p,1,1,"span",15)(2,K,3,2,"ng-container",7),e.k0s()}if(2&ye){let u;const ie=e.XpG(2);e.Y8G("disabled",ie.disabled),e.BMQ("aria-label",ie.iconButtonAriaLabel)("aria-expanded",null!==(u=ie.overlayVisible)&&void 0!==u&&u)("aria-controls",ie.overlayVisible?ie.panelId:null),e.R7$(),e.Y8G("ngIf",ie.icon),e.R7$(),e.Y8G("ngIf",!ie.icon)}}function se(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"CalendarIcon",19),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onButtonClick(de))}),e.k0s()}if(2&ye){const u=e.XpG(3);e.Y8G("ngClass",e.eq3(1,w,u.showOnFocus))}}function S(ye,et){1&ye&&e.eu8(0)}function $(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,se,1,3,"CalendarIcon",17)(2,S,1,0,"ng-container",18),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.inputIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.inputIconTemplate)("ngTemplateOutletContext",e.eq3(3,m,u.onButtonClick.bind(u)))}}function H(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"input",6,1),e.bIt("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputFocus(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputKeydown(de))})("click",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onInputClick())})("blur",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputBlur(de))})("input",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUserInput(de))}),e.k0s(),e.DNE(2,k,3,2,"ng-container",7)(3,U,3,6,"button",8)(4,$,3,5,"ng-container",7)}if(2&ye){let u;const ie=e.XpG();e.HbH(ie.inputStyleClass),e.Y8G("value",ie.inputFieldValue)("readonly",ie.readonlyInput)("ngStyle",ie.inputStyle)("placeholder",ie.placeholder||"")("disabled",ie.disabled)("ngClass","p-inputtext p-component"),e.BMQ("id",ie.inputId)("name",ie.name)("required",ie.required)("aria-required",ie.required)("aria-expanded",null!==(u=ie.overlayVisible)&&void 0!==u&&u)("aria-controls",ie.overlayVisible?ie.panelId:null)("aria-labelledby",ie.ariaLabelledBy)("aria-label",ie.ariaLabel)("tabindex",ie.tabindex)("inputmode",ie.touchUI?"off":null),e.R7$(2),e.Y8G("ngIf",ie.showClear&&!ie.disabled&&null!=ie.value),e.R7$(),e.Y8G("ngIf",ie.showIcon&&"button"===ie.iconDisplay),e.R7$(),e.Y8G("ngIf","input"===ie.iconDisplay&&ie.showIcon)}}function x(ye,et){1&ye&&e.eu8(0)}function N(ye,et){1&ye&&e.nrm(0,"ChevronLeftIcon",40),2&ye&&e.Y8G("styleClass","p-datepicker-prev-icon")}function R(ye,et){}function Z(ye,et){1&ye&&e.DNE(0,R,0,0,"ng-template")}function Y(ye,et){if(1&ye&&(e.j41(0,"span",41),e.DNE(1,Z,1,0,null,13),e.k0s()),2&ye){const u=e.XpG(5);e.R7$(),e.Y8G("ngTemplateOutlet",u.previousIconTemplate)}}function he(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",38),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.onPrevButtonClick(de))}),e.DNE(1,N,1,1,"ChevronLeftIcon",35)(2,Y,2,1,"span",39),e.k0s()}if(2&ye){const u=e.XpG(4);e.BMQ("aria-label",u.prevIconAriaLabel),e.R7$(),e.Y8G("ngIf",!u.previousIconTemplate),e.R7$(),e.Y8G("ngIf",u.previousIconTemplate)}}function ge(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",42),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.switchToMonthView(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.onContainerButtonKeydown(de))}),e.EFF(1),e.k0s()}if(2&ye){const u=e.XpG().$implicit,ie=e.XpG(3);e.Y8G("disabled",ie.switchViewButtonDisabled()),e.BMQ("aria-label",ie.getTranslation("chooseMonth")),e.R7$(),e.SpI(" ",ie.getMonthName(u.month)," ")}}function _e(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",43),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.switchToYearView(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.onContainerButtonKeydown(de))}),e.EFF(1),e.k0s()}if(2&ye){const u=e.XpG().$implicit,ie=e.XpG(3);e.Y8G("disabled",ie.switchViewButtonDisabled()),e.BMQ("aria-label",ie.getTranslation("chooseYear")),e.R7$(),e.SpI(" ",ie.getYear(u)," ")}}function Te(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(5);e.R7$(),e.Lme("",u.yearPickerValues()[0]," - ",u.yearPickerValues()[u.yearPickerValues().length-1],"")}}function Oe(ye,et){1&ye&&e.eu8(0)}function De(ye,et){if(1&ye&&(e.j41(0,"span",44),e.DNE(1,Te,2,2,"ng-container",7)(2,Oe,1,0,"ng-container",18),e.k0s()),2&ye){const u=e.XpG(4);e.R7$(),e.Y8G("ngIf",!u.decadeTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decadeTemplate)("ngTemplateOutletContext",e.eq3(3,g,u.yearPickerValues))}}function Be(ye,et){1&ye&&e.nrm(0,"ChevronRightIcon",40),2&ye&&e.Y8G("styleClass","p-datepicker-next-icon")}function oe(ye,et){}function ee(ye,et){1&ye&&e.DNE(0,oe,0,0,"ng-template")}function be(ye,et){if(1&ye&&(e.j41(0,"span",45),e.DNE(1,ee,1,0,null,13),e.k0s()),2&ye){const u=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",u.nextIconTemplate)}}function xe(ye,et){if(1&ye&&(e.j41(0,"th",51)(1,"span"),e.EFF(2),e.k0s()()),2&ye){const u=e.XpG(5);e.R7$(2),e.JRh(u.getTranslation("weekHeader"))}}function Ie(ye,et){if(1&ye&&(e.j41(0,"th",52)(1,"span"),e.EFF(2),e.k0s()()),2&ye){const u=et.$implicit;e.R7$(2),e.JRh(u)}}function we(ye,et){if(1&ye&&(e.j41(0,"td",55)(1,"span",56),e.EFF(2),e.k0s()()),2&ye){const u=e.XpG().index,ie=e.XpG(2).$implicit;e.R7$(2),e.SpI(" ",ie.weekNumbers[u]," ")}}function Ee(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(2).$implicit;e.R7$(),e.JRh(u.day)}}function Me(ye,et){1&ye&&e.eu8(0)}function Xe(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Me,1,0,"ng-container",18),e.bVm()),2&ye){const u=e.XpG(2).$implicit,ie=e.XpG(6);e.R7$(),e.Y8G("ngTemplateOutlet",ie.dateTemplate)("ngTemplateOutletContext",e.eq3(2,g,u))}}function Je(ye,et){1&ye&&e.eu8(0)}function lt(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Je,1,0,"ng-container",18),e.bVm()),2&ye){const u=e.XpG(2).$implicit,ie=e.XpG(6);e.R7$(),e.Y8G("ngTemplateOutlet",ie.disabledDateTemplate)("ngTemplateOutletContext",e.eq3(2,g,u))}}function qe(ye,et){if(1&ye&&(e.j41(0,"div",59),e.EFF(1),e.k0s()),2&ye){const u=e.XpG(2).$implicit;e.R7$(),e.SpI(" ",u.day," ")}}function st(ye,et){if(1&ye){const u=e.RV6();e.qex(0),e.j41(1,"span",57),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG().$implicit,nt=e.XpG(6);return e.Njj(nt.onDateSelect(de,Ae))})("keydown",function(de){e.eBV(u);const Ae=e.XpG().$implicit,nt=e.XpG(3).index,kt=e.XpG(3);return e.Njj(kt.onDateCellKeydown(de,Ae,nt))}),e.DNE(2,Ee,2,1,"ng-container",7)(3,Xe,2,4,"ng-container",7)(4,lt,2,4,"ng-container",7),e.k0s(),e.DNE(5,qe,2,1,"div",58),e.bVm()}if(2&ye){const u=e.XpG().$implicit,ie=e.XpG(6);e.R7$(),e.Y8G("ngClass",e.l_i(5,o,ie.isSelected(u)&&u.selectable,!u.selectable)),e.R7$(),e.Y8G("ngIf",!ie.dateTemplate&&(u.selectable||!ie.disabledDateTemplate)),e.R7$(),e.Y8G("ngIf",u.selectable||!ie.disabledDateTemplate),e.R7$(),e.Y8G("ngIf",!u.selectable),e.R7$(),e.Y8G("ngIf",ie.isSelected(u))}}function Tt(ye,et){if(1&ye&&(e.j41(0,"td",16),e.DNE(1,st,6,8,"ng-container",7),e.k0s()),2&ye){const u=et.$implicit,ie=e.XpG(6);e.Y8G("ngClass",e.l_i(3,v,u.otherMonth,u.today)),e.BMQ("aria-label",u.day),e.R7$(),e.Y8G("ngIf",!u.otherMonth||ie.showOtherMonths)}}function pt(ye,et){if(1&ye&&(e.j41(0,"tr"),e.DNE(1,we,3,1,"td",53)(2,Tt,2,6,"td",54),e.k0s()),2&ye){const u=et.$implicit,ie=e.XpG(5);e.R7$(),e.Y8G("ngIf",ie.showWeek),e.R7$(),e.Y8G("ngForOf",u)}}function ht(ye,et){if(1&ye&&(e.j41(0,"div",46)(1,"table",47)(2,"thead")(3,"tr"),e.DNE(4,xe,3,1,"th",48)(5,Ie,3,1,"th",49),e.k0s()(),e.j41(6,"tbody"),e.DNE(7,pt,3,2,"tr",50),e.k0s()()()),2&ye){const u=e.XpG().$implicit,ie=e.XpG(3);e.R7$(4),e.Y8G("ngIf",ie.showWeek),e.R7$(),e.Y8G("ngForOf",ie.weekDays),e.R7$(2),e.Y8G("ngForOf",u.dates)}}function Pt(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",27)(1,"div",28),e.DNE(2,he,3,3,"button",29),e.j41(3,"div",30),e.DNE(4,ge,2,3,"button",31)(5,_e,2,3,"button",32)(6,De,3,5,"span",33),e.k0s(),e.j41(7,"button",34),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onNextButtonClick(de))}),e.DNE(8,Be,1,1,"ChevronRightIcon",35)(9,be,2,1,"span",36),e.k0s()(),e.DNE(10,ht,8,3,"div",37),e.k0s()}if(2&ye){const u=et.index,ie=e.XpG(3);e.R7$(2),e.Y8G("ngIf",0===u),e.R7$(2),e.Y8G("ngIf","date"===ie.currentView),e.R7$(),e.Y8G("ngIf","year"!==ie.currentView),e.R7$(),e.Y8G("ngIf","year"===ie.currentView),e.R7$(),e.xc7("display",1===ie.numberOfMonths||u===ie.numberOfMonths-1?"inline-flex":"none"),e.BMQ("aria-label",ie.nextIconAriaLabel),e.R7$(),e.Y8G("ngIf",!ie.nextIconTemplate),e.R7$(),e.Y8G("ngIf",ie.nextIconTemplate),e.R7$(),e.Y8G("ngIf","date"===ie.currentView)}}function Gt(ye,et){if(1&ye&&(e.j41(0,"div",59),e.EFF(1),e.k0s()),2&ye){const u=e.XpG().$implicit;e.R7$(),e.SpI(" ",u," ")}}function ti(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",62),e.bIt("click",function(de){const Ae=e.eBV(u).index,nt=e.XpG(4);return e.Njj(nt.onMonthSelect(de,Ae))})("keydown",function(de){const Ae=e.eBV(u).index,nt=e.XpG(4);return e.Njj(nt.onMonthCellKeydown(de,Ae))}),e.EFF(1),e.DNE(2,Gt,2,1,"div",58),e.k0s()}if(2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(4);e.Y8G("ngClass",e.l_i(3,o,de.isMonthSelected(ie),de.isMonthDisabled(ie))),e.R7$(),e.SpI(" ",u," "),e.R7$(),e.Y8G("ngIf",de.isMonthSelected(ie))}}function Dt(ye,et){if(1&ye&&(e.j41(0,"div",60),e.DNE(1,ti,3,6,"span",61),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngForOf",u.monthPickerValues())}}function It(ye,et){if(1&ye&&(e.j41(0,"div",59),e.EFF(1),e.k0s()),2&ye){const u=e.XpG().$implicit;e.R7$(),e.SpI(" ",u," ")}}function xt(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",65),e.bIt("click",function(de){const Ae=e.eBV(u).$implicit,nt=e.XpG(4);return e.Njj(nt.onYearSelect(de,Ae))})("keydown",function(de){const Ae=e.eBV(u).$implicit,nt=e.XpG(4);return e.Njj(nt.onYearCellKeydown(de,Ae))}),e.EFF(1),e.DNE(2,It,2,1,"div",58),e.k0s()}if(2&ye){const u=et.$implicit,ie=e.XpG(4);e.Y8G("ngClass",e.l_i(3,o,ie.isYearSelected(u),ie.isYearDisabled(u))),e.R7$(),e.SpI(" ",u," "),e.R7$(),e.Y8G("ngIf",ie.isYearSelected(u))}}function wt(ye,et){if(1&ye&&(e.j41(0,"div",63),e.DNE(1,xt,3,6,"span",64),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngForOf",u.yearPickerValues())}}function Qt(ye,et){if(1&ye&&(e.qex(0),e.j41(1,"div",23),e.DNE(2,Pt,11,10,"div",24),e.k0s(),e.DNE(3,Dt,2,1,"div",25)(4,wt,2,1,"div",26),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(2),e.Y8G("ngForOf",u.months),e.R7$(),e.Y8G("ngIf","month"===u.currentView),e.R7$(),e.Y8G("ngIf","year"===u.currentView)}}function di(ye,et){1&ye&&e.nrm(0,"ChevronUpIcon")}function Ni(ye,et){}function mi(ye,et){1&ye&&e.DNE(0,Ni,0,0,"ng-template")}function vi(ye,et){1&ye&&(e.qex(0),e.EFF(1,"0"),e.bVm())}function zi(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon")}function gs(ye,et){}function Fn(ye,et){1&ye&&e.DNE(0,gs,0,0,"ng-template")}function as(ye,et){1&ye&&e.nrm(0,"ChevronUpIcon")}function ms(ye,et){}function Ln(ye,et){1&ye&&e.DNE(0,ms,0,0,"ng-template")}function fn(ye,et){1&ye&&(e.qex(0),e.EFF(1,"0"),e.bVm())}function ki(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon")}function Cs(ye,et){}function Kn(ye,et){1&ye&&e.DNE(0,Cs,0,0,"ng-template")}function In(ye,et){if(1&ye&&(e.j41(0,"div",69)(1,"span"),e.EFF(2),e.k0s()()),2&ye){const u=e.XpG(3);e.R7$(2),e.JRh(u.timeSeparator)}}function Bs(ye,et){1&ye&&e.nrm(0,"ChevronUpIcon")}function qn(ye,et){}function Wi(ye,et){1&ye&&e.DNE(0,qn,0,0,"ng-template")}function js(ye,et){1&ye&&(e.qex(0),e.EFF(1,"0"),e.bVm())}function On(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon")}function ar(ye,et){}function To(ye,et){1&ye&&e.DNE(0,ar,0,0,"ng-template")}function Wr(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",74)(1,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.incrementSecond(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.incrementSecond(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseDown(de,2,1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(3);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(2,Bs,1,0,"ChevronUpIcon",7)(3,Wi,1,0,null,13),e.k0s(),e.j41(4,"span"),e.DNE(5,js,2,0,"ng-container",7),e.EFF(6),e.k0s(),e.j41(7,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.decrementSecond(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.decrementSecond(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseDown(de,2,-1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(3);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(8,On,1,0,"ChevronDownIcon",7)(9,To,1,0,null,13),e.k0s()()}if(2&ye){const u=e.XpG(3);e.R7$(),e.BMQ("aria-label",u.getTranslation("nextSecond")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.Y8G("ngIf",u.currentSecond<10),e.R7$(),e.JRh(u.currentSecond),e.R7$(),e.BMQ("aria-label",u.getTranslation("prevSecond")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate)}}function Cr(ye,et){1&ye&&e.nrm(0,"ChevronUpIcon")}function St(ye,et){}function Rt(ye,et){1&ye&&e.DNE(0,St,0,0,"ng-template")}function Nt(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon")}function mt(ye,et){}function _t(ye,et){1&ye&&e.DNE(0,mt,0,0,"ng-template")}function $e(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",75)(1,"button",76),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.toggleAMPM(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.toggleAMPM(de))}),e.DNE(2,Cr,1,0,"ChevronUpIcon",7)(3,Rt,1,0,null,13),e.k0s(),e.j41(4,"span"),e.EFF(5),e.k0s(),e.j41(6,"button",76),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.toggleAMPM(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.toggleAMPM(de))}),e.DNE(7,Nt,1,0,"ChevronDownIcon",7)(8,_t,1,0,null,13),e.k0s()()}if(2&ye){const u=e.XpG(3);e.R7$(),e.BMQ("aria-label",u.getTranslation("am")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.JRh(u.pm?"PM":"AM"),e.R7$(),e.BMQ("aria-label",u.getTranslation("pm")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate)}}function yt(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",66)(1,"div",67)(2,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.incrementHour(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.incrementHour(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseDown(de,0,1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(3,di,1,0,"ChevronUpIcon",7)(4,mi,1,0,null,13),e.k0s(),e.j41(5,"span"),e.DNE(6,vi,2,0,"ng-container",7),e.EFF(7),e.k0s(),e.j41(8,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.decrementHour(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.decrementHour(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseDown(de,0,-1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(9,zi,1,0,"ChevronDownIcon",7)(10,Fn,1,0,null,13),e.k0s()(),e.j41(11,"div",69)(12,"span"),e.EFF(13),e.k0s()(),e.j41(14,"div",70)(15,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.incrementMinute(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.incrementMinute(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseDown(de,1,1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(16,as,1,0,"ChevronUpIcon",7)(17,Ln,1,0,null,13),e.k0s(),e.j41(18,"span"),e.DNE(19,fn,2,0,"ng-container",7),e.EFF(20),e.k0s(),e.j41(21,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.decrementMinute(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.decrementMinute(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseDown(de,1,-1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(22,ki,1,0,"ChevronDownIcon",7)(23,Kn,1,0,null,13),e.k0s()(),e.DNE(24,In,3,1,"div",71)(25,Wr,10,8,"div",72)(26,$e,9,7,"div",73),e.k0s()}if(2&ye){const u=e.XpG(2);e.R7$(2),e.BMQ("aria-label",u.getTranslation("nextHour")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.Y8G("ngIf",u.currentHour<10),e.R7$(),e.JRh(u.currentHour),e.R7$(),e.BMQ("aria-label",u.getTranslation("prevHour")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate),e.R7$(3),e.JRh(u.timeSeparator),e.R7$(2),e.BMQ("aria-label",u.getTranslation("nextMinute")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.Y8G("ngIf",u.currentMinute<10),e.R7$(),e.JRh(u.currentMinute),e.R7$(),e.BMQ("aria-label",u.getTranslation("prevMinute")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate),e.R7$(),e.Y8G("ngIf",u.showSeconds),e.R7$(),e.Y8G("ngIf",u.showSeconds),e.R7$(),e.Y8G("ngIf","12"==u.hourFormat)}}function At(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",77)(1,"button",78),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTodayButtonClick(de))}),e.k0s(),e.j41(2,"button",78),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onClearButtonClick(de))}),e.k0s()()}if(2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("label",u.getTranslation("today"))("ngClass",e.eq3(4,n,u.todayButtonStyleClass)),e.R7$(),e.Y8G("label",u.getTranslation("clear"))("ngClass",e.eq3(6,n,u.clearButtonStyleClass))}}function $t(ye,et){1&ye&&e.eu8(0)}function si(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",20,2),e.bIt("@overlayAnimation.start",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onOverlayAnimationStart(de))})("@overlayAnimation.done",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onOverlayAnimationDone(de))})("click",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onOverlayClick(de))}),e.SdG(2),e.DNE(3,x,1,0,"ng-container",13)(4,Qt,5,3,"ng-container",7)(5,yt,27,20,"div",21)(6,At,3,8,"div",22),e.SdG(7,1),e.DNE(8,$t,1,0,"ng-container",13),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.panelStyleClass),e.Y8G("ngStyle",u.panelStyle)("ngClass",e.l4e(14,G,u.inline,u.disabled,u.timeOnly,u.numberOfMonths>1,"month"===u.view,u.touchUI))("@overlayAnimation",u.touchUI?e.eq3(24,f,e.l_i(21,O,u.showTransitionOptions,u.hideTransitionOptions)):e.eq3(29,a,e.l_i(26,O,u.showTransitionOptions,u.hideTransitionOptions)))("@.disabled",!0===u.inline),e.BMQ("aria-label",u.getTranslation("chooseDate"))("role",u.inline?null:"dialog")("aria-modal",u.inline?null:"true"),e.R7$(3),e.Y8G("ngTemplateOutlet",u.headerTemplate),e.R7$(),e.Y8G("ngIf",!u.timeOnly),e.R7$(),e.Y8G("ngIf",(u.showTime||u.timeOnly)&&"date"===u.currentView),e.R7$(),e.Y8G("ngIf",u.showButtonBar),e.R7$(2),e.Y8G("ngTemplateOutlet",u.footerTemplate)}}const Di={provide:V.kq,useExisting:(0,e.Rfq)(()=>qi),multi:!0};let qi=(()=>{class ye{document;el;renderer;cd;zone;config;overlayService;iconDisplay="button";style;styleClass;inputStyle;inputId;name;inputStyleClass;placeholder;ariaLabelledBy;ariaLabel;iconAriaLabel;disabled;dateFormat;multipleSeparator=",";rangeSeparator="-";inline=!1;showOtherMonths=!0;selectOtherMonths;showIcon;icon;appendTo;readonlyInput;shortYearCutoff="+10";monthNavigator;yearNavigator;hourFormat="24";timeOnly;stepHour=1;stepMinute=1;stepSecond=1;showSeconds=!1;required;showOnFocus=!0;showWeek=!1;showClear=!1;dataType="date";selectionMode="single";maxDateCount;showButtonBar;todayButtonStyleClass="p-button-text";clearButtonStyleClass="p-button-text";autoZIndex=!0;baseZIndex=0;panelStyleClass;panelStyle;keepInvalid=!1;hideOnDateTimeSelect=!0;touchUI;timeSeparator=":";focusTrap=!0;showTransitionOptions=".12s cubic-bezier(0, 0, 0.2, 1)";hideTransitionOptions=".1s linear";tabindex;get minDate(){return this._minDate}set minDate(u){this._minDate=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get maxDate(){return this._maxDate}set maxDate(u){this._maxDate=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get disabledDates(){return this._disabledDates}set disabledDates(u){this._disabledDates=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get disabledDays(){return this._disabledDays}set disabledDays(u){this._disabledDays=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get yearRange(){return this._yearRange}set yearRange(u){if(this._yearRange=u,u){const ie=u.split(":"),de=parseInt(ie[0]),Ae=parseInt(ie[1]);this.populateYearOptions(de,Ae)}}get showTime(){return this._showTime}set showTime(u){this._showTime=u,void 0===this.currentHour&&this.initTime(this.value||new Date),this.updateInputfield()}get responsiveOptions(){return this._responsiveOptions}set responsiveOptions(u){this._responsiveOptions=u,this.destroyResponsiveStyleElement(),this.createResponsiveStyle()}get numberOfMonths(){return this._numberOfMonths}set numberOfMonths(u){this._numberOfMonths=u,this.destroyResponsiveStyleElement(),this.createResponsiveStyle()}get firstDayOfWeek(){return this._firstDayOfWeek}set firstDayOfWeek(u){this._firstDayOfWeek=u,this.createWeekDays()}set locale(u){console.warn("Locale property has no effect, use new i18n API instead.")}get view(){return this._view}set view(u){this._view=u,this.currentView=this._view}get defaultDate(){return this._defaultDate}set defaultDate(u){if(this._defaultDate=u,this.initialized){const ie=u||new Date;this.currentMonth=ie.getMonth(),this.currentYear=ie.getFullYear(),this.initTime(ie),this.createMonths(this.currentMonth,this.currentYear)}}onFocus=new e.bkB;onBlur=new e.bkB;onClose=new e.bkB;onSelect=new e.bkB;onClear=new e.bkB;onInput=new e.bkB;onTodayClick=new e.bkB;onClearClick=new e.bkB;onMonthChange=new e.bkB;onYearChange=new e.bkB;onClickOutside=new e.bkB;onShow=new e.bkB;templates;containerViewChild;inputfieldViewChild;set content(u){this.contentViewChild=u,this.contentViewChild&&(this.isMonthNavigate?(Promise.resolve(null).then(()=>this.updateFocus()),this.isMonthNavigate=!1):!this.focus&&!this.inline&&this.initFocusableCell())}contentViewChild;value;dates;months;weekDays;currentMonth;currentYear;currentHour;currentMinute;currentSecond;pm;mask;maskClickListener;overlay;responsiveStyleElement;overlayVisible;onModelChange=()=>{};onModelTouched=()=>{};calendarElement;timePickerTimer;documentClickListener;animationEndListener;ticksTo1970;yearOptions;focus;isKeydown;filled;inputFieldValue=null;_minDate;_maxDate;_showTime;_yearRange;preventDocumentListener;dateTemplate;headerTemplate;footerTemplate;disabledDateTemplate;decadeTemplate;previousIconTemplate;nextIconTemplate;triggerIconTemplate;clearIconTemplate;decrementIconTemplate;incrementIconTemplate;inputIconTemplate;_disabledDates;_disabledDays;selectElement;todayElement;focusElement;scrollHandler;documentResizeListener;navigationState=null;isMonthNavigate;initialized;translationSubscription;_locale;_responsiveOptions;currentView;attributeSelector;panelId;_numberOfMonths=1;_firstDayOfWeek;_view="date";preventFocus;_defaultDate;window;get locale(){return this._locale}get iconButtonAriaLabel(){return this.iconAriaLabel?this.iconAriaLabel:this.getTranslation("chooseDate")}get prevIconAriaLabel(){return this.getTranslation("year"===this.currentView?"prevDecade":"month"===this.currentView?"prevYear":"prevMonth")}get nextIconAriaLabel(){return this.getTranslation("year"===this.currentView?"nextDecade":"month"===this.currentView?"nextYear":"nextMonth")}constructor(u,ie,de,Ae,nt,kt,zt){this.document=u,this.el=ie,this.renderer=de,this.cd=Ae,this.zone=nt,this.config=kt,this.overlayService=zt,this.window=this.document.defaultView}ngOnInit(){this.attributeSelector=(0,le._Y)(),this.panelId=this.attributeSelector+"_panel";const u=this.defaultDate||new Date;this.createResponsiveStyle(),this.currentMonth=u.getMonth(),this.currentYear=u.getFullYear(),this.yearOptions=[],this.currentView=this.view,"date"===this.view&&(this.createWeekDays(),this.initTime(u),this.createMonths(this.currentMonth,this.currentYear),this.ticksTo1970=24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7),this.translationSubscription=this.config.translationObserver.subscribe(()=>{this.createWeekDays(),this.cd.markForCheck()}),this.initialized=!0}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"date":default:this.dateTemplate=u.template;break;case"decade":this.decadeTemplate=u.template;break;case"disabledDate":this.disabledDateTemplate=u.template;break;case"header":this.headerTemplate=u.template;break;case"inputicon":this.inputIconTemplate=u.template;break;case"previousicon":this.previousIconTemplate=u.template;break;case"nexticon":this.nextIconTemplate=u.template;break;case"triggericon":this.triggerIconTemplate=u.template;break;case"clearicon":this.clearIconTemplate=u.template;break;case"decrementicon":this.decrementIconTemplate=u.template;break;case"incrementicon":this.incrementIconTemplate=u.template;break;case"footer":this.footerTemplate=u.template}})}ngAfterViewInit(){this.inline&&(this.contentViewChild&&this.contentViewChild.nativeElement.setAttribute(this.attributeSelector,""),!this.disabled&&!this.inline&&(this.initFocusableCell(),1===this.numberOfMonths&&this.contentViewChild&&this.contentViewChild.nativeElement&&(this.contentViewChild.nativeElement.style.width=re.D.getOuterWidth(this.containerViewChild?.nativeElement)+"px")))}getTranslation(u){return this.config.getTranslation(u)}populateYearOptions(u,ie){this.yearOptions=[];for(let de=u;de<=ie;de++)this.yearOptions.push(de)}createWeekDays(){this.weekDays=[];let u=this.getFirstDateOfWeek(),ie=this.getTranslation(Le.Yj.DAY_NAMES_MIN);for(let de=0;de<7;de++)this.weekDays.push(ie[u]),u=6==u?0:++u}monthPickerValues(){let u=[];for(let ie=0;ie<=11;ie++)u.push(this.config.getTranslation("monthNamesShort")[ie]);return u}yearPickerValues(){let u=[],ie=this.currentYear-this.currentYear%10;for(let de=0;de<10;de++)u.push(ie+de);return u}createMonths(u,ie){this.months=this.months=[];for(let de=0;de11&&(Ae=Ae%11-1,nt=ie+1),this.months.push(this.createMonth(Ae,nt))}}getWeekNumber(u){let ie=new Date(u.getTime());ie.setDate(ie.getDate()+4-(ie.getDay()||7));let de=ie.getTime();return ie.setMonth(0),ie.setDate(1),Math.floor(Math.round((de-ie.getTime())/864e5)/7)+1}createMonth(u,ie){let de=[],Ae=this.getFirstDayOfMonthIndex(u,ie),nt=this.getDaysCountInMonth(u,ie),kt=this.getDaysCountInPrevMonth(u,ie),zt=1,ai=new Date,oi=[],Li=Math.ceil((nt+Ae)/7);for(let Yi=0;Yint){let _n=this.getNextMonthAndYear(u,ie);Xi.push({day:zt-nt,month:_n.month,year:_n.year,otherMonth:!0,today:this.isToday(ai,zt-nt,_n.month,_n.year),selectable:this.isSelectable(zt-nt,_n.month,_n.year,!0)})}else Xi.push({day:zt,month:u,year:ie,today:this.isToday(ai,zt,u,ie),selectable:this.isSelectable(zt,u,ie,!1)});zt++}this.showWeek&&oi.push(this.getWeekNumber(new Date(Xi[0].year,Xi[0].month,Xi[0].day))),de.push(Xi)}return{month:u,year:ie,dates:de,weekNumbers:oi}}initTime(u){this.pm=u.getHours()>11,this.showTime?(this.currentMinute=u.getMinutes(),this.currentSecond=u.getSeconds(),this.setCurrentHourPM(u.getHours())):this.timeOnly&&(this.currentMinute=0,this.currentHour=0,this.currentSecond=0)}navBackward(u){this.disabled?u.preventDefault():(this.isMonthNavigate=!0,"month"===this.currentView?(this.decrementYear(),setTimeout(()=>{this.updateFocus()},1)):"year"===this.currentView?(this.decrementDecade(),setTimeout(()=>{this.updateFocus()},1)):(0===this.currentMonth?(this.currentMonth=11,this.decrementYear()):this.currentMonth--,this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear)))}navForward(u){this.disabled?u.preventDefault():(this.isMonthNavigate=!0,"month"===this.currentView?(this.incrementYear(),setTimeout(()=>{this.updateFocus()},1)):"year"===this.currentView?(this.incrementDecade(),setTimeout(()=>{this.updateFocus()},1)):(11===this.currentMonth?(this.currentMonth=0,this.incrementYear()):this.currentMonth++,this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear)))}decrementYear(){this.currentYear--;let u=this.yearOptions;if(this.yearNavigator&&this.currentYearu[u.length-1]){let ie=u[u.length-1]-u[0];this.populateYearOptions(u[0]+ie,u[u.length-1]+ie)}}switchToMonthView(u){this.setCurrentView("month"),u.preventDefault()}switchToYearView(u){this.setCurrentView("year"),u.preventDefault()}onDateSelect(u,ie){!this.disabled&&ie.selectable?(this.isMultipleSelection()&&this.isSelected(ie)?(this.value=this.value.filter((de,Ae)=>!this.isDateEquals(de,ie)),0===this.value.length&&(this.value=null),this.updateModel(this.value)):this.shouldSelectDate(ie)&&this.selectDate(ie),(this.isSingleSelection()&&this.hideOnDateTimeSelect||this.isRangeSelection()&&this.value[1])&&setTimeout(()=>{u.preventDefault(),this.hideOverlay(),this.mask&&this.disableModality(),this.cd.markForCheck()},150),this.updateInputfield(),u.preventDefault()):u.preventDefault()}shouldSelectDate(u){return!this.isMultipleSelection()||null==this.maxDateCount||this.maxDateCount>(this.value?this.value.length:0)}onMonthSelect(u,ie){"month"===this.view?this.onDateSelect(u,{year:this.currentYear,month:ie,day:1,selectable:!0}):(this.currentMonth=ie,this.createMonths(this.currentMonth,this.currentYear),this.setCurrentView("date"),this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}))}onYearSelect(u,ie){"year"===this.view?this.onDateSelect(u,{year:ie,month:0,day:1,selectable:!0}):(this.currentYear=ie,this.setCurrentView("month"),this.onYearChange.emit({month:this.currentMonth+1,year:this.currentYear}))}updateInputfield(){let u="";if(this.value)if(this.isSingleSelection())u=this.formatDateTime(this.value);else if(this.isMultipleSelection())for(let ie=0;ie11,this.currentHour=u>=12?12==u?12:u-12:0==u?12:u):this.currentHour=u}setCurrentView(u){this.currentView=u,this.cd.detectChanges(),this.alignOverlay()}selectDate(u){let ie=new Date(u.year,u.month,u.day);if(this.showTime&&(ie.setHours("12"==this.hourFormat?12===this.currentHour?this.pm?12:0:this.pm?this.currentHour+12:this.currentHour:this.currentHour),ie.setMinutes(this.currentMinute),ie.setSeconds(this.currentSecond)),this.minDate&&this.minDate>ie&&(ie=this.minDate,this.setCurrentHourPM(ie.getHours()),this.currentMinute=ie.getMinutes(),this.currentSecond=ie.getSeconds()),this.maxDate&&this.maxDate=de.getTime()?Ae=ie:(de=ie,Ae=null),this.updateModel([de,Ae])}else this.updateModel([ie,null]);this.onSelect.emit(ie)}updateModel(u){if(this.value=u,"date"==this.dataType)this.onModelChange(this.value);else if("string"==this.dataType)if(this.isSingleSelection())this.onModelChange(this.formatDateTime(this.value));else{let ie=null;Array.isArray(this.value)&&(ie=this.value.map(de=>this.formatDateTime(de))),this.onModelChange(ie)}}getFirstDayOfMonthIndex(u,ie){let de=new Date;de.setDate(1),de.setMonth(u),de.setFullYear(ie);let Ae=de.getDay()+this.getSundayIndex();return Ae>=7?Ae-7:Ae}getDaysCountInMonth(u,ie){return 32-this.daylightSavingAdjust(new Date(ie,u,32)).getDate()}getDaysCountInPrevMonth(u,ie){let de=this.getPreviousMonthAndYear(u,ie);return this.getDaysCountInMonth(de.month,de.year)}getPreviousMonthAndYear(u,ie){let de,Ae;return 0===u?(de=11,Ae=ie-1):(de=u-1,Ae=ie),{month:de,year:Ae}}getNextMonthAndYear(u,ie){let de,Ae;return 11===u?(de=0,Ae=ie+1):(de=u+1,Ae=ie),{month:de,year:Ae}}getSundayIndex(){let u=this.getFirstDateOfWeek();return u>0?7-u:0}isSelected(u){if(!this.value)return!1;if(this.isSingleSelection())return this.isDateEquals(this.value,u);if(this.isMultipleSelection()){let ie=!1;for(let de of this.value)if(ie=this.isDateEquals(de,u),ie)break;return ie}return this.isRangeSelection()?this.value[1]?this.isDateEquals(this.value[0],u)||this.isDateEquals(this.value[1],u)||this.isDateBetween(this.value[0],this.value[1],u):this.isDateEquals(this.value[0],u):void 0}isComparable(){return null!=this.value&&"string"!=typeof this.value}isMonthSelected(u){if(this.isComparable()&&!this.isMultipleSelection()){const[ie,de]=this.isRangeSelection()?this.value:[this.value,this.value],Ae=new Date(this.currentYear,u,1);return Ae>=ie&&Ae<=(de??ie)}return!1}isMonthDisabled(u){for(let ie=1;ie=nt.getTime()}return!1}isSingleSelection(){return"single"===this.selectionMode}isRangeSelection(){return"range"===this.selectionMode}isMultipleSelection(){return"multiple"===this.selectionMode}isToday(u,ie,de,Ae){return u.getDate()===ie&&u.getMonth()===de&&u.getFullYear()===Ae}isSelectable(u,ie,de,Ae){let nt=!0,kt=!0,zt=!0,ai=!0;return!(Ae&&!this.selectOtherMonths)&&(this.minDate&&(this.minDate.getFullYear()>de||this.minDate.getFullYear()===de&&"year"!=this.currentView&&(this.minDate.getMonth()>ie||this.minDate.getMonth()===ie&&this.minDate.getDate()>u))&&(nt=!1),this.maxDate&&(this.maxDate.getFullYear()1||this.disabled}onPrevButtonClick(u){this.navigationState={backward:!0,button:!0},this.navBackward(u)}onNextButtonClick(u){this.navigationState={backward:!1,button:!0},this.navForward(u)}onContainerButtonKeydown(u){switch(u.which){case 9:if(this.inline||this.trapFocus(u),this.inline){const ie=re.D.findSingle(this.containerViewChild?.nativeElement,".p-datepicker-header");u.target==ie.children[ie.children.length-1]&&this.initFocusableCell()}break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault()}}onInputKeydown(u){this.isKeydown=!0,40===u.keyCode&&this.contentViewChild?this.trapFocus(u):27===u.keyCode?this.overlayVisible&&(this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault()):13===u.keyCode?this.overlayVisible&&(this.overlayVisible=!1,u.preventDefault()):9===u.keyCode&&this.contentViewChild&&(re.D.getFocusableElements(this.contentViewChild.nativeElement).forEach(ie=>ie.tabIndex="-1"),this.overlayVisible&&(this.overlayVisible=!1))}onDateCellKeydown(u,ie,de){const Ae=u.currentTarget,nt=Ae.parentElement;switch(u.which){case 40:{Ae.tabIndex="-1";let kt=re.D.index(nt),zt=nt.parentElement.nextElementSibling;zt?re.D.hasClass(zt.children[kt].children[0],"p-disabled")?(this.navigationState={backward:!1},this.navForward(u)):(zt.children[kt].children[0].tabIndex="0",zt.children[kt].children[0].focus()):(this.navigationState={backward:!1},this.navForward(u)),u.preventDefault();break}case 38:{Ae.tabIndex="-1";let kt=re.D.index(nt),zt=nt.parentElement.previousElementSibling;if(zt){let ai=zt.children[kt].children[0];re.D.hasClass(ai,"p-disabled")?(this.navigationState={backward:!0},this.navBackward(u)):(ai.tabIndex="0",ai.focus())}else this.navigationState={backward:!0},this.navBackward(u);u.preventDefault();break}case 37:{Ae.tabIndex="-1";let kt=nt.previousElementSibling;if(kt){let zt=kt.children[0];re.D.hasClass(zt,"p-disabled")||re.D.hasClass(zt.parentElement,"p-datepicker-weeknumber")?this.navigateToMonth(!0,de):(zt.tabIndex="0",zt.focus())}else this.navigateToMonth(!0,de);u.preventDefault();break}case 39:{Ae.tabIndex="-1";let kt=nt.nextElementSibling;if(kt){let zt=kt.children[0];re.D.hasClass(zt,"p-disabled")?this.navigateToMonth(!1,de):(zt.tabIndex="0",zt.focus())}else this.navigateToMonth(!1,de);u.preventDefault();break}case 13:case 32:this.onDateSelect(u,ie),u.preventDefault();break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault();break;case 9:this.inline||this.trapFocus(u)}}onMonthCellKeydown(u,ie){const de=u.currentTarget;switch(u.which){case 38:case 40:{de.tabIndex="-1";var Ae=de.parentElement.children,nt=re.D.index(de);let kt=Ae[40===u.which?nt+3:nt-3];kt&&(kt.tabIndex="0",kt.focus()),u.preventDefault();break}case 37:{de.tabIndex="-1";let kt=de.previousElementSibling;kt?(kt.tabIndex="0",kt.focus()):(this.navigationState={backward:!0},this.navBackward(u)),u.preventDefault();break}case 39:{de.tabIndex="-1";let kt=de.nextElementSibling;kt?(kt.tabIndex="0",kt.focus()):(this.navigationState={backward:!1},this.navForward(u)),u.preventDefault();break}case 13:case 32:this.onMonthSelect(u,ie),u.preventDefault();break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault();break;case 9:this.inline||this.trapFocus(u)}}onYearCellKeydown(u,ie){const de=u.currentTarget;switch(u.which){case 38:case 40:{de.tabIndex="-1";var Ae=de.parentElement.children,nt=re.D.index(de);let kt=Ae[40===u.which?nt+2:nt-2];kt&&(kt.tabIndex="0",kt.focus()),u.preventDefault();break}case 37:{de.tabIndex="-1";let kt=de.previousElementSibling;kt?(kt.tabIndex="0",kt.focus()):(this.navigationState={backward:!0},this.navBackward(u)),u.preventDefault();break}case 39:{de.tabIndex="-1";let kt=de.nextElementSibling;kt?(kt.tabIndex="0",kt.focus()):(this.navigationState={backward:!1},this.navForward(u)),u.preventDefault();break}case 13:case 32:this.onYearSelect(u,ie),u.preventDefault();break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault();break;case 9:this.trapFocus(u)}}navigateToMonth(u,ie){if(u)if(1===this.numberOfMonths||0===ie)this.navigationState={backward:!0},this.navBackward(event);else{let Ae=re.D.find(this.contentViewChild.nativeElement.children[ie-1],".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)"),nt=Ae[Ae.length-1];nt.tabIndex="0",nt.focus()}else if(1===this.numberOfMonths||ie===this.numberOfMonths-1)this.navigationState={backward:!1},this.navForward(event);else{let Ae=re.D.findSingle(this.contentViewChild.nativeElement.children[ie+1],".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)");Ae.tabIndex="0",Ae.focus()}}updateFocus(){let u;if(this.navigationState){if(this.navigationState.button)this.initFocusableCell(),this.navigationState.backward?re.D.findSingle(this.contentViewChild.nativeElement,".p-datepicker-prev").focus():re.D.findSingle(this.contentViewChild.nativeElement,".p-datepicker-next").focus();else{if(this.navigationState.backward){let ie;ie=re.D.find(this.contentViewChild.nativeElement,"month"===this.currentView?".p-monthpicker .p-monthpicker-month:not(.p-disabled)":"year"===this.currentView?".p-yearpicker .p-yearpicker-year:not(.p-disabled)":".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)"),ie&&ie.length>0&&(u=ie[ie.length-1])}else u=re.D.findSingle(this.contentViewChild.nativeElement,"month"===this.currentView?".p-monthpicker .p-monthpicker-month:not(.p-disabled)":"year"===this.currentView?".p-yearpicker .p-yearpicker-year:not(.p-disabled)":".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)");u&&(u.tabIndex="0",u.focus())}this.navigationState=null}else this.initFocusableCell()}initFocusableCell(){const u=this.contentViewChild?.nativeElement;let ie;if("month"===this.currentView){let de=re.D.find(u,".p-monthpicker .p-monthpicker-month:not(.p-disabled)"),Ae=re.D.findSingle(u,".p-monthpicker .p-monthpicker-month.p-highlight");de.forEach(nt=>nt.tabIndex=-1),ie=Ae||de[0],0===de.length&&re.D.find(u,'.p-monthpicker .p-monthpicker-month.p-disabled[tabindex = "0"]').forEach(kt=>kt.tabIndex=-1)}else if("year"===this.currentView){let de=re.D.find(u,".p-yearpicker .p-yearpicker-year:not(.p-disabled)"),Ae=re.D.findSingle(u,".p-yearpicker .p-yearpicker-year.p-highlight");de.forEach(nt=>nt.tabIndex=-1),ie=Ae||de[0],0===de.length&&re.D.find(u,'.p-yearpicker .p-yearpicker-year.p-disabled[tabindex = "0"]').forEach(kt=>kt.tabIndex=-1)}else if(ie=re.D.findSingle(u,"span.p-highlight"),!ie){let de=re.D.findSingle(u,"td.p-datepicker-today span:not(.p-disabled):not(.p-ink)");ie=de||re.D.findSingle(u,".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)")}ie&&(ie.tabIndex="0",!this.preventFocus&&(!this.navigationState||!this.navigationState.button)&&setTimeout(()=>{this.disabled||ie.focus()},1),this.preventFocus=!1)}trapFocus(u){let ie=re.D.getFocusableElements(this.contentViewChild.nativeElement);if(ie&&ie.length>0)if(ie[0].ownerDocument.activeElement){let de=ie.indexOf(ie[0].ownerDocument.activeElement);if(u.shiftKey)if(-1==de||0===de)if(this.focusTrap)ie[ie.length-1].focus();else{if(-1===de)return this.hideOverlay();if(0===de)return}else ie[de-1].focus();else if(-1==de)if(this.timeOnly)ie[0].focus();else{let Ae=0;for(let nt=0;ntkt||this.minDate.getHours()===kt&&(this.minDate.getMinutes()>ie||this.minDate.getMinutes()===ie&&this.minDate.getSeconds()>de))||this.maxDate&&Li&&this.maxDate.toDateString()===Li&&(this.maxDate.getHours()=24?de-24:de:"12"==this.hourFormat&&(this.currentHour<12&&de>11&&(Ae=!this.pm),de=de>=13?de-12:de),this.validateTime(de,this.currentMinute,this.currentSecond,Ae)&&(this.currentHour=de,this.pm=Ae),u.preventDefault()}onTimePickerElementMouseDown(u,ie,de){this.disabled||(this.repeat(u,null,ie,de),u.preventDefault())}onTimePickerElementMouseUp(u){this.disabled||(this.clearTimePickerTimer(),this.updateTime())}onTimePickerElementMouseLeave(){!this.disabled&&this.timePickerTimer&&(this.clearTimePickerTimer(),this.updateTime())}repeat(u,ie,de,Ae){let nt=ie||500;switch(this.clearTimePickerTimer(),this.timePickerTimer=setTimeout(()=>{this.repeat(u,100,de,Ae),this.cd.markForCheck()},nt),de){case 0:1===Ae?this.incrementHour(u):this.decrementHour(u);break;case 1:1===Ae?this.incrementMinute(u):this.decrementMinute(u);break;case 2:1===Ae?this.incrementSecond(u):this.decrementSecond(u)}this.updateInputfield()}clearTimePickerTimer(){this.timePickerTimer&&(clearTimeout(this.timePickerTimer),this.timePickerTimer=null)}decrementHour(u){let ie=this.currentHour-this.stepHour,de=this.pm;"24"==this.hourFormat?ie=ie<0?24+ie:ie:"12"==this.hourFormat&&(12===this.currentHour&&(de=!this.pm),ie=ie<=0?12+ie:ie),this.validateTime(ie,this.currentMinute,this.currentSecond,de)&&(this.currentHour=ie,this.pm=de),u.preventDefault()}incrementMinute(u){let ie=this.currentMinute+this.stepMinute;ie=ie>59?ie-60:ie,this.validateTime(this.currentHour,ie,this.currentSecond,this.pm)&&(this.currentMinute=ie),u.preventDefault()}decrementMinute(u){let ie=this.currentMinute-this.stepMinute;ie=ie<0?60+ie:ie,this.validateTime(this.currentHour,ie,this.currentSecond,this.pm)&&(this.currentMinute=ie),u.preventDefault()}incrementSecond(u){let ie=this.currentSecond+this.stepSecond;ie=ie>59?ie-60:ie,this.validateTime(this.currentHour,this.currentMinute,ie,this.pm)&&(this.currentSecond=ie),u.preventDefault()}decrementSecond(u){let ie=this.currentSecond-this.stepSecond;ie=ie<0?60+ie:ie,this.validateTime(this.currentHour,this.currentMinute,ie,this.pm)&&(this.currentSecond=ie),u.preventDefault()}updateTime(){let u=this.value;this.isRangeSelection()&&(u=this.value[1]||this.value[0]),this.isMultipleSelection()&&(u=this.value[this.value.length-1]),u=u?new Date(u.getTime()):new Date,u.setHours("12"==this.hourFormat?12===this.currentHour?this.pm?12:0:this.pm?this.currentHour+12:this.currentHour:this.currentHour),u.setMinutes(this.currentMinute),u.setSeconds(this.currentSecond),this.isRangeSelection()&&(u=this.value[1]?[this.value[0],u]:[u,null]),this.isMultipleSelection()&&(u=[...this.value.slice(0,-1),u]),this.updateModel(u),this.onSelect.emit(u),this.updateInputfield()}toggleAMPM(u){const ie=!this.pm;this.validateTime(this.currentHour,this.currentMinute,this.currentSecond,ie)&&(this.pm=ie,this.updateTime()),u.preventDefault()}onUserInput(u){if(!this.isKeydown)return;this.isKeydown=!1;let ie=u.target.value;try{let de=this.parseValueFromString(ie);this.isValidSelection(de)?(this.updateModel(de),this.updateUI()):this.keepInvalid&&this.updateModel(de)}catch{this.updateModel(this.keepInvalid?ie:null)}this.filled=null!=ie&&ie.length,this.onInput.emit(u)}isValidSelection(u){let ie=!0;return this.isSingleSelection()?this.isSelectable(u.getDate(),u.getMonth(),u.getFullYear(),!1)||(ie=!1):u.every(de=>this.isSelectable(de.getDate(),de.getMonth(),de.getFullYear(),!1))&&this.isRangeSelection()&&(ie=u.length>1&&u[1]>u[0]),ie}parseValueFromString(u){if(!u||0===u.trim().length)return null;let ie;if(this.isSingleSelection())ie=this.parseDateTime(u);else if(this.isMultipleSelection()){let de=u.split(this.multipleSeparator);ie=[];for(let Ae of de)ie.push(this.parseDateTime(Ae.trim()))}else if(this.isRangeSelection()){let de=u.split(" "+this.rangeSeparator+" ");ie=[];for(let Ae=0;Ae{this.disableModality(),this.overlayVisible=!1}),this.renderer.appendChild(this.document.body,this.mask),re.D.blockBodyScroll())}disableModality(){this.mask&&(re.D.addClass(this.mask,"p-component-overlay-leave"),this.animationEndListener||(this.animationEndListener=this.renderer.listen(this.mask,"animationend",this.destroyMask.bind(this))))}destroyMask(){if(!this.mask)return;this.renderer.removeChild(this.document.body,this.mask);let ie,u=this.document.body.children;for(let de=0;de{const Li=de+1{let Xi=""+Li;if(Ae(oi))for(;Xi.lengthAe(oi)?Xi[Li]:Yi[Li];let zt="",ai=!1;if(u)for(de=0;de11&&12!=de&&(de-=12),ie+="12"==this.hourFormat&&0===de?12:de<10?"0"+de:de,ie+=":",ie+=Ae<10?"0"+Ae:Ae,this.showSeconds&&(ie+=":",ie+=nt<10?"0"+nt:nt),"12"==this.hourFormat&&(ie+=u.getHours()>11?" PM":" AM"),ie}parseTime(u){let ie=u.split(":");if(ie.length!==(this.showSeconds?3:2))throw"Invalid time";let Ae=parseInt(ie[0]),nt=parseInt(ie[1]),kt=this.showSeconds?parseInt(ie[2]):null;if(isNaN(Ae)||isNaN(nt)||Ae>23||nt>59||"12"==this.hourFormat&&Ae>12||this.showSeconds&&(isNaN(kt)||kt>59))throw"Invalid time";return"12"==this.hourFormat&&(12!==Ae&&this.pm?Ae+=12:!this.pm&&12===Ae&&(Ae-=12)),{hour:Ae,minute:nt,second:kt}}parseDate(u,ie){if(null==ie||null==u)throw"Invalid arguments";if(""===(u="object"==typeof u?u.toString():u+""))return null;let de,Ae,nt,Ji,kt=0,zt="string"!=typeof this.shortYearCutoff?this.shortYearCutoff:(new Date).getFullYear()%100+parseInt(this.shortYearCutoff,10),ai=-1,oi=-1,Li=-1,Yi=-1,Xi=!1,_n=Zs=>{let dr=de+1{let dr=_n(Zs),ho="@"===Zs?14:"!"===Zs?20:"y"===Zs&&dr?4:"o"===Zs?3:2,Mc=new RegExp("^\\d{"+("y"===Zs?ho:1)+","+ho+"}"),la=u.substring(kt).match(Mc);if(!la)throw"Missing number at position "+kt;return kt+=la[0].length,parseInt(la[0],10)},Jn=(Zs,dr,ho)=>{let sr=-1,Mc=_n(Zs)?ho:dr,la=[];for(let Ns=0;Ns-(Ns[1].length-Ea[1].length));for(let Ns=0;Ns{if(u.charAt(kt)!==ie.charAt(de))throw"Unexpected literal at position "+kt;kt++};for("month"===this.view&&(Li=1),de=0;de-1)for(oi=1,Li=Yi;Ae=this.getDaysCountInMonth(ai,oi-1),!(Li<=Ae);)oi++,Li-=Ae;if("year"===this.view&&(oi=-1===oi?1:oi,Li=-1===Li?1:Li),Ji=this.daylightSavingAdjust(new Date(ai,oi-1,Li)),Ji.getFullYear()!==ai||Ji.getMonth()+1!==oi||Ji.getDate()!==Li)throw"Invalid date";return Ji}daylightSavingAdjust(u){return u?(u.setHours(u.getHours()>12?u.getHours()+2:0),u):null}updateFilledState(){this.filled=this.inputFieldValue&&""!=this.inputFieldValue}onTodayButtonClick(u){const ie=new Date,de={day:ie.getDate(),month:ie.getMonth(),year:ie.getFullYear(),otherMonth:ie.getMonth()!==this.currentMonth||ie.getFullYear()!==this.currentYear,today:!0,selectable:!0};this.createMonths(ie.getMonth(),ie.getFullYear()),this.onDateSelect(u,de),this.onTodayClick.emit(u)}onClearButtonClick(u){this.updateModel(null),this.updateInputfield(),this.hideOverlay(),this.onClearClick.emit(u)}createResponsiveStyle(){if(this.numberOfMonths>1&&this.responsiveOptions){this.responsiveStyleElement||(this.responsiveStyleElement=this.renderer.createElement("style"),this.responsiveStyleElement.type="text/css",this.renderer.appendChild(this.document.body,this.responsiveStyleElement));let u="";if(this.responsiveOptions){let ie=[...this.responsiveOptions].filter(de=>!(!de.breakpoint||!de.numMonths)).sort((de,Ae)=>-1*de.breakpoint.localeCompare(Ae.breakpoint,void 0,{numeric:!0}));for(let de=0;de{this.documentClickListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:this.document,"mousedown",ie=>{this.isOutsideClicked(ie)&&this.overlayVisible&&this.zone.run(()=>{this.hideOverlay(),this.onClickOutside.emit(ie),this.cd.markForCheck()})})})}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)}bindDocumentResizeListener(){!this.documentResizeListener&&!this.touchUI&&(this.documentResizeListener=this.renderer.listen(this.window,"resize",this.onWindowResize.bind(this)))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new re.b(this.containerViewChild?.nativeElement,()=>{this.overlayVisible&&this.hideOverlay()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}isOutsideClicked(u){return!(this.el.nativeElement.isSameNode(u.target)||this.isNavIconClicked(u)||this.el.nativeElement.contains(u.target)||this.overlay&&this.overlay.contains(u.target))}isNavIconClicked(u){return re.D.hasClass(u.target,"p-datepicker-prev")||re.D.hasClass(u.target,"p-datepicker-prev-icon")||re.D.hasClass(u.target,"p-datepicker-next")||re.D.hasClass(u.target,"p-datepicker-next-icon")}onWindowResize(){this.overlayVisible&&!re.D.isTouchDevice()&&this.hideOverlay()}onOverlayHide(){this.currentView=this.view,this.mask&&this.destroyMask(),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.overlay=null}ngOnDestroy(){this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.translationSubscription&&this.translationSubscription.unsubscribe(),this.overlay&&this.autoZIndex&&le.Q$.clear(this.overlay),this.destroyResponsiveStyleElement(),this.clearTimePickerTimer(),this.restoreOverlayAppend(),this.onOverlayHide()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(e.gRc),e.rXU(e.SKi),e.rXU(Le.r1),e.rXU(Le.si))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-calendar"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(F,5),e.GBs(P,5),e.GBs(D,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.containerViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.inputfieldViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.content=Ae.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:6,hostBindings:function(ie,de){2&ie&&e.AVh("p-inputwrapper-filled",de.filled)("p-inputwrapper-focus",de.focus)("p-calendar-clearable",de.showClear&&!de.disabled)},inputs:{iconDisplay:"iconDisplay",style:"style",styleClass:"styleClass",inputStyle:"inputStyle",inputId:"inputId",name:"name",inputStyleClass:"inputStyleClass",placeholder:"placeholder",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",iconAriaLabel:"iconAriaLabel",disabled:"disabled",dateFormat:"dateFormat",multipleSeparator:"multipleSeparator",rangeSeparator:"rangeSeparator",inline:"inline",showOtherMonths:"showOtherMonths",selectOtherMonths:"selectOtherMonths",showIcon:"showIcon",icon:"icon",appendTo:"appendTo",readonlyInput:"readonlyInput",shortYearCutoff:"shortYearCutoff",monthNavigator:"monthNavigator",yearNavigator:"yearNavigator",hourFormat:"hourFormat",timeOnly:"timeOnly",stepHour:"stepHour",stepMinute:"stepMinute",stepSecond:"stepSecond",showSeconds:"showSeconds",required:"required",showOnFocus:"showOnFocus",showWeek:"showWeek",showClear:"showClear",dataType:"dataType",selectionMode:"selectionMode",maxDateCount:"maxDateCount",showButtonBar:"showButtonBar",todayButtonStyleClass:"todayButtonStyleClass",clearButtonStyleClass:"clearButtonStyleClass",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",panelStyleClass:"panelStyleClass",panelStyle:"panelStyle",keepInvalid:"keepInvalid",hideOnDateTimeSelect:"hideOnDateTimeSelect",touchUI:"touchUI",timeSeparator:"timeSeparator",focusTrap:"focusTrap",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",tabindex:"tabindex",minDate:"minDate",maxDate:"maxDate",disabledDates:"disabledDates",disabledDays:"disabledDays",yearRange:"yearRange",showTime:"showTime",responsiveOptions:"responsiveOptions",numberOfMonths:"numberOfMonths",firstDayOfWeek:"firstDayOfWeek",locale:"locale",view:"view",defaultDate:"defaultDate"},outputs:{onFocus:"onFocus",onBlur:"onBlur",onClose:"onClose",onSelect:"onSelect",onClear:"onClear",onInput:"onInput",onTodayClick:"onTodayClick",onClearClick:"onClearClick",onMonthChange:"onMonthChange",onYearChange:"onYearChange",onClickOutside:"onClickOutside",onShow:"onShow"},features:[e.Jv_([Di])],ngContentSelectors:I,decls:4,vars:12,consts:[["container",""],["inputfield",""],["contentWrapper",""],[3,"ngClass","ngStyle"],[3,"ngIf"],[3,"class","ngStyle","ngClass","click",4,"ngIf"],["type","text","role","combobox","aria-autocomplete","none","aria-haspopup","dialog","autocomplete","off",3,"focus","keydown","click","blur","input","value","readonly","ngStyle","placeholder","disabled","ngClass"],[4,"ngIf"],["type","button","aria-haspopup","dialog","pButton","","pRipple","","class","p-datepicker-trigger p-button-icon-only","tabindex","0",3,"disabled","click",4,"ngIf"],[3,"styleClass","click",4,"ngIf"],["class","p-calendar-clear-icon",3,"click",4,"ngIf"],[3,"click","styleClass"],[1,"p-calendar-clear-icon",3,"click"],[4,"ngTemplateOutlet"],["type","button","aria-haspopup","dialog","pButton","","pRipple","","tabindex","0",1,"p-datepicker-trigger","p-button-icon-only",3,"click","disabled"],[3,"ngClass",4,"ngIf"],[3,"ngClass"],[3,"ngClass","click",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"click","ngClass"],[3,"click","ngStyle","ngClass"],["class","p-timepicker",4,"ngIf"],["class","p-datepicker-buttonbar",4,"ngIf"],[1,"p-datepicker-group-container"],["class","p-datepicker-group",4,"ngFor","ngForOf"],["class","p-monthpicker",4,"ngIf"],["class","p-yearpicker",4,"ngIf"],[1,"p-datepicker-group"],[1,"p-datepicker-header"],["class","p-datepicker-prev p-link","type","button","pRipple","",3,"keydown","click",4,"ngIf"],[1,"p-datepicker-title"],["type","button","class","p-datepicker-month p-link",3,"disabled","click","keydown",4,"ngIf"],["type","button","class","p-datepicker-year p-link",3,"disabled","click","keydown",4,"ngIf"],["class","p-datepicker-decade",4,"ngIf"],["type","button","pRipple","",1,"p-datepicker-next","p-link",3,"keydown","click"],[3,"styleClass",4,"ngIf"],["class","p-datepicker-next-icon",4,"ngIf"],["class","p-datepicker-calendar-container",4,"ngIf"],["type","button","pRipple","",1,"p-datepicker-prev","p-link",3,"keydown","click"],["class","p-datepicker-prev-icon",4,"ngIf"],[3,"styleClass"],[1,"p-datepicker-prev-icon"],["type","button",1,"p-datepicker-month","p-link",3,"click","keydown","disabled"],["type","button",1,"p-datepicker-year","p-link",3,"click","keydown","disabled"],[1,"p-datepicker-decade"],[1,"p-datepicker-next-icon"],[1,"p-datepicker-calendar-container"],["role","grid",1,"p-datepicker-calendar"],["class","p-datepicker-weekheader p-disabled",4,"ngIf"],["scope","col",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"p-datepicker-weekheader","p-disabled"],["scope","col"],["class","p-datepicker-weeknumber",4,"ngIf"],[3,"ngClass",4,"ngFor","ngForOf"],[1,"p-datepicker-weeknumber"],[1,"p-disabled"],["draggable","false","pRipple","",3,"click","keydown","ngClass"],["class","p-hidden-accessible","aria-live","polite",4,"ngIf"],["aria-live","polite",1,"p-hidden-accessible"],[1,"p-monthpicker"],["class","p-monthpicker-month","pRipple","",3,"ngClass","click","keydown",4,"ngFor","ngForOf"],["pRipple","",1,"p-monthpicker-month",3,"click","keydown","ngClass"],[1,"p-yearpicker"],["class","p-yearpicker-year","pRipple","",3,"ngClass","click","keydown",4,"ngFor","ngForOf"],["pRipple","",1,"p-yearpicker-year",3,"click","keydown","ngClass"],[1,"p-timepicker"],[1,"p-hour-picker"],["type","button","pRipple","",1,"p-link",3,"keydown","keydown.enter","keydown.space","mousedown","mouseup","keyup.enter","keyup.space","mouseleave"],[1,"p-separator"],[1,"p-minute-picker"],["class","p-separator",4,"ngIf"],["class","p-second-picker",4,"ngIf"],["class","p-ampm-picker",4,"ngIf"],[1,"p-second-picker"],[1,"p-ampm-picker"],["type","button","pRipple","",1,"p-link",3,"keydown","click","keydown.enter"],[1,"p-datepicker-buttonbar"],["type","button","pButton","","pRipple","",3,"keydown","click","label","ngClass"]],template:function(ie,de){1&ie&&(e.NAR(A),e.j41(0,"span",3,0),e.DNE(2,H,5,21,"ng-template",4)(3,si,9,31,"div",5),e.k0s()),2&ie&&(e.HbH(de.styleClass),e.Y8G("ngClass",e.s1E(6,_,de.showIcon&&"input"===de.iconDisplay,de.showIcon&&"button"===de.iconDisplay,de.timeOnly,de.disabled,de.focus||de.overlayVisible))("ngStyle",de.style),e.R7$(2),e.Y8G("ngIf",!de.inline),e.R7$(),e.Y8G("ngIf",de.inline||de.overlayVisible))},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,q._f,ve.n,ue,J,te,X,E.A,j],styles:["@layer primeng{.p-calendar{position:relative;display:inline-flex;max-width:100%}.p-calendar .p-inputtext{flex:1 1 auto;width:1%}.p-calendar-w-btn .p-inputtext{border-top-right-radius:0;border-bottom-right-radius:0}.p-calendar-w-btn .p-datepicker-trigger{border-top-left-radius:0;border-bottom-left-radius:0}.p-fluid .p-calendar{display:flex}.p-fluid .p-calendar .p-inputtext{width:1%}.p-calendar .p-datepicker{min-width:100%}.p-datepicker{width:auto;position:absolute;top:0;left:0}.p-datepicker-inline{display:inline-block;position:static;overflow-x:auto}.p-datepicker-header{display:flex;align-items:center;justify-content:space-between}.p-datepicker-header .p-datepicker-title{margin:0 auto}.p-datepicker-prev,.p-datepicker-next{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group{flex:1 1 auto}.p-datepicker-multiple-month .p-datepicker-group-container{display:flex}.p-datepicker table{width:100%;border-collapse:collapse}.p-datepicker td>span{display:flex;justify-content:center;align-items:center;cursor:pointer;margin:0 auto;overflow:hidden;position:relative}.p-monthpicker-month{width:33.3%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-datepicker-buttonbar{display:flex;justify-content:space-between;align-items:center}.p-timepicker{display:flex;justify-content:center;align-items:center}.p-timepicker button{display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-timepicker>div{display:flex;align-items:center;flex-direction:column}.p-datepicker-touch-ui,.p-calendar .p-datepicker-touch-ui{position:fixed;top:50%;left:50%;min-width:80vw;transform:translate(-50%,-50%)}.p-yearpicker-year{width:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-calendar-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-datepicker-icon{pointer-events:none}.p-calendar-clearable{position:relative}}\n"],encapsulation:2,data:{animation:[(0,ne.hZ)("overlayAnimation",[(0,ne.wk)("visibleTouchUI",(0,ne.iF)({transform:"translate(-50%,-50%)",opacity:1})),(0,ne.kY)("void => visible",[(0,ne.iF)({opacity:0,transform:"scaleY(0.8)"}),(0,ne.i0)("{{showTransitionParams}}",(0,ne.iF)({opacity:1,transform:"*"}))]),(0,ne.kY)("visible => void",[(0,ne.i0)("{{hideTransitionParams}}",(0,ne.iF)({opacity:0}))]),(0,ne.kY)("void => visibleTouchUI",[(0,ne.iF)({opacity:0,transform:"translate3d(-50%, -40%, 0) scale(0.9)"}),(0,ne.i0)("{{showTransitionParams}}")]),(0,ne.kY)("visibleTouchUI => void",[(0,ne.i0)("{{hideTransitionParams}}",(0,ne.iF)({opacity:0,transform:"translate3d(-50%, -40%, 0) scale(0.9)"}))])])]},changeDetection:0})}return ye})(),Ki=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,q.tm,Le.Gg,ve.Z,ue,J,te,X,E.A,j,q.tm,Le.Gg]})}return ye})(),ls=(()=>{class ye{host;constructor(u){this.host=u}autofocus;focused=!1;ngAfterContentChecked(){this.focused||this.autofocus&&setTimeout(()=>{const u=re.D.getFocusableElements(this.host.nativeElement);0===u.length&&this.host.nativeElement.focus(),u.length>0&&u[0].focus(),this.focused=!0})}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.aKT))};static \u0275dir=e.FsC({type:ye,selectors:[["","pAutoFocus",""]],hostAttrs:[1,"p-element"],inputs:{autofocus:"autofocus"}})}return ye})(),Hn=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD]})}return ye})();const tn=["overlay"],gn=["content"],cs=["*"],sn=(ye,et,u,ie,de,Ae,nt,kt,zt,ai,oi,Li,Yi,Xi)=>({"p-overlay p-component":!0,"p-overlay-modal p-component-overlay p-component-overlay-enter":ye,"p-overlay-center":et,"p-overlay-top":u,"p-overlay-top-start":ie,"p-overlay-top-end":de,"p-overlay-bottom":Ae,"p-overlay-bottom-start":nt,"p-overlay-bottom-end":kt,"p-overlay-left":zt,"p-overlay-left-start":ai,"p-overlay-left-end":oi,"p-overlay-right":Li,"p-overlay-right-start":Yi,"p-overlay-right-end":Xi}),Bn=(ye,et,u)=>({showTransitionParams:ye,hideTransitionParams:et,transform:u}),Er=ye=>({value:"visible",params:ye}),bs=ye=>({mode:ye}),Un=ye=>({$implicit:ye});function pr(ye,et){1&ye&&e.eu8(0)}function Ui(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",3,1),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onOverlayContentClick(de))})("@overlayContentAnimation.start",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onOverlayContentAnimationStart(de))})("@overlayContentAnimation.done",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onOverlayContentAnimationDone(de))}),e.SdG(2),e.DNE(3,pr,1,0,"ng-container",4),e.k0s()}if(2&ye){const u=e.XpG(2);e.HbH(u.contentStyleClass),e.Y8G("ngStyle",u.contentStyle)("ngClass","p-overlay-content")("@overlayContentAnimation",e.eq3(11,Er,e.sMw(7,Bn,u.showTransitionOptions,u.hideTransitionOptions,u.transformOptions[u.modal?u.overlayResponsiveDirection:"default"]))),e.R7$(3),e.Y8G("ngTemplateOutlet",u.contentTemplate)("ngTemplateOutletContext",e.eq3(15,Un,e.eq3(13,bs,u.overlayMode)))}}function ln(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",3,0),e.bIt("click",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onOverlayClick())}),e.DNE(2,Ui,4,17,"div",2),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.styleClass),e.Y8G("ngStyle",u.style)("ngClass",e.zJS(5,sn,[u.modal,u.modal&&"center"===u.overlayResponsiveDirection,u.modal&&"top"===u.overlayResponsiveDirection,u.modal&&"top-start"===u.overlayResponsiveDirection,u.modal&&"top-end"===u.overlayResponsiveDirection,u.modal&&"bottom"===u.overlayResponsiveDirection,u.modal&&"bottom-start"===u.overlayResponsiveDirection,u.modal&&"bottom-end"===u.overlayResponsiveDirection,u.modal&&"left"===u.overlayResponsiveDirection,u.modal&&"left-start"===u.overlayResponsiveDirection,u.modal&&"left-end"===u.overlayResponsiveDirection,u.modal&&"right"===u.overlayResponsiveDirection,u.modal&&"right-start"===u.overlayResponsiveDirection,u.modal&&"right-end"===u.overlayResponsiveDirection])),e.R7$(2),e.Y8G("ngIf",u.visible)}}const Na={provide:V.kq,useExisting:(0,e.Rfq)(()=>Ba),multi:!0},lr=(0,ne.lY)([(0,ne.iF)({transform:"{{transform}}",opacity:0}),(0,ne.i0)("{{showTransitionParams}}")]),Fa=(0,ne.lY)([(0,ne.i0)("{{hideTransitionParams}}",(0,ne.iF)({transform:"{{transform}}",opacity:0}))]);let Ba=(()=>{class ye{document;platformId;el;renderer;config;overlayService;cd;zone;get visible(){return this._visible}set visible(u){this._visible=u,this._visible&&!this.modalVisible&&(this.modalVisible=!0)}get mode(){return this._mode||this.overlayOptions?.mode}set mode(u){this._mode=u}get style(){return le.BF.merge(this._style,this.modal?this.overlayResponsiveOptions?.style:this.overlayOptions?.style)}set style(u){this._style=u}get styleClass(){return le.BF.merge(this._styleClass,this.modal?this.overlayResponsiveOptions?.styleClass:this.overlayOptions?.styleClass)}set styleClass(u){this._styleClass=u}get contentStyle(){return le.BF.merge(this._contentStyle,this.modal?this.overlayResponsiveOptions?.contentStyle:this.overlayOptions?.contentStyle)}set contentStyle(u){this._contentStyle=u}get contentStyleClass(){return le.BF.merge(this._contentStyleClass,this.modal?this.overlayResponsiveOptions?.contentStyleClass:this.overlayOptions?.contentStyleClass)}set contentStyleClass(u){this._contentStyleClass=u}get target(){const u=this._target||this.overlayOptions?.target;return void 0===u?"@prev":u}set target(u){this._target=u}get appendTo(){return this._appendTo||this.overlayOptions?.appendTo}set appendTo(u){this._appendTo=u}get autoZIndex(){const u=this._autoZIndex||this.overlayOptions?.autoZIndex;return void 0===u||u}set autoZIndex(u){this._autoZIndex=u}get baseZIndex(){const u=this._baseZIndex||this.overlayOptions?.baseZIndex;return void 0===u?0:u}set baseZIndex(u){this._baseZIndex=u}get showTransitionOptions(){const u=this._showTransitionOptions||this.overlayOptions?.showTransitionOptions;return void 0===u?".12s cubic-bezier(0, 0, 0.2, 1)":u}set showTransitionOptions(u){this._showTransitionOptions=u}get hideTransitionOptions(){const u=this._hideTransitionOptions||this.overlayOptions?.hideTransitionOptions;return void 0===u?".1s linear":u}set hideTransitionOptions(u){this._hideTransitionOptions=u}get listener(){return this._listener||this.overlayOptions?.listener}set listener(u){this._listener=u}get responsive(){return this._responsive||this.overlayOptions?.responsive}set responsive(u){this._responsive=u}get options(){return this._options}set options(u){this._options=u}visibleChange=new e.bkB;onBeforeShow=new e.bkB;onShow=new e.bkB;onBeforeHide=new e.bkB;onHide=new e.bkB;onAnimationStart=new e.bkB;onAnimationDone=new e.bkB;templates;overlayViewChild;contentViewChild;contentTemplate;_visible=!1;_mode;_style;_styleClass;_contentStyle;_contentStyleClass;_target;_appendTo;_autoZIndex;_baseZIndex;_showTransitionOptions;_hideTransitionOptions;_listener;_responsive;_options;modalVisible=!1;isOverlayClicked=!1;isOverlayContentClicked=!1;scrollHandler;documentClickListener;documentResizeListener;documentKeyboardListener;window;transformOptions={default:"scaleY(0.8)",center:"scale(0.7)",top:"translate3d(0px, -100%, 0px)","top-start":"translate3d(0px, -100%, 0px)","top-end":"translate3d(0px, -100%, 0px)",bottom:"translate3d(0px, 100%, 0px)","bottom-start":"translate3d(0px, 100%, 0px)","bottom-end":"translate3d(0px, 100%, 0px)",left:"translate3d(-100%, 0px, 0px)","left-start":"translate3d(-100%, 0px, 0px)","left-end":"translate3d(-100%, 0px, 0px)",right:"translate3d(100%, 0px, 0px)","right-start":"translate3d(100%, 0px, 0px)","right-end":"translate3d(100%, 0px, 0px)"};get modal(){if((0,M.UE)(this.platformId))return"modal"===this.mode||this.overlayResponsiveOptions&&this.window?.matchMedia(this.overlayResponsiveOptions.media?.replace("@media","")||`(max-width: ${this.overlayResponsiveOptions.breakpoint})`).matches}get overlayMode(){return this.mode||(this.modal?"modal":"overlay")}get overlayOptions(){return{...this.config?.overlayOptions,...this.options}}get overlayResponsiveOptions(){return{...this.overlayOptions?.responsive,...this.responsive}}get overlayResponsiveDirection(){return this.overlayResponsiveOptions?.direction||"center"}get overlayEl(){return this.overlayViewChild?.nativeElement}get contentEl(){return this.contentViewChild?.nativeElement}get targetEl(){return re.D.getTargetElement(this.target,this.el?.nativeElement)}constructor(u,ie,de,Ae,nt,kt,zt,ai){this.document=u,this.platformId=ie,this.el=de,this.renderer=Ae,this.config=nt,this.overlayService=kt,this.cd=zt,this.zone=ai,this.window=this.document.defaultView}ngAfterContentInit(){this.templates?.forEach(u=>{u.getType(),this.contentTemplate=u.template})}show(u,ie=!1){this.onVisibleChange(!0),this.handleEvents("onShow",{overlay:u||this.overlayEl,target:this.targetEl,mode:this.overlayMode}),ie&&re.D.focus(this.targetEl),this.modal&&re.D.addClass(this.document?.body,"p-overflow-hidden")}hide(u,ie=!1){this.visible&&(this.onVisibleChange(!1),this.handleEvents("onHide",{overlay:u||this.overlayEl,target:this.targetEl,mode:this.overlayMode}),ie&&re.D.focus(this.targetEl),this.modal&&re.D.removeClass(this.document?.body,"p-overflow-hidden"))}alignOverlay(){!this.modal&&re.D.alignOverlay(this.overlayEl,this.targetEl,this.appendTo)}onVisibleChange(u){this._visible=u,this.visibleChange.emit(u)}onOverlayClick(){this.isOverlayClicked=!0}onOverlayContentClick(u){this.overlayService.add({originalEvent:u,target:this.targetEl}),this.isOverlayContentClicked=!0}onOverlayContentAnimationStart(u){switch(u.toState){case"visible":this.handleEvents("onBeforeShow",{overlay:this.overlayEl,target:this.targetEl,mode:this.overlayMode}),this.autoZIndex&&le.Q$.set(this.overlayMode,this.overlayEl,this.baseZIndex+this.config?.zIndex[this.overlayMode]),re.D.appendOverlay(this.overlayEl,"body"===this.appendTo?this.document.body:this.appendTo,this.appendTo),this.alignOverlay();break;case"void":this.handleEvents("onBeforeHide",{overlay:this.overlayEl,target:this.targetEl,mode:this.overlayMode}),this.modal&&re.D.addClass(this.overlayEl,"p-component-overlay-leave")}this.handleEvents("onAnimationStart",u)}onOverlayContentAnimationDone(u){const ie=this.overlayEl||u.element.parentElement;switch(u.toState){case"visible":this.show(ie,!0),this.bindListeners();break;case"void":this.hide(ie,!0),this.unbindListeners(),re.D.appendOverlay(this.overlayEl,this.targetEl,this.appendTo),le.Q$.clear(ie),this.modalVisible=!1,this.cd.markForCheck()}this.handleEvents("onAnimationDone",u)}handleEvents(u,ie){this[u].emit(ie),this.options&&this.options[u]&&this.options[u](ie),this.config?.overlayOptions&&(this.config?.overlayOptions)[u]&&(this.config?.overlayOptions)[u](ie)}bindListeners(){this.bindScrollListener(),this.bindDocumentClickListener(),this.bindDocumentResizeListener(),this.bindDocumentKeyboardListener()}unbindListeners(){this.unbindScrollListener(),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindDocumentKeyboardListener()}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new re.b(this.targetEl,u=>{(!this.listener||this.listener(u,{type:"scroll",mode:this.overlayMode,valid:!0}))&&this.hide(u,!0)})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=this.renderer.listen(this.document,"click",u=>{const de=!(this.targetEl&&(this.targetEl.isSameNode(u.target)||!this.isOverlayClicked&&this.targetEl.contains(u.target))||this.isOverlayContentClicked);(this.listener?this.listener(u,{type:"outside",mode:this.overlayMode,valid:3!==u.which&&de}):de)&&this.hide(u),this.isOverlayClicked=this.isOverlayContentClicked=!1}))}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)}bindDocumentResizeListener(){this.documentResizeListener||(this.documentResizeListener=this.renderer.listen(this.window,"resize",u=>{(this.listener?this.listener(u,{type:"resize",mode:this.overlayMode,valid:!re.D.isTouchDevice()}):!re.D.isTouchDevice())&&this.hide(u,!0)}))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindDocumentKeyboardListener(){this.documentKeyboardListener||this.zone.runOutsideAngular(()=>{this.documentKeyboardListener=this.renderer.listen(this.window,"keydown",u=>{!1!==this.overlayOptions.hideOnEscape&&"Escape"===u.code&&(this.listener?this.listener(u,{type:"keydown",mode:this.overlayMode,valid:!re.D.isTouchDevice()}):!re.D.isTouchDevice())&&this.zone.run(()=>{this.hide(u,!0)})})})}unbindDocumentKeyboardListener(){this.documentKeyboardListener&&(this.documentKeyboardListener(),this.documentKeyboardListener=null)}ngOnDestroy(){this.hide(this.overlayEl,!0),this.overlayEl&&(re.D.appendOverlay(this.overlayEl,this.targetEl,this.appendTo),le.Q$.clear(this.overlayEl)),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.unbindListeners()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.Agw),e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(Le.r1),e.rXU(Le.si),e.rXU(e.gRc),e.rXU(e.SKi))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-overlay"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(tn,5),e.GBs(gn,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.overlayViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.contentViewChild=Ae.first)}},hostAttrs:[1,"p-element"],inputs:{visible:"visible",mode:"mode",style:"style",styleClass:"styleClass",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",target:"target",appendTo:"appendTo",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",listener:"listener",responsive:"responsive",options:"options"},outputs:{visibleChange:"visibleChange",onBeforeShow:"onBeforeShow",onShow:"onShow",onBeforeHide:"onBeforeHide",onHide:"onHide",onAnimationStart:"onAnimationStart",onAnimationDone:"onAnimationDone"},features:[e.Jv_([Na])],ngContentSelectors:cs,decls:1,vars:1,consts:[["overlay",""],["content",""],[3,"ngStyle","class","ngClass","click",4,"ngIf"],[3,"click","ngStyle","ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ie,de){1&ie&&(e.NAR(),e.DNE(0,ln,3,20,"div",2)),2&ie&&e.Y8G("ngIf",de.modalVisible)},dependencies:[M.YU,M.bT,M.T3,M.B3],styles:["@layer primeng{.p-overlay{position:absolute;top:0;left:0}.p-overlay-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%}.p-overlay-content{transform-origin:inherit}.p-overlay-modal>.p-overlay-content{z-index:1;width:90%}.p-overlay-top{align-items:flex-start}.p-overlay-top-start{align-items:flex-start;justify-content:flex-start}.p-overlay-top-end{align-items:flex-start;justify-content:flex-end}.p-overlay-bottom{align-items:flex-end}.p-overlay-bottom-start{align-items:flex-end;justify-content:flex-start}.p-overlay-bottom-end{align-items:flex-end;justify-content:flex-end}.p-overlay-left{justify-content:flex-start}.p-overlay-left-start{justify-content:flex-start;align-items:flex-start}.p-overlay-left-end{justify-content:flex-start;align-items:flex-end}.p-overlay-right{justify-content:flex-end}.p-overlay-right-start{justify-content:flex-end;align-items:flex-start}.p-overlay-right-end{justify-content:flex-end;align-items:flex-end}}\n"],encapsulation:2,data:{animation:[(0,ne.hZ)("overlayContentAnimation",[(0,ne.kY)(":enter",[(0,ne.sM)(lr)]),(0,ne.kY)(":leave",[(0,ne.sM)(Fa)])])]},changeDetection:0})}return ye})(),ja=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Le.Gg,Le.Gg]})}return ye})();var go=We(38757);const wn=["element"],Va=["content"],za=["*"],$s=(ye,et,u)=>({"p-scroller":!0,"p-scroller-inline":ye,"p-both-scroll":et,"p-horizontal-scroll":u}),ha=(ye,et)=>({$implicit:ye,options:et}),Rl=ye=>({"p-scroller-loading":ye}),Nl=ye=>({"p-component-overlay":ye}),wr=ye=>({numCols:ye}),Jr=ye=>({options:ye}),Xo=()=>({styleClass:"p-scroller-loading-icon"}),Fl=(ye,et)=>({rows:ye,columns:et});function mo(ye,et){1&ye&&e.eu8(0)}function da(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,mo,1,0,"ng-container",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.contentTemplate)("ngTemplateOutletContext",e.l_i(2,ha,u.loadedItems,u.getContentOptions()))}}function Ga(ye,et){1&ye&&e.eu8(0)}function Tr(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Ga,1,0,"ng-container",10),e.bVm()),2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",de.itemTemplate)("ngTemplateOutletContext",e.l_i(2,ha,u,de.getOptions(ie)))}}function fr(ye,et){if(1&ye&&(e.j41(0,"div",11,3),e.DNE(2,Tr,2,5,"ng-container",12),e.k0s()),2&ye){const u=e.XpG(2);e.Y8G("ngClass",e.eq3(5,Rl,u.d_loading))("ngStyle",u.contentStyle),e.BMQ("data-pc-section","content"),e.R7$(2),e.Y8G("ngForOf",u.loadedItems)("ngForTrackBy",u._trackBy||u.index)}}function tr(ye,et){if(1&ye&&e.nrm(0,"div",13),2&ye){const u=e.XpG(2);e.Y8G("ngStyle",u.spacerStyle),e.BMQ("data-pc-section","spacer")}}function Ha(ye,et){1&ye&&e.eu8(0)}function Es(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Ha,1,0,"ng-container",10),e.bVm()),2&ye){const u=et.index,ie=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",ie.loaderTemplate)("ngTemplateOutletContext",e.eq3(4,Jr,ie.getLoaderOptions(u,ie.both&&e.eq3(2,wr,ie._numItemsInViewport.cols))))}}function ir(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Es,2,6,"ng-container",15),e.bVm()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngForOf",u.loaderArr)}}function $i(ye,et){1&ye&&e.eu8(0)}function Ar(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,$i,1,0,"ng-container",10),e.bVm()),2&ye){const u=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",u.loaderIconTemplate)("ngTemplateOutletContext",e.eq3(3,Jr,e.lJ4(2,Xo)))}}function So(ye,et){1&ye&&e.nrm(0,"SpinnerIcon",16),2&ye&&(e.Y8G("styleClass","p-scroller-loading-icon pi-spin"),e.BMQ("data-pc-section","loadingIcon"))}function Yo(ye,et){if(1&ye&&e.DNE(0,Ar,2,5,"ng-container",6)(1,So,1,2,"ng-template",null,5,e.C5r),2&ye){const u=e.sdS(2),ie=e.XpG(3);e.Y8G("ngIf",ie.loaderIconTemplate)("ngIfElse",u)}}function ko(ye,et){if(1&ye&&(e.j41(0,"div",14),e.DNE(1,ir,2,1,"ng-container",6)(2,Yo,3,2,"ng-template",null,4,e.C5r),e.k0s()),2&ye){const u=e.sdS(3),ie=e.XpG(2);e.Y8G("ngClass",e.eq3(4,Nl,!ie.loaderTemplate)),e.BMQ("data-pc-section","loader"),e.R7$(),e.Y8G("ngIf",ie.loaderTemplate)("ngIfElse",u)}}function ua(ye,et){if(1&ye){const u=e.RV6();e.qex(0),e.j41(1,"div",7,1),e.bIt("scroll",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onContainerScroll(de))}),e.DNE(3,da,2,5,"ng-container",6)(4,fr,3,7,"ng-template",null,2,e.C5r)(6,tr,1,2,"div",8)(7,ko,4,6,"div",9),e.k0s(),e.bVm()}if(2&ye){const u=e.sdS(5),ie=e.XpG();e.R7$(),e.HbH(ie._styleClass),e.Y8G("ngStyle",ie._style)("ngClass",e.sMw(12,$s,ie.inline,ie.both,ie.horizontal)),e.BMQ("id",ie._id)("tabindex",ie.tabindex)("data-pc-name","scroller")("data-pc-section","root"),e.R7$(2),e.Y8G("ngIf",ie.contentTemplate)("ngIfElse",u),e.R7$(3),e.Y8G("ngIf",ie._showSpacer),e.R7$(),e.Y8G("ngIf",!ie.loaderDisabled&&ie._showLoader&&ie.d_loading)}}function pa(ye,et){1&ye&&e.eu8(0)}function fa(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,pa,1,0,"ng-container",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.contentTemplate)("ngTemplateOutletContext",e.l_i(5,ha,u.items,e.l_i(2,Fl,u._items,u.loadedColumns)))}}function Qs(ye,et){if(1&ye&&(e.SdG(0),e.DNE(1,fa,2,8,"ng-container",17)),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.contentTemplate)}}let ga=(()=>{class ye{document;platformId;renderer;cd;zone;get id(){return this._id}set id(u){this._id=u}get style(){return this._style}set style(u){this._style=u}get styleClass(){return this._styleClass}set styleClass(u){this._styleClass=u}get tabindex(){return this._tabindex}set tabindex(u){this._tabindex=u}get items(){return this._items}set items(u){this._items=u}get itemSize(){return this._itemSize}set itemSize(u){this._itemSize=u}get scrollHeight(){return this._scrollHeight}set scrollHeight(u){this._scrollHeight=u}get scrollWidth(){return this._scrollWidth}set scrollWidth(u){this._scrollWidth=u}get orientation(){return this._orientation}set orientation(u){this._orientation=u}get step(){return this._step}set step(u){this._step=u}get delay(){return this._delay}set delay(u){this._delay=u}get resizeDelay(){return this._resizeDelay}set resizeDelay(u){this._resizeDelay=u}get appendOnly(){return this._appendOnly}set appendOnly(u){this._appendOnly=u}get inline(){return this._inline}set inline(u){this._inline=u}get lazy(){return this._lazy}set lazy(u){this._lazy=u}get disabled(){return this._disabled}set disabled(u){this._disabled=u}get loaderDisabled(){return this._loaderDisabled}set loaderDisabled(u){this._loaderDisabled=u}get columns(){return this._columns}set columns(u){this._columns=u}get showSpacer(){return this._showSpacer}set showSpacer(u){this._showSpacer=u}get showLoader(){return this._showLoader}set showLoader(u){this._showLoader=u}get numToleratedItems(){return this._numToleratedItems}set numToleratedItems(u){this._numToleratedItems=u}get loading(){return this._loading}set loading(u){this._loading=u}get autoSize(){return this._autoSize}set autoSize(u){this._autoSize=u}get trackBy(){return this._trackBy}set trackBy(u){this._trackBy=u}get options(){return this._options}set options(u){this._options=u,u&&"object"==typeof u&&Object.entries(u).forEach(([ie,de])=>this[`_${ie}`]!==de&&(this[`_${ie}`]=de))}onLazyLoad=new e.bkB;onScroll=new e.bkB;onScrollIndexChange=new e.bkB;elementViewChild;contentViewChild;templates;_id;_style;_styleClass;_tabindex=0;_items;_itemSize=0;_scrollHeight;_scrollWidth;_orientation="vertical";_step=0;_delay=0;_resizeDelay=10;_appendOnly=!1;_inline=!1;_lazy=!1;_disabled=!1;_loaderDisabled=!1;_columns;_showSpacer=!0;_showLoader=!1;_numToleratedItems;_loading;_autoSize=!1;_trackBy;_options;d_loading=!1;d_numToleratedItems;contentEl;contentTemplate;itemTemplate;loaderTemplate;loaderIconTemplate;first=0;last=0;page=0;isRangeChanged=!1;numItemsInViewport=0;lastScrollPos=0;lazyLoadState={};loaderArr=[];spacerStyle={};contentStyle={};scrollTimeout;resizeTimeout;initialized=!1;windowResizeListener;defaultWidth;defaultHeight;defaultContentWidth;defaultContentHeight;get vertical(){return"vertical"===this._orientation}get horizontal(){return"horizontal"===this._orientation}get both(){return"both"===this._orientation}get loadedItems(){return this._items&&!this.d_loading?this.both?this._items.slice(this._appendOnly?0:this.first.rows,this.last.rows).map(u=>this._columns?u:u.slice(this._appendOnly?0:this.first.cols,this.last.cols)):this.horizontal&&this._columns?this._items:this._items.slice(this._appendOnly?0:this.first,this.last):[]}get loadedRows(){return this.d_loading?this._loaderDisabled?this.loaderArr:[]:this.loadedItems}get loadedColumns(){return this._columns&&(this.both||this.horizontal)?this.d_loading&&this._loaderDisabled?this.both?this.loaderArr[0]:this.loaderArr:this._columns.slice(this.both?this.first.cols:this.first,this.both?this.last.cols:this.last):this._columns}constructor(u,ie,de,Ae,nt){this.document=u,this.platformId=ie,this.renderer=de,this.cd=Ae,this.zone=nt}ngOnInit(){this.setInitialState()}ngOnChanges(u){let ie=!1;if(u.loading){const{previousValue:de,currentValue:Ae}=u.loading;this.lazy&&de!==Ae&&Ae!==this.d_loading&&(this.d_loading=Ae,ie=!0)}if(u.orientation&&(this.lastScrollPos=this.both?{top:0,left:0}:0),u.numToleratedItems){const{previousValue:de,currentValue:Ae}=u.numToleratedItems;de!==Ae&&Ae!==this.d_numToleratedItems&&(this.d_numToleratedItems=Ae)}if(u.options){const{previousValue:de,currentValue:Ae}=u.options;this.lazy&&de?.loading!==Ae?.loading&&Ae?.loading!==this.d_loading&&(this.d_loading=Ae.loading,ie=!0),de?.numToleratedItems!==Ae?.numToleratedItems&&Ae?.numToleratedItems!==this.d_numToleratedItems&&(this.d_numToleratedItems=Ae.numToleratedItems)}this.initialized&&!ie&&(u.items?.previousValue?.length!==u.items?.currentValue?.length||u.itemSize||u.scrollHeight||u.scrollWidth)&&(this.init(),this.calculateAutoSize())}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"content":this.contentTemplate=u.template;break;case"item":default:this.itemTemplate=u.template;break;case"loader":this.loaderTemplate=u.template;break;case"loadericon":this.loaderIconTemplate=u.template}})}ngAfterViewInit(){Promise.resolve().then(()=>{this.viewInit()})}ngAfterViewChecked(){this.initialized||this.viewInit()}ngOnDestroy(){this.unbindResizeListener(),this.contentEl=null,this.initialized=!1}viewInit(){(0,M.UE)(this.platformId)&&re.D.isVisible(this.elementViewChild?.nativeElement)&&(this.setInitialState(),this.setContentEl(this.contentEl),this.init(),this.defaultWidth=re.D.getWidth(this.elementViewChild?.nativeElement),this.defaultHeight=re.D.getHeight(this.elementViewChild?.nativeElement),this.defaultContentWidth=re.D.getWidth(this.contentEl),this.defaultContentHeight=re.D.getHeight(this.contentEl),this.initialized=!0)}init(){this._disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize(),this.bindResizeListener(),this.cd.detectChanges())}setContentEl(u){this.contentEl=u||this.contentViewChild?.nativeElement||re.D.findSingle(this.elementViewChild?.nativeElement,".p-scroller-content")}setInitialState(){this.first=this.both?{rows:0,cols:0}:0,this.last=this.both?{rows:0,cols:0}:0,this.numItemsInViewport=this.both?{rows:0,cols:0}:0,this.lastScrollPos=this.both?{top:0,left:0}:0,this.d_loading=this._loading||!1,this.d_numToleratedItems=this._numToleratedItems,this.loaderArr=[],this.spacerStyle={},this.contentStyle={}}getElementRef(){return this.elementViewChild}getPageByFirst(u){return Math.floor(((u??this.first)+4*this.d_numToleratedItems)/(this._step||1))}isPageChanged(u){return!this._step||this.page!==this.getPageByFirst(u??this.first)}scrollTo(u){this.elementViewChild?.nativeElement?.scrollTo(u)}scrollToIndex(u,ie="auto"){if(this.both?u.every(Ae=>Ae>-1):u>-1){const Ae=this.first,{scrollTop:nt=0,scrollLeft:kt=0}=this.elementViewChild?.nativeElement,{numToleratedItems:zt}=this.calculateNumItems(),ai=this.getContentPosition(),oi=this.itemSize,Li=(Jn=0,Ms)=>Jn<=Ms?0:Jn,Yi=(Jn,Ms,Zs)=>Jn*Ms+Zs,Xi=(Jn=0,Ms=0)=>this.scrollTo({left:Jn,top:Ms,behavior:ie});let Ji=this.both?{rows:0,cols:0}:0,_n=!1,en=!1;this.both?(Ji={rows:Li(u[0],zt[0]),cols:Li(u[1],zt[1])},Xi(Yi(Ji.cols,oi[1],ai.left),Yi(Ji.rows,oi[0],ai.top)),en=this.lastScrollPos.top!==nt||this.lastScrollPos.left!==kt,_n=Ji.rows!==Ae.rows||Ji.cols!==Ae.cols):(Ji=Li(u,zt),this.horizontal?Xi(Yi(Ji,oi,ai.left),nt):Xi(kt,Yi(Ji,oi,ai.top)),en=this.lastScrollPos!==(this.horizontal?kt:nt),_n=Ji!==Ae),this.isRangeChanged=_n,en&&(this.first=Ji)}}scrollInView(u,ie,de="auto"){if(ie){const{first:Ae,viewport:nt}=this.getRenderedRange(),kt=(oi=0,Li=0)=>this.scrollTo({left:oi,top:Li,behavior:de}),ai="to-end"===ie;if("to-start"===ie){if(this.both)nt.first.rows-Ae.rows>u[0]?kt(nt.first.cols*this._itemSize[1],(nt.first.rows-1)*this._itemSize[0]):nt.first.cols-Ae.cols>u[1]&&kt((nt.first.cols-1)*this._itemSize[1],nt.first.rows*this._itemSize[0]);else if(nt.first-Ae>u){const oi=(nt.first-1)*this._itemSize;this.horizontal?kt(oi,0):kt(0,oi)}}else if(ai)if(this.both)nt.last.rows-Ae.rows<=u[0]+1?kt(nt.first.cols*this._itemSize[1],(nt.first.rows+1)*this._itemSize[0]):nt.last.cols-Ae.cols<=u[1]+1&&kt((nt.first.cols+1)*this._itemSize[1],nt.first.rows*this._itemSize[0]);else if(nt.last-Ae<=u+1){const oi=(nt.first+1)*this._itemSize;this.horizontal?kt(oi,0):kt(0,oi)}}else this.scrollToIndex(u,de)}getRenderedRange(){const u=(Ae,nt)=>Math.floor(Ae/(nt||Ae));let ie=this.first,de=0;if(this.elementViewChild?.nativeElement){const{scrollTop:Ae,scrollLeft:nt}=this.elementViewChild.nativeElement;this.both?(ie={rows:u(Ae,this._itemSize[0]),cols:u(nt,this._itemSize[1])},de={rows:ie.rows+this.numItemsInViewport.rows,cols:ie.cols+this.numItemsInViewport.cols}):(ie=u(this.horizontal?nt:Ae,this._itemSize),de=ie+this.numItemsInViewport)}return{first:this.first,last:this.last,viewport:{first:ie,last:de}}}calculateNumItems(){const u=this.getContentPosition(),ie=(this.elementViewChild?.nativeElement?this.elementViewChild.nativeElement.offsetWidth-u.left:0)||0,de=(this.elementViewChild?.nativeElement?this.elementViewChild.nativeElement.offsetHeight-u.top:0)||0,Ae=(ai,oi)=>Math.ceil(ai/(oi||ai)),nt=ai=>Math.ceil(ai/2),kt=this.both?{rows:Ae(de,this._itemSize[0]),cols:Ae(ie,this._itemSize[1])}:Ae(this.horizontal?ie:de,this._itemSize);return{numItemsInViewport:kt,numToleratedItems:this.d_numToleratedItems||(this.both?[nt(kt.rows),nt(kt.cols)]:nt(kt))}}calculateOptions(){const{numItemsInViewport:u,numToleratedItems:ie}=this.calculateNumItems(),de=(kt,zt,ai,oi=!1)=>this.getLast(kt+zt+(ktArray.from({length:u.cols})):Array.from({length:u})),this._lazy&&Promise.resolve().then(()=>{this.lazyLoadState={first:this._step?this.both?{rows:0,cols:Ae.cols}:0:Ae,last:Math.min(this._step?this._step:this.last,this.items.length)},this.handleEvents("onLazyLoad",this.lazyLoadState)})}calculateAutoSize(){this._autoSize&&!this.d_loading&&Promise.resolve().then(()=>{if(this.contentEl){this.contentEl.style.minHeight=this.contentEl.style.minWidth="auto",this.contentEl.style.position="relative",this.elementViewChild.nativeElement.style.contain="none";const[u,ie]=[re.D.getWidth(this.contentEl),re.D.getHeight(this.contentEl)];u!==this.defaultContentWidth&&(this.elementViewChild.nativeElement.style.width=""),ie!==this.defaultContentHeight&&(this.elementViewChild.nativeElement.style.height="");const[de,Ae]=[re.D.getWidth(this.elementViewChild.nativeElement),re.D.getHeight(this.elementViewChild.nativeElement)];(this.both||this.horizontal)&&(this.elementViewChild.nativeElement.style.width=dethis.elementViewChild.nativeElement.style[nt]=kt;this.both||this.horizontal?(Ae("height",de),Ae("width",ie)):Ae("height",de)}}setSpacerSize(){if(this._items){const u=this.getContentPosition(),ie=(de,Ae,nt,kt=0)=>this.spacerStyle={...this.spacerStyle,[`${de}`]:(Ae||[]).length*nt+kt+"px"};this.both?(ie("height",this._items,this._itemSize[0],u.y),ie("width",this._columns||this._items[1],this._itemSize[1],u.x)):this.horizontal?ie("width",this._columns||this._items,this._itemSize,u.x):ie("height",this._items,this._itemSize,u.y)}}setContentPosition(u){if(this.contentEl&&!this._appendOnly){const ie=u?u.first:this.first,de=(nt,kt)=>nt*kt,Ae=(nt=0,kt=0)=>this.contentStyle={...this.contentStyle,transform:`translate3d(${nt}px, ${kt}px, 0)`};if(this.both)Ae(de(ie.cols,this._itemSize[1]),de(ie.rows,this._itemSize[0]));else{const nt=de(ie,this._itemSize);this.horizontal?Ae(nt,0):Ae(0,nt)}}}onScrollPositionChange(u){const ie=u.target,de=this.getContentPosition(),Ae=(en,Jn)=>en?en>Jn?en-Jn:en:0,nt=(en,Jn)=>Math.floor(en/(Jn||en)),kt=(en,Jn,Ms,Zs,dr,ho)=>en<=dr?dr:ho?Ms-Zs-dr:Jn+dr-1,zt=(en,Jn,Ms,Zs,dr,ho,sr)=>en<=ho?0:Math.max(0,sr?enJn?Ms:en-2*ho),ai=(en,Jn,Ms,Zs,dr,ho=!1)=>{let sr=Jn+Zs+2*dr;return en>=dr&&(sr+=dr+1),this.getLast(sr,ho)},oi=Ae(ie.scrollTop,de.top),Li=Ae(ie.scrollLeft,de.left);let Yi=this.both?{rows:0,cols:0}:0,Xi=this.last,Ji=!1,_n=this.lastScrollPos;if(this.both){const en=this.lastScrollPos.top<=oi,Jn=this.lastScrollPos.left<=Li;if(!this._appendOnly||this._appendOnly&&(en||Jn)){const Ms={rows:nt(oi,this._itemSize[0]),cols:nt(Li,this._itemSize[1])},Zs={rows:kt(Ms.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],en),cols:kt(Ms.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],Jn)};Yi={rows:zt(Ms.rows,Zs.rows,this.first.rows,0,0,this.d_numToleratedItems[0],en),cols:zt(Ms.cols,Zs.cols,this.first.cols,0,0,this.d_numToleratedItems[1],Jn)},Xi={rows:ai(Ms.rows,Yi.rows,0,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:ai(Ms.cols,Yi.cols,0,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},Ji=Yi.rows!==this.first.rows||Xi.rows!==this.last.rows||Yi.cols!==this.first.cols||Xi.cols!==this.last.cols||this.isRangeChanged,_n={top:oi,left:Li}}}else{const en=this.horizontal?Li:oi,Jn=this.lastScrollPos<=en;if(!this._appendOnly||this._appendOnly&&Jn){const Ms=nt(en,this._itemSize);Yi=zt(Ms,kt(Ms,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,Jn),this.first,0,0,this.d_numToleratedItems,Jn),Xi=ai(Ms,Yi,0,this.numItemsInViewport,this.d_numToleratedItems),Ji=Yi!==this.first||Xi!==this.last||this.isRangeChanged,_n=en}}return{first:Yi,last:Xi,isRangeChanged:Ji,scrollPos:_n}}onScrollChange(u){const{first:ie,last:de,isRangeChanged:Ae,scrollPos:nt}=this.onScrollPositionChange(u);if(Ae){const kt={first:ie,last:de};if(this.setContentPosition(kt),this.first=ie,this.last=de,this.lastScrollPos=nt,this.handleEvents("onScrollIndexChange",kt),this._lazy&&this.isPageChanged(ie)){const zt={first:this._step?Math.min(this.getPageByFirst(ie)*this._step,this.items.length-this._step):ie,last:Math.min(this._step?(this.getPageByFirst(ie)+1)*this._step:de,this.items.length)};(this.lazyLoadState.first!==zt.first||this.lazyLoadState.last!==zt.last)&&this.handleEvents("onLazyLoad",zt),this.lazyLoadState=zt}}}onContainerScroll(u){if(this.handleEvents("onScroll",{originalEvent:u}),this._delay&&this.isPageChanged()){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:ie}=this.onScrollPositionChange(u);(ie||this._step&&this.isPageChanged())&&(this.d_loading=!0,this.cd.detectChanges())}this.scrollTimeout=setTimeout(()=>{this.onScrollChange(u),this.d_loading&&this.showLoader&&(!this._lazy||void 0===this._loading)&&(this.d_loading=!1,this.page=this.getPageByFirst(),this.cd.detectChanges())},this._delay)}else!this.d_loading&&this.onScrollChange(u)}bindResizeListener(){(0,M.UE)(this.platformId)&&(this.windowResizeListener||this.zone.runOutsideAngular(()=>{const u=this.document.defaultView,ie=re.D.isTouchDevice()?"orientationchange":"resize";this.windowResizeListener=this.renderer.listen(u,ie,this.onWindowResize.bind(this))}))}unbindResizeListener(){this.windowResizeListener&&(this.windowResizeListener(),this.windowResizeListener=null)}onWindowResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{if(re.D.isVisible(this.elementViewChild?.nativeElement)){const[u,ie]=[re.D.getWidth(this.elementViewChild?.nativeElement),re.D.getHeight(this.elementViewChild?.nativeElement)],[de,Ae]=[u!==this.defaultWidth,ie!==this.defaultHeight];(this.both?de||Ae:this.horizontal?de:this.vertical&&Ae)&&this.zone.run(()=>{this.d_numToleratedItems=this._numToleratedItems,this.defaultWidth=u,this.defaultHeight=ie,this.defaultContentWidth=re.D.getWidth(this.contentEl),this.defaultContentHeight=re.D.getHeight(this.contentEl),this.init()})}},this._resizeDelay)}handleEvents(u,ie){return this.options&&this.options[u]?this.options[u](ie):this[u].emit(ie)}getContentOptions(){return{contentStyleClass:"p-scroller-content "+(this.d_loading?"p-scroller-loading":""),items:this.loadedItems,getItemOptions:u=>this.getOptions(u),loading:this.d_loading,getLoaderOptions:(u,ie)=>this.getLoaderOptions(u,ie),itemSize:this._itemSize,rows:this.loadedRows,columns:this.loadedColumns,spacerStyle:this.spacerStyle,contentStyle:this.contentStyle,vertical:this.vertical,horizontal:this.horizontal,both:this.both}}getOptions(u){const ie=(this._items||[]).length,de=this.both?this.first.rows+u:this.first+u;return{index:de,count:ie,first:0===de,last:de===ie-1,even:de%2==0,odd:de%2!=0}}getLoaderOptions(u,ie){const de=this.loaderArr.length;return{index:u,count:de,first:0===u,last:u===de-1,even:u%2==0,odd:u%2!=0,...ie}}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.Agw),e.rXU(e.sFG),e.rXU(e.gRc),e.rXU(e.SKi))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-scroller"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(wn,5),e.GBs(Va,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.elementViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.contentViewChild=Ae.first)}},hostAttrs:[1,"p-scroller-viewport","p-element"],inputs:{id:"id",style:"style",styleClass:"styleClass",tabindex:"tabindex",items:"items",itemSize:"itemSize",scrollHeight:"scrollHeight",scrollWidth:"scrollWidth",orientation:"orientation",step:"step",delay:"delay",resizeDelay:"resizeDelay",appendOnly:"appendOnly",inline:"inline",lazy:"lazy",disabled:"disabled",loaderDisabled:"loaderDisabled",columns:"columns",showSpacer:"showSpacer",showLoader:"showLoader",numToleratedItems:"numToleratedItems",loading:"loading",autoSize:"autoSize",trackBy:"trackBy",options:"options"},outputs:{onLazyLoad:"onLazyLoad",onScroll:"onScroll",onScrollIndexChange:"onScrollIndexChange"},features:[e.OA$],ngContentSelectors:za,decls:3,vars:2,consts:[["disabledContainer",""],["element",""],["buildInContent",""],["content",""],["buildInLoader",""],["buildInLoaderIcon",""],[4,"ngIf","ngIfElse"],[3,"scroll","ngStyle","ngClass"],["class","p-scroller-spacer",3,"ngStyle",4,"ngIf"],["class","p-scroller-loader",3,"ngClass",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-scroller-content",3,"ngClass","ngStyle"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"p-scroller-spacer",3,"ngStyle"],[1,"p-scroller-loader",3,"ngClass"],[4,"ngFor","ngForOf"],[3,"styleClass"],[4,"ngIf"]],template:function(ie,de){if(1&ie&&(e.NAR(),e.DNE(0,ua,8,16,"ng-container",6)(1,Qs,2,1,"ng-template",null,0,e.C5r)),2&ie){const Ae=e.sdS(2);e.Y8G("ngIf",!de._disabled)("ngIfElse",Ae)}},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,go.N],styles:["@layer primeng{p-scroller{flex:1;outline:0 none}.p-scroller{position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;outline:0 none}.p-scroller-content{position:absolute;top:0;left:0;min-height:100%;min-width:100%;will-change:transform}.p-scroller-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0;pointer-events:none}.p-scroller-loader{position:sticky;top:0;left:0;width:100%;height:100%}.p-scroller-loader.p-component-overlay{display:flex;align-items:center;justify-content:center}.p-scroller-loading-icon{scale:2}.p-scroller-inline .p-scroller-content{position:static}}\n"],encapsulation:2})}return ye})(),eo=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Le.Gg,go.N,Le.Gg]})}return ye})(),ma=(()=>{class ye{platformId;el;zone;config;renderer;viewContainer;tooltipPosition;tooltipEvent="hover";appendTo;positionStyle;tooltipStyleClass;tooltipZIndex;escape=!0;showDelay;hideDelay;life;positionTop;positionLeft;autoHide=!0;fitContent=!0;hideOnEscape=!0;content;get disabled(){return this._disabled}set disabled(u){this._disabled=u,this.deactivate()}tooltipOptions;_tooltipOptions={tooltipLabel:null,tooltipPosition:"right",tooltipEvent:"hover",appendTo:"body",positionStyle:null,tooltipStyleClass:null,tooltipZIndex:"auto",escape:!0,disabled:null,showDelay:null,hideDelay:null,positionTop:null,positionLeft:null,life:null,autoHide:!0,hideOnEscape:!0,id:(0,le._Y)()+"_tooltip"};_disabled;container;styleClass;tooltipText;showTimeout;hideTimeout;active;mouseEnterListener;mouseLeaveListener;containerMouseleaveListener;clickListener;focusListener;blurListener;scrollHandler;resizeListener;constructor(u,ie,de,Ae,nt,kt){this.platformId=u,this.el=ie,this.zone=de,this.config=Ae,this.renderer=nt,this.viewContainer=kt}ngAfterViewInit(){(0,M.UE)(this.platformId)&&this.zone.runOutsideAngular(()=>{if("hover"===this.getOption("tooltipEvent"))this.mouseEnterListener=this.onMouseEnter.bind(this),this.mouseLeaveListener=this.onMouseLeave.bind(this),this.clickListener=this.onInputClick.bind(this),this.el.nativeElement.addEventListener("mouseenter",this.mouseEnterListener),this.el.nativeElement.addEventListener("click",this.clickListener),this.el.nativeElement.addEventListener("mouseleave",this.mouseLeaveListener);else if("focus"===this.getOption("tooltipEvent")){this.focusListener=this.onFocus.bind(this),this.blurListener=this.onBlur.bind(this);let u=this.getTarget(this.el.nativeElement);u.addEventListener("focus",this.focusListener),u.addEventListener("blur",this.blurListener)}})}ngOnChanges(u){u.tooltipPosition&&this.setOption({tooltipPosition:u.tooltipPosition.currentValue}),u.tooltipEvent&&this.setOption({tooltipEvent:u.tooltipEvent.currentValue}),u.appendTo&&this.setOption({appendTo:u.appendTo.currentValue}),u.positionStyle&&this.setOption({positionStyle:u.positionStyle.currentValue}),u.tooltipStyleClass&&this.setOption({tooltipStyleClass:u.tooltipStyleClass.currentValue}),u.tooltipZIndex&&this.setOption({tooltipZIndex:u.tooltipZIndex.currentValue}),u.escape&&this.setOption({escape:u.escape.currentValue}),u.showDelay&&this.setOption({showDelay:u.showDelay.currentValue}),u.hideDelay&&this.setOption({hideDelay:u.hideDelay.currentValue}),u.life&&this.setOption({life:u.life.currentValue}),u.positionTop&&this.setOption({positionTop:u.positionTop.currentValue}),u.positionLeft&&this.setOption({positionLeft:u.positionLeft.currentValue}),u.disabled&&this.setOption({disabled:u.disabled.currentValue}),u.content&&(this.setOption({tooltipLabel:u.content.currentValue}),this.active&&(u.content.currentValue?this.container&&this.container.offsetParent?(this.updateText(),this.align()):this.show():this.hide())),u.autoHide&&this.setOption({autoHide:u.autoHide.currentValue}),u.id&&this.setOption({id:u.id.currentValue}),u.tooltipOptions&&(this._tooltipOptions={...this._tooltipOptions,...u.tooltipOptions.currentValue},this.deactivate(),this.active&&(this.getOption("tooltipLabel")?this.container&&this.container.offsetParent?(this.updateText(),this.align()):this.show():this.hide()))}isAutoHide(){return this.getOption("autoHide")}onMouseEnter(u){!this.container&&!this.showTimeout&&this.activate()}onMouseLeave(u){(this.isAutoHide()||!(re.D.hasClass(u.relatedTarget,"p-tooltip")||re.D.hasClass(u.relatedTarget,"p-tooltip-text")||re.D.hasClass(u.relatedTarget,"p-tooltip-arrow")))&&this.deactivate()}onFocus(u){this.activate()}onBlur(u){this.deactivate()}onInputClick(u){this.deactivate()}onPressEscape(){this.hideOnEscape&&this.deactivate()}activate(){if(this.active=!0,this.clearHideTimeout(),this.getOption("showDelay")?this.showTimeout=setTimeout(()=>{this.show()},this.getOption("showDelay")):this.show(),this.getOption("life")){let u=this.getOption("showDelay")?this.getOption("life")+this.getOption("showDelay"):this.getOption("life");this.hideTimeout=setTimeout(()=>{this.hide()},u)}}deactivate(){this.active=!1,this.clearShowTimeout(),this.getOption("hideDelay")?(this.clearHideTimeout(),this.hideTimeout=setTimeout(()=>{this.hide()},this.getOption("hideDelay"))):this.hide()}create(){this.container&&(this.clearHideTimeout(),this.remove()),this.container=document.createElement("div"),this.container.setAttribute("id",this.getOption("id")),this.container.setAttribute("role","tooltip");let u=document.createElement("div");u.className="p-tooltip-arrow",this.container.appendChild(u),this.tooltipText=document.createElement("div"),this.tooltipText.className="p-tooltip-text",this.updateText(),this.getOption("positionStyle")&&(this.container.style.position=this.getOption("positionStyle")),this.container.appendChild(this.tooltipText),"body"===this.getOption("appendTo")?document.body.appendChild(this.container):"target"===this.getOption("appendTo")?re.D.appendChild(this.container,this.el.nativeElement):re.D.appendChild(this.container,this.getOption("appendTo")),this.container.style.display="inline-block",this.fitContent&&(this.container.style.width="fit-content"),this.isAutoHide()?this.container.style.pointerEvents="none":(this.container.style.pointerEvents="unset",this.bindContainerMouseleaveListener())}bindContainerMouseleaveListener(){this.containerMouseleaveListener||(this.containerMouseleaveListener=this.renderer.listen(this.container??this.container.nativeElement,"mouseleave",ie=>{this.deactivate()}))}unbindContainerMouseleaveListener(){this.containerMouseleaveListener&&(this.bindContainerMouseleaveListener(),this.containerMouseleaveListener=null)}show(){!this.getOption("tooltipLabel")||this.getOption("disabled")||(this.create(),this.align(),re.D.fadeIn(this.container,250),"auto"===this.getOption("tooltipZIndex")?le.Q$.set("tooltip",this.container,this.config.zIndex.tooltip):this.container.style.zIndex=this.getOption("tooltipZIndex"),this.bindDocumentResizeListener(),this.bindScrollListener())}hide(){"auto"===this.getOption("tooltipZIndex")&&le.Q$.clear(this.container),this.remove()}updateText(){const u=this.getOption("tooltipLabel");if(u instanceof e.C4Q){const ie=this.viewContainer.createEmbeddedView(u);ie.detectChanges(),ie.rootNodes.forEach(de=>this.tooltipText.appendChild(de))}else this.getOption("escape")?(this.tooltipText.innerHTML="",this.tooltipText.appendChild(document.createTextNode(u))):this.tooltipText.innerHTML=u}align(){switch(this.getOption("tooltipPosition")){case"top":this.alignTop(),this.isOutOfBounds()&&(this.alignBottom(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&this.alignLeft()));break;case"bottom":this.alignBottom(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&this.alignLeft()));break;case"left":this.alignLeft(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&this.alignBottom()));break;case"right":this.alignRight(),this.isOutOfBounds()&&(this.alignLeft(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&this.alignBottom()))}}getHostOffset(){if("body"===this.getOption("appendTo")||"target"===this.getOption("appendTo")){let u=this.el.nativeElement.getBoundingClientRect();return{left:u.left+re.D.getWindowScrollLeft(),top:u.top+re.D.getWindowScrollTop()}}return{left:0,top:0}}alignRight(){this.preAlign("right");let u=this.getHostOffset(),ie=u.left+re.D.getOuterWidth(this.el.nativeElement),de=u.top+(re.D.getOuterHeight(this.el.nativeElement)-re.D.getOuterHeight(this.container))/2;this.container.style.left=ie+this.getOption("positionLeft")+"px",this.container.style.top=de+this.getOption("positionTop")+"px"}alignLeft(){this.preAlign("left");let u=this.getHostOffset(),ie=u.left-re.D.getOuterWidth(this.container),de=u.top+(re.D.getOuterHeight(this.el.nativeElement)-re.D.getOuterHeight(this.container))/2;this.container.style.left=ie+this.getOption("positionLeft")+"px",this.container.style.top=de+this.getOption("positionTop")+"px"}alignTop(){this.preAlign("top");let u=this.getHostOffset(),ie=u.left+(re.D.getOuterWidth(this.el.nativeElement)-re.D.getOuterWidth(this.container))/2,de=u.top-re.D.getOuterHeight(this.container);this.container.style.left=ie+this.getOption("positionLeft")+"px",this.container.style.top=de+this.getOption("positionTop")+"px"}alignBottom(){this.preAlign("bottom");let u=this.getHostOffset(),ie=u.left+(re.D.getOuterWidth(this.el.nativeElement)-re.D.getOuterWidth(this.container))/2,de=u.top+re.D.getOuterHeight(this.el.nativeElement);this.container.style.left=ie+this.getOption("positionLeft")+"px",this.container.style.top=de+this.getOption("positionTop")+"px"}setOption(u){this._tooltipOptions={...this._tooltipOptions,...u}}getOption(u){return this._tooltipOptions[u]}getTarget(u){return re.D.hasClass(u,"p-inputwrapper")?re.D.findSingle(u,"input"):u}preAlign(u){this.container.style.left="-999px",this.container.style.top="-999px";let ie="p-tooltip p-component p-tooltip-"+u;this.container.className=this.getOption("tooltipStyleClass")?ie+" "+this.getOption("tooltipStyleClass"):ie}isOutOfBounds(){let u=this.container.getBoundingClientRect(),ie=u.top,de=u.left,Ae=re.D.getOuterWidth(this.container),nt=re.D.getOuterHeight(this.container),kt=re.D.getViewport();return de+Ae>kt.width||de<0||ie<0||ie+nt>kt.height}onWindowResize(u){this.hide()}bindDocumentResizeListener(){this.zone.runOutsideAngular(()=>{this.resizeListener=this.onWindowResize.bind(this),window.addEventListener("resize",this.resizeListener)})}unbindDocumentResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new re.b(this.el.nativeElement,()=>{this.container&&this.hide()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}unbindEvents(){if("hover"===this.getOption("tooltipEvent"))this.el.nativeElement.removeEventListener("mouseenter",this.mouseEnterListener),this.el.nativeElement.removeEventListener("mouseleave",this.mouseLeaveListener),this.el.nativeElement.removeEventListener("click",this.clickListener);else if("focus"===this.getOption("tooltipEvent")){let u=this.getTarget(this.el.nativeElement);u.removeEventListener("focus",this.focusListener),u.removeEventListener("blur",this.blurListener)}this.unbindDocumentResizeListener()}remove(){this.container&&this.container.parentElement&&("body"===this.getOption("appendTo")?document.body.removeChild(this.container):"target"===this.getOption("appendTo")?this.el.nativeElement.removeChild(this.container):re.D.removeChild(this.container,this.getOption("appendTo"))),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.unbindContainerMouseleaveListener(),this.clearTimeouts(),this.container=null,this.scrollHandler=null}clearShowTimeout(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null)}clearHideTimeout(){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout()}ngOnDestroy(){this.unbindEvents(),this.container&&le.Q$.clear(this.container),this.remove(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null)}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.Agw),e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(Le.r1),e.rXU(e.sFG),e.rXU(e.c1b))};static \u0275dir=e.FsC({type:ye,selectors:[["","pTooltip",""]],hostAttrs:[1,"p-element"],hostBindings:function(ie,de){1&ie&&e.bIt("keydown.escape",function(nt){return de.onPressEscape(nt)},!1,e.EBC)},inputs:{tooltipPosition:"tooltipPosition",tooltipEvent:"tooltipEvent",appendTo:"appendTo",positionStyle:"positionStyle",tooltipStyleClass:"tooltipStyleClass",tooltipZIndex:"tooltipZIndex",escape:"escape",showDelay:"showDelay",hideDelay:"hideDelay",life:"life",positionTop:"positionTop",positionLeft:"positionLeft",autoHide:"autoHide",fitContent:"fitContent",hideOnEscape:"hideOnEscape",content:[e.Mj6.None,"pTooltip","content"],disabled:[e.Mj6.None,"tooltipDisabled","disabled"],tooltipOptions:"tooltipOptions"},features:[e.OA$]})}return ye})(),Ir=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD]})}return ye})(),cr=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["SearchIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M2.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})();const es=ye=>({height:ye}),$r=(ye,et,u)=>({"p-dropdown-item":!0,"p-highlight":ye,"p-disabled":et,"p-focus":u}),Ko=ye=>({$implicit:ye});function Do(ye,et){if(1&ye&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&ye){let u;const ie=e.XpG();e.R7$(),e.JRh(null!==(u=ie.label)&&void 0!==u?u:"empty")}}function Zo(ye,et){1&ye&&e.eu8(0)}const to=["container"],ba=["filter"],va=["focusInput"],Mo=["editableInput"],Js=["items"],bo=["scroller"],Eo=["overlay"],wh=["firstHiddenFocusableEl"],Lc=["lastHiddenFocusableEl"],Sr=ye=>({options:ye}),Dn=(ye,et)=>({$implicit:ye,options:et}),Ao=()=>({});function ya(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.JRh("p-emptylabel"===u.label()?"\xa0":u.label())}}function Io(ye,et){if(1&ye&&e.eu8(0,25),2&ye){const u=e.XpG(2);e.Y8G("ngTemplateOutlet",u.selectedItemTemplate)("ngTemplateOutletContext",e.eq3(2,Ko,u.selectedOption))}}function hr(ye,et){if(1&ye&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.JRh("p-emptylabel"===u.label()?"\xa0":u.placeholder())}}function ol(ye,et){if(1&ye&&e.DNE(0,hr,2,1,"span",17),2&ye){const u=e.XpG(2);e.Y8G("ngIf",u.displayPlaceholder())}}function Or(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",22,2),e.bIt("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputFocus(de))})("blur",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputBlur(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onKeyDown(de))}),e.DNE(2,ya,2,1,"ng-container",23)(3,Io,1,4,"ng-container",24)(4,ol,1,1,"ng-template",null,3,e.C5r),e.k0s()}if(2&ye){let u;const ie=e.sdS(5),de=e.XpG();e.Y8G("ngClass",de.inputClass)("pTooltip",de.tooltip)("tooltipPosition",de.tooltipPosition)("positionStyle",de.tooltipPositionStyle)("tooltipStyleClass",de.tooltipStyleClass)("autofocus",de.autofocus),e.BMQ("aria-disabled",de.disabled)("id",de.inputId)("aria-label",de.ariaLabel||("p-emptylabel"===de.label()?void 0:de.label()))("aria-labelledby",de.ariaLabelledBy)("aria-haspopup","listbox")("aria-expanded",null!==(u=de.overlayVisible)&&void 0!==u&&u)("aria-controls",de.overlayVisible?de.id+"_list":null)("tabindex",de.disabled?-1:de.tabindex)("aria-activedescendant",de.focused?de.focusedOptionId:void 0)("aria-required",de.required)("required",de.required),e.R7$(2),e.Y8G("ngIf",!de.selectedItemTemplate)("ngIfElse",ie),e.R7$(),e.Y8G("ngIf",de.selectedItemTemplate&&de.selectedOption)}}function cn(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"input",26,4),e.bIt("input",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onEditableInput(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onKeyDown(de))})("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputFocus(de))})("blur",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputBlur(de))}),e.k0s()}if(2&ye){const u=e.XpG();e.Y8G("ngClass",u.inputClass)("disabled",u.disabled),e.BMQ("maxlength",u.maxlength)("placeholder",void 0===u.modelValue()||null===u.modelValue()?u.placeholder():void 0)}}function Bl(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"TimesIcon",29),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.clear(de))}),e.k0s()}2&ye&&(e.Y8G("styleClass","p-dropdown-clear-icon"),e.BMQ("data-pc-section","clearicon"))}function Ua(ye,et){}function ot(ye,et){1&ye&&e.DNE(0,Ua,0,0,"ng-template")}function ct(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",30),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.clear(de))}),e.DNE(1,ot,1,0,null,31),e.k0s()}if(2&ye){const u=e.XpG(2);e.BMQ("data-pc-section","clearicon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.clearIconTemplate)}}function Ye(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Bl,1,2,"TimesIcon",27)(2,ct,2,2,"span",28),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",!u.clearIconTemplate),e.R7$(),e.Y8G("ngIf",u.clearIconTemplate)}}function vt(ye,et){if(1&ye&&e.nrm(0,"span",34),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.dropdownIcon)}}function Ft(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon",35),2&ye&&e.Y8G("styleClass","p-dropdown-trigger-icon")}function Fi(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,vt,1,1,"span",32)(2,Ft,1,1,"ChevronDownIcon",33),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.dropdownIcon),e.R7$(),e.Y8G("ngIf",!u.dropdownIcon)}}function mn(ye,et){}function io(ye,et){1&ye&&e.DNE(0,mn,0,0,"ng-template")}function nr(ye,et){if(1&ye&&(e.j41(0,"span",36),e.DNE(1,io,1,0,null,31),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dropdownIconTemplate)}}function Vs(ye,et){1&ye&&e.eu8(0)}function qo(ye,et){1&ye&&e.eu8(0)}function gr(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,qo,1,0,"ng-container",43),e.bVm()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.filterTemplate)("ngTemplateOutletContext",e.eq3(2,Sr,u.filterOptions))}}function ac(ye,et){1&ye&&e.nrm(0,"SearchIcon",35),2&ye&&e.Y8G("styleClass","p-dropdown-filter-icon")}function Mn(ye,et){}function jl(ye,et){1&ye&&e.DNE(0,Mn,0,0,"ng-template")}function lc(ye,et){if(1&ye&&(e.j41(0,"span",47),e.DNE(1,jl,1,0,null,31),e.k0s()),2&ye){const u=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",u.filterIconTemplate)}}function cc(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",44)(1,"input",45,9),e.bIt("input",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onFilterInputChange(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onFilterKeyDown(de))})("blur",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onFilterBlur(de))}),e.k0s(),e.DNE(3,ac,1,1,"SearchIcon",33)(4,lc,2,1,"span",46),e.k0s()}if(2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("value",u._filterValue()||""),e.BMQ("placeholder",u.filterPlaceholder)("aria-owns",u.id+"_list")("aria-label",u.ariaFilterLabel)("aria-activedescendant",u.focusedOptionId),e.R7$(2),e.Y8G("ngIf",!u.filterIconTemplate),e.R7$(),e.Y8G("ngIf",u.filterIconTemplate)}}function al(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",42),e.bIt("click",function(de){return e.eBV(u),e.Njj(de.stopPropagation())}),e.DNE(1,gr,2,4,"ng-container",23)(2,cc,5,7,"ng-template",null,8,e.C5r),e.k0s()}if(2&ye){const u=e.sdS(3),ie=e.XpG(2);e.R7$(),e.Y8G("ngIf",ie.filterTemplate)("ngIfElse",u)}}function ll(ye,et){1&ye&&e.eu8(0)}function ad(ye,et){if(1&ye&&e.DNE(0,ll,1,0,"ng-container",43),2&ye){const u=et.$implicit,ie=et.options;e.XpG(2);const de=e.sdS(9);e.Y8G("ngTemplateOutlet",de)("ngTemplateOutletContext",e.l_i(2,Dn,u,ie))}}function Vl(ye,et){1&ye&&e.eu8(0)}function hc(ye,et){if(1&ye&&e.DNE(0,Vl,1,0,"ng-container",43),2&ye){const u=et.options,ie=e.XpG(4);e.Y8G("ngTemplateOutlet",ie.loaderTemplate)("ngTemplateOutletContext",e.eq3(2,Sr,u))}}function zl(ye,et){1&ye&&(e.qex(0),e.DNE(1,hc,1,4,"ng-template",49),e.bVm())}function Oo(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-scroller",48,10),e.bIt("onLazyLoad",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onLazyLoad.emit(de))}),e.DNE(2,ad,1,5,"ng-template",21)(3,zl,2,0,"ng-container",17),e.k0s()}if(2&ye){const u=e.XpG(2);e.Aen(e.eq3(8,es,u.scrollHeight)),e.Y8G("items",u.visibleOptions())("itemSize",u.virtualScrollItemSize||u._itemSize)("autoSize",!0)("lazy",u.lazy)("options",u.virtualScrollOptions),e.R7$(3),e.Y8G("ngIf",u.loaderTemplate)}}function Gl(ye,et){1&ye&&e.eu8(0)}function vo(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Gl,1,0,"ng-container",43),e.bVm()),2&ye){e.XpG();const u=e.sdS(9),ie=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u)("ngTemplateOutletContext",e.l_i(3,Dn,ie.visibleOptions(),e.lJ4(2,Ao)))}}function Wa(ye,et){if(1&ye&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&ye){const u=e.XpG(2).$implicit,ie=e.XpG(3);e.R7$(),e.JRh(ie.getOptionGroupLabel(u.optionGroup))}}function pn(ye,et){1&ye&&e.eu8(0)}function vs(ye,et){if(1&ye&&(e.qex(0),e.j41(1,"li",53),e.DNE(2,Wa,2,1,"span",17)(3,pn,1,0,"ng-container",43),e.k0s(),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG().options,nt=e.XpG(2);e.R7$(),e.Y8G("ngStyle",e.eq3(5,es,Ae.itemSize+"px")),e.BMQ("id",nt.id+"_"+nt.getOptionIndex(de,Ae)),e.R7$(),e.Y8G("ngIf",!nt.groupTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",nt.groupTemplate)("ngTemplateOutletContext",e.eq3(7,Ko,ie.optionGroup))}}function fs(ye,et){if(1&ye){const u=e.RV6();e.qex(0),e.j41(1,"p-dropdownItem",54),e.bIt("onClick",function(de){e.eBV(u);const Ae=e.XpG().$implicit,nt=e.XpG(3);return e.Njj(nt.onOptionSelect(de,Ae))})("onMouseEnter",function(de){e.eBV(u);const Ae=e.XpG().index,nt=e.XpG().options,kt=e.XpG(2);return e.Njj(kt.onOptionMouseEnter(de,kt.getOptionIndex(Ae,nt)))}),e.k0s(),e.bVm()}if(2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG().options,nt=e.XpG(2);e.R7$(),e.Y8G("id",nt.id+"_"+nt.getOptionIndex(de,Ae))("option",ie)("selected",nt.isSelected(ie))("label",nt.getOptionLabel(ie))("disabled",nt.isOptionDisabled(ie))("template",nt.itemTemplate)("focused",nt.focusedOptionIndex()===nt.getOptionIndex(de,Ae))("ariaPosInset",nt.getAriaPosInset(nt.getOptionIndex(de,Ae)))("ariaSetSize",nt.ariaSetSize)}}function kr(ye,et){if(1&ye&&e.DNE(0,vs,4,9,"ng-container",17)(1,fs,2,9,"ng-container",17),2&ye){const u=et.$implicit,ie=e.XpG(3);e.Y8G("ngIf",ie.isOptionGroup(u)),e.R7$(),e.Y8G("ngIf",!ie.isOptionGroup(u))}}function er(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(4);e.R7$(),e.SpI(" ",u.emptyFilterMessageLabel," ")}}function Qo(ye,et){1&ye&&e.eu8(0,null,12)}function dc(ye,et){if(1&ye&&(e.j41(0,"li",55),e.DNE(1,er,2,1,"ng-container",23)(2,Qo,2,0,"ng-container",31),e.k0s()),2&ye){const u=e.XpG().options,ie=e.XpG(2);e.Y8G("ngStyle",e.eq3(4,es,u.itemSize+"px")),e.R7$(),e.Y8G("ngIf",!ie.emptyFilterTemplate&&!ie.emptyTemplate)("ngIfElse",ie.emptyFilter),e.R7$(),e.Y8G("ngTemplateOutlet",ie.emptyFilterTemplate||ie.emptyTemplate)}}function uc(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(4);e.R7$(),e.SpI(" ",u.emptyMessageLabel," ")}}function Th(ye,et){1&ye&&e.eu8(0,null,13)}function Sh(ye,et){if(1&ye&&(e.j41(0,"li",55),e.DNE(1,uc,2,1,"ng-container",23)(2,Th,2,0,"ng-container",31),e.k0s()),2&ye){const u=e.XpG().options,ie=e.XpG(2);e.Y8G("ngStyle",e.eq3(4,es,u.itemSize+"px")),e.R7$(),e.Y8G("ngIf",!ie.emptyTemplate)("ngIfElse",ie.empty),e.R7$(),e.Y8G("ngTemplateOutlet",ie.emptyTemplate)}}function Jo(ye,et){if(1&ye&&(e.j41(0,"ul",50,11),e.DNE(2,kr,2,2,"ng-template",51)(3,dc,3,6,"li",52)(4,Sh,3,6,"li",52),e.k0s()),2&ye){const u=et.$implicit,ie=et.options,de=e.XpG(2);e.Aen(ie.contentStyle),e.Y8G("ngClass",ie.contentStyleClass),e.BMQ("id",de.id+"_list")("aria-label",de.listLabel),e.R7$(2),e.Y8G("ngForOf",u),e.R7$(),e.Y8G("ngIf",de.filterValue&&de.isEmpty()),e.R7$(),e.Y8G("ngIf",!de.filterValue&&de.isEmpty())}}function pc(ye,et){1&ye&&e.eu8(0)}function cl(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",37)(1,"span",38,5),e.bIt("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onFirstHiddenFocus(de))}),e.k0s(),e.DNE(3,Vs,1,0,"ng-container",31)(4,al,4,2,"div",39),e.j41(5,"div",40),e.DNE(6,Oo,4,10,"p-scroller",41)(7,vo,2,6,"ng-container",17)(8,Jo,5,8,"ng-template",null,6,e.C5r),e.k0s(),e.DNE(10,pc,1,0,"ng-container",31),e.j41(11,"span",38,7),e.bIt("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onLastHiddenFocus(de))}),e.k0s()()}if(2&ye){const u=e.XpG();e.HbH(u.panelStyleClass),e.Y8G("ngClass","p-dropdown-panel p-component")("ngStyle",u.panelStyle),e.R7$(),e.BMQ("aria-hidden",!0)("tabindex",0)("data-p-hidden-accessible",!0)("data-p-hidden-focusable",!0),e.R7$(2),e.Y8G("ngTemplateOutlet",u.headerTemplate),e.R7$(),e.Y8G("ngIf",u.filter),e.R7$(),e.xc7("max-height",u.virtualScroll?"auto":u.scrollHeight||"auto"),e.R7$(),e.Y8G("ngIf",u.virtualScroll),e.R7$(),e.Y8G("ngIf",!u.virtualScroll),e.R7$(3),e.Y8G("ngTemplateOutlet",u.footerTemplate),e.R7$(),e.BMQ("aria-hidden",!0)("tabindex",0)("data-p-hidden-accessible",!0)("data-p-hidden-focusable",!0)}}const Pc={provide:V.kq,useExisting:(0,e.Rfq)(()=>Rc),multi:!0};let Hl=(()=>{class ye{id;option;selected;focused;label;disabled;visible;itemSize;ariaPosInset;ariaSetSize;template;onClick=new e.bkB;onMouseEnter=new e.bkB;ngOnInit(){}onOptionClick(u){this.onClick.emit(u)}onOptionMouseEnter(u){this.onMouseEnter.emit(u)}static \u0275fac=function(ie){return new(ie||ye)};static \u0275cmp=e.VBU({type:ye,selectors:[["p-dropdownItem"]],hostAttrs:[1,"p-element"],inputs:{id:"id",option:"option",selected:"selected",focused:"focused",label:"label",disabled:"disabled",visible:"visible",itemSize:"itemSize",ariaPosInset:"ariaPosInset",ariaSetSize:"ariaSetSize",template:"template"},outputs:{onClick:"onClick",onMouseEnter:"onMouseEnter"},decls:3,vars:21,consts:[["role","option","pRipple","",3,"click","mouseenter","id","ngStyle","ngClass"],[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ie,de){1&ie&&(e.j41(0,"li",0),e.bIt("click",function(nt){return de.onOptionClick(nt)})("mouseenter",function(nt){return de.onOptionMouseEnter(nt)}),e.DNE(1,Do,2,1,"span",1)(2,Zo,1,0,"ng-container",2),e.k0s()),2&ie&&(e.Y8G("id",de.id)("ngStyle",e.eq3(13,es,de.itemSize+"px"))("ngClass",e.sMw(15,$r,de.selected,de.disabled,de.focused)),e.BMQ("aria-label",de.label)("aria-setsize",de.ariaSetSize)("aria-posinset",de.ariaPosInset)("aria-selected",de.selected)("data-p-focused",de.focused)("data-p-highlight",de.selected)("data-p-disabled",de.disabled),e.R7$(),e.Y8G("ngIf",!de.template),e.R7$(),e.Y8G("ngTemplateOutlet",de.template)("ngTemplateOutletContext",e.eq3(19,Ko,de.option)))},dependencies:[M.YU,M.bT,M.T3,M.B3,ve.n],encapsulation:2})}return ye})(),Rc=(()=>{class ye{el;renderer;cd;zone;filterService;config;id;scrollHeight="200px";filter;name;style;panelStyle;styleClass;panelStyleClass;readonly;required;editable;appendTo;tabindex=0;set placeholder(u){this._placeholder.set(u)}get placeholder(){return this._placeholder.asReadonly()}filterPlaceholder;filterLocale;inputId;dataKey;filterBy;filterFields;autofocus;resetFilterOnHide=!1;dropdownIcon;optionLabel;optionValue;optionDisabled;optionGroupLabel="label";optionGroupChildren="items";autoDisplayFirst=!0;group;showClear;emptyFilterMessage="";emptyMessage="";lazy=!1;virtualScroll;virtualScrollItemSize;virtualScrollOptions;overlayOptions;ariaFilterLabel;ariaLabel;ariaLabelledBy;filterMatchMode="contains";maxlength;tooltip="";tooltipPosition="right";tooltipPositionStyle="absolute";tooltipStyleClass;focusOnHover=!1;selectOnFocus=!1;autoOptionFocus=!0;autofocusFilter=!0;get disabled(){return this._disabled}set disabled(u){u&&(this.focused=!1,this.overlayVisible&&this.hide()),this._disabled=u,this.cd.destroyed||this.cd.detectChanges()}get itemSize(){return this._itemSize}set itemSize(u){this._itemSize=u,console.warn("The itemSize property is deprecated, use virtualScrollItemSize property instead.")}_itemSize;get autoZIndex(){return this._autoZIndex}set autoZIndex(u){this._autoZIndex=u,console.warn("The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.")}_autoZIndex;get baseZIndex(){return this._baseZIndex}set baseZIndex(u){this._baseZIndex=u,console.warn("The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.")}_baseZIndex;get showTransitionOptions(){return this._showTransitionOptions}set showTransitionOptions(u){this._showTransitionOptions=u,console.warn("The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.")}_showTransitionOptions;get hideTransitionOptions(){return this._hideTransitionOptions}set hideTransitionOptions(u){this._hideTransitionOptions=u,console.warn("The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.")}_hideTransitionOptions;get filterValue(){return this._filterValue()}set filterValue(u){setTimeout(()=>{this._filterValue.set(u)})}get options(){return this._options()}set options(u){le.BF.deepEquals(u,this._options())||this._options.set(u)}onChange=new e.bkB;onFilter=new e.bkB;onFocus=new e.bkB;onBlur=new e.bkB;onClick=new e.bkB;onShow=new e.bkB;onHide=new e.bkB;onClear=new e.bkB;onLazyLoad=new e.bkB;containerViewChild;filterViewChild;focusInputViewChild;editableInputViewChild;itemsViewChild;scroller;overlayViewChild;firstHiddenFocusableElementOnOverlay;lastHiddenFocusableElementOnOverlay;templates;_disabled;itemsWrapper;itemTemplate;groupTemplate;loaderTemplate;selectedItemTemplate;headerTemplate;filterTemplate;footerTemplate;emptyFilterTemplate;emptyTemplate;dropdownIconTemplate;clearIconTemplate;filterIconTemplate;filterOptions;_options=(0,e.vPA)(null);_placeholder=(0,e.vPA)(void 0);modelValue=(0,e.vPA)(null);value;onModelChange=()=>{};onModelTouched=()=>{};hover;focused;overlayVisible;optionsChanged;panel;dimensionsUpdated;hoveredItem;selectedOptionUpdated;_filterValue=(0,e.vPA)(null);searchValue;searchIndex;searchTimeout;previousSearchChar;currentSearchChar;preventModelTouched;focusedOptionIndex=(0,e.vPA)(-1);labelId;listId;clicked=(0,e.vPA)(!1);get emptyMessageLabel(){return this.emptyMessage||this.config.getTranslation(Le.Yj.EMPTY_MESSAGE)}get emptyFilterMessageLabel(){return this.emptyFilterMessage||this.config.getTranslation(Le.Yj.EMPTY_FILTER_MESSAGE)}get isVisibleClearIcon(){return null!=this.modelValue()&&this.hasSelectedOption()&&this.showClear&&!this.disabled}get listLabel(){return this.config.getTranslation(Le.Yj.ARIA).listLabel}get containerClass(){return{"p-dropdown p-component p-inputwrapper":!0,"p-disabled":this.disabled,"p-dropdown-clearable":this.showClear&&!this.disabled,"p-focus":this.focused,"p-inputwrapper-filled":void 0!==this.modelValue()&&null!==this.modelValue()&&!this.modelValue().length,"p-inputwrapper-focus":this.focused||this.overlayVisible}}get inputClass(){const u=this.label();return{"p-dropdown-label p-inputtext":!0,"p-placeholder":this.placeholder()&&u===this.placeholder(),"p-dropdown-label-empty":!(this.editable||this.selectedItemTemplate||null!=u&&"p-emptylabel"!==u&&0!==u.length)}}get panelClass(){return{"p-dropdown-panel p-component":!0,"p-input-filled":"filled"===this.config.inputStyle,"p-ripple-disabled":!1===this.config.ripple}}get focusedOptionId(){return-1!==this.focusedOptionIndex()?`${this.id}_${this.focusedOptionIndex()}`:null}visibleOptions=(0,e.EWP)(()=>{const u=this.getAllVisibleAndNonVisibleOptions();if(this._filterValue()){const de=this.filterBy||this.optionLabel||this.filterFields||this.optionValue?this.filterService.filter(u,this.searchFields(),this._filterValue().trim(),this.filterMatchMode,this.filterLocale):this.options.filter(Ae=>Ae.label?-1!==Ae.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()):-1!==Ae.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()));if(this.group){const nt=[];return(this.options||[]).forEach(kt=>{const ai=this.getOptionGroupChildren(kt).filter(oi=>de.includes(oi));ai.length>0&&nt.push({...kt,["string"==typeof this.optionGroupChildren?this.optionGroupChildren:"items"]:[...ai]})}),this.flatOptions(nt)}return de}return u});label=(0,e.EWP)(()=>{const u=this.getAllVisibleAndNonVisibleOptions(),ie=u.findIndex(de=>this.isOptionValueEqualsModelValue(de));return-1!==ie?this.getOptionLabel(u[ie]):this.placeholder()||"p-emptylabel"});filled=(0,e.EWP)(()=>"string"==typeof this.modelValue()?!!this.modelValue():"p-emptylabel"!==this.label()&&void 0!==this.modelValue()&&null!==this.modelValue());selectedOption;editableInputValue=(0,e.EWP)(()=>this.getOptionLabel(this.selectedOption)||this.modelValue()||"");constructor(u,ie,de,Ae,nt,kt){this.el=u,this.renderer=ie,this.cd=de,this.zone=Ae,this.filterService=nt,this.config=kt,(0,e.QZP)(()=>{const zt=this.modelValue(),ai=this.visibleOptions();if(ai&&le.BF.isNotEmpty(ai)){const oi=this.findSelectedOptionIndex();(-1!==oi||void 0===zt||"string"==typeof zt&&0===zt.length||this.isModelValueNotSet()||this.editable)&&(this.selectedOption=ai[oi])}le.BF.isEmpty(ai)&&(void 0===zt||this.isModelValueNotSet())&&le.BF.isNotEmpty(this.selectedOption)&&(this.selectedOption=null),void 0!==zt&&this.editable&&this.updateEditableLabel(),this.cd.markForCheck()})}isModelValueNotSet(){return null===this.modelValue()&&!this.isOptionValueEqualsModelValue(this.selectedOption)}displayPlaceholder(){return le.BF.isEmpty(this.selectedOption)&&this.label()===this.placeholder()}getAllVisibleAndNonVisibleOptions(){return this.group?this.flatOptions(this.options):this.options||[]}ngOnInit(){this.id=this.id||(0,le._Y)(),this.autoUpdateModel(),this.filterBy&&(this.filterOptions={filter:u=>this.onFilterInputChange(u),reset:()=>this.resetFilter()})}ngAfterViewChecked(){if(this.optionsChanged&&this.overlayVisible&&(this.optionsChanged=!1,this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.overlayViewChild&&this.overlayViewChild.alignOverlay()},1)})),this.selectedOptionUpdated&&this.itemsWrapper){let u=re.D.findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement,"li.p-highlight");u&&re.D.scrollInView(this.itemsWrapper,u),this.selectedOptionUpdated=!1}}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"item":default:this.itemTemplate=u.template;break;case"selectedItem":this.selectedItemTemplate=u.template;break;case"header":this.headerTemplate=u.template;break;case"filter":this.filterTemplate=u.template;break;case"footer":this.footerTemplate=u.template;break;case"emptyfilter":this.emptyFilterTemplate=u.template;break;case"empty":this.emptyTemplate=u.template;break;case"group":this.groupTemplate=u.template;break;case"loader":this.loaderTemplate=u.template;break;case"dropdownicon":this.dropdownIconTemplate=u.template;break;case"clearicon":this.clearIconTemplate=u.template;break;case"filtericon":this.filterIconTemplate=u.template}})}flatOptions(u){return(u||[]).reduce((ie,de,Ae)=>{ie.push({optionGroup:de,group:!0,index:Ae});const nt=this.getOptionGroupChildren(de);return nt&&nt.forEach(kt=>ie.push(kt)),ie},[])}autoUpdateModel(){if(this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption()&&(this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex()),this.onOptionSelect(null,this.visibleOptions()[this.focusedOptionIndex()],!1)),this.autoDisplayFirst&&(null===this.modelValue()||void 0===this.modelValue())&&!this.placeholder()){const u=this.findFirstOptionIndex();this.onOptionSelect(null,this.visibleOptions()[u],!1,!0)}}onOptionSelect(u,ie,de=!0,Ae=!1){if(!this.isSelected(ie)){const nt=this.getOptionValue(ie);this.updateModel(nt,u),this.focusedOptionIndex.set(this.findSelectedOptionIndex()),!1===Ae&&this.onChange.emit({originalEvent:u,value:nt})}de&&this.hide(!0)}onOptionMouseEnter(u,ie){this.focusOnHover&&this.changeFocusedOptionIndex(u,ie)}updateModel(u,ie){this.value=u,this.onModelChange(u),this.modelValue.set(u),this.selectedOptionUpdated=!0}writeValue(u){this.filter&&this.resetFilter(),this.value=u,this.allowModelChange()&&this.onModelChange(u),this.modelValue.set(this.value),this.updateEditableLabel(),this.cd.markForCheck()}allowModelChange(){return this.autoDisplayFirst&&!this.placeholder()&&(void 0===this.modelValue()||null===this.modelValue())&&!this.editable&&this.options&&this.options.length}isSelected(u){return this.isValidOption(u)&&this.isOptionValueEqualsModelValue(u)}isOptionValueEqualsModelValue(u){return le.BF.equals(this.modelValue(),this.getOptionValue(u),this.equalityKey())}ngAfterViewInit(){this.editable&&this.updateEditableLabel()}updateEditableLabel(){this.editableInputViewChild&&(this.editableInputViewChild.nativeElement.value=this.getOptionLabel(this.selectedOption)||this.modelValue()||"")}clearEditableLabel(){this.editableInputViewChild&&(this.editableInputViewChild.nativeElement.value="")}getOptionIndex(u,ie){return this.virtualScrollerDisabled?u:ie&&ie.getItemOptions(u).index}getOptionLabel(u){return null!=this.optionLabel?le.BF.resolveFieldData(u,this.optionLabel):u&&void 0!==u.label?u.label:u}getOptionValue(u){return this.optionValue&&null!==this.optionValue?le.BF.resolveFieldData(u,this.optionValue):!this.optionLabel&&u&&void 0!==u.value?u.value:u}isOptionDisabled(u){return!(this.getOptionValue(this.modelValue())===this.getOptionValue(u)||this.getOptionLabel(this.modelValue()===this.getOptionLabel(u))&&!1===u.disabled)&&(this.optionDisabled?le.BF.resolveFieldData(u,this.optionDisabled):!(!u||void 0===u.disabled)&&u.disabled)}getOptionGroupLabel(u){return null!=this.optionGroupLabel?le.BF.resolveFieldData(u,this.optionGroupLabel):u&&void 0!==u.label?u.label:u}getOptionGroupChildren(u){return null!=this.optionGroupChildren?le.BF.resolveFieldData(u,this.optionGroupChildren):u.items}getAriaPosInset(u){return(this.optionGroupLabel?u-this.visibleOptions().slice(0,u).filter(ie=>this.isOptionGroup(ie)).length:u)+1}get ariaSetSize(){return this.visibleOptions().filter(u=>!this.isOptionGroup(u)).length}resetFilter(){this._filterValue.set(null),this.filterViewChild&&this.filterViewChild.nativeElement&&(this.filterViewChild.nativeElement.value="")}registerOnChange(u){this.onModelChange=u}registerOnTouched(u){this.onModelTouched=u}setDisabledState(u){this.disabled=u,this.cd.markForCheck()}onContainerClick(u){this.disabled||this.readonly||(this.focusInputViewChild?.nativeElement.focus({preventScroll:!0}),"INPUT"!==u.target.tagName&&"clearicon"!==u.target.getAttribute("data-pc-section")&&!u.target.closest('[data-pc-section="clearicon"]')&&((!this.overlayViewChild||!this.overlayViewChild.el.nativeElement.contains(u.target))&&(this.overlayVisible?this.hide(!0):this.show(!0)),this.onClick.emit(u),this.clicked.set(!0),this.cd.detectChanges()))}isEmpty(){return!this._options()||this.visibleOptions()&&0===this.visibleOptions().length}onEditableInput(u){const ie=u.target.value;this.searchValue="",!this.searchOptions(u,ie)&&this.focusedOptionIndex.set(-1),this.onModelChange(ie),this.updateModel(ie,u),setTimeout(()=>{this.onChange.emit({originalEvent:u,value:ie})},1),!this.overlayVisible&&le.BF.isNotEmpty(ie)&&this.show()}show(u){this.overlayVisible=!0;const ie=-1!==this.focusedOptionIndex()?this.focusedOptionIndex():this.autoOptionFocus?this.findFirstFocusedOptionIndex():this.editable?-1:this.findSelectedOptionIndex();this.focusedOptionIndex.set(ie),u&&re.D.focus(this.focusInputViewChild?.nativeElement),this.cd.markForCheck()}onOverlayAnimationStart(u){if("visible"===u.toState){if(this.itemsWrapper=re.D.findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement,this.virtualScroll?".p-scroller":".p-dropdown-items-wrapper"),this.virtualScroll&&this.scroller?.setContentEl(this.itemsViewChild?.nativeElement),this.options&&this.options.length)if(this.virtualScroll){const ie=this.modelValue()?this.focusedOptionIndex():-1;-1!==ie&&this.scroller?.scrollToIndex(ie)}else{let ie=re.D.findSingle(this.itemsWrapper,".p-dropdown-item.p-highlight");ie&&ie.scrollIntoView({block:"nearest",inline:"nearest"})}this.filterViewChild&&this.filterViewChild.nativeElement&&(this.preventModelTouched=!0,this.autofocusFilter&&!this.editable&&this.filterViewChild.nativeElement.focus()),this.onShow.emit(u)}"void"===u.toState&&(this.itemsWrapper=null,this.onModelTouched(),this.onHide.emit(u))}hide(u){this.overlayVisible=!1,this.focusedOptionIndex.set(-1),this.clicked.set(!1),this.searchValue="",this.filter&&this.resetFilterOnHide&&this.resetFilter(),u&&(this.focusInputViewChild&&re.D.focus(this.focusInputViewChild?.nativeElement),this.editable&&this.editableInputViewChild&&re.D.focus(this.editableInputViewChild?.nativeElement)),this.cd.markForCheck()}onInputFocus(u){if(this.disabled)return;this.focused=!0;const ie=-1!==this.focusedOptionIndex()?this.focusedOptionIndex():this.overlayVisible&&this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1;this.focusedOptionIndex.set(ie),this.overlayVisible&&this.scrollInView(this.focusedOptionIndex()),this.onFocus.emit(u)}onInputBlur(u){this.focused=!1,!1===this.overlayVisible&&this.onBlur.emit(u),this.preventModelTouched||this.onModelTouched(),this.preventModelTouched=!1}onKeyDown(u,ie){if(!this.disabled&&!this.readonly){switch(u.code){case"ArrowDown":this.onArrowDownKey(u);break;case"ArrowUp":this.onArrowUpKey(u,this.editable);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(u,this.editable);break;case"Delete":this.onDeleteKey(u);break;case"Home":this.onHomeKey(u,this.editable);break;case"End":this.onEndKey(u,this.editable);break;case"PageDown":this.onPageDownKey(u);break;case"PageUp":this.onPageUpKey(u);break;case"Space":this.onSpaceKey(u,ie);break;case"Enter":case"NumpadEnter":this.onEnterKey(u);break;case"Escape":this.onEscapeKey(u);break;case"Tab":this.onTabKey(u);break;case"Backspace":this.onBackspaceKey(u,this.editable);break;case"ShiftLeft":case"ShiftRight":break;default:!u.metaKey&&le.BF.isPrintableCharacter(u.key)&&(!this.overlayVisible&&this.show(),!this.editable&&this.searchOptions(u,u.key))}this.clicked.set(!1)}}onFilterKeyDown(u){switch(u.code){case"ArrowDown":this.onArrowDownKey(u);break;case"ArrowUp":this.onArrowUpKey(u,!0);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(u,!0);break;case"Home":this.onHomeKey(u,!0);break;case"End":this.onEndKey(u,!0);break;case"Enter":this.onEnterKey(u,!0);break;case"Escape":this.onEscapeKey(u);break;case"Tab":this.onTabKey(u,!0)}}onFilterBlur(u){this.focusedOptionIndex.set(-1)}onArrowDownKey(u){if(this.overlayVisible){const ie=-1!==this.focusedOptionIndex()?this.findNextOptionIndex(this.focusedOptionIndex()):this.clicked()?this.findFirstOptionIndex():this.findFirstFocusedOptionIndex();this.changeFocusedOptionIndex(u,ie)}else this.show(),this.editable&&this.changeFocusedOptionIndex(u,this.findSelectedOptionIndex());u.preventDefault()}changeFocusedOptionIndex(u,ie){if(this.focusedOptionIndex()!==ie&&(this.focusedOptionIndex.set(ie),this.scrollInView(),this.selectOnFocus)){const de=this.visibleOptions()[ie];this.onOptionSelect(u,de,!1)}}get virtualScrollerDisabled(){return!this.virtualScroll}scrollInView(u=-1){if(this.itemsViewChild&&this.itemsViewChild.nativeElement){const de=re.D.findSingle(this.itemsViewChild.nativeElement,`li[id="${-1!==u?`${this.id}_${u}`:this.focusedOptionId}"]`);de?de.scrollIntoView&&de.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||setTimeout(()=>{this.virtualScroll&&this.scroller?.scrollToIndex(-1!==u?u:this.focusedOptionIndex())},0)}}hasSelectedOption(){return void 0!==this.modelValue()}isValidSelectedOption(u){return this.isValidOption(u)&&this.isSelected(u)}equalityKey(){return this.optionValue?null:this.dataKey}findFirstFocusedOptionIndex(){const u=this.findSelectedOptionIndex();return u<0?this.findFirstOptionIndex():u}findFirstOptionIndex(){return this.visibleOptions().findIndex(u=>this.isValidOption(u))}findSelectedOptionIndex(){return this.hasSelectedOption()?this.visibleOptions().findIndex(u=>this.isValidSelectedOption(u)):-1}findNextOptionIndex(u){const ie=uthis.isValidOption(de)):-1;return ie>-1?ie+u+1:u}findPrevOptionIndex(u){const ie=u>0?le.BF.findLastIndex(this.visibleOptions().slice(0,u),de=>this.isValidOption(de)):-1;return ie>-1?ie:u}findLastOptionIndex(){return le.BF.findLastIndex(this.visibleOptions(),u=>this.isValidOption(u))}findLastFocusedOptionIndex(){const u=this.findSelectedOptionIndex();return u<0?this.findLastOptionIndex():u}isValidOption(u){return null!=u&&!(this.isOptionDisabled(u)||this.isOptionGroup(u))}isOptionGroup(u){return null!=this.optionGroupLabel&&null!=u.optionGroup&&u.group}onArrowUpKey(u,ie=!1){if(u.altKey&&!ie){if(-1!==this.focusedOptionIndex()){const de=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(u,de)}this.overlayVisible&&this.hide(),u.preventDefault()}else{const de=-1!==this.focusedOptionIndex()?this.findPrevOptionIndex(this.focusedOptionIndex()):this.clicked()?this.findLastOptionIndex():this.findLastFocusedOptionIndex();this.changeFocusedOptionIndex(u,de),!this.overlayVisible&&this.show(),u.preventDefault()}}onArrowLeftKey(u,ie=!1){ie&&this.focusedOptionIndex.set(-1)}onDeleteKey(u){this.showClear&&(this.clear(u),u.preventDefault())}onHomeKey(u,ie=!1){if(ie){const de=u.currentTarget;u.shiftKey?de.setSelectionRange(0,de.value.length):(de.setSelectionRange(0,0),this.focusedOptionIndex.set(-1))}else this.changeFocusedOptionIndex(u,this.findFirstOptionIndex()),!this.overlayVisible&&this.show();u.preventDefault()}onEndKey(u,ie=!1){if(ie){const de=u.currentTarget;if(u.shiftKey)de.setSelectionRange(0,de.value.length);else{const Ae=de.value.length;de.setSelectionRange(Ae,Ae),this.focusedOptionIndex.set(-1)}}else this.changeFocusedOptionIndex(u,this.findLastOptionIndex()),!this.overlayVisible&&this.show();u.preventDefault()}onPageDownKey(u){this.scrollInView(this.visibleOptions().length-1),u.preventDefault()}onPageUpKey(u){this.scrollInView(0),u.preventDefault()}onSpaceKey(u,ie=!1){!this.editable&&!ie&&this.onEnterKey(u)}onEnterKey(u,ie=!1){if(this.overlayVisible){if(-1!==this.focusedOptionIndex()){const de=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(u,de)}!ie&&this.hide()}else this.focusedOptionIndex.set(-1),this.onArrowDownKey(u);u.preventDefault()}onEscapeKey(u){this.overlayVisible&&this.hide(!0),u.preventDefault()}onTabKey(u,ie=!1){if(!ie)if(this.overlayVisible&&this.hasFocusableElements())re.D.focus(u.shiftKey?this.lastHiddenFocusableElementOnOverlay.nativeElement:this.firstHiddenFocusableElementOnOverlay.nativeElement),u.preventDefault();else{if(-1!==this.focusedOptionIndex()&&this.overlayVisible){const de=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(u,de)}this.overlayVisible&&this.hide(this.filter)}}onFirstHiddenFocus(u){const ie=u.relatedTarget===this.focusInputViewChild?.nativeElement?re.D.getFirstFocusableElement(this.overlayViewChild.el?.nativeElement,":not(.p-hidden-focusable)"):this.focusInputViewChild?.nativeElement;re.D.focus(ie)}onLastHiddenFocus(u){const ie=u.relatedTarget===this.focusInputViewChild?.nativeElement?re.D.getLastFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement,':not([data-p-hidden-focusable="true"])'):this.focusInputViewChild?.nativeElement;re.D.focus(ie)}hasFocusableElements(){return re.D.getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement,':not([data-p-hidden-focusable="true"])').length>0}onBackspaceKey(u,ie=!1){ie&&!this.overlayVisible&&this.show()}searchFields(){return this.filterBy?.split(",")||this.filterFields||[this.optionLabel]}searchOptions(u,ie){this.searchValue=(this.searchValue||"")+ie;let de=-1,Ae=!1;return-1!==this.focusedOptionIndex()?(de=this.visibleOptions().slice(this.focusedOptionIndex()).findIndex(nt=>this.isOptionMatched(nt)),de=-1===de?this.visibleOptions().slice(0,this.focusedOptionIndex()).findIndex(nt=>this.isOptionMatched(nt)):de+this.focusedOptionIndex()):de=this.visibleOptions().findIndex(nt=>this.isOptionMatched(nt)),-1!==de&&(Ae=!0),-1===de&&-1===this.focusedOptionIndex()&&(de=this.findFirstFocusedOptionIndex()),-1!==de&&this.changeFocusedOptionIndex(u,de),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout(()=>{this.searchValue="",this.searchTimeout=null},500),Ae}isOptionMatched(u){return this.isValidOption(u)&&this.getOptionLabel(u).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))}onFilterInputChange(u){this._filterValue.set(u.target.value),this.focusedOptionIndex.set(-1),this.onFilter.emit({originalEvent:u,filter:this._filterValue()}),!this.virtualScrollerDisabled&&this.scroller.scrollToIndex(0),setTimeout(()=>{this.overlayViewChild.alignOverlay()}),this.cd.markForCheck()}applyFocus(){this.editable?re.D.findSingle(this.el.nativeElement,".p-dropdown-label.p-inputtext").focus():re.D.focus(this.focusInputViewChild?.nativeElement)}focus(){this.applyFocus()}clear(u){this.updateModel(null,u),this.clearEditableLabel(),this.onModelTouched(),this.onChange.emit({originalEvent:u,value:this.value}),this.onClear.emit(u),this.resetFilter()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(e.gRc),e.rXU(e.SKi),e.rXU(Le.E),e.rXU(Le.r1))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-dropdown"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(to,5),e.GBs(ba,5),e.GBs(va,5),e.GBs(Mo,5),e.GBs(Js,5),e.GBs(bo,5),e.GBs(Eo,5),e.GBs(wh,5),e.GBs(Lc,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.containerViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.filterViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.focusInputViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.editableInputViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.itemsViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.scroller=Ae.first),e.mGM(Ae=e.lsd())&&(de.overlayViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.firstHiddenFocusableElementOnOverlay=Ae.first),e.mGM(Ae=e.lsd())&&(de.lastHiddenFocusableElementOnOverlay=Ae.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:4,hostBindings:function(ie,de){2&ie&&e.AVh("p-inputwrapper-filled",de.filled())("p-inputwrapper-focus",de.focused||de.overlayVisible)},inputs:{id:"id",scrollHeight:"scrollHeight",filter:"filter",name:"name",style:"style",panelStyle:"panelStyle",styleClass:"styleClass",panelStyleClass:"panelStyleClass",readonly:"readonly",required:"required",editable:"editable",appendTo:"appendTo",tabindex:"tabindex",placeholder:"placeholder",filterPlaceholder:"filterPlaceholder",filterLocale:"filterLocale",inputId:"inputId",dataKey:"dataKey",filterBy:"filterBy",filterFields:"filterFields",autofocus:"autofocus",resetFilterOnHide:"resetFilterOnHide",dropdownIcon:"dropdownIcon",optionLabel:"optionLabel",optionValue:"optionValue",optionDisabled:"optionDisabled",optionGroupLabel:"optionGroupLabel",optionGroupChildren:"optionGroupChildren",autoDisplayFirst:"autoDisplayFirst",group:"group",showClear:"showClear",emptyFilterMessage:"emptyFilterMessage",emptyMessage:"emptyMessage",lazy:"lazy",virtualScroll:"virtualScroll",virtualScrollItemSize:"virtualScrollItemSize",virtualScrollOptions:"virtualScrollOptions",overlayOptions:"overlayOptions",ariaFilterLabel:"ariaFilterLabel",ariaLabel:"ariaLabel",ariaLabelledBy:"ariaLabelledBy",filterMatchMode:"filterMatchMode",maxlength:"maxlength",tooltip:"tooltip",tooltipPosition:"tooltipPosition",tooltipPositionStyle:"tooltipPositionStyle",tooltipStyleClass:"tooltipStyleClass",focusOnHover:"focusOnHover",selectOnFocus:"selectOnFocus",autoOptionFocus:"autoOptionFocus",autofocusFilter:"autofocusFilter",disabled:"disabled",itemSize:"itemSize",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",filterValue:"filterValue",options:"options"},outputs:{onChange:"onChange",onFilter:"onFilter",onFocus:"onFocus",onBlur:"onBlur",onClick:"onClick",onShow:"onShow",onHide:"onHide",onClear:"onClear",onLazyLoad:"onLazyLoad"},features:[e.Jv_([Pc])],decls:11,vars:20,consts:[["container",""],["overlay",""],["focusInput",""],["defaultPlaceholder",""],["editableInput",""],["firstHiddenFocusableEl",""],["buildInItems",""],["lastHiddenFocusableEl",""],["builtInFilterElement",""],["filter",""],["scroller",""],["items",""],["emptyFilter",""],["empty",""],[3,"click","ngClass","ngStyle"],["role","combobox","pAutoFocus","",3,"ngClass","pTooltip","tooltipPosition","positionStyle","tooltipStyleClass","autofocus","focus","blur","keydown",4,"ngIf"],["type","text","aria-haspopup","listbox",3,"ngClass","disabled","input","keydown","focus","blur",4,"ngIf"],[4,"ngIf"],["role","button","aria-label","dropdown trigger","aria-haspopup","listbox",1,"p-dropdown-trigger"],["class","p-dropdown-trigger-icon",4,"ngIf"],[3,"visibleChange","onAnimationStart","onHide","visible","options","target","appendTo","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions"],["pTemplate","content"],["role","combobox","pAutoFocus","",3,"focus","blur","keydown","ngClass","pTooltip","tooltipPosition","positionStyle","tooltipStyleClass","autofocus"],[4,"ngIf","ngIfElse"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["type","text","aria-haspopup","listbox",3,"input","keydown","focus","blur","ngClass","disabled"],[3,"styleClass","click",4,"ngIf"],["class","p-dropdown-clear-icon",3,"click",4,"ngIf"],[3,"click","styleClass"],[1,"p-dropdown-clear-icon",3,"click"],[4,"ngTemplateOutlet"],["class","p-dropdown-trigger-icon",3,"ngClass",4,"ngIf"],[3,"styleClass",4,"ngIf"],[1,"p-dropdown-trigger-icon",3,"ngClass"],[3,"styleClass"],[1,"p-dropdown-trigger-icon"],[3,"ngClass","ngStyle"],["role","presentation",1,"p-hidden-accessible","p-hidden-focusable",3,"focus"],["class","p-dropdown-header",3,"click",4,"ngIf"],[1,"p-dropdown-items-wrapper"],[3,"items","style","itemSize","autoSize","lazy","options","onLazyLoad",4,"ngIf"],[1,"p-dropdown-header",3,"click"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-dropdown-filter-container"],["type","text","autocomplete","off",1,"p-dropdown-filter","p-inputtext","p-component",3,"input","keydown","blur","value"],["class","p-dropdown-filter-icon",4,"ngIf"],[1,"p-dropdown-filter-icon"],[3,"onLazyLoad","items","itemSize","autoSize","lazy","options"],["pTemplate","loader"],["role","listbox",1,"p-dropdown-items",3,"ngClass"],["ngFor","",3,"ngForOf"],["class","p-dropdown-empty-message",3,"ngStyle",4,"ngIf"],["role","option",1,"p-dropdown-item-group",3,"ngStyle"],[3,"onClick","onMouseEnter","id","option","selected","label","disabled","template","focused","ariaPosInset","ariaSetSize"],[1,"p-dropdown-empty-message",3,"ngStyle"]],template:function(ie,de){if(1&ie){const Ae=e.RV6();e.j41(0,"div",14,0),e.bIt("click",function(kt){return e.eBV(Ae),e.Njj(de.onContainerClick(kt))}),e.DNE(2,Or,6,20,"span",15)(3,cn,2,4,"input",16)(4,Ye,3,2,"ng-container",17),e.j41(5,"div",18),e.DNE(6,Fi,3,2,"ng-container",17)(7,nr,2,1,"span",19),e.k0s(),e.j41(8,"p-overlay",20,1),e.mxI("visibleChange",function(kt){return e.eBV(Ae),e.DH7(de.overlayVisible,kt)||(de.overlayVisible=kt),e.Njj(kt)}),e.bIt("onAnimationStart",function(kt){return e.eBV(Ae),e.Njj(de.onOverlayAnimationStart(kt))})("onHide",function(){return e.eBV(Ae),e.Njj(de.hide())}),e.DNE(10,cl,13,19,"ng-template",21),e.k0s()()}if(2&ie){let Ae;e.HbH(de.styleClass),e.Y8G("ngClass",de.containerClass)("ngStyle",de.style),e.BMQ("id",de.id),e.R7$(2),e.Y8G("ngIf",!de.editable),e.R7$(),e.Y8G("ngIf",de.editable),e.R7$(),e.Y8G("ngIf",de.isVisibleClearIcon),e.R7$(),e.BMQ("aria-expanded",null!==(Ae=de.overlayVisible)&&void 0!==Ae&&Ae)("data-pc-section","trigger"),e.R7$(),e.Y8G("ngIf",!de.dropdownIconTemplate),e.R7$(),e.Y8G("ngIf",de.dropdownIconTemplate),e.R7$(),e.R50("visible",de.overlayVisible),e.Y8G("options",de.overlayOptions)("target","@parent")("appendTo",de.appendTo)("autoZIndex",de.autoZIndex)("baseZIndex",de.baseZIndex)("showTransitionOptions",de.showTransitionOptions)("hideTransitionOptions",de.hideTransitionOptions)}},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,Ba,Le.Ei,ma,ga,ls,E.A,X,cr,Hl],styles:["@layer primeng{.p-dropdown{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-dropdown-clear-icon{position:absolute;top:50%;margin-top:-.5rem}.p-dropdown-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-dropdown-label{display:block;white-space:nowrap;overflow:hidden;flex:1 1 auto;width:1%;text-overflow:ellipsis;cursor:pointer}.p-dropdown-label-empty{overflow:hidden;opacity:0}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.p-dropdown-item-group{cursor:auto}.p-dropdown-items{margin:0;padding:0;list-style-type:none}.p-dropdown-filter{width:100%}.p-dropdown-filter-container{position:relative}.p-dropdown-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-dropdown{display:flex}.p-fluid .p-dropdown .p-dropdown-label{width:1%}}\n"],encapsulation:2,changeDetection:0})}return ye})(),Lo=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,ja,Le.Gg,Ir,ve.Z,eo,Hn,E.A,X,cr,ja,Le.Gg,eo]})}return ye})(),Nc=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ArrowDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M6.99994 14C6.91097 14.0004 6.82281 13.983 6.74064 13.9489C6.65843 13.9148 6.58387 13.8646 6.52133 13.8013L1.10198 8.38193C0.982318 8.25351 0.917175 8.08367 0.920272 7.90817C0.923368 7.73267 0.994462 7.56523 1.11858 7.44111C1.24269 7.317 1.41014 7.2459 1.58563 7.2428C1.76113 7.23971 1.93098 7.30485 2.0594 7.42451L6.32263 11.6877V0.677419C6.32263 0.497756 6.394 0.325452 6.52104 0.198411C6.64808 0.0713706 6.82039 0 7.00005 0C7.17971 0 7.35202 0.0713706 7.47906 0.198411C7.6061 0.325452 7.67747 0.497756 7.67747 0.677419V11.6877L11.9407 7.42451C12.0691 7.30485 12.2389 7.23971 12.4144 7.2428C12.5899 7.2459 12.7574 7.317 12.8815 7.44111C13.0056 7.56523 13.0767 7.73267 13.0798 7.90817C13.0829 8.08367 13.0178 8.25351 12.8981 8.38193L7.47875 13.8013C7.41621 13.8646 7.34164 13.9148 7.25944 13.9489C7.17727 13.983 7.08912 14.0004 7.00015 14C7.00012 14 7.00009 14 7.00005 14C7.00001 14 6.99998 14 6.99994 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),Ul=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ArrowUpIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M6.51551 13.799C6.64205 13.9255 6.813 13.9977 6.99193 14C7.17087 13.9977 7.34182 13.9255 7.46835 13.799C7.59489 13.6725 7.66701 13.5015 7.66935 13.3226V2.31233L11.9326 6.57554C11.9951 6.63887 12.0697 6.68907 12.1519 6.72319C12.2341 6.75731 12.3223 6.77467 12.4113 6.77425C12.5003 6.77467 12.5885 6.75731 12.6707 6.72319C12.7529 6.68907 12.8274 6.63887 12.89 6.57554C13.0168 6.44853 13.0881 6.27635 13.0881 6.09683C13.0881 5.91732 13.0168 5.74514 12.89 5.61812L7.48846 0.216594C7.48274 0.210436 7.4769 0.204374 7.47094 0.198411C7.3439 0.0713707 7.1716 0 6.99193 0C6.81227 0 6.63997 0.0713707 6.51293 0.198411C6.50704 0.204296 6.50128 0.210278 6.49563 0.216354L1.09386 5.61812C0.974201 5.74654 0.909057 5.91639 0.912154 6.09189C0.91525 6.26738 0.986345 6.43483 1.11046 6.55894C1.23457 6.68306 1.40202 6.75415 1.57752 6.75725C1.75302 6.76035 1.92286 6.6952 2.05128 6.57554L6.31451 2.31231V13.3226C6.31685 13.5015 6.38898 13.6725 6.51551 13.799Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),As=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["CheckIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),Fc=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["FilterIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.64708 14H5.35296C5.18981 13.9979 5.03395 13.9321 4.91858 13.8167C4.8032 13.7014 4.73745 13.5455 4.73531 13.3824V7L0.329431 0.98C0.259794 0.889466 0.217389 0.780968 0.20718 0.667208C0.19697 0.553448 0.219379 0.439133 0.271783 0.337647C0.324282 0.236453 0.403423 0.151519 0.500663 0.0920138C0.597903 0.0325088 0.709548 0.000692754 0.823548 0H13.1765C13.2905 0.000692754 13.4021 0.0325088 13.4994 0.0920138C13.5966 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7826 0.780968 13.7402 0.889466 13.6706 0.98L9.26472 7V13.3824C9.26259 13.5455 9.19683 13.7014 9.08146 13.8167C8.96609 13.9321 8.81022 13.9979 8.64708 14ZM5.97061 12.7647H8.02943V6.79412C8.02878 6.66289 8.07229 6.53527 8.15296 6.43177L11.9412 1.23529H2.05884L5.86355 6.43177C5.94422 6.53527 5.98773 6.66289 5.98708 6.79412L5.97061 12.7647Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),Po=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["FilterSlashIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),ea=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["PlusIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M7.67742 6.32258V0.677419C7.67742 0.497757 7.60605 0.325452 7.47901 0.198411C7.35197 0.0713707 7.17966 0 7 0C6.82034 0 6.64803 0.0713707 6.52099 0.198411C6.39395 0.325452 6.32258 0.497757 6.32258 0.677419V6.32258H0.677419C0.497757 6.32258 0.325452 6.39395 0.198411 6.52099C0.0713707 6.64803 0 6.82034 0 7C0 7.17966 0.0713707 7.35197 0.198411 7.47901C0.325452 7.60605 0.497757 7.67742 0.677419 7.67742H6.32258V13.3226C6.32492 13.5015 6.39704 13.6725 6.52358 13.799C6.65012 13.9255 6.82106 13.9977 7 14C7.17966 14 7.35197 13.9286 7.47901 13.8016C7.60605 13.6745 7.67742 13.5022 7.67742 13.3226V7.67742H13.3226C13.5022 7.67742 13.6745 7.60605 13.8016 7.47901C13.9286 7.35197 14 7.17966 14 7C13.9977 6.82106 13.9255 6.65012 13.799 6.52358C13.6725 6.39704 13.5015 6.32492 13.3226 6.32258H7.67742Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),Hs=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["SortAltIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:9,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z","fill","currentColor"],["d","M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z","fill","currentColor"],["d","M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z","fill","currentColor"],["d","M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1)(3,"path",2)(4,"path",3)(5,"path",4),e.k0s(),e.j41(6,"defs")(7,"clipPath",5),e.nrm(8,"rect",6),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(6),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),Xs=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["SortAmountDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.93953 10.5858L3.83759 11.6877V0.677419C3.83759 0.307097 3.53049 0 3.16017 0C2.78985 0 2.48275 0.307097 2.48275 0.677419V11.6877L1.38082 10.5858C1.11888 10.3239 0.685331 10.3239 0.423396 10.5858C0.16146 10.8477 0.16146 11.2813 0.423396 11.5432L2.68146 13.8013C2.74469 13.8645 2.81694 13.9097 2.89823 13.9458C2.97952 13.9819 3.06985 14 3.16017 14C3.25049 14 3.33178 13.9819 3.42211 13.9458C3.5034 13.9097 3.57565 13.8645 3.63888 13.8013L5.89694 11.5432C6.15888 11.2813 6.15888 10.8477 5.89694 10.5858C5.63501 10.3239 5.20146 10.3239 4.93953 10.5858ZM13.0957 0H7.22468C6.85436 0 6.54726 0.307097 6.54726 0.677419C6.54726 1.04774 6.85436 1.35484 7.22468 1.35484H13.0957C13.466 1.35484 13.7731 1.04774 13.7731 0.677419C13.7731 0.307097 13.466 0 13.0957 0ZM7.22468 5.41935H9.48275C9.85307 5.41935 10.1602 5.72645 10.1602 6.09677C10.1602 6.4671 9.85307 6.77419 9.48275 6.77419H7.22468C6.85436 6.77419 6.54726 6.4671 6.54726 6.09677C6.54726 5.72645 6.85436 5.41935 7.22468 5.41935ZM7.6763 8.12903H7.22468C6.85436 8.12903 6.54726 8.43613 6.54726 8.80645C6.54726 9.17677 6.85436 9.48387 7.22468 9.48387H7.6763C8.04662 9.48387 8.35372 9.17677 8.35372 8.80645C8.35372 8.43613 8.04662 8.12903 7.6763 8.12903ZM7.22468 2.70968H11.2892C11.6595 2.70968 11.9666 3.01677 11.9666 3.3871C11.9666 3.75742 11.6595 4.06452 11.2892 4.06452H7.22468C6.85436 4.06452 6.54726 3.75742 6.54726 3.3871C6.54726 3.01677 6.85436 2.70968 7.22468 2.70968Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),ta=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["SortAmountUpAltIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M3.63435 0.19871C3.57113 0.135484 3.49887 0.0903226 3.41758 0.0541935C3.255 -0.0180645 3.06532 -0.0180645 2.90274 0.0541935C2.82145 0.0903226 2.74919 0.135484 2.68597 0.19871L0.427901 2.45677C0.165965 2.71871 0.165965 3.15226 0.427901 3.41419C0.689836 3.67613 1.12338 3.67613 1.38532 3.41419L2.48726 2.31226V13.3226C2.48726 13.6929 2.79435 14 3.16467 14C3.535 14 3.84209 13.6929 3.84209 13.3226V2.31226L4.94403 3.41419C5.07951 3.54968 5.25113 3.6129 5.42274 3.6129C5.59435 3.6129 5.76597 3.54968 5.90145 3.41419C6.16338 3.15226 6.16338 2.71871 5.90145 2.45677L3.64338 0.19871H3.63435ZM13.7685 13.3226C13.7685 12.9523 13.4615 12.6452 13.0911 12.6452H7.22016C6.84984 12.6452 6.54274 12.9523 6.54274 13.3226C6.54274 13.6929 6.84984 14 7.22016 14H13.0911C13.4615 14 13.7685 13.6929 13.7685 13.3226ZM7.22016 8.58064C6.84984 8.58064 6.54274 8.27355 6.54274 7.90323C6.54274 7.5329 6.84984 7.22581 7.22016 7.22581H9.47823C9.84855 7.22581 10.1556 7.5329 10.1556 7.90323C10.1556 8.27355 9.84855 8.58064 9.47823 8.58064H7.22016ZM7.22016 5.87097H7.67177C8.0421 5.87097 8.34919 5.56387 8.34919 5.19355C8.34919 4.82323 8.0421 4.51613 7.67177 4.51613H7.22016C6.84984 4.51613 6.54274 4.82323 6.54274 5.19355C6.54274 5.56387 6.84984 5.87097 7.22016 5.87097ZM11.2847 11.2903H7.22016C6.84984 11.2903 6.54274 10.9832 6.54274 10.6129C6.54274 10.2426 6.84984 9.93548 7.22016 9.93548H11.2847C11.655 9.93548 11.9621 10.2426 11.9621 10.6129C11.9621 10.9832 11.655 11.2903 11.2847 11.2903Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),hl=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["TrashIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M3.44802 13.9955H10.552C10.8056 14.0129 11.06 13.9797 11.3006 13.898C11.5412 13.8163 11.7632 13.6877 11.9537 13.5196C12.1442 13.3515 12.2995 13.1473 12.4104 12.9188C12.5213 12.6903 12.5858 12.442 12.6 12.1884V4.36041H13.4C13.5591 4.36041 13.7117 4.29722 13.8243 4.18476C13.9368 4.07229 14 3.91976 14 3.76071C14 3.60166 13.9368 3.44912 13.8243 3.33666C13.7117 3.22419 13.5591 3.16101 13.4 3.16101H12.0537C12.0203 3.1557 11.9863 3.15299 11.952 3.15299C11.9178 3.15299 11.8838 3.1557 11.8503 3.16101H11.2285C11.2421 3.10893 11.2487 3.05513 11.248 3.00106V1.80966C11.2171 1.30262 10.9871 0.828306 10.608 0.48989C10.229 0.151475 9.73159 -0.0236625 9.22402 0.00257442H4.77602C4.27251 -0.0171866 3.78126 0.160868 3.40746 0.498617C3.03365 0.836366 2.807 1.30697 2.77602 1.80966V3.00106C2.77602 3.0556 2.78346 3.10936 2.79776 3.16101H0.6C0.521207 3.16101 0.443185 3.17652 0.37039 3.20666C0.297595 3.2368 0.231451 3.28097 0.175736 3.33666C0.120021 3.39235 0.0758251 3.45846 0.0456722 3.53121C0.0155194 3.60397 0 3.68196 0 3.76071C0 3.83946 0.0155194 3.91744 0.0456722 3.9902C0.0758251 4.06296 0.120021 4.12907 0.175736 4.18476C0.231451 4.24045 0.297595 4.28462 0.37039 4.31476C0.443185 4.3449 0.521207 4.36041 0.6 4.36041H1.40002V12.1884C1.41426 12.442 1.47871 12.6903 1.58965 12.9188C1.7006 13.1473 1.85582 13.3515 2.04633 13.5196C2.23683 13.6877 2.45882 13.8163 2.69944 13.898C2.94005 13.9797 3.1945 14.0129 3.44802 13.9955ZM2.60002 4.36041H11.304V12.1884C11.304 12.5163 10.952 12.7961 10.504 12.7961H3.40002C2.97602 12.7961 2.60002 12.5163 2.60002 12.1884V4.36041ZM3.95429 3.16101C3.96859 3.10936 3.97602 3.0556 3.97602 3.00106V1.80966C3.97602 1.48183 4.33602 1.20197 4.77602 1.20197H9.24802C9.66403 1.20197 10.048 1.48183 10.048 1.80966V3.00106C10.0473 3.05515 10.054 3.10896 10.0678 3.16101H3.95429ZM5.57571 10.997C5.41731 10.995 5.26597 10.9311 5.15395 10.8191C5.04193 10.7071 4.97808 10.5558 4.97601 10.3973V6.77517C4.97601 6.61612 5.0392 6.46359 5.15166 6.35112C5.26413 6.23866 5.41666 6.17548 5.57571 6.17548C5.73476 6.17548 5.8873 6.23866 5.99976 6.35112C6.11223 6.46359 6.17541 6.61612 6.17541 6.77517V10.3894C6.17647 10.4688 6.16174 10.5476 6.13208 10.6213C6.10241 10.695 6.05841 10.762 6.00261 10.8186C5.94682 10.8751 5.88035 10.92 5.80707 10.9506C5.73378 10.9813 5.65514 10.9971 5.57571 10.997ZM7.99968 10.8214C8.11215 10.9339 8.26468 10.997 8.42373 10.997C8.58351 10.9949 8.73604 10.93 8.84828 10.8163C8.96052 10.7025 9.02345 10.5491 9.02343 10.3894V6.77517C9.02343 6.61612 8.96025 6.46359 8.84778 6.35112C8.73532 6.23866 8.58278 6.17548 8.42373 6.17548C8.26468 6.17548 8.11215 6.23866 7.99968 6.35112C7.88722 6.46359 7.82404 6.61612 7.82404 6.77517V10.3973C7.82404 10.5564 7.88722 10.7089 7.99968 10.8214Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),xa=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),Xr=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleUpIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M10.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})();var _a=We(22242);const ia=["input"],kh=(ye,et,u)=>({"p-inputnumber p-component":!0,"p-inputnumber-buttons-stacked":ye,"p-inputnumber-buttons-horizontal":et,"p-inputnumber-buttons-vertical":u}),Dh=()=>({"p-inputnumber-button p-inputnumber-button-up":!0}),Wl=()=>({"p-inputnumber-button p-inputnumber-button-down":!0});function Ca(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"TimesIcon",8),e.bIt("click",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.clear())}),e.k0s()}2&ye&&(e.Y8G("ngClass","p-inputnumber-clear-icon"),e.BMQ("data-pc-section","clearIcon"))}function Mh(ye,et){}function dl(ye,et){1&ye&&e.DNE(0,Mh,0,0,"ng-template")}function Yr(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",9),e.bIt("click",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.clear())}),e.DNE(1,dl,1,0,null,10),e.k0s()}if(2&ye){const u=e.XpG(2);e.BMQ("data-pc-section","clearIcon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.clearIconTemplate)}}function na(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Ca,1,2,"TimesIcon",6)(2,Yr,2,2,"span",7),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",!u.clearIconTemplate),e.R7$(),e.Y8G("ngIf",u.clearIconTemplate)}}function $l(ye,et){if(1&ye&&e.nrm(0,"span",14),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.incrementButtonIcon),e.BMQ("data-pc-section","incrementbuttonicon")}}function fc(ye,et){1&ye&&e.nrm(0,"AngleUpIcon"),2&ye&&e.BMQ("data-pc-section","incrementbuttonicon")}function Ge(ye,et){}function ut(ye,et){1&ye&&e.DNE(0,Ge,0,0,"ng-template")}function Ke(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,fc,1,1,"AngleUpIcon",3)(2,ut,1,0,null,10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.incrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementButtonIconTemplate)}}function at(ye,et){if(1&ye&&e.nrm(0,"span",14),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.decrementButtonIcon),e.BMQ("data-pc-section","decrementbuttonicon")}}function Et(ye,et){1&ye&&e.nrm(0,"AngleDownIcon"),2&ye&&e.BMQ("data-pc-section","decrementbuttonicon")}function Jt(ye,et){}function ci(ye,et){1&ye&&e.DNE(0,Jt,0,0,"ng-template")}function Oi(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Et,1,1,"AngleDownIcon",3)(2,ci,1,0,null,10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.decrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementButtonIconTemplate)}}function Wn(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",11)(1,"button",12),e.bIt("mousedown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUpButtonMouseDown(de))})("mouseup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonMouseUp())})("mouseleave",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonMouseLeave())})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUpButtonKeyDown(de))})("keyup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonKeyUp())}),e.DNE(2,$l,1,2,"span",13)(3,Ke,3,2,"ng-container",3),e.k0s(),e.j41(4,"button",12),e.bIt("mousedown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onDownButtonMouseDown(de))})("mouseup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonMouseUp())})("mouseleave",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonMouseLeave())})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onDownButtonKeyDown(de))})("keyup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonKeyUp())}),e.DNE(5,at,1,2,"span",13)(6,Oi,3,2,"ng-container",3),e.k0s()()}if(2&ye){const u=e.XpG();e.BMQ("data-pc-section","buttonGroup"),e.R7$(),e.HbH(u.incrementButtonClass),e.Y8G("ngClass",e.lJ4(17,Dh))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section","incrementbutton"),e.R7$(),e.Y8G("ngIf",u.incrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.incrementButtonIcon),e.R7$(),e.HbH(u.decrementButtonClass),e.Y8G("ngClass",e.lJ4(18,Wl))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section",u.decrementbutton),e.R7$(),e.Y8G("ngIf",u.decrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.decrementButtonIcon)}}function Qn(ye,et){if(1&ye&&e.nrm(0,"span",14),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.incrementButtonIcon),e.BMQ("data-pc-section","incrementbuttonicon")}}function os(ye,et){1&ye&&e.nrm(0,"AngleUpIcon"),2&ye&&e.BMQ("data-pc-section","incrementbuttonicon")}function xn(ye,et){}function ys(ye,et){1&ye&&e.DNE(0,xn,0,0,"ng-template")}function hs(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,os,1,1,"AngleUpIcon",3)(2,ys,1,0,null,10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.incrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementButtonIconTemplate)}}function zs(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",12),e.bIt("mousedown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUpButtonMouseDown(de))})("mouseup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonMouseUp())})("mouseleave",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonMouseLeave())})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUpButtonKeyDown(de))})("keyup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonKeyUp())}),e.DNE(1,Qn,1,2,"span",13)(2,hs,3,2,"ng-container",3),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.incrementButtonClass),e.Y8G("ngClass",e.lJ4(8,Dh))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section","incrementbutton"),e.R7$(),e.Y8G("ngIf",u.incrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.incrementButtonIcon)}}function Lr(ye,et){if(1&ye&&e.nrm(0,"span",14),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.decrementButtonIcon),e.BMQ("data-pc-section","decrementbuttonicon")}}function Zn(ye,et){1&ye&&e.nrm(0,"AngleDownIcon"),2&ye&&e.BMQ("data-pc-section","decrementbuttonicon")}function gi(ye,et){}function Bi(ye,et){1&ye&&e.DNE(0,gi,0,0,"ng-template")}function En(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Zn,1,1,"AngleDownIcon",3)(2,Bi,1,0,null,10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.decrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementButtonIconTemplate)}}function ks(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",12),e.bIt("mousedown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onDownButtonMouseDown(de))})("mouseup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonMouseUp())})("mouseleave",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonMouseLeave())})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onDownButtonKeyDown(de))})("keyup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonKeyUp())}),e.DNE(1,Lr,1,2,"span",13)(2,En,3,2,"ng-container",3),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.decrementButtonClass),e.Y8G("ngClass",e.lJ4(8,Wl))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section","decrementbutton"),e.R7$(),e.Y8G("ngIf",u.decrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.decrementButtonIcon)}}const Us={provide:V.kq,useExisting:(0,e.Rfq)(()=>mr),multi:!0};let mr=(()=>{class ye{document;el;cd;injector;showButtons=!1;format=!0;buttonLayout="stacked";inputId;styleClass;style;placeholder;size;maxlength;tabindex;title;ariaLabelledBy;ariaLabel;ariaRequired;name;required;autocomplete;min;max;incrementButtonClass;decrementButtonClass;incrementButtonIcon;decrementButtonIcon;readonly=!1;step=1;allowEmpty=!0;locale;localeMatcher;mode="decimal";currency;currencyDisplay;useGrouping=!0;minFractionDigits;maxFractionDigits;prefix;suffix;inputStyle;inputStyleClass;showClear=!1;get disabled(){return this._disabled}set disabled(u){u&&(this.focused=!1),this._disabled=u,this.timer&&this.clearTimer()}onInput=new e.bkB;onFocus=new e.bkB;onBlur=new e.bkB;onKeyDown=new e.bkB;onClear=new e.bkB;input;templates;clearIconTemplate;incrementButtonIconTemplate;decrementButtonIconTemplate;value;onModelChange=()=>{};onModelTouched=()=>{};focused;initialized;groupChar="";prefixChar="";suffixChar="";isSpecialChar;timer;lastValue;_numeral;numberFormat;_decimal;_decimalChar;_group;_minusSign;_currency;_prefix;_suffix;_index;_disabled;ngControl=null;constructor(u,ie,de,Ae){this.document=u,this.el=ie,this.cd=de,this.injector=Ae}ngOnChanges(u){["locale","localeMatcher","mode","currency","currencyDisplay","useGrouping","minFractionDigits","maxFractionDigits","prefix","suffix"].some(de=>!!u[de])&&this.updateConstructParser()}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"clearicon":this.clearIconTemplate=u.template;break;case"incrementbuttonicon":this.incrementButtonIconTemplate=u.template;break;case"decrementbuttonicon":this.decrementButtonIconTemplate=u.template}})}ngOnInit(){this.ngControl=this.injector.get(V.vO,null,{optional:!0}),this.constructParser(),this.initialized=!0}getOptions(){return{localeMatcher:this.localeMatcher,style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,useGrouping:this.useGrouping,minimumFractionDigits:this.minFractionDigits,maximumFractionDigits:this.maxFractionDigits}}constructParser(){this.numberFormat=new Intl.NumberFormat(this.locale,this.getOptions());const u=[...new Intl.NumberFormat(this.locale,{useGrouping:!1}).format(9876543210)].reverse(),ie=new Map(u.map((de,Ae)=>[de,Ae]));this._numeral=new RegExp(`[${u.join("")}]`,"g"),this._group=this.getGroupingExpression(),this._minusSign=this.getMinusSignExpression(),this._currency=this.getCurrencyExpression(),this._decimal=this.getDecimalExpression(),this._decimalChar=this.getDecimalChar(),this._suffix=this.getSuffixExpression(),this._prefix=this.getPrefixExpression(),this._index=de=>ie.get(de)}updateConstructParser(){this.initialized&&this.constructParser()}escapeRegExp(u){return u.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}getDecimalExpression(){const u=this.getDecimalChar();return new RegExp(`[${u}]`,"g")}getDecimalChar(){return new Intl.NumberFormat(this.locale,{...this.getOptions(),useGrouping:!1}).format(1.1).replace(this._currency,"").trim().replace(this._numeral,"")}getGroupingExpression(){const u=new Intl.NumberFormat(this.locale,{useGrouping:!0});return this.groupChar=u.format(1e6).trim().replace(this._numeral,"").charAt(0),new RegExp(`[${this.groupChar}]`,"g")}getMinusSignExpression(){const u=new Intl.NumberFormat(this.locale,{useGrouping:!1});return new RegExp(`[${u.format(-1).trim().replace(this._numeral,"")}]`,"g")}getCurrencyExpression(){if(this.currency){const u=new Intl.NumberFormat(this.locale,{style:"currency",currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});return new RegExp(`[${u.format(1).replace(/\s/g,"").replace(this._numeral,"").replace(this._group,"")}]`,"g")}return new RegExp("[]","g")}getPrefixExpression(){if(this.prefix)this.prefixChar=this.prefix;else{const u=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay});this.prefixChar=u.format(1).split("1")[0]}return new RegExp(`${this.escapeRegExp(this.prefixChar||"")}`,"g")}getSuffixExpression(){if(this.suffix)this.suffixChar=this.suffix;else{const u=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});this.suffixChar=u.format(1).split("1")[1]}return new RegExp(`${this.escapeRegExp(this.suffixChar||"")}`,"g")}formatValue(u){if(null!=u){if("-"===u)return u;if(this.format){let de=new Intl.NumberFormat(this.locale,this.getOptions()).format(u);return this.prefix&&(de=this.prefix+de),this.suffix&&(de+=this.suffix),de}return u.toString()}return""}parseValue(u){let ie=u.replace(this._suffix,"").replace(this._prefix,"").trim().replace(/\s/g,"").replace(this._currency,"").replace(this._group,"").replace(this._minusSign,"-").replace(this._decimal,".").replace(this._numeral,this._index);if(ie){if("-"===ie)return ie;let de=+ie;return isNaN(de)?null:de}return null}repeat(u,ie,de){if(this.readonly)return;let Ae=ie||500;this.clearTimer(),this.timer=setTimeout(()=>{this.repeat(u,40,de)},Ae),this.spin(u,de)}spin(u,ie){let de=this.step*ie,Ae=this.parseValue(this.input?.nativeElement.value)||0,nt=this.validateValue(Ae+de);this.maxlength&&this.maxlength=0;kt--)if(this.isNumeralChar(Ae.charAt(kt))){this.input.nativeElement.setSelectionRange(kt,kt);break}break;case"Tab":case"Enter":nt=this.validateValue(this.parseValue(this.input.nativeElement.value)),this.input.nativeElement.value=this.formatValue(nt),this.input.nativeElement.setAttribute("aria-valuenow",nt),this.updateModel(u,nt);break;case"Backspace":if(u.preventDefault(),ie===de){const kt=Ae.charAt(ie-1),{decimalCharIndex:zt,decimalCharIndexWithoutPrefix:ai}=this.getDecimalCharIndexes(Ae);if(this.isNumeralChar(kt)){const oi=this.getDecimalLength(Ae);if(this._group.test(kt))this._group.lastIndex=0,nt=Ae.slice(0,ie-2)+Ae.slice(ie-1);else if(this._decimal.test(kt))this._decimal.lastIndex=0,oi?this.input?.nativeElement.setSelectionRange(ie-1,ie-1):nt=Ae.slice(0,ie-1)+Ae.slice(ie);else if(zt>0&&ie>zt){const Li=this.isDecimalMode()&&(this.minFractionDigits||0)0?nt:""):nt=Ae.slice(0,ie-1)+Ae.slice(ie)}else"currency"===this.mode&&-1!=kt.search(this._currency)&&(nt=Ae.slice(1));this.updateValue(u,nt,null,"delete-single")}else nt=this.deleteRange(Ae,ie,de),this.updateValue(u,nt,null,"delete-range");break;case"Delete":if(u.preventDefault(),ie===de){const kt=Ae.charAt(ie),{decimalCharIndex:zt,decimalCharIndexWithoutPrefix:ai}=this.getDecimalCharIndexes(Ae);if(this.isNumeralChar(kt)){const oi=this.getDecimalLength(Ae);if(this._group.test(kt))this._group.lastIndex=0,nt=Ae.slice(0,ie)+Ae.slice(ie+2);else if(this._decimal.test(kt))this._decimal.lastIndex=0,oi?this.input?.nativeElement.setSelectionRange(ie+1,ie+1):nt=Ae.slice(0,ie)+Ae.slice(ie+1);else if(zt>0&&ie>zt){const Li=this.isDecimalMode()&&(this.minFractionDigits||0)0?nt:""):nt=Ae.slice(0,ie)+Ae.slice(ie+1)}this.updateValue(u,nt,null,"delete-back-single")}else nt=this.deleteRange(Ae,ie,de),this.updateValue(u,nt,null,"delete-range");break;case"Home":this.min&&(this.updateModel(u,this.min),u.preventDefault());break;case"End":this.max&&(this.updateModel(u,this.max),u.preventDefault())}this.onKeyDown.emit(u)}onInputKeyPress(u){if(this.readonly)return;let ie=u.which||u.keyCode,de=String.fromCharCode(ie),Ae=this.isDecimalSign(de);const nt=this.isMinusSign(de);13!=ie&&u.preventDefault(),!Ae&&"NumpadDecimal"===u.code&&(Ae=!0,de=this._decimalChar,ie=de.charCodeAt(0));const kt=this.parseValue(this.input.nativeElement.value+de),zt=null!=kt?kt.toString():"";this.maxlength&&zt.length>this.maxlength||(48<=ie&&ie<=57||nt||Ae)&&this.insert(u,de,{isDecimalSign:Ae,isMinusSign:nt})}onPaste(u){if(!this.disabled&&!this.readonly){u.preventDefault();let ie=(u.clipboardData||this.document.defaultView.clipboardData).getData("Text");if(ie){this.maxlength&&(ie=ie.toString().substring(0,this.maxlength));let de=this.parseValue(ie);null!=de&&this.insert(u,de.toString())}}}allowMinusSign(){return null==this.min||this.min<0}isMinusSign(u){return!(!this._minusSign.test(u)&&"-"!==u||(this._minusSign.lastIndex=0,0))}isDecimalSign(u){return!!this._decimal.test(u)&&(this._decimal.lastIndex=0,!0)}isDecimalMode(){return"decimal"===this.mode}getDecimalCharIndexes(u){let ie=u.search(this._decimal);this._decimal.lastIndex=0;const Ae=u.replace(this._prefix,"").trim().replace(/\s/g,"").replace(this._currency,"").search(this._decimal);return this._decimal.lastIndex=0,{decimalCharIndex:ie,decimalCharIndexWithoutPrefix:Ae}}getCharIndexes(u){const ie=u.search(this._decimal);this._decimal.lastIndex=0;const de=u.search(this._minusSign);this._minusSign.lastIndex=0;const Ae=u.search(this._suffix);this._suffix.lastIndex=0;const nt=u.search(this._currency);return this._currency.lastIndex=0,{decimalCharIndex:ie,minusCharIndex:de,suffixCharIndex:Ae,currencyCharIndex:nt}}insert(u,ie,de={isDecimalSign:!1,isMinusSign:!1}){const Ae=ie.search(this._minusSign);if(this._minusSign.lastIndex=0,!this.allowMinusSign()&&-1!==Ae)return;let nt=this.input?.nativeElement.selectionStart,kt=this.input?.nativeElement.selectionEnd,zt=this.input?.nativeElement.value.trim();const{decimalCharIndex:ai,minusCharIndex:oi,suffixCharIndex:Li,currencyCharIndex:Yi}=this.getCharIndexes(zt);let Xi;if(de.isMinusSign)0===nt&&(Xi=zt,(-1===oi||0!==kt)&&(Xi=this.insertText(zt,ie,0,kt)),this.updateValue(u,Xi,ie,"insert"));else if(de.isDecimalSign)ai>0&&nt===ai?this.updateValue(u,zt,ie,"insert"):(ai>nt&&ai0&&nt>ai){if(nt+ie.length-(ai+1)<=Ji){const en=Yi>=nt?Yi-1:Li>=nt?Li:zt.length;Xi=zt.slice(0,nt)+ie+zt.slice(nt+ie.length,en)+zt.slice(en),this.updateValue(u,Xi,ie,_n)}}else Xi=this.insertText(zt,ie,nt,kt),this.updateValue(u,Xi,ie,_n)}}insertText(u,ie,de,Ae){if(2===("."===ie?ie:ie.split(".")).length){const kt=u.slice(de,Ae).search(this._decimal);return this._decimal.lastIndex=0,kt>0?u.slice(0,de)+this.formatValue(ie)+u.slice(Ae):u||this.formatValue(ie)}return Ae-de===u.length?this.formatValue(ie):0===de?ie+u.slice(Ae):Ae===u.length?u.slice(0,de)+ie:u.slice(0,de)+ie+u.slice(Ae)}deleteRange(u,ie,de){let Ae;return Ae=de-ie===u.length?"":0===ie?u.slice(de):de===u.length?u.slice(0,ie):u.slice(0,ie)+u.slice(de),Ae}initCursor(){let u=this.input?.nativeElement.selectionStart,ie=this.input?.nativeElement.value,de=ie.length,Ae=null,nt=(this.prefixChar||"").length;ie=ie.replace(this._prefix,""),u-=nt;let kt=ie.charAt(u);if(this.isNumeralChar(kt))return u+nt;let zt=u-1;for(;zt>=0;){if(kt=ie.charAt(zt),this.isNumeralChar(kt)){Ae=zt+nt;break}zt--}if(null!==Ae)this.input?.nativeElement.setSelectionRange(Ae+1,Ae+1);else{for(zt=u;ztthis.max?this.max:u}updateInput(u,ie,de,Ae){ie=ie||"";let nt=this.input?.nativeElement.value,kt=this.formatValue(u),zt=nt.length;if(kt!==Ae&&(kt=this.concatValues(kt,Ae)),0===zt){this.input.nativeElement.value=kt,this.input.nativeElement.setSelectionRange(0,0);const oi=this.initCursor()+ie.length;this.input.nativeElement.setSelectionRange(oi,oi)}else{let ai=this.input.nativeElement.selectionStart,oi=this.input.nativeElement.selectionEnd;if(this.maxlength&&kt.length>this.maxlength&&(kt=kt.slice(0,this.maxlength),ai=Math.min(ai,this.maxlength),oi=Math.min(oi,this.maxlength)),this.maxlength&&this.maxlength0}clearTimer(){this.timer&&clearInterval(this.timer)}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.aKT),e.rXU(e.gRc),e.rXU(e.zZn))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-inputNumber"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&e.GBs(ia,5),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.input=Ae.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:6,hostBindings:function(ie,de){2&ie&&e.AVh("p-inputwrapper-filled",de.filled)("p-inputwrapper-focus",de.focused)("p-inputnumber-clearable",de.showClear&&"vertical"!=de.buttonLayout)},inputs:{showButtons:"showButtons",format:"format",buttonLayout:"buttonLayout",inputId:"inputId",styleClass:"styleClass",style:"style",placeholder:"placeholder",size:"size",maxlength:"maxlength",tabindex:"tabindex",title:"title",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",ariaRequired:"ariaRequired",name:"name",required:"required",autocomplete:"autocomplete",min:"min",max:"max",incrementButtonClass:"incrementButtonClass",decrementButtonClass:"decrementButtonClass",incrementButtonIcon:"incrementButtonIcon",decrementButtonIcon:"decrementButtonIcon",readonly:"readonly",step:"step",allowEmpty:"allowEmpty",locale:"locale",localeMatcher:"localeMatcher",mode:"mode",currency:"currency",currencyDisplay:"currencyDisplay",useGrouping:"useGrouping",minFractionDigits:"minFractionDigits",maxFractionDigits:"maxFractionDigits",prefix:"prefix",suffix:"suffix",inputStyle:"inputStyle",inputStyleClass:"inputStyleClass",showClear:"showClear",disabled:"disabled"},outputs:{onInput:"onInput",onFocus:"onFocus",onBlur:"onBlur",onKeyDown:"onKeyDown",onClear:"onClear"},features:[e.Jv_([Us]),e.OA$],decls:7,vars:39,consts:[["input",""],[3,"ngClass","ngStyle"],["pInputText","","role","spinbutton","inputmode","decimal",3,"input","keydown","keypress","paste","click","focus","blur","ngClass","ngStyle","value","disabled","readonly"],[4,"ngIf"],["class","p-inputnumber-button-group",4,"ngIf"],["type","button","pButton","","class","p-button-icon-only","tabindex","-1",3,"ngClass","class","disabled","mousedown","mouseup","mouseleave","keydown","keyup",4,"ngIf"],[3,"ngClass","click",4,"ngIf"],["class","p-inputnumber-clear-icon",3,"click",4,"ngIf"],[3,"click","ngClass"],[1,"p-inputnumber-clear-icon",3,"click"],[4,"ngTemplateOutlet"],[1,"p-inputnumber-button-group"],["type","button","pButton","","tabindex","-1",1,"p-button-icon-only",3,"mousedown","mouseup","mouseleave","keydown","keyup","ngClass","disabled"],[3,"ngClass",4,"ngIf"],[3,"ngClass"]],template:function(ie,de){if(1&ie){const Ae=e.RV6();e.j41(0,"span",1)(1,"input",2,0),e.bIt("input",function(kt){return e.eBV(Ae),e.Njj(de.onUserInput(kt))})("keydown",function(kt){return e.eBV(Ae),e.Njj(de.onInputKeyDown(kt))})("keypress",function(kt){return e.eBV(Ae),e.Njj(de.onInputKeyPress(kt))})("paste",function(kt){return e.eBV(Ae),e.Njj(de.onPaste(kt))})("click",function(){return e.eBV(Ae),e.Njj(de.onInputClick())})("focus",function(kt){return e.eBV(Ae),e.Njj(de.onInputFocus(kt))})("blur",function(kt){return e.eBV(Ae),e.Njj(de.onInputBlur(kt))}),e.k0s(),e.DNE(3,na,3,2,"ng-container",3)(4,Wn,7,19,"span",4)(5,zs,3,9,"button",5)(6,ks,3,9,"button",5),e.k0s()}2&ie&&(e.HbH(de.styleClass),e.Y8G("ngClass",e.sMw(35,kh,de.showButtons&&"stacked"===de.buttonLayout,de.showButtons&&"horizontal"===de.buttonLayout,de.showButtons&&"vertical"===de.buttonLayout))("ngStyle",de.style),e.BMQ("data-pc-name","inputnumber")("data-pc-section","root"),e.R7$(),e.HbH(de.inputStyleClass),e.Y8G("ngClass","p-inputnumber-input")("ngStyle",de.inputStyle)("value",de.formattedValue())("disabled",de.disabled)("readonly",de.readonly),e.BMQ("id",de.inputId)("aria-valuemin",de.min)("aria-valuemax",de.max)("aria-valuenow",de.value)("placeholder",de.placeholder)("aria-label",de.ariaLabel)("aria-labelledby",de.ariaLabelledBy)("title",de.title)("size",de.size)("name",de.name)("autocomplete",de.autocomplete)("maxlength",de.maxlength)("tabindex",de.tabindex)("aria-required",de.ariaRequired)("required",de.required)("min",de.min)("max",de.max)("data-pc-section","input"),e.R7$(2),e.Y8G("ngIf","vertical"!=de.buttonLayout&&de.showClear&&de.value),e.R7$(),e.Y8G("ngIf",de.showButtons&&"stacked"===de.buttonLayout),e.R7$(),e.Y8G("ngIf",de.showButtons&&"stacked"!==de.buttonLayout),e.R7$(),e.Y8G("ngIf",de.showButtons&&"stacked"!==de.buttonLayout))},dependencies:()=>[M.YU,M.bT,M.T3,M.B3,_a.S,q._f,E.A,Xr,xa],styles:["@layer primeng{p-inputnumber,.p-inputnumber{display:inline-flex}.p-inputnumber-button{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button .p-button-label,.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button .p-button-label{display:none}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-up{border-top-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:0}.p-inputnumber-buttons-stacked .p-inputnumber-input{border-top-right-radius:0;border-bottom-right-radius:0}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-down{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;padding:0}.p-inputnumber-buttons-stacked .p-inputnumber-button-group{display:flex;flex-direction:column}.p-inputnumber-buttons-stacked .p-inputnumber-button-group .p-button.p-inputnumber-button{flex:1 1 auto}.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-up{order:3;border-top-left-radius:0;border-bottom-left-radius:0}.p-inputnumber-buttons-horizontal .p-inputnumber-input{order:2;border-radius:0}.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-down{order:1;border-top-right-radius:0;border-bottom-right-radius:0}.p-inputnumber-buttons-vertical{flex-direction:column}.p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-up{order:1;border-bottom-left-radius:0;border-bottom-right-radius:0;width:100%}.p-inputnumber-buttons-vertical .p-inputnumber-input{order:2;border-radius:0;text-align:center}.p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-down{order:3;border-top-left-radius:0;border-top-right-radius:0;width:100%}.p-inputnumber-input{flex:1 1 auto}.p-fluid p-inputnumber,.p-fluid .p-inputnumber{width:100%}.p-fluid .p-inputnumber .p-inputnumber-input{width:1%}.p-fluid .p-inputnumber-buttons-vertical .p-inputnumber-input{width:100%}.p-inputnumber-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-inputnumber-clearable{position:relative}}\n"],encapsulation:2,changeDetection:0})}return ye})(),ul=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,_a.u,q.tm,E.A,Xr,xa,Le.Gg]})}return ye})(),jn=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleDoubleLeftIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M5.71602 11.164C5.80782 11.2021 5.9063 11.2215 6.00569 11.221C6.20216 11.2301 6.39427 11.1612 6.54025 11.0294C6.68191 10.8875 6.76148 10.6953 6.76148 10.4948C6.76148 10.2943 6.68191 10.1021 6.54025 9.96024L3.51441 6.9344L6.54025 3.90855C6.624 3.76126 6.65587 3.59011 6.63076 3.42254C6.60564 3.25498 6.525 3.10069 6.40175 2.98442C6.2785 2.86815 6.11978 2.79662 5.95104 2.7813C5.78229 2.76598 5.61329 2.80776 5.47112 2.89994L1.97123 6.39983C1.82957 6.54167 1.75 6.73393 1.75 6.9344C1.75 7.13486 1.82957 7.32712 1.97123 7.46896L5.47112 10.9991C5.54096 11.0698 5.62422 11.1259 5.71602 11.164ZM11.0488 10.9689C11.1775 11.1156 11.3585 11.2061 11.5531 11.221C11.7477 11.2061 11.9288 11.1156 12.0574 10.9689C12.1815 10.8302 12.25 10.6506 12.25 10.4645C12.25 10.2785 12.1815 10.0989 12.0574 9.96024L9.03158 6.93439L12.0574 3.90855C12.1248 3.76739 12.1468 3.60881 12.1204 3.45463C12.0939 3.30045 12.0203 3.15826 11.9097 3.04765C11.7991 2.93703 11.6569 2.86343 11.5027 2.83698C11.3486 2.81053 11.19 2.83252 11.0488 2.89994L7.51865 6.36957C7.37699 6.51141 7.29742 6.70367 7.29742 6.90414C7.29742 7.1046 7.37699 7.29686 7.51865 7.4387L11.0488 10.9689Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),br=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleDoubleRightIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),Ro=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleLeftIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.75 11.185C8.65146 11.1854 8.55381 11.1662 8.4628 11.1284C8.37179 11.0906 8.28924 11.0351 8.22 10.965L4.72 7.46496C4.57955 7.32433 4.50066 7.13371 4.50066 6.93496C4.50066 6.73621 4.57955 6.54558 4.72 6.40496L8.22 2.93496C8.36095 2.84357 8.52851 2.80215 8.69582 2.81733C8.86312 2.83252 9.02048 2.90344 9.14268 3.01872C9.26487 3.134 9.34483 3.28696 9.36973 3.4531C9.39463 3.61924 9.36303 3.78892 9.28 3.93496L6.28 6.93496L9.28 9.93496C9.42045 10.0756 9.49934 10.2662 9.49934 10.465C9.49934 10.6637 9.42045 10.8543 9.28 10.995C9.13526 11.1257 8.9448 11.1939 8.75 11.185Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),Qi=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleRightIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M5.25 11.1728C5.14929 11.1694 5.05033 11.1455 4.9592 11.1025C4.86806 11.0595 4.78666 10.9984 4.72 10.9228C4.57955 10.7822 4.50066 10.5916 4.50066 10.3928C4.50066 10.1941 4.57955 10.0035 4.72 9.86283L7.72 6.86283L4.72 3.86283C4.66067 3.71882 4.64765 3.55991 4.68275 3.40816C4.71785 3.25642 4.79932 3.11936 4.91585 3.01602C5.03238 2.91268 5.17819 2.84819 5.33305 2.83149C5.4879 2.81479 5.64411 2.84671 5.78 2.92283L9.28 6.42283C9.42045 6.56346 9.49934 6.75408 9.49934 6.95283C9.49934 7.15158 9.42045 7.34221 9.28 7.48283L5.78 10.9228C5.71333 10.9984 5.63193 11.0595 5.5408 11.1025C5.44966 11.1455 5.35071 11.1694 5.25 11.1728Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})();const No=ye=>({"p-disabled":ye}),Xl=ye=>({$implicit:ye}),ws=ye=>({"p-highlight":ye});function Is(ye,et){1&ye&&e.eu8(0)}function pl(ye,et){if(1&ye&&(e.j41(0,"div",15),e.DNE(1,Is,1,0,"ng-container",16),e.k0s()),2&ye){const u=e.XpG(2);e.BMQ("data-pc-section","start"),e.R7$(),e.Y8G("ngTemplateOutlet",u.templateLeft)("ngTemplateOutletContext",e.eq3(3,Xl,u.paginatorState))}}function Yl(ye,et){if(1&ye&&(e.j41(0,"span",17),e.EFF(1),e.k0s()),2&ye){const u=e.XpG(2);e.R7$(),e.JRh(u.currentPageReport)}}function Kr(ye,et){1&ye&&e.nrm(0,"AngleDoubleLeftIcon",19),2&ye&&e.Y8G("styleClass","p-paginator-icon")}function Kl(ye,et){}function wa(ye,et){1&ye&&e.DNE(0,Kl,0,0,"ng-template")}function yo(ye,et){if(1&ye&&(e.j41(0,"span",20),e.DNE(1,wa,1,0,null,21),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.firstPageLinkIconTemplate)}}function Zr(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",18),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.changePageToFirst(de))}),e.DNE(1,Kr,1,1,"AngleDoubleLeftIcon",6)(2,yo,2,1,"span",7),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("disabled",u.isFirstPage()||u.empty())("ngClass",e.eq3(5,No,u.isFirstPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("firstPageLabel")),e.R7$(),e.Y8G("ngIf",!u.firstPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.firstPageLinkIconTemplate)}}function $a(ye,et){1&ye&&e.nrm(0,"AngleLeftIcon",19),2&ye&&e.Y8G("styleClass","p-paginator-icon")}function rn(ye,et){}function Bc(ye,et){1&ye&&e.DNE(0,rn,0,0,"ng-template")}function gc(ye,et){if(1&ye&&(e.j41(0,"span",20),e.DNE(1,Bc,1,0,null,21),e.k0s()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.previousPageLinkIconTemplate)}}function Fo(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",24),e.bIt("click",function(de){const Ae=e.eBV(u).$implicit,nt=e.XpG(3);return e.Njj(nt.onPageLinkClick(de,Ae-1))}),e.EFF(1),e.k0s()}if(2&ye){const u=et.$implicit,ie=e.XpG(3);e.Y8G("ngClass",e.eq3(4,ws,u-1==ie.getPage())),e.BMQ("aria-label",ie.getPageAriaLabel(u))("aria-current",u-1==ie.getPage()?"page":void 0),e.R7$(),e.SpI(" ",ie.getLocalization(u)," ")}}function mc(ye,et){if(1&ye&&(e.j41(0,"span",22),e.DNE(1,Fo,2,6,"button",23),e.k0s()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngForOf",u.pageLinks)}}function Xa(ye,et){if(1&ye&&e.EFF(0),2&ye){const u=e.XpG(3);e.JRh(u.currentPageReport)}}function Ys(ye,et){1&ye&&e.eu8(0)}function Eh(ye,et){if(1&ye&&e.DNE(0,Ys,1,0,"ng-container",21),2&ye){const u=e.XpG(4);e.Y8G("ngTemplateOutlet",u.dropdownIconTemplate)}}function Pr(ye,et){1&ye&&e.DNE(0,Eh,1,1,"ng-template",28)}function Gs(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-dropdown",25),e.bIt("onChange",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onPageDropdownChange(de))}),e.DNE(1,Xa,1,1,"ng-template",26)(2,Pr,1,0,null,27),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("options",u.pageItems)("ngModel",u.getPage())("disabled",u.empty())("appendTo",u.dropdownAppendTo)("scrollHeight",u.dropdownScrollHeight),e.BMQ("aria-label",u.getAriaLabel("jumpToPageDropdownLabel")),e.R7$(2),e.Y8G("ngIf",u.dropdownIconTemplate)}}function jc(ye,et){1&ye&&e.nrm(0,"AngleRightIcon",19),2&ye&&e.Y8G("styleClass","p-paginator-icon")}function Bo(ye,et){}function fl(ye,et){1&ye&&e.DNE(0,Bo,0,0,"ng-template")}function no(ye,et){if(1&ye&&(e.j41(0,"span",20),e.DNE(1,fl,1,0,null,21),e.k0s()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.nextPageLinkIconTemplate)}}function Vc(ye,et){1&ye&&e.nrm(0,"AngleDoubleRightIcon",19),2&ye&&e.Y8G("styleClass","p-paginator-icon")}function bc(ye,et){}function Xd(ye,et){1&ye&&e.DNE(0,bc,0,0,"ng-template")}function ss(ye,et){if(1&ye&&(e.j41(0,"span",20),e.DNE(1,Xd,1,0,null,21),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.lastPageLinkIconTemplate)}}function zc(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",29),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.changePageToLast(de))}),e.DNE(1,Vc,1,1,"AngleDoubleRightIcon",6)(2,ss,2,1,"span",7),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("disabled",u.isLastPage()||u.empty())("ngClass",e.eq3(5,No,u.isLastPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("lastPageLabel")),e.R7$(),e.Y8G("ngIf",!u.lastPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.lastPageLinkIconTemplate)}}function Ah(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-inputNumber",30),e.bIt("ngModelChange",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.changePage(de-1))}),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("ngModel",u.currentPage())("disabled",u.empty())}}function Gc(ye,et){1&ye&&e.eu8(0)}function Yd(ye,et){if(1&ye&&e.DNE(0,Gc,1,0,"ng-container",16),2&ye){const u=et.$implicit,ie=e.XpG(4);e.Y8G("ngTemplateOutlet",ie.dropdownItemTemplate)("ngTemplateOutletContext",e.eq3(2,Xl,u))}}function ld(ye,et){1&ye&&(e.qex(0),e.DNE(1,Yd,1,4,"ng-template",32),e.bVm())}function cd(ye,et){1&ye&&e.eu8(0)}function Ih(ye,et){if(1&ye&&e.DNE(0,cd,1,0,"ng-container",21),2&ye){const u=e.XpG(4);e.Y8G("ngTemplateOutlet",u.dropdownIconTemplate)}}function vc(ye,et){1&ye&&e.DNE(0,Ih,1,1,"ng-template",28)}function hd(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-dropdown",31),e.mxI("ngModelChange",function(de){e.eBV(u);const Ae=e.XpG(2);return e.DH7(Ae.rows,de)||(Ae.rows=de),e.Njj(de)}),e.bIt("onChange",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onRppChange(de))}),e.DNE(1,ld,2,0,"ng-container",27)(2,vc,1,0,null,27),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("options",u.rowsPerPageItems),e.R50("ngModel",u.rows),e.Y8G("disabled",u.empty())("appendTo",u.dropdownAppendTo)("scrollHeight",u.dropdownScrollHeight)("ariaLabel",u.getAriaLabel("rowsPerPageLabel")),e.R7$(),e.Y8G("ngIf",u.dropdownItemTemplate),e.R7$(),e.Y8G("ngIf",u.dropdownIconTemplate)}}function $u(ye,et){1&ye&&e.eu8(0)}function Xu(ye,et){if(1&ye&&(e.j41(0,"div",33),e.DNE(1,$u,1,0,"ng-container",16),e.k0s()),2&ye){const u=e.XpG(2);e.BMQ("data-pc-section","end"),e.R7$(),e.Y8G("ngTemplateOutlet",u.templateRight)("ngTemplateOutletContext",e.eq3(3,Xl,u.paginatorState))}}function Oh(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",1),e.DNE(1,pl,2,5,"div",2)(2,Yl,2,1,"span",3)(3,Zr,3,7,"button",4),e.j41(4,"button",5),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.changePageToPrev(de))}),e.DNE(5,$a,1,1,"AngleLeftIcon",6)(6,gc,2,1,"span",7),e.k0s(),e.DNE(7,mc,2,1,"span",8)(8,Gs,3,7,"p-dropdown",9),e.j41(9,"button",10),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.changePageToNext(de))}),e.DNE(10,jc,1,1,"AngleRightIcon",6)(11,no,2,1,"span",7),e.k0s(),e.DNE(12,zc,3,7,"button",11)(13,Ah,1,2,"p-inputNumber",12)(14,hd,3,8,"p-dropdown",13)(15,Xu,2,5,"div",14),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.styleClass),e.Y8G("ngStyle",u.style)("ngClass","p-paginator p-component"),e.BMQ("data-pc-section","paginator")("data-pc-section","root"),e.R7$(),e.Y8G("ngIf",u.templateLeft),e.R7$(),e.Y8G("ngIf",u.showCurrentPageReport),e.R7$(),e.Y8G("ngIf",u.showFirstLastIcon),e.R7$(),e.Y8G("disabled",u.isFirstPage()||u.empty())("ngClass",e.eq3(25,No,u.isFirstPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("prevPageLabel")),e.R7$(),e.Y8G("ngIf",!u.previousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.previousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.showPageLinks),e.R7$(),e.Y8G("ngIf",u.showJumpToPageDropdown),e.R7$(),e.Y8G("disabled",u.isLastPage()||u.empty())("ngClass",e.eq3(27,No,u.isLastPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("nextPageLabel")),e.R7$(),e.Y8G("ngIf",!u.nextPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.nextPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.showFirstLastIcon),e.R7$(),e.Y8G("ngIf",u.showJumpToPageInput),e.R7$(),e.Y8G("ngIf",u.rowsPerPageOptions),e.R7$(),e.Y8G("ngIf",u.templateRight)}}let Kd=(()=>{class ye{cd;config;pageLinkSize=5;style;styleClass;alwaysShow=!0;dropdownAppendTo;templateLeft;templateRight;appendTo;dropdownScrollHeight="200px";currentPageReportTemplate="{currentPage} of {totalPages}";showCurrentPageReport;showFirstLastIcon=!0;totalRecords=0;rows=0;rowsPerPageOptions;showJumpToPageDropdown;showJumpToPageInput;showPageLinks=!0;locale;dropdownItemTemplate;get first(){return this._first}set first(u){this._first=u}onPageChange=new e.bkB;templates;dropdownIconTemplate;firstPageLinkIconTemplate;previousPageLinkIconTemplate;lastPageLinkIconTemplate;nextPageLinkIconTemplate;pageLinks;pageItems;rowsPerPageItems;paginatorState;_first=0;_page=0;constructor(u,ie){this.cd=u,this.config=ie}ngOnInit(){this.updatePaginatorState()}getAriaLabel(u){return this.config.translation.aria?this.config.translation.aria[u]:void 0}getPageAriaLabel(u){return this.config.translation.aria?this.config.translation.aria.pageLabel.replace(/{page}/g,`Page ${u}`):void 0}getLocalization(u){const ie=[...new Intl.NumberFormat(this.locale,{useGrouping:!1}).format(9876543210)].reverse(),de=new Map(ie.map((Ae,nt)=>[nt,Ae]));return u>9?String(u).split("").map(nt=>de.get(Number(nt))).join(""):de.get(u)}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"dropdownicon":this.dropdownIconTemplate=u.template;break;case"firstpagelinkicon":this.firstPageLinkIconTemplate=u.template;break;case"previouspagelinkicon":this.previousPageLinkIconTemplate=u.template;break;case"lastpagelinkicon":this.lastPageLinkIconTemplate=u.template;break;case"nextpagelinkicon":this.nextPageLinkIconTemplate=u.template}})}ngOnChanges(u){u.totalRecords&&(this.updatePageLinks(),this.updatePaginatorState(),this.updateFirst(),this.updateRowsPerPageOptions()),u.first&&(this._first=u.first.currentValue,this.updatePageLinks(),this.updatePaginatorState()),u.rows&&(this.updatePageLinks(),this.updatePaginatorState()),u.rowsPerPageOptions&&this.updateRowsPerPageOptions()}updateRowsPerPageOptions(){if(this.rowsPerPageOptions){this.rowsPerPageItems=[];for(let u of this.rowsPerPageOptions)"object"==typeof u&&u.showAll?this.rowsPerPageItems.unshift({label:u.showAll,value:this.totalRecords}):this.rowsPerPageItems.push({label:String(this.getLocalization(u)),value:u})}}isFirstPage(){return 0===this.getPage()}isLastPage(){return this.getPage()===this.getPageCount()-1}getPageCount(){return Math.ceil(this.totalRecords/this.rows)}calculatePageLinkBoundaries(){let u=this.getPageCount(),ie=Math.min(this.pageLinkSize,u),de=Math.max(0,Math.ceil(this.getPage()-ie/2)),Ae=Math.min(u-1,de+ie-1);return de=Math.max(0,de-(this.pageLinkSize-(Ae-de+1))),[de,Ae]}updatePageLinks(){this.pageLinks=[];let u=this.calculatePageLinkBoundaries(),de=u[1];for(let Ae=u[0];Ae<=de;Ae++)this.pageLinks.push(Ae+1);if(this.showJumpToPageDropdown){this.pageItems=[];for(let Ae=0;Ae=0&&u0&&this.totalRecords&&this.first>=this.totalRecords&&Promise.resolve(null).then(()=>this.changePage(u-1))}getPage(){return Math.floor(this.first/this.rows)}changePageToFirst(u){this.isFirstPage()||this.changePage(0),u.preventDefault()}changePageToPrev(u){this.changePage(this.getPage()-1),u.preventDefault()}changePageToNext(u){this.changePage(this.getPage()+1),u.preventDefault()}changePageToLast(u){this.isLastPage()||this.changePage(this.getPageCount()-1),u.preventDefault()}onPageLinkClick(u,ie){this.changePage(ie),u.preventDefault()}onRppChange(u){this.changePage(this.getPage())}onPageDropdownChange(u){this.changePage(u.value)}updatePaginatorState(){this.paginatorState={page:this.getPage(),pageCount:this.getPageCount(),rows:this.rows,first:this.first,totalRecords:this.totalRecords}}empty(){return 0===this.getPageCount()}currentPage(){return this.getPageCount()>0?this.getPage()+1:0}get currentPageReport(){return this.currentPageReportTemplate.replace("{currentPage}",String(this.currentPage())).replace("{totalPages}",String(this.getPageCount())).replace("{first}",String(this.totalRecords>0?this._first+1:0)).replace("{last}",String(Math.min(this._first+this.rows,this.totalRecords))).replace("{rows}",String(this.rows)).replace("{totalRecords}",String(this.totalRecords))}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.gRc),e.rXU(Le.r1))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-paginator"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},hostAttrs:[1,"p-element"],inputs:{pageLinkSize:"pageLinkSize",style:"style",styleClass:"styleClass",alwaysShow:"alwaysShow",dropdownAppendTo:"dropdownAppendTo",templateLeft:"templateLeft",templateRight:"templateRight",appendTo:"appendTo",dropdownScrollHeight:"dropdownScrollHeight",currentPageReportTemplate:"currentPageReportTemplate",showCurrentPageReport:"showCurrentPageReport",showFirstLastIcon:"showFirstLastIcon",totalRecords:"totalRecords",rows:"rows",rowsPerPageOptions:"rowsPerPageOptions",showJumpToPageDropdown:"showJumpToPageDropdown",showJumpToPageInput:"showJumpToPageInput",showPageLinks:"showPageLinks",locale:"locale",dropdownItemTemplate:"dropdownItemTemplate",first:"first"},outputs:{onPageChange:"onPageChange"},features:[e.OA$],decls:1,vars:1,consts:[[3,"class","ngStyle","ngClass",4,"ngIf"],[3,"ngStyle","ngClass"],["class","p-paginator-left-content",4,"ngIf"],["class","p-paginator-current",4,"ngIf"],["type","button","pRipple","","class","p-paginator-first p-paginator-element p-link",3,"disabled","ngClass","click",4,"ngIf"],["type","button","pRipple","",1,"p-paginator-prev","p-paginator-element","p-link",3,"click","disabled","ngClass"],[3,"styleClass",4,"ngIf"],["class","p-paginator-icon",4,"ngIf"],["class","p-paginator-pages",4,"ngIf"],["styleClass","p-paginator-page-options",3,"options","ngModel","disabled","appendTo","scrollHeight","onChange",4,"ngIf"],["type","button","pRipple","",1,"p-paginator-next","p-paginator-element","p-link",3,"click","disabled","ngClass"],["type","button","pRipple","","class","p-paginator-last p-paginator-element p-link",3,"disabled","ngClass","click",4,"ngIf"],["class","p-paginator-page-input",3,"ngModel","disabled","ngModelChange",4,"ngIf"],["styleClass","p-paginator-rpp-options",3,"options","ngModel","disabled","appendTo","scrollHeight","ariaLabel","ngModelChange","onChange",4,"ngIf"],["class","p-paginator-right-content",4,"ngIf"],[1,"p-paginator-left-content"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-paginator-current"],["type","button","pRipple","",1,"p-paginator-first","p-paginator-element","p-link",3,"click","disabled","ngClass"],[3,"styleClass"],[1,"p-paginator-icon"],[4,"ngTemplateOutlet"],[1,"p-paginator-pages"],["type","button","class","p-paginator-page p-paginator-element p-link","pRipple","",3,"ngClass","click",4,"ngFor","ngForOf"],["type","button","pRipple","",1,"p-paginator-page","p-paginator-element","p-link",3,"click","ngClass"],["styleClass","p-paginator-page-options",3,"onChange","options","ngModel","disabled","appendTo","scrollHeight"],["pTemplate","selectedItem"],[4,"ngIf"],["pTemplate","dropdownicon"],["type","button","pRipple","",1,"p-paginator-last","p-paginator-element","p-link",3,"click","disabled","ngClass"],[1,"p-paginator-page-input",3,"ngModelChange","ngModel","disabled"],["styleClass","p-paginator-rpp-options",3,"ngModelChange","onChange","options","ngModel","disabled","appendTo","scrollHeight","ariaLabel"],["pTemplate","item"],[1,"p-paginator-right-content"]],template:function(ie,de){1&ie&&e.DNE(0,Oh,16,29,"div",0),2&ie&&e.Y8G("ngIf",!!de.alwaysShow||de.pageLinks&&de.pageLinks.length>1)},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,Rc,Le.Ei,mr,V.BC,V.vS,ve.n,jn,br,Ro,Qi],styles:["@layer primeng{.p-paginator{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.p-paginator-left-content{margin-right:auto}.p-paginator-right-content{margin-left:auto}.p-paginator-page,.p-paginator-next,.p-paginator-last,.p-paginator-first,.p-paginator-prev,.p-paginator-current{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;-webkit-user-select:none;user-select:none;overflow:hidden;position:relative}.p-paginator-element:focus{z-index:1;position:relative}}\n"],encapsulation:2,changeDetection:0})}return ye})(),Hc=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Lo,ul,V.YN,Le.Gg,ve.Z,jn,br,Ro,Qi,Lo,ul,V.YN,Le.Gg]})}return ye})();const Zd=["container"],Re=(ye,et,u)=>({"p-highlight":ye,"p-disabled":et,"p-button-icon-only":u}),He=(ye,et)=>({$implicit:ye,index:et});function Fe(ye,et){if(1&ye&&e.nrm(0,"span",8),2&ye){const u=e.XpG(2).$implicit;e.HbH(u.icon),e.Y8G("ngClass","p-button-icon p-button-icon-left"),e.BMQ("data-pc-section","icon")}}function Ue(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Fe,1,4,"span",6),e.j41(2,"span",7),e.EFF(3),e.k0s(),e.bVm()),2&ye){const u=e.XpG().$implicit,ie=e.XpG();e.R7$(),e.Y8G("ngIf",u.icon),e.R7$(),e.BMQ("data-pc-section","label"),e.R7$(),e.JRh(ie.getOptionLabel(u))}}function rt(ye,et){1&ye&&e.eu8(0)}function gt(ye,et){if(1&ye&&e.DNE(0,rt,1,0,"ng-container",9),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG();e.Y8G("ngTemplateOutlet",Ae.selectButtonTemplate)("ngTemplateOutletContext",e.l_i(2,He,ie,de))}}function Ot(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",4),e.bIt("click",function(de){const Ae=e.eBV(u),nt=Ae.$implicit,kt=Ae.index,zt=e.XpG();return e.Njj(zt.onOptionSelect(de,nt,kt))})("keydown",function(de){const Ae=e.eBV(u),nt=Ae.$implicit,kt=Ae.index,zt=e.XpG();return e.Njj(zt.onKeyDown(de,nt,kt))})("focus",function(de){const Ae=e.eBV(u).index,nt=e.XpG();return e.Njj(nt.onFocus(de,Ae))})("blur",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onBlur())}),e.DNE(1,Ue,4,3,"ng-container",5)(2,gt,1,5,"ng-template",null,1,e.C5r),e.k0s()}if(2&ye){const u=et.$implicit,ie=et.index,de=e.sdS(3),Ae=e.XpG();e.HbH(u.styleClass),e.Y8G("role",Ae.multiple?"checkbox":"radio")("ngClass",e.sMw(14,Re,Ae.isSelected(u),Ae.disabled||Ae.isOptionDisabled(u),u.icon&&!Ae.getOptionLabel(u))),e.BMQ("tabindex",ie===Ae.focusedIndex?"0":"-1")("aria-label",u.label)("aria-checked",Ae.isSelected(u))("aria-disabled",Ae.optionDisabled)("aria-pressed",Ae.isSelected(u))("title",u.title)("aria-labelledby",Ae.getOptionLabel(u))("data-pc-section","button"),e.R7$(),e.Y8G("ngIf",!Ae.itemTemplate)("ngIfElse",de)}}const qt={provide:V.kq,useExisting:(0,e.Rfq)(()=>Xt),multi:!0};let Xt=(()=>{class ye{cd;options;optionLabel;optionValue;optionDisabled;unselectable=!1;tabindex=0;multiple;allowEmpty=!0;style;styleClass;ariaLabelledBy;disabled;dataKey;onOptionClick=new e.bkB;onChange=new e.bkB;container;itemTemplate;get selectButtonTemplate(){return this.itemTemplate?.template}get equalityKey(){return this.optionValue?null:this.dataKey}value;onModelChange=()=>{};onModelTouched=()=>{};focusedIndex=0;constructor(u){this.cd=u}getOptionLabel(u){return this.optionLabel?le.BF.resolveFieldData(u,this.optionLabel):null!=u.label?u.label:u}getOptionValue(u){return this.optionValue?le.BF.resolveFieldData(u,this.optionValue):this.optionLabel||void 0===u.value?u:u.value}isOptionDisabled(u){return this.optionDisabled?le.BF.resolveFieldData(u,this.optionDisabled):void 0!==u.disabled&&u.disabled}writeValue(u){this.value=u,this.cd.markForCheck()}registerOnChange(u){this.onModelChange=u}registerOnTouched(u){this.onModelTouched=u}setDisabledState(u){this.disabled=u,this.cd.markForCheck()}onOptionSelect(u,ie,de){if(this.disabled||this.isOptionDisabled(ie))return;let Ae=this.isSelected(ie);if(Ae&&this.unselectable)return;let kt,nt=this.getOptionValue(ie);if(this.multiple)kt=Ae?this.value.filter(zt=>!le.BF.equals(zt,nt,this.equalityKey)):this.value?[...this.value,nt]:[nt];else{if(Ae&&!this.allowEmpty)return;kt=Ae?null:nt}this.focusedIndex=de,this.value=kt,this.onModelChange(this.value),this.onChange.emit({originalEvent:u,value:this.value}),this.onOptionClick.emit({originalEvent:u,option:ie,index:de})}onKeyDown(u,ie,de){switch(u.code){case"Space":this.onOptionSelect(u,ie,de),u.preventDefault();break;case"ArrowDown":case"ArrowRight":this.changeTabIndexes(u,"next"),u.preventDefault();break;case"ArrowUp":case"ArrowLeft":this.changeTabIndexes(u,"prev"),u.preventDefault()}}changeTabIndexes(u,ie){let de,Ae;for(let nt=0;nt<=this.container.nativeElement.children.length-1;nt++)"0"===this.container.nativeElement.children[nt].getAttribute("tabindex")&&(de={elem:this.container.nativeElement.children[nt],index:nt});Ae="prev"===ie?0===de.index?this.container.nativeElement.children.length-1:de.index-1:de.index===this.container.nativeElement.children.length-1?0:de.index+1,this.focusedIndex=Ae,this.container.nativeElement.children[Ae].focus()}onFocus(u,ie){this.focusedIndex=ie}onBlur(){this.onModelTouched()}removeOption(u){this.value=this.value.filter(ie=>!le.BF.equals(ie,this.getOptionValue(u),this.dataKey))}isSelected(u){let ie=!1;const de=this.getOptionValue(u);if(this.multiple){if(this.value&&Array.isArray(this.value))for(let Ae of this.value)if(le.BF.equals(Ae,de,this.dataKey)){ie=!0;break}}else ie=le.BF.equals(this.getOptionValue(u),this.value,this.equalityKey);return ie}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-selectButton"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,5),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.itemTemplate=nt.first)}},viewQuery:function(ie,de){if(1&ie&&e.GBs(Zd,5),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.container=Ae.first)}},hostAttrs:[1,"p-element"],inputs:{options:"options",optionLabel:"optionLabel",optionValue:"optionValue",optionDisabled:"optionDisabled",unselectable:"unselectable",tabindex:"tabindex",multiple:"multiple",allowEmpty:"allowEmpty",style:"style",styleClass:"styleClass",ariaLabelledBy:"ariaLabelledBy",disabled:"disabled",dataKey:"dataKey"},outputs:{onOptionClick:"onOptionClick",onChange:"onChange"},features:[e.Jv_([qt])],decls:3,vars:8,consts:[["container",""],["customcontent",""],["role","group",3,"ngClass","ngStyle"],["pRipple","","class","p-button p-component",3,"role","class","ngClass","click","keydown","focus","blur",4,"ngFor","ngForOf"],["pRipple","",1,"p-button","p-component",3,"click","keydown","focus","blur","role","ngClass"],[4,"ngIf","ngIfElse"],[3,"ngClass","class",4,"ngIf"],[1,"p-button-label"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ie,de){1&ie&&(e.j41(0,"div",2,0),e.DNE(2,Ot,4,18,"div",3),e.k0s()),2&ie&&(e.HbH(de.styleClass),e.Y8G("ngClass","p-selectbutton p-buttonset p-component")("ngStyle",de.style),e.BMQ("aria-labelledby",de.ariaLabelledBy)("data-pc-name","selectbutton")("data-pc-section","root"),e.R7$(2),e.Y8G("ngForOf",de.options))},dependencies:[M.YU,M.Sq,M.bT,M.T3,M.B3,ve.n],styles:['@layer primeng{.p-button{margin:0;display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default;pointer-events:none}.p-button-icon-only{justify-content:center}.p-button-icon-only:after{content:"p";visibility:hidden;clip:rect(0 0 0 0);width:0}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-button-group .p-button{margin:0}.p-button-group .p-button:focus,.p-button-group p-button:focus .p-button,.p-buttonset .p-button:focus,.p-buttonset p-button:focus .p-button{position:relative;z-index:1}.p-button-group .p-button:not(:last-child),.p-button-group .p-button:not(:last-child):hover,.p-button-group p-button:not(:last-child) .p-button,.p-button-group p-button:not(:last-child) .p-button:hover,.p-buttonset .p-button:not(:last-child),.p-buttonset .p-button:not(:last-child):hover,.p-buttonset p-button:not(:last-child) .p-button,.p-buttonset p-button:not(:last-child) .p-button:hover{border-right:0 none}.p-button-group .p-button:not(:first-of-type):not(:last-of-type),.p-button-group p-button:not(:first-of-type):not(:last-of-type) .p-button,.p-buttonset .p-button:not(:first-of-type):not(:last-of-type),.p-buttonset p-button:not(:first-of-type):not(:last-of-type) .p-button{border-radius:0}.p-button-group .p-button:first-of-type:not(:only-of-type),.p-button-group p-button:first-of-type:not(:only-of-type) .p-button,.p-buttonset .p-button:first-of-type:not(:only-of-type),.p-buttonset p-button:first-of-type:not(:only-of-type) .p-button{border-top-right-radius:0;border-bottom-right-radius:0}.p-button-group .p-button:last-of-type:not(:only-of-type),.p-button-group p-button:last-of-type:not(:only-of-type) .p-button,.p-buttonset .p-button:last-of-type:not(:only-of-type),.p-buttonset p-button:last-of-type:not(:only-of-type) .p-button{border-top-left-radius:0;border-bottom-left-radius:0}p-button[iconpos=right] spinnericon{order:1}}\n'],encapsulation:2,changeDetection:0})}return ye})(),Ei=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,ve.Z,Le.Gg,Le.Gg]})}return ye})();const on=(ye,et)=>({"p-checkbox p-component":!0,"p-checkbox-disabled":ye,"p-checkbox-focused":et}),bn=(ye,et,u)=>({"p-highlight":ye,"p-disabled":et,"p-focus":u}),Os=(ye,et,u)=>({"p-checkbox-label-active":ye,"p-disabled":et,"p-checkbox-label-focus":u});function gl(ye,et){if(1&ye&&e.nrm(0,"span",8),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.checkboxTrueIcon),e.BMQ("data-pc-section","checkIcon")}}function ml(ye,et){1&ye&&e.nrm(0,"CheckIcon",11),2&ye&&(e.Y8G("styleClass","p-checkbox-icon"),e.BMQ("data-pc-section","checkIcon"))}function Ya(ye,et){}function yc(ye,et){1&ye&&e.DNE(0,Ya,0,0,"ng-template")}function Ks(ye,et){if(1&ye&&(e.j41(0,"span",12),e.DNE(1,yc,1,0,null,13),e.k0s()),2&ye){const u=e.XpG(3);e.BMQ("data-pc-section","checkIcon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.checkIconTemplate)}}function dd(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,ml,1,2,"CheckIcon",9)(2,Ks,2,2,"span",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.checkIconTemplate),e.R7$(),e.Y8G("ngIf",u.checkIconTemplate)}}function Lh(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,gl,1,2,"span",7)(2,dd,3,2,"ng-container",5),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.checkboxTrueIcon),e.R7$(),e.Y8G("ngIf",!u.checkboxTrueIcon)}}function Yu(ye,et){if(1&ye&&e.nrm(0,"span",8),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.checkboxFalseIcon),e.BMQ("data-pc-section","uncheckIcon")}}function Ef(ye,et){1&ye&&e.nrm(0,"TimesIcon",11),2&ye&&(e.Y8G("styleClass","p-checkbox-icon"),e.BMQ("data-pc-section","uncheckIcon"))}function Xg(ye,et){}function Ts(ye,et){1&ye&&e.DNE(0,Xg,0,0,"ng-template")}function qd(ye,et){if(1&ye&&(e.j41(0,"span",12),e.DNE(1,Ts,1,0,null,13),e.k0s()),2&ye){const u=e.XpG(3);e.BMQ("data-pc-section","uncheckIcon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.uncheckIconTemplate)}}function Ph(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Ef,1,2,"TimesIcon",9)(2,qd,2,2,"span",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.uncheckIconTemplate),e.R7$(),e.Y8G("ngIf",u.uncheckIconTemplate)}}function so(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Yu,1,2,"span",7)(2,Ph,3,2,"ng-container",5),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.checkboxFalseIcon),e.R7$(),e.Y8G("ngIf",!u.checkboxFalseIcon)}}function Ku(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"label",14),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(),nt=e.sdS(3);return e.Njj(Ae.onClick(de,nt))}),e.EFF(1),e.k0s()}if(2&ye){const u=e.XpG();e.Y8G("ngClass",e.sMw(3,Os,null!=u.value,u.disabled,u.focused)),e.BMQ("for",u.inputId),e.R7$(),e.JRh(u.label)}}const Rh={provide:V.kq,useExisting:(0,e.Rfq)(()=>Uc),multi:!0};let Uc=(()=>{class ye{cd;constructor(u){this.cd=u}disabled;name;ariaLabel;ariaLabelledBy;tabindex;inputId;style;styleClass;label;readonly;checkboxTrueIcon;checkboxFalseIcon;onChange=new e.bkB;templates;checkIconTemplate;uncheckIconTemplate;focused;value;onModelChange=()=>{};onModelTouched=()=>{};onClick(u,ie){!this.disabled&&!this.readonly&&(this.toggle(u),this.focused=!0,ie.focus())}onKeyDown(u){"Enter"===u.key&&(this.toggle(u),u.preventDefault())}toggle(u){null==this.value||null==this.value?this.value=!0:1==this.value?this.value=!1:0==this.value&&(this.value=null),this.onModelChange(this.value),this.onChange.emit({originalEvent:u,value:this.value})}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"checkicon":this.checkIconTemplate=u.template;break;case"uncheckicon":this.uncheckIconTemplate=u.template}})}onFocus(){this.focused=!0}onBlur(){this.focused=!1,this.onModelTouched()}registerOnChange(u){this.onModelChange=u}registerOnTouched(u){this.onModelTouched=u}writeValue(u){this.value=u,this.cd.markForCheck()}setDisabledState(u){this.disabled=u,this.cd.markForCheck()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-triStateCheckbox"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},hostAttrs:[1,"p-element"],inputs:{disabled:"disabled",name:"name",ariaLabel:"ariaLabel",ariaLabelledBy:"ariaLabelledBy",tabindex:"tabindex",inputId:"inputId",style:"style",styleClass:"styleClass",label:"label",readonly:"readonly",checkboxTrueIcon:"checkboxTrueIcon",checkboxFalseIcon:"checkboxFalseIcon"},outputs:{onChange:"onChange"},features:[e.Jv_([Rh])],decls:8,vars:26,consts:[["input",""],[3,"click","ngStyle","ngClass"],[1,"p-hidden-accessible"],["type","checkbox","inputmode","none",3,"keydown","focus","blur","name","readonly","disabled"],["role","checkbox",1,"p-checkbox-box",3,"ngClass"],[4,"ngIf"],["class","p-checkbox-label",3,"ngClass","click",4,"ngIf"],["class","p-checkbox-icon",3,"ngClass",4,"ngIf"],[1,"p-checkbox-icon",3,"ngClass"],[3,"styleClass",4,"ngIf"],["class","p-checkbox-icon",4,"ngIf"],[3,"styleClass"],[1,"p-checkbox-icon"],[4,"ngTemplateOutlet"],[1,"p-checkbox-label",3,"click","ngClass"]],template:function(ie,de){if(1&ie){const Ae=e.RV6();e.j41(0,"div",1),e.bIt("click",function(kt){e.eBV(Ae);const zt=e.sdS(3);return e.Njj(de.onClick(kt,zt))}),e.j41(1,"div",2)(2,"input",3,0),e.bIt("keydown",function(kt){return e.eBV(Ae),e.Njj(de.onKeyDown(kt))})("focus",function(){return e.eBV(Ae),e.Njj(de.onFocus())})("blur",function(){return e.eBV(Ae),e.Njj(de.onBlur())}),e.k0s()(),e.j41(4,"div",4),e.DNE(5,Lh,3,2,"ng-container",5)(6,so,3,2,"ng-container",5),e.k0s()(),e.DNE(7,Ku,2,7,"label",6)}2&ie&&(e.HbH(de.styleClass),e.Y8G("ngStyle",de.style)("ngClass",e.l_i(19,on,de.disabled,de.focused)),e.BMQ("data-pc-name","tristatecheckbox")("data-pc-section","root"),e.R7$(2),e.Y8G("name",de.name)("readonly",de.readonly)("disabled",de.disabled),e.BMQ("id",de.inputId)("tabindex",de.tabindex)("aria-labelledby",de.ariaLabelledBy)("aria-label",de.ariaLabel)("data-pc-section","hiddenInput"),e.R7$(2),e.Y8G("ngClass",e.sMw(22,bn,null!=de.value,de.disabled,de.focused)),e.BMQ("aria-checked",!0===de.value),e.R7$(),e.Y8G("ngIf",!0===de.value),e.R7$(),e.Y8G("ngIf",!1===de.value),e.R7$(),e.Y8G("ngIf",de.label))},dependencies:()=>[M.YU,M.bT,M.T3,M.B3,As,E.A],encapsulation:2,changeDetection:0})}return ye})(),jo=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Le.Gg,As,E.A,Le.Gg]})}return ye})();var Wc=We(21413);const bl=["container"],Af=["resizeHelper"],Ka=["reorderIndicatorUp"],Zu=["reorderIndicatorDown"],If=["wrapper"],Qd=["table"],Nh=["thead"],$c=["tfoot"],Xc=["scroller"],qr=(ye,et,u)=>({"p-datatable p-component":!0,"p-datatable-hoverable-rows":ye,"p-datatable-scrollable":et,"p-datatable-flex-scrollable":u}),Ds=ye=>({maxHeight:ye}),Za=ye=>({height:ye}),nn=(ye,et)=>({$implicit:ye,options:et}),Fh=ye=>({columns:ye}),Of=(ye,et,u)=>({"p-datatable-table":!0,"p-datatable-scrollable-table":ye,"p-datatable-resizable-table":et,"p-datatable-resizable-table-fit":u}),vl=ye=>({$implicit:ye});function ud(ye,et){if(1&ye&&e.nrm(0,"i"),2&ye){const u=e.XpG(2);e.HbH("p-datatable-loading-icon "+u.loadingIcon)}}function Lf(ye,et){1&ye&&e.nrm(0,"SpinnerIcon",25),2&ye&&e.Y8G("spin",!0)("styleClass","p-datatable-loading-icon")}function xc(ye,et){}function qa(ye,et){1&ye&&e.DNE(0,xc,0,0,"ng-template")}function Jd(ye,et){if(1&ye&&(e.j41(0,"span",26),e.DNE(1,qa,1,0,null,27),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.loadingIconTemplate)}}function qu(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Lf,1,2,"SpinnerIcon",23)(2,Jd,2,1,"span",24),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.loadingIconTemplate),e.R7$(),e.Y8G("ngIf",u.loadingIconTemplate)}}function Qu(ye,et){if(1&ye&&(e.j41(0,"div",21),e.DNE(1,ud,1,2,"i",22)(2,qu,3,2,"ng-container",16),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.loadingIcon),e.R7$(),e.Y8G("ngIf",!u.loadingIcon)}}function Ju(ye,et){1&ye&&e.eu8(0)}function ep(ye,et){if(1&ye&&(e.j41(0,"div",28),e.DNE(1,Ju,1,0,"ng-container",27),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.captionTemplate)}}function ni(ye,et){1&ye&&e.eu8(0)}function Tn(ye,et){if(1&ye&&e.DNE(0,ni,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorDropdownIconTemplate)}}function _c(ye,et){1&ye&&e.DNE(0,Tn,1,1,"ng-template",30)}function Cc(ye,et){1&ye&&e.eu8(0)}function ds(ye,et){if(1&ye&&e.DNE(0,Cc,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorFirstPageLinkIconTemplate)}}function Yc(ye,et){1&ye&&e.DNE(0,ds,1,1,"ng-template",31)}function sa(ye,et){1&ye&&e.eu8(0)}function ra(ye,et){if(1&ye&&e.DNE(0,sa,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorPreviousPageLinkIconTemplate)}}function eu(ye,et){1&ye&&e.DNE(0,ra,1,1,"ng-template",32)}function tu(ye,et){1&ye&&e.eu8(0)}function Pf(ye,et){if(1&ye&&e.DNE(0,tu,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorLastPageLinkIconTemplate)}}function Yg(ye,et){1&ye&&e.DNE(0,Pf,1,1,"ng-template",33)}function tp(ye,et){1&ye&&e.eu8(0)}function ro(ye,et){if(1&ye&&e.DNE(0,tp,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorNextPageLinkIconTemplate)}}function yl(ye,et){1&ye&&e.DNE(0,ro,1,1,"ng-template",34)}function ip(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-paginator",29),e.bIt("onPageChange",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onPageChange(de))}),e.DNE(1,_c,1,0,null,16)(2,Yc,1,0,null,16)(3,eu,1,0,null,16)(4,Yg,1,0,null,16)(5,yl,1,0,null,16),e.k0s()}if(2&ye){const u=e.XpG();e.Y8G("rows",u.rows)("first",u.first)("totalRecords",u.totalRecords)("pageLinkSize",u.pageLinks)("alwaysShow",u.alwaysShowPaginator)("rowsPerPageOptions",u.rowsPerPageOptions)("templateLeft",u.paginatorLeftTemplate)("templateRight",u.paginatorRightTemplate)("dropdownAppendTo",u.paginatorDropdownAppendTo)("dropdownScrollHeight",u.paginatorDropdownScrollHeight)("currentPageReportTemplate",u.currentPageReportTemplate)("showFirstLastIcon",u.showFirstLastIcon)("dropdownItemTemplate",u.paginatorDropdownItemTemplate)("showCurrentPageReport",u.showCurrentPageReport)("showJumpToPageDropdown",u.showJumpToPageDropdown)("showJumpToPageInput",u.showJumpToPageInput)("showPageLinks",u.showPageLinks)("styleClass",u.getPaginatorStyleClasses("p-paginator-top"))("locale",u.paginatorLocale),e.R7$(),e.Y8G("ngIf",u.paginatorDropdownIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorFirstPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorPreviousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorLastPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorNextPageLinkIconTemplate)}}function Ta(ye,et){1&ye&&e.eu8(0)}function xl(ye,et){if(1&ye&&e.DNE(0,Ta,1,0,"ng-container",37),2&ye){const u=et.$implicit,ie=et.options;e.XpG(2);const de=e.sdS(10);e.Y8G("ngTemplateOutlet",de)("ngTemplateOutletContext",e.l_i(2,nn,u,ie))}}function np(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-scroller",35,3),e.bIt("onLazyLoad",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onLazyItemLoad(de))}),e.DNE(2,xl,1,5,"ng-template",36),e.k0s()}if(2&ye){const u=e.XpG();e.Aen(e.eq3(15,Za,"flex"!==u.scrollHeight?u.scrollHeight:void 0)),e.Y8G("items",u.processedData)("columns",u.columns)("scrollHeight","flex"!==u.scrollHeight?void 0:"100%")("itemSize",u.virtualScrollItemSize||u._virtualRowHeight)("step",u.rows)("delay",u.lazy?u.virtualScrollDelay:0)("inline",!0)("lazy",u.lazy)("loaderDisabled",!0)("showSpacer",!1)("showLoader",u.loadingBodyTemplate)("options",u.virtualScrollOptions)("autoSize",!0)}}function sp(ye,et){1&ye&&e.eu8(0)}function Rf(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,sp,1,0,"ng-container",37),e.bVm()),2&ye){const u=e.XpG(),ie=e.sdS(10);e.R7$(),e.Y8G("ngTemplateOutlet",ie)("ngTemplateOutletContext",e.l_i(4,nn,u.processedData,e.eq3(2,Fh,u.columns)))}}function iu(ye,et){1&ye&&e.eu8(0)}function pd(ye,et){1&ye&&e.eu8(0)}function Bh(ye,et){if(1&ye&&e.nrm(0,"tbody",44),2&ye){const u=e.XpG().options,ie=e.XpG();e.Y8G("value",ie.frozenValue)("frozenRows",!0)("pTableBody",u.columns)("pTableBodyTemplate",ie.frozenBodyTemplate)("frozen",!0)}}function oo(ye,et){if(1&ye&&e.nrm(0,"tbody",45),2&ye){const u=e.XpG().options;e.Aen("height: calc("+u.spacerStyle.height+" - "+u.rows.length*u.itemSize+"px);")}}function wc(ye,et){1&ye&&e.eu8(0)}function Nf(ye,et){if(1&ye&&(e.j41(0,"tfoot",46,6),e.DNE(2,wc,1,0,"ng-container",37),e.k0s()),2&ye){const u=e.XpG().options,ie=e.XpG();e.R7$(2),e.Y8G("ngTemplateOutlet",ie.footerGroupedTemplate||ie.footerTemplate)("ngTemplateOutletContext",e.eq3(2,vl,u.columns))}}function _l(ye,et){if(1&ye&&(e.j41(0,"table",38,4),e.DNE(2,iu,1,0,"ng-container",37),e.j41(3,"thead",39,5),e.DNE(5,pd,1,0,"ng-container",37),e.k0s(),e.DNE(6,Bh,1,5,"tbody",40),e.nrm(7,"tbody",41),e.DNE(8,oo,1,2,"tbody",42)(9,Nf,3,4,"tfoot",43),e.k0s()),2&ye){const u=et.options,ie=e.XpG();e.Aen(ie.tableStyle),e.HbH(ie.tableStyleClass),e.Y8G("ngClass",e.sMw(20,Of,ie.scrollable,ie.resizableColumns,ie.resizableColumns&&"fit"===ie.columnResizeMode)),e.BMQ("id",ie.id+"-table"),e.R7$(2),e.Y8G("ngTemplateOutlet",ie.colGroupTemplate)("ngTemplateOutletContext",e.eq3(24,vl,u.columns)),e.R7$(3),e.Y8G("ngTemplateOutlet",ie.headerGroupedTemplate||ie.headerTemplate)("ngTemplateOutletContext",e.eq3(26,vl,u.columns)),e.R7$(),e.Y8G("ngIf",ie.frozenValue||ie.frozenBodyTemplate),e.R7$(),e.Aen(u.contentStyle),e.Y8G("ngClass",u.contentStyleClass)("value",ie.dataToRender(u.rows))("pTableBody",u.columns)("pTableBodyTemplate",ie.bodyTemplate)("scrollerOptions",u),e.R7$(),e.Y8G("ngIf",u.spacerStyle),e.R7$(),e.Y8G("ngIf",ie.footerGroupedTemplate||ie.footerTemplate)}}function ao(ye,et){1&ye&&e.eu8(0)}function rp(ye,et){if(1&ye&&e.DNE(0,ao,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorDropdownIconTemplate)}}function jh(ye,et){1&ye&&e.DNE(0,rp,1,1,"ng-template",30)}function Kc(ye,et){1&ye&&e.eu8(0)}function nu(ye,et){if(1&ye&&e.DNE(0,Kc,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorFirstPageLinkIconTemplate)}}function fd(ye,et){1&ye&&e.DNE(0,nu,1,1,"ng-template",31)}function op(ye,et){1&ye&&e.eu8(0)}function Rr(ye,et){if(1&ye&&e.DNE(0,op,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorPreviousPageLinkIconTemplate)}}function Zc(ye,et){1&ye&&e.DNE(0,Rr,1,1,"ng-template",32)}function Ss(ye,et){1&ye&&e.eu8(0)}function Ff(ye,et){if(1&ye&&e.DNE(0,Ss,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorLastPageLinkIconTemplate)}}function su(ye,et){1&ye&&e.DNE(0,Ff,1,1,"ng-template",33)}function ap(ye,et){1&ye&&e.eu8(0)}function ru(ye,et){if(1&ye&&e.DNE(0,ap,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorNextPageLinkIconTemplate)}}function Vh(ye,et){1&ye&&e.DNE(0,ru,1,1,"ng-template",34)}function qc(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-paginator",29),e.bIt("onPageChange",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onPageChange(de))}),e.DNE(1,jh,1,0,null,16)(2,fd,1,0,null,16)(3,Zc,1,0,null,16)(4,su,1,0,null,16)(5,Vh,1,0,null,16),e.k0s()}if(2&ye){const u=e.XpG();e.Y8G("rows",u.rows)("first",u.first)("totalRecords",u.totalRecords)("pageLinkSize",u.pageLinks)("alwaysShow",u.alwaysShowPaginator)("rowsPerPageOptions",u.rowsPerPageOptions)("templateLeft",u.paginatorLeftTemplate)("templateRight",u.paginatorRightTemplate)("dropdownAppendTo",u.paginatorDropdownAppendTo)("dropdownScrollHeight",u.paginatorDropdownScrollHeight)("currentPageReportTemplate",u.currentPageReportTemplate)("showFirstLastIcon",u.showFirstLastIcon)("dropdownItemTemplate",u.paginatorDropdownItemTemplate)("showCurrentPageReport",u.showCurrentPageReport)("showJumpToPageDropdown",u.showJumpToPageDropdown)("showJumpToPageInput",u.showJumpToPageInput)("showPageLinks",u.showPageLinks)("styleClass",u.getPaginatorStyleClasses("p-paginator-bottom"))("locale",u.paginatorLocale),e.R7$(),e.Y8G("ngIf",u.paginatorDropdownIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorFirstPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorPreviousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorLastPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorNextPageLinkIconTemplate)}}function Qa(ye,et){1&ye&&e.eu8(0)}function Nr(ye,et){if(1&ye&&(e.j41(0,"div",47),e.DNE(1,Qa,1,0,"ng-container",27),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.summaryTemplate)}}function Zl(ye,et){1&ye&&e.nrm(0,"div",48,7)}function Sa(ye,et){1&ye&&e.nrm(0,"ArrowDownIcon")}function oa(ye,et){}function Vo(ye,et){1&ye&&e.DNE(0,oa,0,0,"ng-template")}function zh(ye,et){if(1&ye&&(e.j41(0,"span",49,8),e.DNE(2,Sa,1,0,"ArrowDownIcon",16)(3,Vo,1,0,null,27),e.k0s()),2&ye){const u=e.XpG();e.R7$(2),e.Y8G("ngIf",!u.reorderIndicatorUpIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.reorderIndicatorUpIconTemplate)}}function ou(ye,et){1&ye&&e.nrm(0,"ArrowUpIcon")}function Cl(ye,et){}function lp(ye,et){1&ye&&e.DNE(0,Cl,0,0,"ng-template")}function Tc(ye,et){if(1&ye&&(e.j41(0,"span",50,9),e.DNE(2,ou,1,0,"ArrowUpIcon",16)(3,lp,1,0,null,27),e.k0s()),2&ye){const u=e.XpG();e.R7$(2),e.Y8G("ngIf",!u.reorderIndicatorDownIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.reorderIndicatorDownIconTemplate)}}const Qc=["pTableBody",""],Gh=(ye,et,u,ie,de)=>({$implicit:ye,rowIndex:et,columns:u,editing:ie,frozen:de}),Hh=(ye,et,u,ie,de,Ae,nt)=>({$implicit:ye,rowIndex:et,columns:u,editing:ie,frozen:de,rowgroup:Ae,rowspan:nt}),Jc=(ye,et,u,ie,de,Ae)=>({$implicit:ye,rowIndex:et,columns:u,expanded:ie,editing:de,frozen:Ae}),au=(ye,et,u,ie)=>({$implicit:ye,rowIndex:et,columns:u,frozen:ie}),Uh=(ye,et)=>({$implicit:ye,frozen:et});function cp(ye,et){1&ye&&e.eu8(0)}function Sc(ye,et){if(1&ye&&(e.qex(0,3),e.DNE(1,cp,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.groupHeaderTemplate)("ngTemplateOutletContext",e.s1E(2,Gh,ie,Ae.getRowIndex(de),Ae.columns,"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function eh(ye,et){1&ye&&e.eu8(0)}function Ja(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,eh,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",ie?Ae.template:Ae.dt.loadingBodyTemplate)("ngTemplateOutletContext",e.s1E(2,Gh,ie,Ae.getRowIndex(de),Ae.columns,"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function hp(ye,et){1&ye&&e.eu8(0)}function el(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,hp,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",ie?Ae.template:Ae.dt.loadingBodyTemplate)("ngTemplateOutletContext",e.sGs(2,Hh,ie,Ae.getRowIndex(de),Ae.columns,"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen,Ae.shouldRenderRowspan(Ae.value,ie,de),Ae.calculateRowGroupSize(Ae.value,ie,de)))}}function Fr(ye,et){1&ye&&e.eu8(0)}function kc(ye,et){if(1&ye&&(e.qex(0,3),e.DNE(1,Fr,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.groupFooterTemplate)("ngTemplateOutletContext",e.s1E(2,Gh,ie,Ae.getRowIndex(de),Ae.columns,"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function Bf(ye,et){if(1&ye&&e.DNE(0,Sc,2,8,"ng-container",2)(1,Ja,2,8,"ng-container",0)(2,el,2,10,"ng-container",0)(3,kc,2,8,"ng-container",2),2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(2);e.Y8G("ngIf",de.dt.groupHeaderTemplate&&!de.dt.virtualScroll&&"subheader"===de.dt.rowGroupMode&&de.shouldRenderRowGroupHeader(de.value,u,ie)),e.R7$(),e.Y8G("ngIf","rowspan"!==de.dt.rowGroupMode),e.R7$(),e.Y8G("ngIf","rowspan"===de.dt.rowGroupMode),e.R7$(),e.Y8G("ngIf",de.dt.groupFooterTemplate&&!de.dt.virtualScroll&&"subheader"===de.dt.rowGroupMode&&de.shouldRenderRowGroupFooter(de.value,u,ie))}}function th(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Bf,4,4,"ng-template",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngForOf",u.value)("ngForTrackBy",u.dt.rowTrackBy)}}function wl(ye,et){1&ye&&e.eu8(0)}function ka(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,wl,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.template)("ngTemplateOutletContext",e.l4e(2,Jc,ie,Ae.getRowIndex(de),Ae.columns,Ae.dt.isRowExpanded(ie),"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function Br(ye,et){1&ye&&e.eu8(0)}function lu(ye,et){if(1&ye&&(e.qex(0,3),e.DNE(1,Br,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.groupHeaderTemplate)("ngTemplateOutletContext",e.l4e(2,Jc,ie,Ae.getRowIndex(de),Ae.columns,Ae.dt.isRowExpanded(ie),"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function ih(ye,et){1&ye&&e.eu8(0)}function gd(ye,et){1&ye&&e.eu8(0)}function lo(ye,et){if(1&ye&&(e.qex(0,3),e.DNE(1,gd,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(2),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.groupFooterTemplate)("ngTemplateOutletContext",e.l4e(2,Jc,ie,Ae.getRowIndex(de),Ae.columns,Ae.dt.isRowExpanded(ie),"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function Wh(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,ih,1,0,"ng-container",4)(2,lo,2,9,"ng-container",2),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.expandedRowTemplate)("ngTemplateOutletContext",e.ziG(3,au,ie,Ae.getRowIndex(de),Ae.columns,Ae.frozen)),e.R7$(),e.Y8G("ngIf",Ae.dt.groupFooterTemplate&&"subheader"===Ae.dt.rowGroupMode&&Ae.shouldRenderRowGroupFooter(Ae.value,ie,Ae.getRowIndex(de)))}}function nh(ye,et){if(1&ye&&e.DNE(0,ka,2,9,"ng-container",0)(1,lu,2,9,"ng-container",2)(2,Wh,3,8,"ng-container",0),2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(2);e.Y8G("ngIf",!de.dt.groupHeaderTemplate),e.R7$(),e.Y8G("ngIf",de.dt.groupHeaderTemplate&&"subheader"===de.dt.rowGroupMode&&de.shouldRenderRowGroupHeader(de.value,u,de.getRowIndex(ie))),e.R7$(),e.Y8G("ngIf",de.dt.isRowExpanded(u))}}function $h(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,nh,3,3,"ng-template",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngForOf",u.value)("ngForTrackBy",u.dt.rowTrackBy)}}function md(ye,et){1&ye&&e.eu8(0)}function bd(ye,et){1&ye&&e.eu8(0)}function vd(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,bd,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.frozenExpandedRowTemplate)("ngTemplateOutletContext",e.ziG(2,au,ie,Ae.getRowIndex(de),Ae.columns,Ae.frozen))}}function sh(ye,et){if(1&ye&&e.DNE(0,md,1,0,"ng-container",4)(1,vd,2,7,"ng-container",0),2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(2);e.Y8G("ngTemplateOutlet",de.template)("ngTemplateOutletContext",e.l4e(3,Jc,u,de.getRowIndex(ie),de.columns,de.dt.isRowExpanded(u),"row"===de.dt.editMode&&de.dt.isRowEditing(u),de.frozen)),e.R7$(),e.Y8G("ngIf",de.dt.isRowExpanded(u))}}function yd(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,sh,2,10,"ng-template",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngForOf",u.value)("ngForTrackBy",u.dt.rowTrackBy)}}function rh(ye,et){1&ye&&e.eu8(0)}function ql(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,rh,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dt.loadingBodyTemplate)("ngTemplateOutletContext",e.l_i(2,Uh,u.columns,u.frozen))}}function cu(ye,et){1&ye&&e.eu8(0)}function hu(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,cu,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dt.emptyMessageTemplate)("ngTemplateOutletContext",e.l_i(2,Uh,u.columns,u.frozen))}}function Xh(ye,et){1&ye&&e.nrm(0,"SortAltIcon",4),2&ye&&e.Y8G("styleClass","p-sortable-column-icon")}function Tl(ye,et){1&ye&&e.nrm(0,"SortAmountUpAltIcon",4),2&ye&&e.Y8G("styleClass","p-sortable-column-icon")}function oh(ye,et){1&ye&&e.nrm(0,"SortAmountDownIcon",4),2&ye&&e.Y8G("styleClass","p-sortable-column-icon")}function vr(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Xh,1,1,"SortAltIcon",3)(2,Tl,1,1,"SortAmountUpAltIcon",3)(3,oh,1,1,"SortAmountDownIcon",3),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",0===u.sortOrder),e.R7$(),e.Y8G("ngIf",1===u.sortOrder),e.R7$(),e.Y8G("ngIf",-1===u.sortOrder)}}function jf(ye,et){}function xd(ye,et){1&ye&&e.DNE(0,jf,0,0,"ng-template")}function _d(ye,et){if(1&ye&&(e.j41(0,"span",5),e.DNE(1,xd,1,0,null,6),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dt.sortIconTemplate)("ngTemplateOutletContext",e.eq3(2,vl,u.sortOrder))}}function aa(ye,et){if(1&ye&&(e.j41(0,"span",7),e.EFF(1),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.JRh(u.getBadgeValue())}}function du(ye,et){1&ye&&e.eu8(0)}function Ql(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,du,1,0,"ng-container",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.inputTemplate)}}function uu(ye,et){1&ye&&e.eu8(0)}function dp(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,uu,1,0,"ng-container",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.outputTemplate)}}let Ce=(()=>{class ye{sortSource=new Wc.B;selectionSource=new Wc.B;contextMenuSource=new Wc.B;valueSource=new Wc.B;totalRecordsSource=new Wc.B;columnsSource=new Wc.B;sortSource$=this.sortSource.asObservable();selectionSource$=this.selectionSource.asObservable();contextMenuSource$=this.contextMenuSource.asObservable();valueSource$=this.valueSource.asObservable();totalRecordsSource$=this.totalRecordsSource.asObservable();columnsSource$=this.columnsSource.asObservable();onSort(u){this.sortSource.next(u)}onSelectionChange(){this.selectionSource.next(null)}onContextMenu(u){this.contextMenuSource.next(u)}onValueChange(u){this.valueSource.next(u)}onTotalRecordsChange(u){this.totalRecordsSource.next(u)}onColumnsChange(u){this.columnsSource.next(u)}static \u0275fac=function(ie){return new(ie||ye)};static \u0275prov=e.jDH({token:ye,factory:ye.\u0275fac})}return ye})(),Ne=(()=>{class ye{document;platformId;renderer;el;zone;tableService;cd;filterService;overlayService;config;frozenColumns;frozenValue;style;styleClass;tableStyle;tableStyleClass;paginator;pageLinks=5;rowsPerPageOptions;alwaysShowPaginator=!0;paginatorPosition="bottom";paginatorStyleClass;paginatorDropdownAppendTo;paginatorDropdownScrollHeight="200px";currentPageReportTemplate="{currentPage} of {totalPages}";showCurrentPageReport;showJumpToPageDropdown;showJumpToPageInput;showFirstLastIcon=!0;showPageLinks=!0;defaultSortOrder=1;sortMode="single";resetPageOnSort=!0;selectionMode;selectionPageOnly;contextMenuSelection;contextMenuSelectionChange=new e.bkB;contextMenuSelectionMode="separate";dataKey;metaKeySelection=!1;rowSelectable;rowTrackBy=(u,ie)=>ie;lazy=!1;lazyLoadOnInit=!0;compareSelectionBy="deepEquals";csvSeparator=",";exportFilename="download";filters={};globalFilterFields;filterDelay=300;filterLocale;expandedRowKeys={};editingRowKeys={};rowExpandMode="multiple";scrollable;scrollDirection="vertical";rowGroupMode;scrollHeight;virtualScroll;virtualScrollItemSize;virtualScrollOptions;virtualScrollDelay=250;frozenWidth;get responsive(){return this._responsive}set responsive(u){this._responsive=u,console.warn("responsive property is deprecated as table is always responsive with scrollable behavior.")}_responsive;contextMenu;resizableColumns;columnResizeMode="fit";reorderableColumns;loading;loadingIcon;showLoader=!0;rowHover;customSort;showInitialSortBadge=!0;autoLayout;exportFunction;exportHeader;stateKey;stateStorage="session";editMode="cell";groupRowsBy;groupRowsByOrder=1;responsiveLayout="scroll";breakpoint="640px";paginatorLocale;get value(){return this._value}set value(u){this._value=u}get columns(){return this._columns}set columns(u){this._columns=u}get first(){return this._first}set first(u){this._first=u}get rows(){return this._rows}set rows(u){this._rows=u}get totalRecords(){return this._totalRecords}set totalRecords(u){this._totalRecords=u,this.tableService.onTotalRecordsChange(this._totalRecords)}get sortField(){return this._sortField}set sortField(u){this._sortField=u}get sortOrder(){return this._sortOrder}set sortOrder(u){this._sortOrder=u}get multiSortMeta(){return this._multiSortMeta}set multiSortMeta(u){this._multiSortMeta=u}get selection(){return this._selection}set selection(u){this._selection=u}get selectAll(){return this._selection}set selectAll(u){this._selection=u}selectAllChange=new e.bkB;selectionChange=new e.bkB;onRowSelect=new e.bkB;onRowUnselect=new e.bkB;onPage=new e.bkB;onSort=new e.bkB;onFilter=new e.bkB;onLazyLoad=new e.bkB;onRowExpand=new e.bkB;onRowCollapse=new e.bkB;onContextMenuSelect=new e.bkB;onColResize=new e.bkB;onColReorder=new e.bkB;onRowReorder=new e.bkB;onEditInit=new e.bkB;onEditComplete=new e.bkB;onEditCancel=new e.bkB;onHeaderCheckboxToggle=new e.bkB;sortFunction=new e.bkB;firstChange=new e.bkB;rowsChange=new e.bkB;onStateSave=new e.bkB;onStateRestore=new e.bkB;containerViewChild;resizeHelperViewChild;reorderIndicatorUpViewChild;reorderIndicatorDownViewChild;wrapperViewChild;tableViewChild;tableHeaderViewChild;tableFooterViewChild;scroller;templates;get virtualRowHeight(){return this._virtualRowHeight}set virtualRowHeight(u){this._virtualRowHeight=u,console.warn("The virtualRowHeight property is deprecated.")}_virtualRowHeight=28;_value=[];_columns;_totalRecords=0;_first=0;_rows;filteredValue;headerTemplate;headerGroupedTemplate;bodyTemplate;loadingBodyTemplate;captionTemplate;footerTemplate;footerGroupedTemplate;summaryTemplate;colGroupTemplate;expandedRowTemplate;groupHeaderTemplate;groupFooterTemplate;frozenExpandedRowTemplate;frozenHeaderTemplate;frozenBodyTemplate;frozenFooterTemplate;frozenColGroupTemplate;emptyMessageTemplate;paginatorLeftTemplate;paginatorRightTemplate;paginatorDropdownItemTemplate;loadingIconTemplate;reorderIndicatorUpIconTemplate;reorderIndicatorDownIconTemplate;sortIconTemplate;checkboxIconTemplate;headerCheckboxIconTemplate;paginatorDropdownIconTemplate;paginatorFirstPageLinkIconTemplate;paginatorLastPageLinkIconTemplate;paginatorPreviousPageLinkIconTemplate;paginatorNextPageLinkIconTemplate;selectionKeys={};lastResizerHelperX;reorderIconWidth;reorderIconHeight;draggedColumn;draggedRowIndex;droppedRowIndex;rowDragging;dropPosition;editingCell;editingCellData;editingCellField;editingCellRowIndex;selfClick;documentEditListener;_multiSortMeta;_sortField;_sortOrder=1;preventSelectionSetterPropagation;_selection;_selectAll=null;anchorRowIndex;rangeRowIndex;filterTimeout;initialized;rowTouched;restoringSort;restoringFilter;stateRestored;columnOrderStateRestored;columnWidthsState;tableWidthState;overlaySubscription;resizeColumnElement;columnResizing=!1;rowGroupHeaderStyleObject={};id=(0,le._Y)();styleElement;responsiveStyleElement;window;constructor(u,ie,de,Ae,nt,kt,zt,ai,oi,Li){this.document=u,this.platformId=ie,this.renderer=de,this.el=Ae,this.zone=nt,this.tableService=kt,this.cd=zt,this.filterService=ai,this.overlayService=oi,this.config=Li,this.window=this.document.defaultView}ngOnInit(){this.lazy&&this.lazyLoadOnInit&&(this.virtualScroll||this.onLazyLoad.emit(this.createLazyLoadMetadata()),this.restoringFilter&&(this.restoringFilter=!1)),"stack"===this.responsiveLayout&&this.createResponsiveStyle(),this.initialized=!0}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"caption":this.captionTemplate=u.template;break;case"header":this.headerTemplate=u.template;break;case"headergrouped":this.headerGroupedTemplate=u.template;break;case"body":this.bodyTemplate=u.template;break;case"loadingbody":this.loadingBodyTemplate=u.template;break;case"footer":this.footerTemplate=u.template;break;case"footergrouped":this.footerGroupedTemplate=u.template;break;case"summary":this.summaryTemplate=u.template;break;case"colgroup":this.colGroupTemplate=u.template;break;case"rowexpansion":this.expandedRowTemplate=u.template;break;case"groupheader":this.groupHeaderTemplate=u.template;break;case"groupfooter":this.groupFooterTemplate=u.template;break;case"frozenheader":this.frozenHeaderTemplate=u.template;break;case"frozenbody":this.frozenBodyTemplate=u.template;break;case"frozenfooter":this.frozenFooterTemplate=u.template;break;case"frozencolgroup":this.frozenColGroupTemplate=u.template;break;case"frozenrowexpansion":this.frozenExpandedRowTemplate=u.template;break;case"emptymessage":this.emptyMessageTemplate=u.template;break;case"paginatorleft":this.paginatorLeftTemplate=u.template;break;case"paginatorright":this.paginatorRightTemplate=u.template;break;case"paginatordropdownicon":this.paginatorDropdownIconTemplate=u.template;break;case"paginatordropdownitem":this.paginatorDropdownItemTemplate=u.template;break;case"paginatorfirstpagelinkicon":this.paginatorFirstPageLinkIconTemplate=u.template;break;case"paginatorlastpagelinkicon":this.paginatorLastPageLinkIconTemplate=u.template;break;case"paginatorpreviouspagelinkicon":this.paginatorPreviousPageLinkIconTemplate=u.template;break;case"paginatornextpagelinkicon":this.paginatorNextPageLinkIconTemplate=u.template;break;case"loadingicon":this.loadingIconTemplate=u.template;break;case"reorderindicatorupicon":this.reorderIndicatorUpIconTemplate=u.template;break;case"reorderindicatordownicon":this.reorderIndicatorDownIconTemplate=u.template;break;case"sorticon":this.sortIconTemplate=u.template;break;case"checkboxicon":this.checkboxIconTemplate=u.template;break;case"headercheckboxicon":this.headerCheckboxIconTemplate=u.template}})}ngAfterViewInit(){(0,M.UE)(this.platformId)&&this.isStateful()&&this.resizableColumns&&this.restoreColumnWidths()}ngOnChanges(u){u.value&&(this.isStateful()&&!this.stateRestored&&(0,M.UE)(this.platformId)&&this.restoreState(),this._value=u.value.currentValue,this.lazy||(this.totalRecords=this._value?this._value.length:0,"single"==this.sortMode&&(this.sortField||this.groupRowsBy)?this.sortSingle():"multiple"==this.sortMode&&(this.multiSortMeta||this.groupRowsBy)?this.sortMultiple():this.hasFilter()&&this._filter()),this.tableService.onValueChange(u.value.currentValue)),u.columns&&(this.isStateful()||(this._columns=u.columns.currentValue,this.tableService.onColumnsChange(u.columns.currentValue)),this._columns&&this.isStateful()&&this.reorderableColumns&&!this.columnOrderStateRestored&&(this.restoreColumnOrder(),this.tableService.onColumnsChange(this._columns))),u.sortField&&(this._sortField=u.sortField.currentValue,(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle()),u.groupRowsBy&&(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle(),u.sortOrder&&(this._sortOrder=u.sortOrder.currentValue,(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle()),u.groupRowsByOrder&&(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle(),u.multiSortMeta&&(this._multiSortMeta=u.multiSortMeta.currentValue,"multiple"===this.sortMode&&(this.initialized||!this.lazy&&!this.virtualScroll)&&this.sortMultiple()),u.selection&&(this._selection=u.selection.currentValue,this.preventSelectionSetterPropagation||(this.updateSelectionKeys(),this.tableService.onSelectionChange()),this.preventSelectionSetterPropagation=!1),u.selectAll&&(this._selectAll=u.selectAll.currentValue,this.preventSelectionSetterPropagation||(this.updateSelectionKeys(),this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()),this.preventSelectionSetterPropagation=!1)}get processedData(){return this.filteredValue||this.value||[]}_initialColWidths;dataToRender(u){const ie=u||this.processedData;if(ie&&this.paginator){const de=this.lazy?0:this.first;return ie.slice(de,de+this.rows)}return ie}updateSelectionKeys(){if(this.dataKey&&this._selection)if(this.selectionKeys={},Array.isArray(this._selection))for(let u of this._selection)this.selectionKeys[String(le.BF.resolveFieldData(u,this.dataKey))]=1;else this.selectionKeys[String(le.BF.resolveFieldData(this._selection,this.dataKey))]=1}onPageChange(u){this.first=u.first,this.rows=u.rows,this.onPage.emit({first:this.first,rows:this.rows}),this.lazy&&this.onLazyLoad.emit(this.createLazyLoadMetadata()),this.firstChange.emit(this.first),this.rowsChange.emit(this.rows),this.tableService.onValueChange(this.value),this.isStateful()&&this.saveState(),this.anchorRowIndex=null,this.scrollable&&this.resetScrollTop()}sort(u){let ie=u.originalEvent;if("single"===this.sortMode&&(this._sortOrder=this.sortField===u.field?-1*this.sortOrder:this.defaultSortOrder,this._sortField=u.field,this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first),this.scrollable&&this.resetScrollTop()),this.sortSingle()),"multiple"===this.sortMode){let de=ie.metaKey||ie.ctrlKey,Ae=this.getSortMeta(u.field);Ae?de?Ae.order=-1*Ae.order:(this._multiSortMeta=[{field:u.field,order:-1*Ae.order}],this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first),this.scrollable&&this.resetScrollTop())):((!de||!this.multiSortMeta)&&(this._multiSortMeta=[],this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first))),this._multiSortMeta.push({field:u.field,order:this.defaultSortOrder})),this.sortMultiple()}this.isStateful()&&this.saveState(),this.anchorRowIndex=null}sortSingle(){let u=this.sortField||this.groupRowsBy,ie=this.sortField?this.sortOrder:this.groupRowsByOrder;if(this.groupRowsBy&&this.sortField&&this.groupRowsBy!==this.sortField)return this._multiSortMeta=[this.getGroupRowsMeta(),{field:this.sortField,order:this.sortOrder}],void this.sortMultiple();if(u&&ie){this.restoringSort&&(this.restoringSort=!1),this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.value&&(this.customSort?this.sortFunction.emit({data:this.value,mode:this.sortMode,field:u,order:ie}):(this.value.sort((Ae,nt)=>{let kt=le.BF.resolveFieldData(Ae,u),zt=le.BF.resolveFieldData(nt,u),ai=null;return ai=null==kt&&null!=zt?-1:null!=kt&&null==zt?1:null==kt&&null==zt?0:"string"==typeof kt&&"string"==typeof zt?kt.localeCompare(zt):ktzt?1:0,ie*ai}),this._value=[...this.value]),this.hasFilter()&&this._filter());let de={field:u,order:ie};this.onSort.emit(de),this.tableService.onSort(de)}}sortMultiple(){this.groupRowsBy&&(this._multiSortMeta?this.multiSortMeta[0].field!==this.groupRowsBy&&(this._multiSortMeta=[this.getGroupRowsMeta(),...this._multiSortMeta]):this._multiSortMeta=[this.getGroupRowsMeta()]),this.multiSortMeta&&(this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.value&&(this.customSort?this.sortFunction.emit({data:this.value,mode:this.sortMode,multiSortMeta:this.multiSortMeta}):(this.value.sort((u,ie)=>this.multisortField(u,ie,this.multiSortMeta,0)),this._value=[...this.value]),this.hasFilter()&&this._filter()),this.onSort.emit({multisortmeta:this.multiSortMeta}),this.tableService.onSort(this.multiSortMeta))}multisortField(u,ie,de,Ae){const nt=le.BF.resolveFieldData(u,de[Ae].field),kt=le.BF.resolveFieldData(ie,de[Ae].field);return 0===le.BF.compare(nt,kt,this.filterLocale)?de.length-1>Ae?this.multisortField(u,ie,de,Ae+1):0:this.compareValuesOnSort(nt,kt,de[Ae].order)}compareValuesOnSort(u,ie,de){return le.BF.sort(u,ie,de,this.filterLocale,this.sortOrder)}getSortMeta(u){if(this.multiSortMeta&&this.multiSortMeta.length)for(let ie=0;ieJi!=Yi),this.selectionChange.emit(this.selection),oi&&delete this.selectionKeys[oi]}this.onRowUnselect.emit({originalEvent:u.originalEvent,data:nt,type:"row"})}else this.isSingleSelectionMode()?(this._selection=nt,this.selectionChange.emit(nt),oi&&(this.selectionKeys={},this.selectionKeys[oi]=1)):this.isMultipleSelectionMode()&&(Li?this._selection=this.selection||[]:(this._selection=[],this.selectionKeys={}),this._selection=[...this.selection,nt],this.selectionChange.emit(this.selection),oi&&(this.selectionKeys[oi]=1)),this.onRowSelect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt})}else if("single"===this.selectionMode)zt?(this._selection=null,this.selectionKeys={},this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt})):(this._selection=nt,this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt}),oi&&(this.selectionKeys={},this.selectionKeys[oi]=1));else if("multiple"===this.selectionMode)if(zt){let Li=this.findIndexInSelection(nt);this._selection=this.selection.filter((Yi,Xi)=>Xi!=Li),this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt}),oi&&delete this.selectionKeys[oi]}else this._selection=this.selection?[...this.selection,nt]:[nt],this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt}),oi&&(this.selectionKeys[oi]=1)}this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()}this.rowTouched=!1}}handleRowTouchEnd(u){this.rowTouched=!0}handleRowRightClick(u){if(this.contextMenu){const ie=u.rowData,de=u.rowIndex;if("separate"===this.contextMenuSelectionMode)this.contextMenuSelection=ie,this.contextMenuSelectionChange.emit(ie),this.onContextMenuSelect.emit({originalEvent:u.originalEvent,data:ie,index:u.rowIndex}),this.contextMenu.show(u.originalEvent),this.tableService.onContextMenu(ie);else if("joint"===this.contextMenuSelectionMode){this.preventSelectionSetterPropagation=!0;let Ae=this.isSelected(ie),nt=this.dataKey?String(le.BF.resolveFieldData(ie,this.dataKey)):null;if(!Ae){if(!this.isRowSelectable(ie,de))return;this.isSingleSelectionMode()?(this.selection=ie,this.selectionChange.emit(ie),nt&&(this.selectionKeys={},this.selectionKeys[nt]=1)):this.isMultipleSelectionMode()&&(this._selection=this.selection?[...this.selection,ie]:[ie],this.selectionChange.emit(this.selection),nt&&(this.selectionKeys[nt]=1))}this.tableService.onSelectionChange(),this.contextMenu.show(u.originalEvent),this.onContextMenuSelect.emit({originalEvent:u,data:ie,index:u.rowIndex})}}}selectRange(u,ie){let de,Ae;this.anchorRowIndex>ie?(de=ie,Ae=this.anchorRowIndex):this.anchorRowIndexnt?(ie=this.anchorRowIndex,de=this.rangeRowIndex):AeYi!=ai);let oi=this.dataKey?String(le.BF.resolveFieldData(zt,this.dataKey)):null;oi&&delete this.selectionKeys[oi],this.onRowUnselect.emit({originalEvent:u,data:zt,type:"row"})}}isSelected(u){return!(!u||!this.selection)&&(this.dataKey?void 0!==this.selectionKeys[le.BF.resolveFieldData(u,this.dataKey)]:Array.isArray(this.selection)?this.findIndexInSelection(u)>-1:this.equals(u,this.selection))}findIndexInSelection(u){let ie=-1;if(this.selection&&this.selection.length)for(let de=0;dezt!=nt),this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:u.originalEvent,index:u.rowIndex,data:ie,type:"checkbox"}),Ae&&delete this.selectionKeys[Ae]}else{if(!this.isRowSelectable(ie,u.rowIndex))return;this._selection=this.selection?[...this.selection,ie]:[ie],this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:u.originalEvent,index:u.rowIndex,data:ie,type:"checkbox"}),Ae&&(this.selectionKeys[Ae]=1)}this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()}toggleRowsWithCheckbox(u,ie){if(null!==this._selectAll)this.selectAllChange.emit({originalEvent:u,checked:ie});else{const de=this.selectionPageOnly?this.dataToRender(this.processedData):this.processedData;let Ae=this.selectionPageOnly&&this._selection?this._selection.filter(nt=>!de.some(kt=>this.equals(nt,kt))):[];ie&&(Ae=this.frozenValue?[...Ae,...this.frozenValue,...de]:[...Ae,...de],Ae=this.rowSelectable?Ae.filter((nt,kt)=>this.rowSelectable({data:nt,index:kt})):Ae),this._selection=Ae,this.preventSelectionSetterPropagation=!0,this.updateSelectionKeys(),this.selectionChange.emit(this._selection),this.tableService.onSelectionChange(),this.onHeaderCheckboxToggle.emit({originalEvent:u,checked:ie}),this.isStateful()&&this.saveState()}}equals(u,ie){return"equals"===this.compareSelectionBy?u===ie:le.BF.equals(u,ie,this.dataKey)}filter(u,ie,de){this.filterTimeout&&clearTimeout(this.filterTimeout),this.isFilterBlank(u)?this.filters[ie]&&delete this.filters[ie]:this.filters[ie]={value:u,matchMode:de},this.filterTimeout=setTimeout(()=>{this._filter(),this.filterTimeout=null},this.filterDelay),this.anchorRowIndex=null}filterGlobal(u,ie){this.filter(u,"global",ie)}isFilterBlank(u){return null==u||!!("string"==typeof u&&0==u.trim().length||Array.isArray(u)&&0==u.length)}_filter(){if(this.restoringFilter||(this.first=0,this.firstChange.emit(this.first)),this.lazy)this.onLazyLoad.emit(this.createLazyLoadMetadata());else{if(!this.value)return;if(this.hasFilter()){let u;if(this.filters.global){if(!this.columns&&!this.globalFilterFields)throw new Error("Global filtering requires dynamic columns or globalFilterFields to be defined.");u=this.globalFilterFields||this.columns}this.filteredValue=[];for(let ie=0;iethis.cd.detectChanges()}}clear(){this._sortField=null,this._sortOrder=this.defaultSortOrder,this._multiSortMeta=null,this.tableService.onSort(null),this.clearFilterValues(),this.filteredValue=null,this.first=0,this.firstChange.emit(this.first),this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.totalRecords=this._value?this._value.length:0}clearFilterValues(){for(const[,u]of Object.entries(this.filters))if(Array.isArray(u))for(let ie of u)ie.value=null;else u&&(u.value=null)}reset(){this.clear()}getExportHeader(u){return u[this.exportHeader]||u.header||u.field}exportCSV(u){let ie,de="",Ae=this.columns;u&&u.selectionOnly?ie=this.selection||[]:u&&u.allValues?ie=this.value||[]:(ie=this.filteredValue||this.value,this.frozenValue&&(ie=ie?[...this.frozenValue,...ie]:this.frozenValue));const nt=Ae.filter(oi=>!1!==oi.exportable&&oi.field);de+=nt.map(oi=>'"'+this.getExportHeader(oi)+'"').join(this.csvSeparator);const kt=ie.map(oi=>nt.map(Li=>{let Yi=le.BF.resolveFieldData(oi,Li.field);return Yi=null!=Yi?this.exportFunction?this.exportFunction({data:Yi,field:Li.field}):String(Yi).replace(/"/g,'""'):"",'"'+Yi+'"'}).join(this.csvSeparator)).join("\n");kt.length&&(de+="\n"+kt);let zt=new Blob([new Uint8Array([239,187,191]),de],{type:"text/csv;charset=utf-8;"}),ai=this.renderer.createElement("a");ai.style.display="none",this.renderer.appendChild(this.document.body,ai),void 0!==ai.download?(ai.setAttribute("href",URL.createObjectURL(zt)),ai.setAttribute("download",this.exportFilename+".csv"),ai.click()):(de="data:text/csv;charset=utf-8,"+de,this.window.open(encodeURI(de))),this.renderer.removeChild(this.document.body,ai)}onLazyItemLoad(u){this.onLazyLoad.emit({...this.createLazyLoadMetadata(),...u,rows:u.last-u.first})}resetScrollTop(){this.virtualScroll?this.scrollToVirtualIndex(0):this.scrollTo({top:0})}scrollToVirtualIndex(u){this.scroller&&this.scroller.scrollToIndex(u)}scrollTo(u){this.virtualScroll?this.scroller?.scrollTo(u):this.wrapperViewChild&&this.wrapperViewChild.nativeElement&&(this.wrapperViewChild.nativeElement.scrollTo?this.wrapperViewChild.nativeElement.scrollTo(u):(this.wrapperViewChild.nativeElement.scrollLeft=u.left,this.wrapperViewChild.nativeElement.scrollTop=u.top))}updateEditingCell(u,ie,de,Ae){this.editingCell=u,this.editingCellData=ie,this.editingCellField=de,this.editingCellRowIndex=Ae,this.bindDocumentEditListener()}isEditingCellValid(){return this.editingCell&&0===re.D.find(this.editingCell,".ng-invalid.ng-dirty").length}bindDocumentEditListener(){this.documentEditListener||(this.documentEditListener=this.renderer.listen(this.document,"click",u=>{this.editingCell&&!this.selfClick&&this.isEditingCellValid()&&(re.D.removeClass(this.editingCell,"p-cell-editing"),this.editingCell=null,this.onEditComplete.emit({field:this.editingCellField,data:this.editingCellData,originalEvent:u,index:this.editingCellRowIndex}),this.editingCellField=null,this.editingCellData=null,this.editingCellRowIndex=null,this.unbindDocumentEditListener(),this.cd.markForCheck(),this.overlaySubscription&&this.overlaySubscription.unsubscribe()),this.selfClick=!1}))}unbindDocumentEditListener(){this.documentEditListener&&(this.documentEditListener(),this.documentEditListener=null)}initRowEdit(u){let ie=String(le.BF.resolveFieldData(u,this.dataKey));this.editingRowKeys[ie]=!0}saveRowEdit(u,ie){if(0===re.D.find(ie,".ng-invalid.ng-dirty").length){let de=String(le.BF.resolveFieldData(u,this.dataKey));delete this.editingRowKeys[de]}}cancelRowEdit(u){let ie=String(le.BF.resolveFieldData(u,this.dataKey));delete this.editingRowKeys[ie]}toggleRow(u,ie){if(!this.dataKey)throw new Error("dataKey must be defined to use row expansion");let de=String(le.BF.resolveFieldData(u,this.dataKey));null!=this.expandedRowKeys[de]?(delete this.expandedRowKeys[de],this.onRowCollapse.emit({originalEvent:ie,data:u})):("single"===this.rowExpandMode&&(this.expandedRowKeys={}),this.expandedRowKeys[de]=!0,this.onRowExpand.emit({originalEvent:ie,data:u})),ie&&ie.preventDefault(),this.isStateful()&&this.saveState()}isRowExpanded(u){return!0===this.expandedRowKeys[String(le.BF.resolveFieldData(u,this.dataKey))]}isRowEditing(u){return!0===this.editingRowKeys[String(le.BF.resolveFieldData(u,this.dataKey))]}isSingleSelectionMode(){return"single"===this.selectionMode}isMultipleSelectionMode(){return"multiple"===this.selectionMode}onColumnResizeBegin(u){let ie=re.D.getOffset(this.containerViewChild?.nativeElement).left;this.resizeColumnElement=u.target.parentElement,this.columnResizing=!0,this.lastResizerHelperX=u.pageX-ie+this.containerViewChild?.nativeElement.scrollLeft,this.onColumnResize(u),u.preventDefault()}onColumnResize(u){let ie=re.D.getOffset(this.containerViewChild?.nativeElement).left;re.D.addClass(this.containerViewChild?.nativeElement,"p-unselectable-text"),this.resizeHelperViewChild.nativeElement.style.height=this.containerViewChild?.nativeElement.offsetHeight+"px",this.resizeHelperViewChild.nativeElement.style.top="0px",this.resizeHelperViewChild.nativeElement.style.left=u.pageX-ie+this.containerViewChild?.nativeElement.scrollLeft+"px",this.resizeHelperViewChild.nativeElement.style.display="block"}onColumnResizeEnd(){let u=this.resizeHelperViewChild?.nativeElement.offsetLeft-this.lastResizerHelperX,de=this.resizeColumnElement.offsetWidth+u;if(de>=(this.resizeColumnElement.style.minWidth.replace(/[^\d.]/g,"")||15)){if("fit"===this.columnResizeMode){let kt=this.resizeColumnElement.nextElementSibling.offsetWidth-u;de>15&&kt>15&&this.resizeTableCells(de,kt)}else"expand"===this.columnResizeMode&&(this._initialColWidths=this._totalTableWidth(),this.setResizeTableWidth(this.tableViewChild?.nativeElement.offsetWidth+u+"px"),this.resizeTableCells(de,null));this.onColResize.emit({element:this.resizeColumnElement,delta:u}),this.isStateful()&&this.saveState()}this.resizeHelperViewChild.nativeElement.style.display="none",re.D.removeClass(this.containerViewChild?.nativeElement,"p-unselectable-text")}_totalTableWidth(){let u=[];const ie=re.D.findSingle(this.containerViewChild.nativeElement,".p-datatable-thead");return re.D.find(ie,"tr > th").forEach(Ae=>u.push(re.D.getOuterWidth(Ae))),u}onColumnDragStart(u,ie){this.reorderIconWidth=re.D.getHiddenElementOuterWidth(this.reorderIndicatorUpViewChild?.nativeElement),this.reorderIconHeight=re.D.getHiddenElementOuterHeight(this.reorderIndicatorDownViewChild?.nativeElement),this.draggedColumn=ie,u.dataTransfer.setData("text","b")}onColumnDragEnter(u,ie){if(this.reorderableColumns&&this.draggedColumn&&ie){u.preventDefault();let de=re.D.getOffset(this.containerViewChild?.nativeElement),Ae=re.D.getOffset(ie);if(this.draggedColumn!=ie){re.D.indexWithinGroup(this.draggedColumn,"preorderablecolumn"),re.D.indexWithinGroup(ie,"preorderablecolumn");let zt=Ae.left-de.left,oi=Ae.left+ie.offsetWidth/2;this.reorderIndicatorUpViewChild.nativeElement.style.top=Ae.top-de.top-(this.reorderIconHeight-1)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.top=Ae.top-de.top+ie.offsetHeight+"px",u.pageX>oi?(this.reorderIndicatorUpViewChild.nativeElement.style.left=zt+ie.offsetWidth-Math.ceil(this.reorderIconWidth/2)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.left=zt+ie.offsetWidth-Math.ceil(this.reorderIconWidth/2)+"px",this.dropPosition=1):(this.reorderIndicatorUpViewChild.nativeElement.style.left=zt-Math.ceil(this.reorderIconWidth/2)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.left=zt-Math.ceil(this.reorderIconWidth/2)+"px",this.dropPosition=-1),this.reorderIndicatorUpViewChild.nativeElement.style.display="block",this.reorderIndicatorDownViewChild.nativeElement.style.display="block"}else u.dataTransfer.dropEffect="none"}}onColumnDragLeave(u){this.reorderableColumns&&this.draggedColumn&&u.preventDefault()}onColumnDrop(u,ie){if(u.preventDefault(),this.draggedColumn){let de=re.D.indexWithinGroup(this.draggedColumn,"preorderablecolumn"),Ae=re.D.indexWithinGroup(ie,"preorderablecolumn"),nt=de!=Ae;if(nt&&(Ae-de==1&&-1===this.dropPosition||de-Ae==1&&1===this.dropPosition)&&(nt=!1),nt&&Aede&&-1===this.dropPosition&&(Ae-=1),nt&&(le.BF.reorderArray(this.columns,de,Ae),this.onColReorder.emit({dragIndex:de,dropIndex:Ae,columns:this.columns}),this.isStateful()&&this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.saveState()})})),this.resizableColumns&&this.resizeColumnElement){let kt="expand"===this.columnResizeMode?this._initialColWidths:this._totalTableWidth();le.BF.reorderArray(kt,de+1,Ae+1),this.updateStyleElement(kt,de,null,null)}this.reorderIndicatorUpViewChild.nativeElement.style.display="none",this.reorderIndicatorDownViewChild.nativeElement.style.display="none",this.draggedColumn.draggable=!1,this.draggedColumn=null,this.dropPosition=null}}resizeTableCells(u,ie){let de=re.D.index(this.resizeColumnElement),Ae="expand"===this.columnResizeMode?this._initialColWidths:this._totalTableWidth();this.updateStyleElement(Ae,de,u,ie)}updateStyleElement(u,ie,de,Ae){this.destroyStyleElement(),this.createStyleElement();let nt="";u.forEach((kt,zt)=>{let ai=zt===ie?de:Ae&&zt===ie+1?Ae:kt;nt+=`\n #${this.id}-table > .p-datatable-thead > tr > th:nth-child(${zt+1}),\n #${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${zt+1}),\n #${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${zt+1}) {\n width: ${ai}px !important; max-width: ${ai}px !important;\n }\n `}),this.renderer.setProperty(this.styleElement,"innerHTML",nt)}onRowDragStart(u,ie){this.rowDragging=!0,this.draggedRowIndex=ie,u.dataTransfer.setData("text","b")}onRowDragOver(u,ie,de){if(this.rowDragging&&this.draggedRowIndex!==ie){let Ae=re.D.getOffset(de).top,nt=u.pageY,kt=Ae+re.D.getOuterHeight(de)/2,zt=de.previousElementSibling;ntthis.droppedRowIndex?this.droppedRowIndex:0===this.droppedRowIndex?0:this.droppedRowIndex-1;le.BF.reorderArray(this.value,this.draggedRowIndex,de),this.virtualScroll&&(this._value=[...this._value]),this.onRowReorder.emit({dragIndex:this.draggedRowIndex,dropIndex:de})}this.onRowDragLeave(u,ie),this.onRowDragEnd(u)}isEmpty(){let u=this.filteredValue||this.value;return null==u||0==u.length}getBlockableElement(){return this.el.nativeElement.children[0]}getStorage(){if(!(0,M.UE)(this.platformId))throw new Error("Browser storage is not available in the server side.");switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}}isStateful(){return null!=this.stateKey}saveState(){const u=this.getStorage();let ie={};this.paginator&&(ie.first=this.first,ie.rows=this.rows),this.sortField&&(ie.sortField=this.sortField,ie.sortOrder=this.sortOrder),this.multiSortMeta&&(ie.multiSortMeta=this.multiSortMeta),this.hasFilter()&&(ie.filters=this.filters),this.resizableColumns&&this.saveColumnWidths(ie),this.reorderableColumns&&this.saveColumnOrder(ie),this.selection&&(ie.selection=this.selection),Object.keys(this.expandedRowKeys).length&&(ie.expandedRowKeys=this.expandedRowKeys),u.setItem(this.stateKey,JSON.stringify(ie)),this.onStateSave.emit(ie)}clearState(){const u=this.getStorage();this.stateKey&&u.removeItem(this.stateKey)}restoreState(){const ie=this.getStorage().getItem(this.stateKey),de=/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/;if(ie){let nt=JSON.parse(ie,function(nt,kt){return"string"==typeof kt&&de.test(kt)?new Date(kt):kt});this.paginator&&(void 0!==this.first&&(this.first=nt.first,this.firstChange.emit(this.first)),void 0!==this.rows&&(this.rows=nt.rows,this.rowsChange.emit(this.rows))),nt.sortField&&(this.restoringSort=!0,this._sortField=nt.sortField,this._sortOrder=nt.sortOrder),nt.multiSortMeta&&(this.restoringSort=!0,this._multiSortMeta=nt.multiSortMeta),nt.filters&&(this.restoringFilter=!0,this.filters=nt.filters),this.resizableColumns&&(this.columnWidthsState=nt.columnWidths,this.tableWidthState=nt.tableWidth),this.reorderableColumns&&this.restoreColumnOrder(),nt.expandedRowKeys&&(this.expandedRowKeys=nt.expandedRowKeys),nt.selection&&Promise.resolve(null).then(()=>this.selectionChange.emit(nt.selection)),this.stateRestored=!0,this.onStateRestore.emit(nt)}}saveColumnWidths(u){let ie=[];re.D.find(this.containerViewChild?.nativeElement,".p-datatable-thead > tr > th").forEach(Ae=>ie.push(re.D.getOuterWidth(Ae))),u.columnWidths=ie.join(","),"expand"===this.columnResizeMode&&(u.tableWidth=re.D.getOuterWidth(this.tableViewChild?.nativeElement))}setResizeTableWidth(u){this.tableViewChild.nativeElement.style.width=u,this.tableViewChild.nativeElement.style.minWidth=u}restoreColumnWidths(){if(this.columnWidthsState){let u=this.columnWidthsState.split(",");if("expand"===this.columnResizeMode&&this.tableWidthState&&this.setResizeTableWidth(this.tableWidthState+"px"),le.BF.isNotEmpty(u)){this.createStyleElement();let ie="";u.forEach((de,Ae)=>{ie+=`\n #${this.id}-table > .p-datatable-thead > tr > th:nth-child(${Ae+1}),\n #${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${Ae+1}),\n #${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${Ae+1}) {\n width: ${de}px !important; max-width: ${de}px !important\n }\n `}),this.styleElement.innerHTML=ie}}}saveColumnOrder(u){if(this.columns){let ie=[];this.columns.map(de=>{ie.push(de.field||de.key)}),u.columnOrder=ie}}restoreColumnOrder(){const ie=this.getStorage().getItem(this.stateKey);if(ie){let Ae=JSON.parse(ie).columnOrder;if(Ae){let nt=[];Ae.map(kt=>{let zt=this.findColumnByKey(kt);zt&&nt.push(zt)}),this.columnOrderStateRestored=!0,this.columns=nt}}}findColumnByKey(u){if(!this.columns)return null;for(let ie of this.columns)if(ie.key===u||ie.field===u)return ie}createStyleElement(){this.styleElement=this.renderer.createElement("style"),this.styleElement.type="text/css",this.renderer.appendChild(this.document.head,this.styleElement)}getGroupRowsMeta(){return{field:this.groupRowsBy,order:this.groupRowsByOrder}}createResponsiveStyle(){(0,M.UE)(this.platformId)&&!this.responsiveStyleElement&&(this.responsiveStyleElement=this.renderer.createElement("style"),this.responsiveStyleElement.type="text/css",this.renderer.appendChild(this.document.head,this.responsiveStyleElement),this.renderer.setProperty(this.responsiveStyleElement,"innerHTML",`\n @media screen and (max-width: ${this.breakpoint}) {\n #${this.id}-table > .p-datatable-thead > tr > th,\n #${this.id}-table > .p-datatable-tfoot > tr > td {\n display: none !important;\n }\n\n #${this.id}-table > .p-datatable-tbody > tr > td {\n display: flex;\n width: 100% !important;\n align-items: center;\n justify-content: space-between;\n }\n\n #${this.id}-table > .p-datatable-tbody > tr > td:not(:last-child) {\n border: 0 none;\n }\n\n #${this.id}.p-datatable-gridlines > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tbody > tr > td:last-child {\n border-top: 0;\n border-right: 0;\n border-left: 0;\n }\n\n #${this.id}-table > .p-datatable-tbody > tr > td > .p-column-title {\n display: block;\n }\n }\n `))}destroyResponsiveStyle(){this.responsiveStyleElement&&(this.renderer.removeChild(this.document.head,this.responsiveStyleElement),this.responsiveStyleElement=null)}destroyStyleElement(){this.styleElement&&(this.renderer.removeChild(this.document.head,this.styleElement),this.styleElement=null)}ngOnDestroy(){this.unbindDocumentEditListener(),this.editingCell=null,this.initialized=null,this.destroyStyleElement(),this.destroyResponsiveStyle()}getPaginatorStyleClasses(u){return[this.paginatorStyleClass,u].filter(ie=>!!ie).join(" ").trim()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.Agw),e.rXU(e.sFG),e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(Ce),e.rXU(e.gRc),e.rXU(Le.E),e.rXU(Le.si),e.rXU(Le.r1))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-table"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(bl,5),e.GBs(Af,5),e.GBs(Ka,5),e.GBs(Zu,5),e.GBs(If,5),e.GBs(Qd,5),e.GBs(Nh,5),e.GBs($c,5),e.GBs(Xc,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.containerViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.resizeHelperViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.reorderIndicatorUpViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.reorderIndicatorDownViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.wrapperViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.tableViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.tableHeaderViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.tableFooterViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.scroller=Ae.first)}},hostAttrs:[1,"p-element"],inputs:{frozenColumns:"frozenColumns",frozenValue:"frozenValue",style:"style",styleClass:"styleClass",tableStyle:"tableStyle",tableStyleClass:"tableStyleClass",paginator:"paginator",pageLinks:"pageLinks",rowsPerPageOptions:"rowsPerPageOptions",alwaysShowPaginator:"alwaysShowPaginator",paginatorPosition:"paginatorPosition",paginatorStyleClass:"paginatorStyleClass",paginatorDropdownAppendTo:"paginatorDropdownAppendTo",paginatorDropdownScrollHeight:"paginatorDropdownScrollHeight",currentPageReportTemplate:"currentPageReportTemplate",showCurrentPageReport:"showCurrentPageReport",showJumpToPageDropdown:"showJumpToPageDropdown",showJumpToPageInput:"showJumpToPageInput",showFirstLastIcon:"showFirstLastIcon",showPageLinks:"showPageLinks",defaultSortOrder:"defaultSortOrder",sortMode:"sortMode",resetPageOnSort:"resetPageOnSort",selectionMode:"selectionMode",selectionPageOnly:"selectionPageOnly",contextMenuSelection:"contextMenuSelection",contextMenuSelectionMode:"contextMenuSelectionMode",dataKey:"dataKey",metaKeySelection:"metaKeySelection",rowSelectable:"rowSelectable",rowTrackBy:"rowTrackBy",lazy:"lazy",lazyLoadOnInit:"lazyLoadOnInit",compareSelectionBy:"compareSelectionBy",csvSeparator:"csvSeparator",exportFilename:"exportFilename",filters:"filters",globalFilterFields:"globalFilterFields",filterDelay:"filterDelay",filterLocale:"filterLocale",expandedRowKeys:"expandedRowKeys",editingRowKeys:"editingRowKeys",rowExpandMode:"rowExpandMode",scrollable:"scrollable",scrollDirection:"scrollDirection",rowGroupMode:"rowGroupMode",scrollHeight:"scrollHeight",virtualScroll:"virtualScroll",virtualScrollItemSize:"virtualScrollItemSize",virtualScrollOptions:"virtualScrollOptions",virtualScrollDelay:"virtualScrollDelay",frozenWidth:"frozenWidth",responsive:"responsive",contextMenu:"contextMenu",resizableColumns:"resizableColumns",columnResizeMode:"columnResizeMode",reorderableColumns:"reorderableColumns",loading:"loading",loadingIcon:"loadingIcon",showLoader:"showLoader",rowHover:"rowHover",customSort:"customSort",showInitialSortBadge:"showInitialSortBadge",autoLayout:"autoLayout",exportFunction:"exportFunction",exportHeader:"exportHeader",stateKey:"stateKey",stateStorage:"stateStorage",editMode:"editMode",groupRowsBy:"groupRowsBy",groupRowsByOrder:"groupRowsByOrder",responsiveLayout:"responsiveLayout",breakpoint:"breakpoint",paginatorLocale:"paginatorLocale",value:"value",columns:"columns",first:"first",rows:"rows",totalRecords:"totalRecords",sortField:"sortField",sortOrder:"sortOrder",multiSortMeta:"multiSortMeta",selection:"selection",selectAll:"selectAll",virtualRowHeight:"virtualRowHeight"},outputs:{contextMenuSelectionChange:"contextMenuSelectionChange",selectAllChange:"selectAllChange",selectionChange:"selectionChange",onRowSelect:"onRowSelect",onRowUnselect:"onRowUnselect",onPage:"onPage",onSort:"onSort",onFilter:"onFilter",onLazyLoad:"onLazyLoad",onRowExpand:"onRowExpand",onRowCollapse:"onRowCollapse",onContextMenuSelect:"onContextMenuSelect",onColResize:"onColResize",onColReorder:"onColReorder",onRowReorder:"onRowReorder",onEditInit:"onEditInit",onEditComplete:"onEditComplete",onEditCancel:"onEditCancel",onHeaderCheckboxToggle:"onHeaderCheckboxToggle",sortFunction:"sortFunction",firstChange:"firstChange",rowsChange:"rowsChange",onStateSave:"onStateSave",onStateRestore:"onStateRestore"},features:[e.Jv_([Ce]),e.OA$],decls:16,vars:22,consts:[["container",""],["wrapper",""],["buildInTable",""],["scroller",""],["table",""],["thead",""],["tfoot",""],["resizeHelper",""],["reorderIndicatorUp",""],["reorderIndicatorDown",""],[3,"ngStyle","ngClass"],["class","p-datatable-loading-overlay p-component-overlay",4,"ngIf"],["class","p-datatable-header",4,"ngIf"],[3,"rows","first","totalRecords","pageLinkSize","alwaysShow","rowsPerPageOptions","templateLeft","templateRight","dropdownAppendTo","dropdownScrollHeight","currentPageReportTemplate","showFirstLastIcon","dropdownItemTemplate","showCurrentPageReport","showJumpToPageDropdown","showJumpToPageInput","showPageLinks","styleClass","locale","onPageChange",4,"ngIf"],[1,"p-datatable-wrapper",3,"ngStyle"],[3,"items","columns","style","scrollHeight","itemSize","step","delay","inline","lazy","loaderDisabled","showSpacer","showLoader","options","autoSize","onLazyLoad",4,"ngIf"],[4,"ngIf"],["class","p-datatable-footer",4,"ngIf"],["class","p-column-resizer-helper","style","display:none",4,"ngIf"],["class","p-datatable-reorder-indicator-up","style","display: none;",4,"ngIf"],["class","p-datatable-reorder-indicator-down","style","display: none;",4,"ngIf"],[1,"p-datatable-loading-overlay","p-component-overlay"],[3,"class",4,"ngIf"],[3,"spin","styleClass",4,"ngIf"],["class","p-datatable-loading-icon",4,"ngIf"],[3,"spin","styleClass"],[1,"p-datatable-loading-icon"],[4,"ngTemplateOutlet"],[1,"p-datatable-header"],[3,"onPageChange","rows","first","totalRecords","pageLinkSize","alwaysShow","rowsPerPageOptions","templateLeft","templateRight","dropdownAppendTo","dropdownScrollHeight","currentPageReportTemplate","showFirstLastIcon","dropdownItemTemplate","showCurrentPageReport","showJumpToPageDropdown","showJumpToPageInput","showPageLinks","styleClass","locale"],["pTemplate","dropdownicon"],["pTemplate","firstpagelinkicon"],["pTemplate","previouspagelinkicon"],["pTemplate","lastpagelinkicon"],["pTemplate","nextpagelinkicon"],[3,"onLazyLoad","items","columns","scrollHeight","itemSize","step","delay","inline","lazy","loaderDisabled","showSpacer","showLoader","options","autoSize"],["pTemplate","content"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["role","table",3,"ngClass"],["role","rowgroup",1,"p-datatable-thead"],["role","rowgroup","class","p-datatable-tbody p-datatable-frozen-tbody",3,"value","frozenRows","pTableBody","pTableBodyTemplate","frozen",4,"ngIf"],["role","rowgroup",1,"p-datatable-tbody",3,"ngClass","value","pTableBody","pTableBodyTemplate","scrollerOptions"],["role","rowgroup","class","p-datatable-scroller-spacer",3,"style",4,"ngIf"],["role","rowgroup","class","p-datatable-tfoot",4,"ngIf"],["role","rowgroup",1,"p-datatable-tbody","p-datatable-frozen-tbody",3,"value","frozenRows","pTableBody","pTableBodyTemplate","frozen"],["role","rowgroup",1,"p-datatable-scroller-spacer"],["role","rowgroup",1,"p-datatable-tfoot"],[1,"p-datatable-footer"],[1,"p-column-resizer-helper",2,"display","none"],[1,"p-datatable-reorder-indicator-up",2,"display","none"],[1,"p-datatable-reorder-indicator-down",2,"display","none"]],template:function(ie,de){1&ie&&(e.j41(0,"div",10,0),e.DNE(2,Qu,3,2,"div",11)(3,ep,2,1,"div",12)(4,ip,6,24,"p-paginator",13),e.j41(5,"div",14,1),e.DNE(7,np,3,17,"p-scroller",15)(8,Rf,2,7,"ng-container",16)(9,_l,10,28,"ng-template",null,2,e.C5r),e.k0s(),e.DNE(11,qc,6,24,"p-paginator",13)(12,Nr,2,1,"div",17)(13,Zl,2,0,"div",18)(14,zh,4,2,"span",19)(15,Tc,4,2,"span",20),e.k0s()),2&ie&&(e.HbH(de.styleClass),e.Y8G("ngStyle",de.style)("ngClass",e.sMw(16,qr,de.rowHover||de.selectionMode,de.scrollable,de.scrollable&&"flex"===de.scrollHeight)),e.BMQ("id",de.id),e.R7$(2),e.Y8G("ngIf",de.loading&&de.showLoader),e.R7$(),e.Y8G("ngIf",de.captionTemplate),e.R7$(),e.Y8G("ngIf",de.paginator&&("top"===de.paginatorPosition||"both"==de.paginatorPosition)),e.R7$(),e.Y8G("ngStyle",e.eq3(20,Ds,de.virtualScroll?"":de.scrollHeight)),e.R7$(2),e.Y8G("ngIf",de.virtualScroll),e.R7$(),e.Y8G("ngIf",!de.virtualScroll),e.R7$(3),e.Y8G("ngIf",de.paginator&&("bottom"===de.paginatorPosition||"both"==de.paginatorPosition)),e.R7$(),e.Y8G("ngIf",de.summaryTemplate),e.R7$(),e.Y8G("ngIf",de.resizableColumns),e.R7$(),e.Y8G("ngIf",de.reorderableColumns),e.R7$(),e.Y8G("ngIf",de.reorderableColumns))},dependencies:()=>[M.YU,M.bT,M.T3,M.B3,Kd,Le.Ei,ga,Nc,Ul,go.N,it],styles:["@layer primeng{.p-datatable{position:relative}.p-datatable>.p-datatable-wrapper{overflow:auto}.p-datatable-table{border-spacing:0px;width:100%}.p-datatable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-sortable-column .p-column-title,.p-datatable .p-sortable-column .p-sortable-column-icon,.p-datatable .p-sortable-column .p-sortable-column-badge{vertical-align:middle}.p-datatable .p-sortable-column .p-icon-wrapper{display:inline}.p-datatable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-datatable-hoverable-rows .p-selectable-row{cursor:pointer}.p-datatable-scrollable>.p-datatable-wrapper{position:relative}.p-datatable-scrollable-table>.p-datatable-thead{position:sticky;top:0;z-index:2}.p-datatable-scrollable-table>.p-datatable-frozen-tbody{position:sticky;z-index:1}.p-datatable-scrollable-table>.p-datatable-tfoot{position:sticky;bottom:0;z-index:1}.p-datatable-scrollable .p-frozen-column{position:sticky;background:inherit;z-index:1}.p-datatable-scrollable th.p-frozen-column{z-index:1}.p-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.p-datatable-flex-scrollable>.p-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-scrollable-table>.p-datatable-tbody>.p-rowgroup-header{position:sticky;z-index:2}.p-datatable-resizable-table>.p-datatable-thead>tr>th,.p-datatable-resizable-table>.p-datatable-tfoot>tr>td,.p-datatable-resizable-table>.p-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.p-datatable-resizable-table>.p-datatable-thead>tr>th.p-resizable-column:not(.p-frozen-column){background-clip:padding-box;position:relative}.p-datatable-resizable-table-fit>.p-datatable-thead>tr>th.p-resizable-column:last-child .p-column-resizer{display:none}.p-datatable .p-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.p-datatable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-datatable .p-row-editor-init,.p-datatable .p-row-editor-save,.p-datatable .p-row-editor-cancel,.p-datatable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-datatable-reorder-indicator-up,.p-datatable-reorder-indicator-down{position:absolute}.p-datatable-reorderablerow-handle,[pReorderableColumn]{cursor:move}.p-datatable .p-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:3}.p-column-filter-row{display:flex;align-items:center;width:100%}.p-column-filter-menu{display:inline-flex}.p-column-filter-row p-columnfilterformelement{flex:1 1 auto;width:1%}.p-column-filter-menu-button,.p-column-filter-clear-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.p-column-filter-overlay{position:absolute;top:0;left:0}.p-column-filter-row-items{margin:0;padding:0;list-style:none}.p-column-filter-row-item{cursor:pointer}.p-column-filter-add-button,.p-column-filter-remove-button{justify-content:center}.p-column-filter-add-button .p-button-label,.p-column-filter-remove-button .p-button-label{flex-grow:0}.p-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between}.p-column-filter-buttonbar .p-button{width:auto}.p-datatable-tbody>tr>td>.p-column-title{display:none}.p-datatable-scroller-spacer{display:flex}.p-datatable .p-scroller .p-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}}\n"],encapsulation:2})}return ye})(),it=(()=>{class ye{dt;tableService;cd;el;columns;template;get value(){return this._value}set value(u){this._value=u,this.frozenRows&&this.updateFrozenRowStickyPosition(),this.dt.scrollable&&"subheader"===this.dt.rowGroupMode&&this.updateFrozenRowGroupHeaderStickyPosition()}frozen;frozenRows;scrollerOptions;subscription;_value;ngAfterViewInit(){this.frozenRows&&this.updateFrozenRowStickyPosition(),this.dt.scrollable&&"subheader"===this.dt.rowGroupMode&&this.updateFrozenRowGroupHeaderStickyPosition()}constructor(u,ie,de,Ae){this.dt=u,this.tableService=ie,this.cd=de,this.el=Ae,this.subscription=this.dt.tableService.valueSource$.subscribe(()=>{this.dt.virtualScroll&&this.cd.detectChanges()})}shouldRenderRowGroupHeader(u,ie,de){let Ae=le.BF.resolveFieldData(ie,this.dt.groupRowsBy),nt=u[de-1];return!nt||Ae!==le.BF.resolveFieldData(nt,this.dt.groupRowsBy)}shouldRenderRowGroupFooter(u,ie,de){let Ae=le.BF.resolveFieldData(ie,this.dt.groupRowsBy),nt=u[de+1];return!nt||Ae!==le.BF.resolveFieldData(nt,this.dt.groupRowsBy)}shouldRenderRowspan(u,ie,de){let Ae=le.BF.resolveFieldData(ie,this.dt.groupRowsBy),nt=u[de-1];return!nt||Ae!==le.BF.resolveFieldData(nt,this.dt.groupRowsBy)}calculateRowGroupSize(u,ie,de){let Ae=le.BF.resolveFieldData(ie,this.dt.groupRowsBy),nt=Ae,kt=0;for(;Ae===nt;){kt++;let zt=u[++de];if(!zt)break;nt=le.BF.resolveFieldData(zt,this.dt.groupRowsBy)}return 1===kt?null:kt}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}updateFrozenRowStickyPosition(){this.el.nativeElement.style.top=re.D.getOuterHeight(this.el.nativeElement.previousElementSibling)+"px"}updateFrozenRowGroupHeaderStickyPosition(){if(this.el.nativeElement.previousElementSibling){let u=re.D.getOuterHeight(this.el.nativeElement.previousElementSibling);this.dt.rowGroupHeaderStyleObject.top=u+"px"}}getScrollerOption(u,ie){return this.dt.virtualScroll&&(ie=ie||this.scrollerOptions)?ie[u]:null}getRowIndex(u){const ie=this.dt.paginator?this.dt.first+u:u,de=this.getScrollerOption("getItemOptions");return de?de(ie).index:ie}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne),e.rXU(Ce),e.rXU(e.gRc),e.rXU(e.aKT))};static \u0275cmp=e.VBU({type:ye,selectors:[["","pTableBody",""]],hostAttrs:[1,"p-element"],inputs:{columns:[e.Mj6.None,"pTableBody","columns"],template:[e.Mj6.None,"pTableBodyTemplate","template"],value:"value",frozen:"frozen",frozenRows:"frozenRows",scrollerOptions:"scrollerOptions"},attrs:Qc,decls:5,vars:5,consts:[[4,"ngIf"],["ngFor","",3,"ngForOf","ngForTrackBy"],["role","row",4,"ngIf"],["role","row"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ie,de){1&ie&&e.DNE(0,th,2,2,"ng-container",0)(1,$h,2,2,"ng-container",0)(2,yd,2,2,"ng-container",0)(3,ql,2,5,"ng-container",0)(4,hu,2,5,"ng-container",0),2&ie&&(e.Y8G("ngIf",!de.dt.expandedRowTemplate),e.R7$(),e.Y8G("ngIf",de.dt.expandedRowTemplate&&!(de.frozen&&de.dt.frozenExpandedRowTemplate)),e.R7$(),e.Y8G("ngIf",de.dt.frozenExpandedRowTemplate&&de.frozen),e.R7$(),e.Y8G("ngIf",de.dt.loading),e.R7$(),e.Y8G("ngIf",de.dt.isEmpty()&&!de.dt.loading))},dependencies:[M.Sq,M.bT,M.T3],encapsulation:2})}return ye})(),Ut=(()=>{class ye{dt;field;pSortableColumnDisabled;sorted;sortOrder;subscription;constructor(u){this.dt=u,this.isEnabled()&&(this.subscription=this.dt.tableService.sortSource$.subscribe(ie=>{this.updateSortState()}))}ngOnInit(){this.isEnabled()&&this.updateSortState()}updateSortState(){this.sorted=this.dt.isSorted(this.field),this.sortOrder=this.sorted?1===this.dt.sortOrder?"ascending":"descending":"none"}onClick(u){this.isEnabled()&&!this.isFilterElement(u.target)&&(this.updateSortState(),this.dt.sort({originalEvent:u,field:this.field}),re.D.clearSelection())}onEnterKey(u){this.onClick(u),u.preventDefault()}isEnabled(){return!0!==this.pSortableColumnDisabled}isFilterElement(u){return this.isFilterElementIconOrButton(u)||this.isFilterElementIconOrButton(u?.parentElement?.parentElement)}isFilterElementIconOrButton(u){return re.D.hasClass(u,"pi-filter-icon")||re.D.hasClass(u,"p-column-filter-menu-button")}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne))};static \u0275dir=e.FsC({type:ye,selectors:[["","pSortableColumn",""]],hostAttrs:[1,"p-element"],hostVars:7,hostBindings:function(ie,de){1&ie&&e.bIt("click",function(nt){return de.onClick(nt)})("keydown.space",function(nt){return de.onEnterKey(nt)})("keydown.enter",function(nt){return de.onEnterKey(nt)}),2&ie&&(e.BMQ("tabindex",de.isEnabled()?"0":null)("role","columnheader")("aria-sort",de.sortOrder),e.AVh("p-sortable-column",de.isEnabled())("p-highlight",de.sorted))},inputs:{field:[e.Mj6.None,"pSortableColumn","field"],pSortableColumnDisabled:"pSortableColumnDisabled"}})}return ye})(),ei=(()=>{class ye{dt;cd;field;subscription;sortOrder;constructor(u,ie){this.dt=u,this.cd=ie,this.subscription=this.dt.tableService.sortSource$.subscribe(de=>{this.updateSortState()})}ngOnInit(){this.updateSortState()}onClick(u){u.preventDefault()}updateSortState(){if("single"===this.dt.sortMode)this.sortOrder=this.dt.isSorted(this.field)?this.dt.sortOrder:0;else if("multiple"===this.dt.sortMode){let u=this.dt.getSortMeta(this.field);this.sortOrder=u?u.order:0}this.cd.markForCheck()}getMultiSortMetaIndex(){let u=this.dt._multiSortMeta,ie=-1;if(u&&"multiple"===this.dt.sortMode&&this.dt.showInitialSortBadge&&u.length>1)for(let de=0;de-1?u:u+1}isMultiSorted(){return"multiple"===this.dt.sortMode&&this.getMultiSortMetaIndex()>-1}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne),e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-sortIcon"]],hostAttrs:[1,"p-element"],inputs:{field:"field"},decls:3,vars:3,consts:[[4,"ngIf"],["class","p-sortable-column-icon",4,"ngIf"],["class","p-sortable-column-badge",4,"ngIf"],[3,"styleClass",4,"ngIf"],[3,"styleClass"],[1,"p-sortable-column-icon"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-sortable-column-badge"]],template:function(ie,de){1&ie&&e.DNE(0,vr,4,3,"ng-container",0)(1,_d,2,4,"span",1)(2,aa,2,1,"span",2),2&ie&&(e.Y8G("ngIf",!de.dt.sortIconTemplate),e.R7$(),e.Y8G("ngIf",de.dt.sortIconTemplate),e.R7$(),e.Y8G("ngIf",de.isMultiSorted()))},dependencies:()=>[M.bT,M.T3,Hs,ta,Xs],encapsulation:2,changeDetection:0})}return ye})(),Ai=(()=>{class ye{dt;data;pRowTogglerDisabled;constructor(u){this.dt=u}onClick(u){this.isEnabled()&&(this.dt.toggleRow(this.data,u),u.preventDefault())}isEnabled(){return!0!==this.pRowTogglerDisabled}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne))};static \u0275dir=e.FsC({type:ye,selectors:[["","pRowToggler",""]],hostAttrs:[1,"p-element"],hostBindings:function(ie,de){1&ie&&e.bIt("click",function(nt){return de.onClick(nt)})},inputs:{data:[e.Mj6.None,"pRowToggler","data"],pRowTogglerDisabled:"pRowTogglerDisabled"}})}return ye})(),kn=(()=>{class ye{dt;el;zone;data;field;rowIndex;pEditableColumnDisabled;pFocusCellSelector;overlayEventListener;constructor(u,ie,de){this.dt=u,this.el=ie,this.zone=de}ngOnChanges(u){this.el.nativeElement&&!u.data?.firstChange&&this.dt.updateEditingCell(this.el.nativeElement,this.data,this.field,this.rowIndex)}ngAfterViewInit(){this.isEnabled()&&re.D.addClass(this.el.nativeElement,"p-editable-column")}onClick(u){if(this.isEnabled())if(this.dt.selfClick=!0,this.dt.editingCell){if(this.dt.editingCell!==this.el.nativeElement){if(!this.dt.isEditingCellValid())return;this.closeEditingCell(!0,u),this.openCell()}}else this.openCell()}openCell(){this.dt.updateEditingCell(this.el.nativeElement,this.data,this.field,this.rowIndex),re.D.addClass(this.el.nativeElement,"p-cell-editing"),this.dt.onEditInit.emit({field:this.field,data:this.data,index:this.rowIndex}),this.zone.runOutsideAngular(()=>{setTimeout(()=>{let ie=re.D.findSingle(this.el.nativeElement,this.pFocusCellSelector||"input, textarea, select");ie&&ie.focus()},50)}),this.overlayEventListener=u=>{this.el&&this.el.nativeElement.contains(u.target)&&(this.dt.selfClick=!0)},this.dt.overlaySubscription=this.dt.overlayService.clickObservable.subscribe(this.overlayEventListener)}closeEditingCell(u,ie){const de={field:this.dt.editingCellField,data:this.dt.editingCellData,originalEvent:ie,index:this.dt.editingCellRowIndex};u?this.dt.onEditComplete.emit(de):(this.dt.onEditCancel.emit(de),this.dt.value.forEach(Ae=>{Ae[this.dt.editingCellField]===this.data&&(Ae[this.dt.editingCellField]=this.dt.editingCellData)})),re.D.removeClass(this.dt.editingCell,"p-cell-editing"),this.dt.editingCell=null,this.dt.editingCellData=null,this.dt.editingCellField=null,this.dt.unbindDocumentEditListener(),this.dt.overlaySubscription&&this.dt.overlaySubscription.unsubscribe()}onEnterKeyDown(u){this.isEnabled()&&!u.shiftKey&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),u.preventDefault())}onTabKeyDown(u){this.isEnabled()&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),u.preventDefault())}onEscapeKeyDown(u){this.isEnabled()&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!1,u),u.preventDefault())}onShiftKeyDown(u){this.isEnabled()&&(u.shiftKey?this.moveToPreviousCell(u):this.moveToNextCell(u))}onArrowDown(u){if(this.isEnabled()){let ie=this.findCell(u.target);if(ie){let de=re.D.index(ie),Ae=this.findNextEditableColumnByIndex(ie,de);Ae&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(Ae,"click")),u.preventDefault()}}}onArrowUp(u){if(this.isEnabled()){let ie=this.findCell(u.target);if(ie){let de=re.D.index(ie),Ae=this.findPrevEditableColumnByIndex(ie,de);Ae&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(Ae,"click")),u.preventDefault()}}}onArrowLeft(u){this.isEnabled()&&this.moveToPreviousCell(u)}onArrowRight(u){this.isEnabled()&&this.moveToNextCell(u)}findCell(u){if(u){let ie=u;for(;ie&&!re.D.hasClass(ie,"p-cell-editing");)ie=ie.parentElement;return ie}return null}moveToPreviousCell(u){let ie=this.findCell(u.target);if(ie){let de=this.findPreviousEditableColumn(ie);de&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(de,"click"),u.preventDefault())}}moveToNextCell(u){let ie=this.findCell(u.target);if(ie){let de=this.findNextEditableColumn(ie);de?(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(de,"click"),u.preventDefault()):this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u)}}findPreviousEditableColumn(u){let ie=u.previousElementSibling;if(!ie){let de=u.parentElement?.previousElementSibling;de&&(ie=de.lastElementChild)}return ie?re.D.hasClass(ie,"p-editable-column")?ie:this.findPreviousEditableColumn(ie):null}findNextEditableColumn(u){let ie=u.nextElementSibling;if(!ie){let de=u.parentElement?.nextElementSibling;de&&(ie=de.firstElementChild)}return ie?re.D.hasClass(ie,"p-editable-column")?ie:this.findNextEditableColumn(ie):null}findNextEditableColumnByIndex(u,ie){let de=u.parentElement?.nextElementSibling;if(de){let Ae=de.children[ie];return Ae&&re.D.hasClass(Ae,"p-editable-column")?Ae:null}return null}findPrevEditableColumnByIndex(u,ie){let de=u.parentElement?.previousElementSibling;if(de){let Ae=de.children[ie];return Ae&&re.D.hasClass(Ae,"p-editable-column")?Ae:null}return null}isEnabled(){return!0!==this.pEditableColumnDisabled}ngOnDestroy(){this.dt.overlaySubscription&&this.dt.overlaySubscription.unsubscribe()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne),e.rXU(e.aKT),e.rXU(e.SKi))};static \u0275dir=e.FsC({type:ye,selectors:[["","pEditableColumn",""]],hostAttrs:[1,"p-element"],hostBindings:function(ie,de){1&ie&&e.bIt("click",function(nt){return de.onClick(nt)})("keydown.enter",function(nt){return de.onEnterKeyDown(nt)})("keydown.tab",function(nt){return de.onShiftKeyDown(nt)})("keydown.escape",function(nt){return de.onEscapeKeyDown(nt)})("keydown.shift.tab",function(nt){return de.onShiftKeyDown(nt)})("keydown.meta.tab",function(nt){return de.onShiftKeyDown(nt)})("keydown.arrowdown",function(nt){return de.onArrowDown(nt)})("keydown.arrowup",function(nt){return de.onArrowUp(nt)})("keydown.arrowleft",function(nt){return de.onArrowLeft(nt)})("keydown.arrowright",function(nt){return de.onArrowRight(nt)})},inputs:{data:[e.Mj6.None,"pEditableColumn","data"],field:[e.Mj6.None,"pEditableColumnField","field"],rowIndex:[e.Mj6.None,"pEditableColumnRowIndex","rowIndex"],pEditableColumnDisabled:"pEditableColumnDisabled",pFocusCellSelector:"pFocusCellSelector"},features:[e.OA$]})}return ye})(),Vn=(()=>{class ye{el;data;pEditableRowDisabled;constructor(u){this.el=u}isEnabled(){return!0!==this.pEditableRowDisabled}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.aKT))};static \u0275dir=e.FsC({type:ye,selectors:[["","pEditableRow",""]],hostAttrs:[1,"p-element"],inputs:{data:[e.Mj6.None,"pEditableRow","data"],pEditableRowDisabled:"pEditableRowDisabled"}})}return ye})(),ts=(()=>{class ye{dt;editableColumn;editableRow;templates;inputTemplate;outputTemplate;constructor(u,ie,de){this.dt=u,this.editableColumn=ie,this.editableRow=de}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"input":this.inputTemplate=u.template;break;case"output":this.outputTemplate=u.template}})}get editing(){return this.dt.editingCell&&this.editableColumn&&this.dt.editingCell===this.editableColumn.el.nativeElement||this.editableRow&&"row"===this.dt.editMode&&this.dt.isRowEditing(this.editableRow.data)}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne),e.rXU(kn,8),e.rXU(Vn,8))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-cellEditor"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},hostAttrs:[1,"p-element"],decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet"]],template:function(ie,de){1&ie&&e.DNE(0,Ql,2,1,"ng-container",0)(1,dp,2,1,"ng-container",0),2&ie&&(e.Y8G("ngIf",de.editing),e.R7$(),e.Y8G("ngIf",!de.editing))},dependencies:[M.bT,M.T3],encapsulation:2})}return ye})(),Vr=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Hc,_a.u,Lo,V.YN,q.tm,Ei,Ki,ul,jo,eo,Nc,Ul,go.N,Hs,ta,Xs,As,Fc,Po,ea,hl,Le.Gg,eo]})}return ye})()},54420:(ri,Bt,We)=>{"use strict";We.d(Bt,{BF:()=>M,Q$:()=>q,_Y:()=>V});class M{static isArray(re,ve=!0){return Array.isArray(re)&&(ve||0!==re.length)}static isObject(re,ve=!0){return"object"==typeof re&&!Array.isArray(re)&&null!=re&&(ve||0!==Object.keys(re).length)}static equals(re,ve,le){return le?this.resolveFieldData(re,le)===this.resolveFieldData(ve,le):this.equalsByValue(re,ve)}static equalsByValue(re,ve){if(re===ve)return!0;if(re&&ve&&"object"==typeof re&&"object"==typeof ve){var ue,J,te,le=Array.isArray(re),pe=Array.isArray(ve);if(le&&pe){if((J=re.length)!=ve.length)return!1;for(ue=J;0!=ue--;)if(!this.equalsByValue(re[ue],ve[ue]))return!1;return!0}if(le!=pe)return!1;var X=this.isDate(re),E=this.isDate(ve);if(X!=E)return!1;if(X&&E)return re.getTime()==ve.getTime();var j=re instanceof RegExp,F=ve instanceof RegExp;if(j!=F)return!1;if(j&&F)return re.toString()==ve.toString();var P=Object.keys(re);if((J=P.length)!==Object.keys(ve).length)return!1;for(ue=J;0!=ue--;)if(!Object.prototype.hasOwnProperty.call(ve,P[ue]))return!1;for(ue=J;0!=ue--;)if(!this.equalsByValue(re[te=P[ue]],ve[te]))return!1;return!0}return re!=re&&ve!=ve}static resolveFieldData(re,ve){if(re&&ve){if(this.isFunction(ve))return ve(re);if(-1==ve.indexOf("."))return re[ve];{let le=ve.split("."),pe=re;for(let ue=0,J=le.length;ue=re.length&&(le%=re.length,ve%=re.length),re.splice(le,0,re.splice(ve,1)[0]))}static insertIntoOrderedArray(re,ve,le,pe){if(le.length>0){let ue=!1;for(let J=0;Jve){le.splice(J,0,re),ue=!0;break}ue||le.push(re)}else le.push(re)}static findIndexInList(re,ve){let le=-1;if(ve)for(let pe=0;peve?1:0,ue}static sort(re,ve,le=1,pe,ue=1){const J=M.compare(re,ve,pe,le);let te=le;return(M.isEmpty(re)||M.isEmpty(ve))&&(te=1===ue?le:ue),te*J}static merge(re,ve){if(null!=re||null!=ve)return null!=re&&"object"!=typeof re||null!=ve&&"object"!=typeof ve?null!=re&&"string"!=typeof re||null!=ve&&"string"!=typeof ve?ve||re:[re||"",ve||""].join(" "):{...re||{},...ve||{}}}static isPrintableCharacter(re=""){return this.isNotEmpty(re)&&1===re.length&&re.match(/\S| /)}static getItemValue(re,...ve){return this.isFunction(re)?re(...ve):re}static findLastIndex(re,ve){let le=-1;if(this.isNotEmpty(re))try{le=re.findLastIndex(ve)}catch{le=re.lastIndexOf([...re].reverse().find(ve))}return le}static findLast(re,ve){let le;if(this.isNotEmpty(re))try{le=re.findLast(ve)}catch{le=[...re].reverse().find(ve)}return le}static deepEquals(re,ve){if(re===ve)return!0;if(re&&ve&&"object"==typeof re&&"object"==typeof ve){var ue,J,te,le=Array.isArray(re),pe=Array.isArray(ve);if(le&&pe){if((J=re.length)!=ve.length)return!1;for(ue=J;0!=ue--;)if(!this.deepEquals(re[ue],ve[ue]))return!1;return!0}if(le!=pe)return!1;var X=re instanceof Date,E=ve instanceof Date;if(X!=E)return!1;if(X&&E)return re.getTime()==ve.getTime();var j=re instanceof RegExp,F=ve instanceof RegExp;if(j!=F)return!1;if(j&&F)return re.toString()==ve.toString();var P=Object.keys(re);if((J=P.length)!==Object.keys(ve).length)return!1;for(ue=J;0!=ue--;)if(!Object.prototype.hasOwnProperty.call(ve,P[ue]))return!1;for(ue=J;0!=ue--;)if(!this.deepEquals(re[te=P[ue]],ve[te]))return!1;return!0}return re!=re&&ve!=ve}}var e=0;function V(ne="pn_id_"){return`${ne}${++e}`}var q=function Le(){let ne=[];const pe=ue=>ue&&parseInt(ue.style.zIndex,10)||0;return{get:pe,set:(ue,J,te)=>{J&&(J.style.zIndex=String(((ue,J)=>{let te=ne.length>0?ne[ne.length-1]:{key:ue,value:J},X=te.value+(te.key===ue?0:J)+2;return ne.push({key:ue,value:X}),X})(ue,te)))},clear:ue=>{ue&&((ue=>{ne=ne.filter(J=>J.value!==ue)})(pe(ue)),ue.style.zIndex="")},getCurrent:()=>ne.length>0?ne[ne.length-1].value:0}}()},10467:(ri,Bt,We)=>{"use strict";function M(V,Le,q,ne,re,ve,le){try{var pe=V[ve](le),ue=pe.value}catch(J){return void q(J)}pe.done?Le(ue):Promise.resolve(ue).then(ne,re)}function e(V){return function(){var Le=this,q=arguments;return new Promise(function(ne,re){var ve=V.apply(Le,q);function le(ue){M(ve,ne,re,le,pe,"next",ue)}function pe(ue){M(ve,ne,re,le,pe,"throw",ue)}le(void 0)})}}We.d(Bt,{A:()=>e})},31635:(ri,Bt,We)=>{"use strict";function q(C,k,p,T){var K,B=arguments.length,z=B<3?k:null===T?T=Object.getOwnPropertyDescriptor(k,p):T;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)z=Reflect.decorate(C,k,p,T);else for(var U=C.length-1;U>=0;U--)(K=C[U])&&(z=(B<3?K(z):B>3?K(k,p,z):K(k,p))||z);return B>3&&z&&Object.defineProperty(k,p,z),z}function J(C,k,p,T){return new(p||(p=Promise))(function(z,K){function U($){try{S(T.next($))}catch(H){K(H)}}function se($){try{S(T.throw($))}catch(H){K(H)}}function S($){$.done?z($.value):function B(z){return z instanceof p?z:new p(function(K){K(z)})}($.value).then(U,se)}S((T=T.apply(C,k||[])).next())})}function I(C){return this instanceof I?(this.v=C,this):new I(C)}function _(C,k,p){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var B,T=p.apply(C,k||[]),z=[];return B={},K("next"),K("throw"),K("return"),B[Symbol.asyncIterator]=function(){return this},B;function K(x){T[x]&&(B[x]=function(N){return new Promise(function(R,Z){z.push([x,N,R,Z])>1||U(x,N)})})}function U(x,N){try{!function se(x){x.value instanceof I?Promise.resolve(x.value.v).then(S,$):H(z[0][2],x)}(T[x](N))}catch(R){H(z[0][3],R)}}function S(x){U("next",x)}function $(x){U("throw",x)}function H(x,N){x(N),z.shift(),z.length&&U(z[0][0],z[0][1])}}function w(C){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var p,k=C[Symbol.asyncIterator];return k?k.call(C):(C=function j(C){var k="function"==typeof Symbol&&Symbol.iterator,p=k&&C[k],T=0;if(p)return p.call(C);if(C&&"number"==typeof C.length)return{next:function(){return C&&T>=C.length&&(C=void 0),{value:C&&C[T++],done:!C}}};throw new TypeError(k?"Object is not iterable.":"Symbol.iterator is not defined.")}(C),p={},T("next"),T("throw"),T("return"),p[Symbol.asyncIterator]=function(){return this},p);function T(z){p[z]=C[z]&&function(K){return new Promise(function(U,se){!function B(z,K,U,se){Promise.resolve(se).then(function(S){z({value:S,done:U})},K)}(U,se,(K=C[z](K)).done,K.value)})}}}We.d(Bt,{AQ:()=>_,Cg:()=>q,N3:()=>I,sH:()=>J,xN:()=>w}),"function"==typeof SuppressedError&&SuppressedError}},ri=>{ri(ri.s=96575)}]); \ No newline at end of file diff --git a/www/z4d/main.c415fca447920f26.js b/www/z4d/main.c415fca447920f26.js new file mode 100644 index 000000000..68446ae0b --- /dev/null +++ b/www/z4d/main.c415fca447920f26.js @@ -0,0 +1 @@ +(self.webpackChunkz4d_plugin=self.webpackChunkz4d_plugin||[]).push([[792],{38117:(ri,Bt,We)=>{"use strict";We.d(Bt,{Ui:()=>v,W4:()=>a,Vy:()=>pe,o6:()=>f,s0:()=>l});var M=We(60177),e=We(21626),V=We(99062),Le=We(19664),q=We(20546),ne=We(54438);let re=(()=>{class d{intercept(k,p){if(!/^(http|https):/i.test(k.url)){let T=null;T=q.c.api_url+k.url,k=k.clone({url:T})}return p.handle(k)}static \u0275fac=function(p){return new(p||d)};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})();var ve=We(71985),le=function(d){return d[d.Off=0]="Off",d[d.Error=1]="Error",d[d.Warning=2]="Warning",d[d.Info=3]="Info",d[d.Debug=4]="Debug",d}(le||{});class pe{source;static level=le.Debug;static outputs=[];static enableProductionMode(){pe.level=le.Warning}constructor(C){this.source=C}debug(...C){this.log(console.log,le.Debug,C)}info(...C){this.log(console.info,le.Info,C)}warn(...C){this.log(console.warn,le.Warning,C)}error(...C){this.log(console.error,le.Error,C)}log(C,k,p){if(k<=pe.level){const T=this.source?["["+this.source+"]"].concat(p):p;C.apply(console,T),pe.outputs.forEach(B=>B.apply(B,[this.source,k,...p]))}}}const ue=new pe("HttpCacheService"),J="httpCache";let te=(()=>{class d{cachedData={};storage=null;constructor(){this.loadCacheData()}setCacheData(k,p,T){this.cachedData[k]={lastUpdated:T||new Date,data:p},ue.debug(`Cache set for key: "${k}"`),this.saveCacheData()}getCacheData(k){const p=this.cachedData[k];return p?(ue.debug(`Cache hit for key: "${k}"`),p.data):null}getHttpCacheEntry(k){return this.cachedData[k]||null}clearCache(k){delete this.cachedData[k],ue.debug(`Cache cleared for key: "${k}"`),this.saveCacheData()}cleanCache(k){k?Object.entries(this.cachedData).forEach(([p,T])=>{k>=T.lastUpdated&&delete this.cachedData[p]}):this.cachedData={},this.saveCacheData()}setPersistence(k){this.cleanCache(),this.storage="local"===k||"session"===k?window[k+"Storage"]:null,this.loadCacheData()}saveCacheData(){this.storage&&this.storage.setItem(J,JSON.stringify(this.cachedData))}loadCacheData(){const k=this.storage?this.storage.getItem(J):null;this.cachedData=k?JSON.parse(k):{}}static \u0275fac=function(p){return new(p||d)};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})(),X=(()=>{class d{httpCacheService;forceUpdate=!1;constructor(k){this.httpCacheService=k}configure(k){const p=new d(this.httpCacheService);return k&&k.update&&(p.forceUpdate=!0),p}intercept(k,p){return"GET"!==k.method?p.handle(k):new ve.c(T=>{const B=this.forceUpdate?null:this.httpCacheService.getCacheData(k.urlWithParams);null!==B?(T.next(new e.cS(B)),T.complete()):p.handle(k).subscribe(z=>{z instanceof e.cS&&this.httpCacheService.setCacheData(k.urlWithParams,z),T.next(z)},z=>T.error(z),()=>T.complete())})}static \u0275fac=function(p){return new(p||d)(ne.KVO(te))};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})();var E=We(99437);const j=new pe("ErrorHandlerInterceptor");let F=(()=>{class d{intercept(k,p){return p.handle(k).pipe((0,E.W)(T=>this.errorHandler(T)))}errorHandler(k){throw q.c.production||j.error("Request error",k),k}static \u0275fac=function(p){return new(p||d)};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})();class P{next;interceptor;constructor(C,k){this.next=C,this.interceptor=k}handle(C){return this.interceptor.intercept(C,this.next)}}const D=new ne.nKC("HTTP_DYNAMIC_INTERCEPTORS");let A=(()=>{class d extends e.Qq{httpHandler;injector;interceptors;constructor(k,p,T=[]){super(k),this.httpHandler=k,this.injector=p,this.interceptors=T,this.interceptors||(this.interceptors=[this.injector.get(re),this.injector.get(F)])}cache(k){const p=this.injector.get(X).configure({update:k});return this.addInterceptor(p)}skipErrorHandler(){return this.removeInterceptor(F)}disableApiPrefix(){return this.removeInterceptor(re)}request(k,p,T){const B=this.interceptors.reduceRight((z,K)=>new P(z,K),this.httpHandler);return new e.Qq(B).request(k,p,T)}removeInterceptor(k){return new d(this.httpHandler,this.injector,this.interceptors.filter(p=>!(p instanceof k)))}addInterceptor(k){return new d(this.httpHandler,this.injector,this.interceptors.concat([k]))}static \u0275fac=function(p){return new(p||d)(ne.KVO(e.hR),ne.KVO(ne.zZn),ne.KVO(D,8))};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})();const I=JSON.parse('{"APP_NAME":"ZigBeeforDomoticZ plugin Admin Interface","About":"About","Version":"Version","NODATA":"No data to display","TOTAL":"Total {totalRecords}","SELECTED":"selected","dashboard":"Dashboard","dashboard.button.refresh":"Refresh","dashboard.trafic.title":"Plugin Status","dashboard.health.title":"Plugin devices","dashboard.devices.state.label":"Known devices of the plugin","dashboard.devices.live":"live","dashboard.devices.disabled":"disabled","dashboard.devices.notseen":"no news","dashboard.devices.notReachable":"lost","dashboard.devices.others":"unknow","dashboard.health.comment":"Live = devices alive
Lost = devices away from the network
No news = devices which haven\'t reported on the last 6 hours
Unknown = devices with status unknown","dashboard.traffic.title":"Send & Receive","dashboard.trafic.label":"Send / Receive messages","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = number of incoming messages since the start of the plugin
Rx = number of outgoing messages since the start of the plugin","dashboard.trend.title":"Statistics","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Load","dashboard.trend.comment":"Tx/s = number of sent messages per second
Rx/s = number of received messages per second
Load = number of messages in queue","dashboard.trafic.maxload.label":"Load","dashboard.trafic.maxload":"peak","dashboard.trafic.currentload":"current","dashboard.trend.chart.yaxis":"message/s","dashboard.devices.title":"Status of non-disabled objects","dashboard.device.title":"Type of devices","dashboard.devices.label":"Devices","dashboard.devices.routers":"routers","dashboard.devices.enddevice":"end devices","dashboard.devices.comment":"Routers = main powered device which participates in the mesh network.
End device = device which is not capable of routing messages, and which is not listening while idle (most of the time, it is a battery based device)","dashboard.battery.title":"Battery","dashboard.devices.battery.label":"Battery","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"For devices equipped with a battery, the battery status is reported here.","dashboard.optimized.title":"Optimized devices","dashboard.optimized.comment":"Optimized = devices for which a configuration has been provided to the plugin in order to work as expected.
Non optimized = devices which could not be fully working and/or could generate unexpected load or traffic.
More information in the wiki","dashboard.devices.optimized":"optimized ","dashboard.devices.not.optimized":"non-optimized","dashboard.devices.optimized.label":"Devices","dashboard.popup.device.header":"Object list","dashboard.popup.device.subtitle":"This list is filtered by the item clicked in the dashboard.","dashboard.popup.device.button.close":"Close","dashboard.health.starttime":"Started at ","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"MaxLoad","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"There is an update available for the plugin .
Plugin upgrade","dashboard.plugin.update.available.title":"Plugin update","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"A new firmware is available for the ZiGate More infos .","dashboard.firmware.update.available.title":"Firmware update","dashboard.device.button":"DomoticZ Devices(json)","dashboard.plugin.header":"Plugin info","dashboard.plugin.subtitle":"Provides plugin information","dashboard.stats.header":"Plugin statistics","dashboard.stats.subtitle":"Provides coordinator statistics in terms of message transmission and reception","dashboard.zdevice.button":"Plugin Devices (json)","dashboard.zgroup.button":"Plugin Groups (json)","dashboard.coordinator.header":"Coordinator Information","dashboard.coordinator.subtitle":"Provides Coordinator information","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Group: ","dashboard.devices.indb":"In Db","consent.banner.header":"Consent","consent.banner.description":"To improve our development and focus on where it is needed. We use cookies for technical purposes and, with your consent, we will collect mainly Plugin version, Coordinator, Firmware version and Size of the network (number of router and number of end devices).
You can consent by using the \'Accept\' button, and not concent by using the \'Reject\' button. If you want to change your mind later, you can update this setting in the Settings menu.
More info on the wiki.","consent.banner.accept":"Accept","consent.banner.decline":"Reject","management":"Management","device":"Device Management","device.byname.subtitle":"List all Hardware devices paired with the plugin, and allows you to enter a friendly name for each device
It shows the friendly device name in the network section instead of a four digit code.
The objects marked in orange are not optimized with the plugin. Please follow the procedure on the wiki.","device.byname.capabilities.column":"Capabilities","device.byname.devicename.column":"Friendly Name","device.byname.header":"Device management","device.byname.trash.column":"Del.","device.byname.optimized.column":"Optimized","device.byname.health.column":"Health","device.byname.battery.column":"Battery","device.byname.ieee.column":"IEEE","device.byname.model.column":"Model","device.byname.devicename.param":"Parameters","device.byname.devicename.enabled":"Device enabled","device.byname.placeholder":"type filter here ....","device.byname.shortid.column":"Short id","device.byname.status.column":"Status","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Validate","device.byname.widget.column":"Domoticz Widget","device.byname.alert.title":"Delete device?","device.byname.alert.subject":"Are you sure?","device.byname.alert.delete":"Delete","device.byname.alert.cancel":"Cancel","device.byname.error.notify":"Please use the Enabled switch","device.byname.parameter.alert.save":"Validate","device.byname.parameter.alert.cancel":"Cancel","device.byname.parameter.alert.title":"Parameters","device.byname.parameter.alert.subject":"Set specific parameters ","device.byname.parameter.popover.title":"Device Parameters","device.byname.parameter.popover.text":"Specify local device configuration parameters. Green means in sync with the device, when Orange the parameters are not yet pushed to the device","device.byname.delete.colum":"Delete","device.byname.optimized.popover.title.ok":"The object is optimized with the plugin","device.byname.optimized.popover.text.ok":"Click on the icon to copy the object info","device.byname.optimized.popover.title.ko":"The object is not optimized with the plugin","device.byname.optimized.popover.text.ko":"Click on the icon to copy the object info","group":"Group Management","group.create.devices.column":"Devices selected in the group","group.create.groupname.column":"Group name","group.create.header":"Group management","group.create.placeholder":"type filter here ....","group.create.shortid.column":"Group id","group.create.subtitle":"Allow edit, create and remove groups
Before modifications, make a full group analisys on the page Admin > Groups.
Before validation, make sure that all routers are connected to the ZigBee network.
After validation, make a special analisys on the router(s) in order to check that the changes have been taken.
Do not do all changes at once, but prefer to do it step by step with small changes.","group.create.validate.button":"Validate","group.create.add.button":"Add a new Group","group.create.delete.button":"Delete","group.create.coordinator.column":"Coordinator (in the group)","group.reloadplugin.alert.title":"Plugin Reload","group.reloadplugin.alert.subject":"Groups have been updated, plugin need to be restarted","group.reloadplugin.alert.cancel":"Close","header.popover.title":"Restart needed","header.popover.text":"Some changes are pending a plugin restart is needed","network":"Network","network.topo":"Topology","network.topo.header":"Topology reports","network.topo.subtitle":"List of the saved reports ","network.topo.visu.header":"Topology diagram","network.topo.visu.subtitle":"The Topology diagram shows all links between 2 nodes. If you leave the cursor on a link you\'ll see the link direction as well as the link quality (from 0 to 255 = best).","network.topo.visu.network.header":"Network graph","network.topo.visu.network.subtitle":"Will draw a network graph of your ZigBee environment.
Click on an object to have its child objects displayed in a table below.","network.topo.visu.network.filter":"Name of node to filter","network.topo.device.visu.network.chart.title":"Network graph","network.topo.visu.delete.button":"Delete","network.topo.device.batterylevel.column":"Battery","network.topo.device.deviceid.column":"Device id","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nValue","network.topo.device.signalelevel.column":"Signal","network.topo.device.svalue.column":"sValue","network.topo.device.switchtype.column":"Switch","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Type","network.topo.device.name.column":"Name","network.topo.device.visu.header":"Devices List","network.topo.device.visu.subtitle":"Provides the list of devices managed by coordinator. You\'ll get also a reference to the Widget names and some other information from Domoticz","network.topo.device.visu.chart.title":"Mesh Diagram","network.topology.req.header":"Topology scan","network.topology.req.subtitle":"This will trigger a Topology scan (run in background)","network.topology.req.button":"Scan","network.topo.visu.network.relation.header":"List of linked objects of {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"The array displays the LQI value between the selected object and all of its child objects.","network.topo.visu.network.relation.to":"Children","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"The selected object doesn\'t have any children.","network.topo.visu.network.relation.model":"Model","network.topo.visu.network.relation.status":"Status","network.topo.visu.network.relation.health":"Health","network.topo.visu.network.relation.battery":"Battery","network.energy":"Interference level","network.stats.header":"Interference level reports","network.stats.subtitle":"List of saved reports ","network.stats.visu.delete.button":"Delete","network.inter.req.header":"Short Interference scan","network.inter.req.subtitle":"An Interference scan report will be provided. It will report Interference level between routers and coordinator. The higher the value, the worst it is.","network.inter.req.button":"scan","network.full.req.header":"Full Interference scan","network.full.req.subtitle":"As for the short Interference scan, the report will provide Interference level between all routers and the coordinator, handling all cross-communications.
This report might take a while when the number of routers is high, n((n-1)/2), for 5 routers it is 10 combinations, for 10 routers 45","network.full.req.button":"scan full","network.stats.detail.visu.header":"Interference level","network.stats.detail.visu.subtitle":"The higher the number, the more interference there is (0 to 255)","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Fail : ","network.stats.detail.visu.chart.title":"Interference level","network.stats.detail.visu.chart.y-axis":"Interference level","network.stats.detail.visu.chart.x-axis":"Channel","admin":"Admin","admin.pairing":"Provisionning","admin.permittojoin.label":"Accept new hardware","admin.permittojoin.on.notify":"Accept new hardware On","admin.permittojoin.off.notify":"Accept new hardware Off","admin.assistprovisionning.title":"Pairing a new device with the assitant","admin.assistprovisionning.subtitle":"Click on Pairing and follow the instructions ","admin.assistprovisionning.go.button":"Pairing","admin.assistprovisionning.alert.title":"Pairing assistant - Waiting for new device","admin.assistprovisionning.alert.subject":"Make a Reset on your device to launch the pairing process. Refer to the device documentation if needed.","admin.assistprovisionning.alert.state":"Status: ","admin.assistprovisionning.alert.description":"Description: ","admin.assistprovisionning.alert.nwkid":"Short NwkId: ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Widget List: ","admin.assistprovisionning.alert.cancel":"Exit","admin.assistprovisionning.alert.ep":"EndPoint: ","admin.assistprovisionning.alert.cluster":"ClusterId : ","admin.assistprovisionning.alert.profile":"Profile : ","admin.assistprovisionning.alert.device":"Device : ","admin.assistprovisionning.alert.model":"Model : ","admin.assistprovisionning.alert.plugincertified":"Plugin Certification: ","admin.assistprovisionning.alert.Failed":"Failed (Something went wrong, check the log for more details)","admin.assistprovisionning.alert.inDB":"Successful (check if widgets have been created)","admin.assistprovisionning.alert.Unexpected":"Unexpected (Contact support)","admin.permittojoin.title":"Pairing a new device for a period of time","admin.permittojoin.subtitle":"Click on the button to choose the period of time ","admin.permittojoin.validate.button":"Validate","admin.permittojoin.permanent.button":"Permanent","admin.permittojoin.permanent.notify":"Permanent Pairing mode","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Pairing mode Off","admin.permittojoin.4min.button":"4 minutes","admin.permittojoin.4min.notify":"Pairing mode On for 4 minutes","admin.permittojoin.notify":"Pairing mode changed","admin.permittojoinrouter.title":"Pairing a new device on a router","admin.permittojoinrouter.subtitle":"Permit to pair a device on a specific router ","admin.permittojoinrouter.devices.placeholder":"List of routers","admin.fullreset.title":"Preparing device for full reset","admin.fullreset.subtitle":"If you want to do a hard reset of an existing provisioned device in Domoticz, it is advised to indicate the plugin of such event happening. Then the plugin will make sure to redo a full device discovery and set whatever as been set during the first pairing","admin.fullreset.device.placeholder":"Select a device","admin.fullreset.button":"Reset mode","admin.fullreset.notify":"Reset mode activated","admin.recreate.title":"Recreate widget(s) of existing device","admin.recreate.subtitle":"Will crete or recreate all widgets of a given device. It will use the latest configuration if applicable. You might get duplication widgets in Domoticz, so make sure to remove those.","admin.recreate.device.placeholder":"Select a device","admin.recreate.button":"Recreate widget","admin.recreate.notify":"Recreate widget started","admin.group":"Group","admin.rescan.group.title":"Complete analysis of the groups","admin.rescan.group.subtitle":"Ask each router to know if it belongs to one or more groups
The result wil be in the Group management.

Make sure ALL the routers are connected to the ZigBee network before launching the analysis.","admin.rescan.group.button":"Full scan","admin.scan.group.device.title":"Selective analysis of the groups","admin.scan.group.device.subtitle":"Ask one or more router(s) to know if it (they) belong(s) to one or more groups
The result wil be in the Group management.

Make sure ALL the routers are connected to the ZigBee network before launching the analysis.","admin.scan.group.device.button":"Scan","admin.scan.group.device.placeholder":"Select router(s) to scan","admin.coordinator":"Coordinator","admin.coordinator.swreset.title":"Coordinator Soft reset","admin.coordinator.swreset.subtitle":"Will restart the coordinator (no loss of paired devices) ","admin.coordinator.swreset.button":"Soft reset","admin.coordinator.swreset.notify":"Coordinator restart started","admin.coordinator.switchchannel.title":"Coordinator change channel","admin.coordinator.switchchannel.subtitle":"Will change the coordinator channel to the selected one, and will broadcast the change.
ATTENTION, while routers usally switch to the new channel, none Zigbee 3.0 End Device won\'t and you will have to reset them to get them rejoining the new channel.","admin.coordinator.switchchannel.placeholder":"Coordinator channel (0 default)","admin.coordinator.switchchannel.button":"Change channel","admin.coordinator.switchchannel.notify":"Channel changing started","admin.erasepdm.title":"Erase ZiGate","admin.erasepdm.subtitle":"Will erase the permanent data memory of ZiGate (You will lose all paired devices)
You must enable the eraseZigatePDM parameter in Advanced Setting before","admin.erasepdm.button":"erase","admin.erasepdm.notify":"ErasePdm ZiGate started","admin.erasepdm.alert.title":"Erase ZiGate, Are you sure?","admin.erasepdm.alert.subject":"ATTENTION, last chance !!!!!","admin.erasepdm.alert.cancel":"Cancel","admin.erasepdm.alert.erase":"Erase","admin.plugin":"Plugin","admin.plugin.reload.title":"Restart plugin","admin.plugin.reload.subtitle":"Will restart the plugin ","admin.plugin.reload.button":"Restart","admin.plugin.reload.notify":"Plugin restarting","admin.plugin.reload.port":"Port","admin.plugin.reload.username":"Username","admin.plugin.reload.password":"Password","admin.plugin.reload.host":"Hostname","admin.plugin.reload.protocol":"Protocol","admin.plugin.reload.alert.title":"Restart plugin, Are you sure?","admin.plugin.reload.alert.subject":"ATTENTION, last chance !!!!!","admin.plugin.reload.alert.cancel":"Cancel","admin.plugin.reload.alert.erase":"Restart","admin.plugin.update.title":"Plugin Upgrade","admin.plugin.update.subtitle":"Upgrade the plugin to the most up to date version in the branch you are.
If the upgrade goes well, you will be asked to restart the plugin, otherwise you\'ll have to do the upgrade manually.","admin.plugin.update.button":"Start upgrade (can take several minutes)","admin.plugin.update.success":"You can restart the plugin now","admin.plugin.update.error":"Please check the log file, and eventually correct manually","admin.firmware":"Firmware","admin.firmware.title":"Devices firmware","admin.firmware.subtitle":"Update device firmware ","admin.firmware.button.update":"Update","admin.firmware.notify":"Updating firmware","admin.firmware.list":"list of available firmware","admin.firmware.manufacturer.list":"list of manufacturer","admin.firmware.devices.list":"list of devices","admin.firmware.force":"force update","admin.firmware.alert.title":"title alert","admin.firmware.alert.subject":"subject alert","admin.firmware.alert.ok":"update","admin.firmware.alert.cancel":"cancel","admin.firmware.alert.list.devices":"list of devices","admin.firmware.alert.filename":"file name","admin.firmware.alert.device":"Device ","admin.firmware.alert.brand":"Brand ","settings":"Settings","setting.header":"Settings","setting.subtitle":"Allows you to visualize and edit the various plugin settings
Some require a restart of the plugin.","setting.validate.button":"Validate","setting.reinit.button":"Settings (default)","setting.advanced.button":"Advanced settings","setting.normal.button":"Normal settings","setting.help.link":"More information on the settings can be found on the Wiki","setting.help.legend":"These are all the plugin settings that can be updated.","setting.header.Services":"Available services","setting.subtitle.Services":"Enable the services you want to be active","useDomoticzLog":"Use Domoticz Log","enablegroupmanagement":"Enable Groups","zigatePartOfGroup0000":"Create Group 0000","allowRemoveZigateDevice":"Removal on Coordinator","resetPermit2Join":"Reset permit to join at startup","forcePollingAfterAction":"Get device status after action","enableReadAttributes":"Enable Polling","blueLedOnOff":"Enable Coordinator Blue Led","setting.reloadplugin.alert.title":"Plugin Reload","setting.reloadplugin.alert.subject":"Settings have been updated, plugin need to be restarted","setting.reloadplugin.alert.cancel":"Close","setting.resetplugin.alert.title":"Coordinator Reset","setting.resetplugin.alert.subject":"Settings have been updated, Coordinator needs to be reset (most likely, all devices will require re-pairing).","setting.resetplugin.alert.cancel":"Close","setting.eraseplugin.alert.title":"Erase PDM","setting.eraseplugin.alert.subject":"Settings have been updated, PDM needs to be erased (all devices will require re-pairing)","setting.eraseplugin.alert.cancel":"Close","Ping":"Enable Ping","setting.header.DomoticzEnvironment":"Domoticz URL","setting.subtitle.DomoticzEnvironment":"Settings on how to access Domoticz API","setting.header.WebInterface":"Web Interface settings","setting.subtitle.WebInterface":"Allows to enable/disable Web UI","enableWebServer":"Enable web User Interface","setting.header.DeviceManagement":"Device Management settings","setting.subtitle.DeviceManagement":"Here are all settings related to Devices and how the coordinator interact with them","setting.header.CoordinatorConfiguration":"Coordinator settings","setting.subtitle.CoordinatorConfiguration":"Here are all settings related to the coordinator hardware.","setting.header.OverTheAirUpgrade":"Over The Air Upgrade settings","setting.subtitle.OverTheAirUpgrade":"These are all settings related to the Over The Air upgrade functionnality.","allowOTA":"Enable OTA","setting.header.Legrand":"Legrand Netatmo settings","setting.subtitle.Legrand":"Allow to set a number of Legrand specifics options","setting.header.Schneider_Wiser":"Schneider Wiser settings","setting.subtitle.Schneider_Wiser":"Allow to enable some specific mecanishm, and some other options","internetAccess":"Allow Internet access","batteryOTA":"allow battery powered devices OTA","waitingOTA":"delay when starting the OTA process","setting.header.GroupManagement":"Group management settings","setting.subtitle.GroupManagement":"Here are all setting to enable and configure the Group management feature.","OnIfOneOn":"Group is On if one device is On (otherwise needs all devices On)","setting.header.PluginConfiguration":"Plugin environment settings","setting.subtitle.PluginConfiguration":"Here are all Plugin environements settings","numDeviceListVersion":"Number of DeviceList history","setting.header.Others":"Miscaleneous settings","setting.header.Provisioning":"Pairing settings","setting.subtitle.Provisioning":"Special settings for special devices or special conditions","setting.header.DevicePolling":"Devices polling","setting.subtitle.DevicePolling":"Allows you to specify the polling frequency per type of information. Be aware that a high frequency will overload the coordinator and might cause some performance issues","setting.subtitle.Others":"","logLQI":"Delay before starting a Topology scan (sec)","networkScan":"Interferences report frequency (sec)","setting.header.CommandTransition":"Command transitions for Lights in Groups","setting.subtitle.CommandTransition":"For Groups only. You can specify the transition time in 10th of seconds with which the transition from current to target stage. For example how many 10th of second it will take to move from the current Color to the Color I requested via Domoticz. Color temp is used for White Color","moveToHueSatu":"Transition for Hue","moveToColourTemp":"Transition for Color Temp","moveToColourRGB":"Transition for RGB color","moveToLevel":"Transition for Move to Level","setting.header.Experimental":"Experimental parameters","setting.subtitle.Experimental":"Use it only if you have been asked to","api.global.error.notify":"Backend error","api.global.succes.scanlaunched.notify":"Analysis started","api.global.succes.commandsent.notify":"Command sent","api.global.succes.saved.notify":"Saved","setting.header.OTA":"Device firmware update Over-The-Air","setting.subtitle.OTA":"Parameters which allow to configure how the plugin Over-The-Air upgrade would behave.","IkeaTradfri_Repository":"IKEA-TRADFRI Official repository","ZigbeeOTA_Repository":"Zigbee OTA firmware (build by Internet community)","autoServeOTA":"Allow automatic update when firmware found","checkFirmwareAgainstZigbeeOTARepository":"Check if there is a firmware available in one of the repository","DomoticzCustomMenu":"Enable Plugin WebUI from Domoticz Custom menu","NightShift":"Push background activity from 11PM to 6AM","ConfigureReportingChunk":"Max number of attributes when Configure Reporting","ReadAttributeChunk":"Max number of attributes when Read Attributes","resetConfigureReporting":"Reset all existing Configure Reporting","resetReadAttributes":"Reset all read attributes","TopologyV2":"Network Topology based on routing and neighbourghs tables","autoBackup":"Automatic backup of coordinator","BackupFullDevices":"backup device information","BellowsNoMoreEndDeviceChildren":"Disable direct pairing on Coordinator","BellowsSourceRouting":"Enable Zigbee Source routing mecanishm","pingDevices":"Ping main-powered devices regularly to v\xe9rify their health","GroupOnBattery":"Enable group creation to a battery devices","deviceOffWhenTimeOut":"Switch device to Off when network Timeout","checkConfigurationReporting":"Check the device Report configuration regularly","TXpower_set":"Coordinator transmission power level","pingDevicesFeq":"Frequency of regular ping main-powered devices","GrpfadingOff":"Fadding mode","GrpmoveToColourRGB":"Transition time for RGB move color","GrpmoveToColourTemp":"Transition time for TEMP move color","GrpmoveToLevel":"Transition time for one dim position to an other one","enableSchneiderWiser":"Enable if you have Legacy Wiser devices","LegrandCompatibilityMode":"Enable to simulate a Legrand Netamo Hub","AqaraOppleBulbMode":"Enable to have Aqara Opple remote commanding directly devices","forceClosingAllNodes":"Enable to close Pairing mode in each router","extendedPANID":"Zigbee Extended PAN Identifier","allowReBindingClusters":"Enable re-binding clusters during configure reporting operations","doUnbindBind":"Unbind and then bind, when doing a binding operation","PluginAnalytics":"Enable the plugin uses cookies to collect information about the Coordinator and the device models used.","MatomoOptIn":"Enable the plugin to collect informations for analyticz purposes such as Coordinator model, version...","autoRestore":"Automaticaly apply the most recent coordinator backup when a clean coordinator is found","forceSwitchSelectorPushButton":"Workaround Domoticz issue #4143","resetSwitchSelectorPushButton":"Number of sec after the Selector is reset to Off","setting.header.ManufSpecifiqDevicePolling":"Specifc Polling","setting.subtitle.ManufSpecifiqDevicePolling":"0 stands for disable otherwise it indicates the polling frequency in seconds, For Manufacturer Specific it will allow to retreive device states whcih are not provided automatically by the device","setting.header.Zigpy":"Zigpy CIE specific configuration","setting.subtitle.Zigpy":"Specific to some CIE as ConBeeII and RasBeeII it might required to enable some CIE specific item for some brand","resetMotiondelay":"Delay in sec to reset motion detection","Certification":"Certification ( FCC or CE )","channel":"Coordinator chanel (default 0)","alarmDuration":"Duration in sec for Alarm device","vibrationAqarasensitivity":"Aqara Vibration sensitivity","TradfriKelvinStep":"Kelvin step for Tradfri remote","numTopologyReports":"Number of Topology reports saved","numEnergyReports":"Number of Interference reports saved","PowerOn_OnOff":"Return state after device power outage","logDeviceUpdate":"Enable UpdateDevice message in Log","capturePairingInfos":"Capture Pairing information and save in Reports folder","error_required":"Required","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Tools","tools.tools":"Tools","tools.tools.export":"Export","tools.tools.zdevice-raw.button":"Plugin Raw Devices","tools.tools.non-optimized.button":"Non-optimized devices","tools.tools.zgroup.button":"Plugin Groups","tools.tools.zdevice.button":"Plugin Devices","tools.tools.device.button":"Domoticz Widgets","tools.tools.log.button":"Plugin Logs","tools.tools.infos.plugin.button":"Plugin info","tools.tools.coordinator.infos.button":"Coordinator info","tools.tools.plugin-health.button":"Plugin health","tools.tools.zdevice-name.button":"zDevice-name","tools.tools.domoticz-env.button":"domoticz-env","tools.tools.battery-state.button":"Battery State","tools.tools.zgroup-list-available-device.button":"zGroup-lst-devices","tools.tools.settings.button":"Settings","tools.tools.plugin-stat.button":"Traffic","tools.command":"Command","tools.debugcommand.title":"Direct commands","tools.debugcommand.subtitle":"Allow to interact directly with a device, with a set of commands based on the device capabilities
(1) Select the device,
(2) Select the action you want to perform,
(3) Select a potential device type which can influence the way to interact with the device,
(4) Optionaly you might have to enter a Value or select a Color.","tools.debugcommand.device":"Select device","tools.debugcommand.button.cancel":"Cancel","tools.debugcommand.action":"Select action","tools.debugcommand.type":"Select type","tools.debugcommand.value":"Value","tools.debugcommand.level.error":"between 0 and 100","tools.debugcommand.effect.error":"between 0x00 to 0xff","tools.debugcommand.button.send":"Send","tools.rawcommand-zigate.title":"ZiGate command (raw)","tools.rawcommand-zigate.subtitle":"Allow to send a ZiGate command directly tothe coordinator in raw mode.
You must follow the ZiGate protocol .","tools.rawcommand-zigate.command":"Message RAW type","tools.rawcommand-zigate.error":"Input required","tools.rawcommand-zigate.payload":"Data","tools.rawcommand-zigate.button.send":"Submit","tools.rawcommand-zigpy.title":"ZigBee command","tools.rawcommand-zigpy.subtitle":"Allow to send a ZiGate command directly tothe coordinator in raw mode.","tools.rawcommand-zigpy.placeholder":"Select a device","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Data","tools.rawcommand-zigpy.button.send":"Submit","tools.reporting.configure":"Reporting","tools.reporting.configure.title":"Configure the reporting mechanism","tools.reporting.configure.subtitle":"Configure a device to automatically report the values of one or more of its attributes, or to receive such reports.
The minimum reporting interval field is 16 bits in length and SHALL contain the minimum interval, in seconds, between issuing reports of the specified attribute.
The maximum reporting interval field is 16 bits in length and SHALL contain the maximum interval, in seconds, between issuing reports of the specified attribute.
The reportable change field SHALL contain the minimum change to the attribute that will result in a report being issued. This field is of variable length.
For attributes with \'analog\' data type (see 2.6.2), the field has the same data type as the attribute. The sign (if any) of the reportable change field is ignored.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Validate","tools.reporting.configure.device":"Select a device","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribute id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"min interval (secondes)","tools.reporting.configure.maxInterval.column":"max interval (secondes)","tools.reporting.configure.change.column":"Change","tools.reporting.configure.hexa.error":"not an hexadecimal value","tools.reporting.configure.length.error":"not an expected value","tools.binding":"Binding","tools.binding.title":"Device Binds","tools.binding.subtitle":"Allow to bind a cluster between source and target devices
e.g. If you want to bind a Temperature sensor with an Actuator, the SourceIEEE/Ep will be the Temperature sensor, the DestIEEE/Ep will be the actuator and the Cluster will be 0402 (Temperature Measurement)","tools.binding.sourceIeee":"source IEEE","tools.binding.error":"Input required","tools.binding.sourceEp":"Select source device","tools.binding.destIeee":"Target IEEE","tools.binding.destEp":"Select target device","tools.binding.cluster":"Cluster","tools.binding.button.put":"Binding","tools.unbinding.button.put":"Unbinding","tools.debug":"Debug","setting.header.VerboseLogging":"Verbose and Logging","setting.subtitle.VerboseLogging":"Will allow you to enable/disable some Logging features ","tools.debugsetting.help.legend":"These are all plugin settings which can be updated.","tools.debugsetting.advanced.button":"Advanced settings","tools.debugsetting.normal.button":"Standards settings","tools.debugsetting.validate.button":"Validate","tools.debugsetting.reinit.button":"Settings (default)","tools.debugsetting.reloadplugin.alert.title":"Plugin Reload","tools.debugsetting.reloadplugin.alert.subject":"Settings have been updated, plugin need to be restarted","tools.debugsetting.reloadplugin.alert.cancel":"Close","tools.error":"Error(s)","tools.error.log-history.button":"Log Error History (json)","tools.error.log-history.clear":"Clear Error History","error.popover.title":"Error(s) detected","error.popover.text":"Clic to see the log","manufacturer":"Manufacturer","manufacturer.casaia":"CASA.ia","manufacturer.casaia.header":"CASA.ia manufacturer specific configuration","manufacturer.casaia.subtitle":"Configuration of the IR Code of the ZigBee infrared temperature control thermostat IR split AC controller ","manufacturer.casaia.placeholder":"type filter here ....","manufacturer.casaia.nwkid":"Short id","manufacturer.casaia.name":"Friendly Name","manufacturer.casaia.ieee":"IEEE","manufacturer.casaia.model":"Model","manufacturer.casaia.ircode":"Infrared Code","manufacturer.casaia.validate.button":"Validate","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"Select Zlinky device","manufacturer.zlinky.key":"Designation","manufacturer.zlinky.value":"Value","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Serial Number","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"P\xe9riode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP (30min)","manufacturer.zlinky.ADPS":"Avertissement du d\xe9passement de la puissance souscrite","manufacturer.zlinky.ADIR1":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 1","manufacturer.zlinky.ADIR2":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 2","manufacturer.zlinky.ADIR3":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index 10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 2","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance apparente de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance apparente de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance apparente Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance apparente max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance apparente max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moyenne phase 1","manufacturer.zlinky.UMOY2":"Tension moyenne phase 2","manufacturer.zlinky.UMOY3":"Tension moyenne phase 3","manufacturer.zlinky.SINSTS":"Puissance apparente Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance apparente Instantan\xe9e soutir\xe9e phase 1","manufacturer.zlinky.SINSTS2":"Puissance apparente Instantan\xe9e soutir\xe9e phase 2","manufacturer.zlinky.SINSTS3":"Puissance apparente Instantan\xe9e soutir\xe9e phase 3","manufacturer.zlinky.SMAXN":"Puissance apparente max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance apparente max. soutir\xe9e n phase 1","manufacturer.zlinky.SMAXN2":"Puissance apparente max. soutir\xe9e n phase 2","manufacturer.zlinky.SMAXN3":"Puissance apparente max. soutir\xe9e n phase 3","manufacturer.zlinky.SMAXN-1":"Puissance apparente max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance apparente max. soutir\xe9e n-1 phase 1","manufacturer.zlinky.SMAXN2-1":"Puissance apparente max. soutir\xe9e n-1 phase 2","manufacturer.zlinky.SMAXN3-1":"Puissance apparente max. soutir\xe9e n-1 phase 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"Relais","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Enable the use of zigpy Topology Scanner","ZigpyTopologyReportAutoBackup":"Automaticaly backup auto-triggered Topology scan"}'),_=JSON.parse('{"APP_NAME":"Interface d\'administration du plugin ZigBeeforDomoticZ","About":"A Propos","Version":"Version","NODATA":"Pas de donn\xe9es \xe0 afficher","TOTAL":"Total {totalRecords}","SELECTED":"s\xe9lectionn\xe9","dashboard":"Tableau de bord","dashboard.button.refresh":"Rafra\xeechir","dashboard.trafic.title":"\xc9tat du Plugin","dashboard.health.title":"Objets du plugin","dashboard.devices.state.label":"Objets connus du plugin","dashboard.devices.live":"vivant","dashboard.devices.disabled":"d\xe9sactiv\xe9","dashboard.devices.notseen":"pas vu","dashboard.devices.notReachable":"perdu","dashboard.devices.others":"ind\xe9fini","dashboard.health.comment":"Vivant = objets pour lesquels un message a \xe9t\xe9 re\xe7u r\xe9cemment
D\xe9sactiv\xe9 = objets qui sont d\xe9sactiv\xe9s
Perdu = objets qui ne sont plus sur le r\xe9seau
Pas vu = objets qui n\'ont pas donn\xe9 d\'information sur les derni\xe8res 6 heures
Ind\xe9fini = objets qui sont dans un \xe9tat ind\xe9termin\xe9","dashboard.traffic.title":"Envoi & r\xe9ception","dashboard.trafic.label":"Messages envoy\xe9s et re\xe7us","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = nombre de messages envoy\xe9s depuis le lancement du plugin
Rx = nombre de messages re\xe7us depuis le lancement du plugin","dashboard.trend.title":"Statistiques","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Charge","dashboard.trend.comment":"Tx/s = nombre de messages envoy\xe9s par seconde
Rx/s = nombre de messages re\xe7us par seconde
Charge = nombre de messages actuellement en attente","dashboard.trafic.maxload.label":"Charge","dashboard.trafic.maxload":"max","dashboard.trafic.currentload":"courant","dashboard.trend.chart.yaxis":"message/s","dashboard.devices.title":"\xc9tat des objets non d\xe9sactiv\xe9s","dashboard.device.title":"Type d\'objets","dashboard.devices.label":"Objets","dashboard.devices.routers":"routeurs","dashboard.devices.enddevice":"objets terminaux","dashboard.devices.comment":"Routeurs = objets aliment\xe9s sur secteur qui participent au maillage du r\xe9seau.
Objets terminaux = objets n\'\xe9tant pas capable de participer au maillage (tr\xe8s souvent sur batterie, mais dans quelques cas ils peuvent \xeatre aliment\xe9 par une source \xe9lectrique de faible puissance).","dashboard.battery.title":"Batterie","dashboard.devices.battery.label":"Objets sur batterie","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"\xc9tat de charge de la batterie des objets ayant une batterie.","dashboard.optimized.title":"Objets optimis\xe9s","dashboard.optimized.comment":"Optimis\xe9s = objets pour lesquels une configuration a \xe9t\xe9 faite dans le plugin.
Non-optimis\xe9s = objets qui peuvent ne pas fonctionner compl\xe8tement et/ou g\xe9n\xe9rer de la charge ou du traffic anormal.
Plus d\'infos sur le wiki","dashboard.devices.optimized":"optimis\xe9s","dashboard.devices.not.optimized":"non-optimis\xe9s","dashboard.devices.optimized.label":"Objets","dashboard.popup.device.header":"Liste des objets","dashboard.popup.device.subtitle":"Cette liste est filtr\xe9e selon l\'\xe9l\xe9ment cliqu\xe9 dans le tableau de bord.","dashboard.popup.device.button.close":"Fermer","dashboard.health.starttime":"Lanc\xe9 \xe0 ","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"MaxLoad","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"Une nouvelle version du plugin est disponible .
Mettre \xe0 jour","dashboard.plugin.update.available.title":"Mise \xe0 jour du plugin","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"Une nouvelle version du firmware pour la ZiGate est disponible Plus d\'infos .","dashboard.firmware.update.available.title":"Mise \xe0 jour firmware","dashboard.device.button":"Dispositifs DomoticZ (json)","dashboard.plugin.header":"Plugin infos","dashboard.plugin.subtitle":"Les informations du plugin :","dashboard.stats.header":"Statistiques du Plugin","dashboard.stats.subtitle":"Statistiques de transmission/r\xe9ception donn\xe9es","dashboard.zdevice.button":"Plugin Devices (json)","dashboard.zgroup.button":"Groupes du Plugin (json)","dashboard.coordinator.header":"Infos du coordinateur","dashboard.coordinator.subtitle":"Les informations du coordinateur","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Groupe: ","dashboard.devices.indb":"En Base","consent.banner.header":"Consentement","consent.banner.description":"Dans l\'optique de mieux vous conna\xeetre, nous utilisons une technique de cookies et, avec votre consentement, nous collecterons principalement la version du plugin, le mod\xe8le de coordinateur, la version du firmware et la taille du r\xe9seau (nombre de routers et d\u2019objets terminaux).
Donnez votre accord en s\xe9lectionnant \'Autoriser\' ou sinon \'Interdire\'. Si vous souhaitez changer votre choix, vous pouvez le faire via le menu R\xe9glages.
Plus d\'infos dans le wiki.","consent.banner.accept":"Autoriser","consent.banner.decline":"Interdire","management":"Gestion","device":"Gestion des objets","device.byname.subtitle":"Liste tous les objets appair\xe9s avec le plugin
Vous pourrez attribuer des surnoms et g\xe9rer les param\xe8tres sp\xe9cifiques aux objets.
Les objets marqu\xe9s en orange ne sont pas optimis\xe9s avec le plugin. Merci de suivre la proc\xe9dure sur le wiki.","device.byname.capabilities.column":"Fonctions","device.byname.devicename.column":"Surnom","device.byname.header":"Gestion des objets","device.byname.trash.column":"Suppr.","device.byname.optimized.column":"Optimis\xe9","device.byname.health.column":"Sant\xe9","device.byname.battery.column":"Batterie","device.byname.ieee.column":"IEEE","device.byname.model.column":"Mod\xe8le","device.byname.devicename.param":"Param\xe8tres","device.byname.devicename.enabled":"Objet actif","device.byname.placeholder":"Rechercher ...","device.byname.shortid.column":"Short ID","device.byname.status.column":"Statut","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Valider","device.byname.widget.column":"Dispositifs DomoticZ","device.byname.alert.title":"Supprimer l\'appareil ?","device.byname.alert.subject":"Es-tu s\xfbr ?","device.byname.alert.delete":"Supprimer","device.byname.alert.cancel":"Annuler","device.byname.error.notify":"Utiliser le bouton Activer svp !!","device.byname.parameter.alert.save":"Valider","device.byname.parameter.alert.cancel":"Annuler","device.byname.parameter.alert.title":"Param\xe8tres","device.byname.parameter.alert.subject":"Assigner des param\xe8tres sp\xe9cifiques \xe0 l\'objet au format Json ","device.byname.parameter.popover.title":"Param\xe8tres de l\'objet","device.byname.parameter.popover.text":"Assigner des param\xe8tres sp\xe9cifiques \xe0 l\'objet. Vert indique que les param\xe8tres ont \xe9t\xe9 pris envoy\xe9 \xe0 l\'objet, Orange indique que les param\xe8tres n\'ont pas encore \xe9t\xe9 envoy\xe9","device.byname.delete.colum":"Supprimer","device.byname.optimized.popover.title.ok":"L\u2019objet est optimis\xe9 pour le plugin","device.byname.optimized.popover.text.ok":"Cliquer sur l\'ic\xf4ne pour copier les infos de l\'objet","device.byname.optimized.popover.title.ko":"L\u2019objet n\u2019est pas optimis\xe9 pour le plugin","device.byname.optimized.popover.text.ko":"Cliquer sur l\'ic\xf4ne pour copier les infos de l\'objet","group":"Gestion des groupes","group.create.devices.column":"Objets appartenant au groupe","group.create.groupname.column":"Nom du Groupe","group.create.header":"Gestion des groupes","group.create.placeholder":"Rechercher","group.create.shortid.column":"ID du Groupe","group.create.subtitle":"Permet l\'\xe9dition, la cr\xe9ation et la suppression des groupes
Avant toute modification, faire une analyse compl\xe8te des groupes sur la page Admin > Groupes.
Avant validation, s\'assurer que tous les routeurs soient connect\xe9s au r\xe9seau ZigBee.
Apr\xe8s validation, faire une analyse sp\xe9cifique sur le(s) routeur(s) pour v\xe9rifier la prise en compte des modifications.
Ne pas faire pas trop de modifications d\'un seul coup, les faire pas \xe0 pas.","group.create.validate.button":"Valider","group.create.add.button":"Ajouter un Groupe","group.create.delete.button":"Effacer","group.create.coordinator.column":"Coordinateur (dans le groupe)","group.reloadplugin.alert.title":"Plugin recharg\xe9","group.reloadplugin.alert.subject":"Groupes mis \xe0 jour, le plugin \xe0 besoin de red\xe9marrer","group.reloadplugin.alert.cancel":"Fermer","header.popover.title":"Red\xe9marrage n\xe9cessaire","header.popover.text":"Les changements ont besoin d\'un red\xe9marrage du plugin","network":"R\xe9seau","network.topo":"Topologie","network.topo.header":"Les rapports d\'analyse du maillage","network.topo.subtitle":"Liste des rapports enregistr\xe9s ","network.topo.visu.header":"Illustration du maillage","network.topo.visu.subtitle":"L\'illustration de votre maillage montre tous les liens entre 2 objets.
Si vous d\xe9placez le curseur sur un lien, vous verrez la liaison avec la valeur LQI indiquant la qualit\xe9 de la liaison (de 0 \xe0 255 = la meilleure possible).","network.topo.visu.network.header":"Illustration du r\xe9seau","network.topo.visu.network.subtitle":"L\'illustration du r\xe9seau ZigBee montre les communications possibles entre les objets.
Par d\xe9faut, les liens entre les objets fr\xe8res ne sont pas affich\xe9s. Activer si besoin l\'option displaySibling
Cliquer sur un objet pour faire afficher ses objets enfants dans un tableau en dessous.","network.topo.visu.network.filter":"Filtrer par routeur","network.topo.device.visu.network.chart.title":"Illustration du r\xe9seau","network.topo.visu.delete.button":"Effacer","network.topo.device.batterylevel.column":"Batterie","network.topo.device.deviceid.column":"Module id","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nValue","network.topo.device.signalelevel.column":"Signal","network.topo.device.svalue.column":"sValue","network.topo.device.switchtype.column":"Interrupteur","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Type","network.topo.device.name.column":"Nom","network.topo.device.visu.header":"Liste des objets","network.topo.device.visu.subtitle":"Donne la liste des objets appair\xe9s avec le coordinateur avec le nom de l\'objet et autres informations li\xe9es \xe0 DomoticZ.","network.topo.device.visu.chart.title":"Illustration du maillage","network.topology.req.header":"Lancer une analyse du maillage","network.topology.req.subtitle":"Cr\xe9er une illustration de votre r\xe9seau ZigBee (travail en arri\xe8re plan)","network.topology.req.button":"Analyser","network.topo.visu.network.relation.header":"Liste des liens de {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"Le tableau affiche les entre l\'objet s\xe9lectionn\xe9 et tous ses objets li\xe9s.","network.topo.visu.network.relation.to":"Enfants","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"L\'objet s\xe9lectionn\xe9 n\'a pas d\'enfants.","network.topo.visu.network.relation.model":"Mod\xe8le","network.topo.visu.network.relation.status":"Statut","network.topo.visu.network.relation.health":"Sant\xe9","network.topo.visu.network.relation.battery":"Batterie","network.energy":"Niveau d\'interf\xe9rences","network.stats.header":"Les rapports de niveau d\'interf\xe9rence","network.stats.subtitle":"Liste des rapports enregistr\xe9s ","network.stats.visu.delete.button":"Effacer","network.inter.req.header":"Lancer une analyse du niveau d\'interf\xe9rences entre les objets et le coordinateur","network.inter.req.subtitle":"Cr\xe9er une analyse du taux d\'\xe9nergie re\xe7ue par le coordinateur en provenance de chaque objet de type routeur.","network.inter.req.button":"Analyser","network.full.req.header":"Lancer une analyse compl\xe8te du niveau d\'interf\xe9rences entre tous les objets","network.full.req.subtitle":"Cr\xe9er une analyse du taux d\'\xe9nergie re\xe7ue entre tous les objets de type routeur.
Attention cela peut prendre un certain temps dans la mesure ou le nombre de combinaison est \xe9gal \xe0 n((n-1)/2) soit 10 pour 5 routeurs, 45 pour 10 routeurs...","network.full.req.button":"Analyser","network.stats.detail.visu.header":"Illustration des niveaux d\u2019interf\xe9rences.","network.stats.detail.visu.subtitle":"Plus le chiffre est \xe9lev\xe9, plus il y a d\'interf\xe9rence (de 0 \xe0 255).","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Failed : ","network.stats.detail.visu.chart.title":"Illustration des niveaux d\'interf\xe9rences","network.stats.detail.visu.chart.y-axis":"Niveau d\'interf\xe9rences","network.stats.detail.visu.chart.x-axis":"Canaux","admin":"Admin","admin.pairing":"Appairage","admin.permittojoin.label":"Mode appairage","admin.permittojoin.on.notify":"Mode appairage activ\xe9","admin.permittojoin.off.notify":"Mode appairage d\xe9sactiv\xe9","admin.assistprovisionning.title":"Appairer un nouvel objet avec l\'assistant","admin.assistprovisionning.subtitle":"Cliquer sur Appairer et suivre les indications ","admin.assistprovisionning.go.button":"Appairer","admin.assistprovisionning.alert.title":"Assistant d\'appairage - Attente d\'un nouvel objet","admin.assistprovisionning.alert.subject":"Faire un Reset sur votre objet pour lancer une proc\xe9dure d\'appairage. Se r\xe9f\xe9rer \xe0 la documentation de l\'objet si n\xe9cessaire.","admin.assistprovisionning.alert.state":"Etat : ","admin.assistprovisionning.alert.description":"Description : ","admin.assistprovisionning.alert.nwkid":"NwkId : ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Liste des dispositifs : ","admin.assistprovisionning.alert.cancel":"Terminer","admin.assistprovisionning.alert.ep":"Endpoint : ","admin.assistprovisionning.alert.cluster":"ClusterId : ","admin.assistprovisionning.alert.profile":"Profile : ","admin.assistprovisionning.alert.device":"Objet : ","admin.assistprovisionning.alert.model":"Mod\xe8le : ","admin.assistprovisionning.alert.plugincertified":"Certification avec le plugin : ","admin.assistprovisionning.alert.Failed":"Appairage \xe9chou\xe9 (regarder les logs pour plus de d\xe9tails)","admin.assistprovisionning.alert.inDB":"Appairage effectu\xe9 (v\xe9rifier si les dispositifs sont bien cr\xe9\xe9es dans DomoticZ)","admin.assistprovisionning.alert.Unexpected":"Erreur inattendue (recommencer et si le probl\xe8me persiste, contacter le support)","admin.permittojoin.title":"Appairer de nouveaux objets sur une dur\xe9e","admin.permittojoin.subtitle":"Cliquer sur un bouton pour choisir la dur\xe9e du mode appairage ","admin.permittojoin.validate.button":"Valider","admin.permittojoin.permanent.button":"Permanent","admin.permittojoin.permanent.notify":"Appairage permanent activ\xe9","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Appairage d\xe9sactiv\xe9","admin.permittojoin.4min.button":"4 minutes","admin.permittojoin.4min.notify":"Appairage activ\xe9 pendant 4 minutes","admin.permittojoin.notify":"Mode appairage modifi\xe9","admin.permittojoinrouter.title":"Appairer de nouveaux objets sur un routeur sp\xe9cifique","admin.permittojoinrouter.subtitle":"Permet de r\xe9aliser un appairage sur un routeur sp\xe9cifique ","admin.permittojoinrouter.devices.placeholder":"Liste des routeurs","admin.fullreset.title":"Reset d\'un objet","admin.fullreset.subtitle":"Permet d\'activer le mode Reset sur un objet
Au prochain appairage, l\'objet sera r\xe9initialis\xe9 \xe0 l\'exception des dispositifs qui seront conserv\xe9s.
Activer le mode Reset et r\xe9-appairer l\'objet.","admin.fullreset.device.placeholder":"S\xe9lectionner l\'objet","admin.fullreset.button":"Activer le mode Reset","admin.fullreset.notify":"Mode Reset activ\xe9","admin.recreate.title":"Re-cr\xe9ation des dispositifs d\'un objet","admin.recreate.subtitle":"Permet de (re)cr\xe9er tous les dispositifs d\'un objet dans DomoticZ
Cette fonction va g\xe9n\xe9rer des dispositifs en doublon. C\'est \xe0 vous de supprimer ces doublons dans DomoticZ et conserver uniquement le(s) dispositif(s) que vous souhaitez.
Ne pas oublier la limitation \xe0 255 dispositifs par plugin.","admin.recreate.device.placeholder":"S\xe9lectionner un objet","admin.recreate.button":"Recr\xe9ation des dispositifs","admin.recreate.notify":"Recr\xe9ation des dispositifs lanc\xe9e","admin.group":"Groupes","admin.rescan.group.title":"Analyse compl\xe8te des groupes","admin.rescan.group.subtitle":"Interroge chaque routeur pour conna\xeetre son appartenance \xe0 un ou plusieurs groupes
Le r\xe9sultat sera disponible dans la Gestion des groupes.

S\'assurer que TOUS les routeurs sont bien pr\xe9sent sur le r\xe9seau ZigBee avant de lancer l\'analyse.","admin.rescan.group.button":"Analyser","admin.scan.group.device.title":"Analyse s\xe9lective des groupes","admin.scan.group.device.subtitle":"Interroge un ou plusieurs routeurs pour conna\xeetre leur(s) appartenance(s) \xe0 un ou plusieurs groupes
Le r\xe9sultat sera disponible dans la Gestion des groupes.

S\'assurer que les routeurs sont bien pr\xe9sent sur le r\xe9seau ZigBee avant de lancer l\'analyse.","admin.scan.group.device.button":"Analyser","admin.scan.group.device.placeholder":"S\xe9lectionner le(s) routeur(s) \xe0 analyser","admin.coordinator":"Coordinateur","admin.coordinator.swreset.title":"R\xe9initialisation logicielle du coordinateur","admin.coordinator.swreset.subtitle":"Lancer le red\xe9marrage du coordinateur sans perte d\'objets appair\xe9s ","admin.coordinator.swreset.button":"Red\xe9marrer le coordinateur","admin.coordinator.swreset.notify":"Red\xe9marrage du coordinateur lanc\xe9","admin.coordinator.switchchannel.title":"Changement du canal de communication du coordinateur","admin.coordinator.switchchannel.subtitle":"Permet de basculer le coordinateur et son r\xe9seau sur un canal de communication particulier.
La demande va \xeatre envoy\xe9e \xe0 tous les objets\xa0: les routeurs basculent normalement sans probl\xe8me, par contre, les objets sur piles qui ne sont pas ZigBee 3.0 n\xe9cessiteront probablement un reset pour rejoindre le nouveau canal.","admin.coordinator.switchchannel.placeholder":"Canal du coordinateur","admin.coordinator.switchchannel.button":"Changer le canal","admin.coordinator.switchchannel.notify":"Changement de canal lanc\xe9","admin.erasepdm.title":"Efface la ZiGate","admin.erasepdm.subtitle":"Effacer la m\xe9moire de la ZiGate (perte de tous les objets appair\xe9s pr\xe9c\xe9demment)
Assurez vous d\'avoir activer le param\xe8tre eraseZigatePDM avant dans les Param\xe8tres avanc\xe9s","admin.erasepdm.button":"Effacer la ZiGate","admin.erasepdm.notify":"ErasePdm ZiGate lanc\xe9","admin.erasepdm.alert.title":"R\xe9initialisation de la ZiGate","admin.erasepdm.alert.subject":"Cette action va effacer compl\xe8tement le ZiGate avec la perte de tous les objets associ\xe9s. \xcates-vous vraiment s\xfbr ???","admin.erasepdm.alert.cancel":"Annuler","admin.erasepdm.alert.erase":"Effacer","admin.plugin":"Plugin","admin.plugin.reload.title":"R\xe9initialisation du plugin","admin.plugin.reload.subtitle":"Lancer le red\xe9marrage du plugin ","admin.plugin.reload.button":"Red\xe9marrer","admin.plugin.reload.notify":"Red\xe9marrage du plugin lanc\xe9","admin.plugin.reload.port":"Port","admin.plugin.reload.username":"Utilisateur","admin.plugin.reload.password":"Mot de Passe","admin.plugin.reload.host":"Nom d\'h\xf4te","admin.plugin.reload.protocol":"Protocole","admin.plugin.reload.alert.title":"Red\xe9marrage du plugin","admin.plugin.reload.alert.subject":"Cette action va red\xe9marrer le plugin. Ceci n\u2019entra\xeenera pas de perte de donn\xe9es.","admin.plugin.reload.alert.cancel":"Annuler","admin.plugin.reload.alert.erase":"Red\xe9marrer","admin.plugin.update.title":"Mise \xe0 jour du plugin","admin.plugin.update.subtitle":"Lance la mise \xe0 jour du plugin.
Si cette mise \xe0 jour se passe sans probl\xe8me, un red\xe9marrage du plugin sera n\xe9cessaire pour la prise en compte, sinon il faudra faire la mise \xe0 jour de fa\xe7on manuelle.","admin.plugin.update.button":"Mettre \xe0 jour (plusieurs minutes)","admin.plugin.update.success":"Red\xe9marrer le plugin pour prendre en compte la mise \xe0 jour","admin.plugin.update.error":"Il y a eu des erreurs durant la mise \xe0 jour, v\xe9rifier les logs et prendre les actions correctives","admin.firmware":"Firmware","admin.firmware.title":"Les firmware des objets","admin.firmware.subtitle":"Mettre \xe0 jour le firmware des routeurs ","admin.firmware.button.update":"Mettre \xe0 jour","admin.firmware.notify":"Mise \xe0 jour lanc\xe9e","admin.firmware.list":"S\xe9lectionner le firmware","admin.firmware.manufacturer.list":"S\xe9lectionner un fabricant","admin.firmware.devices.list":"S\xe9lectionner le(s) routeur(s)","admin.firmware.force":"Forcer la mise \xe0 jour","admin.firmware.alert.title":"Firmware","admin.firmware.alert.subject":"Information","admin.firmware.alert.ok":"Mettre \xe0 jour","admin.firmware.alert.cancel":"Annuler","admin.firmware.alert.list.devices":"Liste des objets","admin.firmware.alert.filename":"Nom du fichier","admin.firmware.alert.device":"Objet ","admin.firmware.alert.brand":"Fabricant ","settings":"R\xe9glages","setting.header":"R\xe9glages","setting.subtitle":"Vous permet de visualiser et de modifier les diff\xe9rents r\xe9glages du plugin
Certains r\xe9glages peuvent n\xe9cessiter un red\xe9marrage du plugin pour \xeatre pris en compte.","setting.validate.button":"Valider","setting.reinit.button":"Param\xe8tres (d\xe9faut)","setting.advanced.button":"Param\xe8tres avanc\xe9s","setting.normal.button":"param\xe8tres standards","setting.help.link":"Plus d\'informations sur les r\xe9glages dans le Wiki","setting.help.legend":"Les r\xe9glages du Plugin ZigBeeForDomoticZ","setting.header.Services":"Liste des services","setting.subtitle.Services":"Activer les services d\xe9sir\xe9s","useDomoticzLog":"Usage des Logs DomoticZ","enablegroupmanagement":"Activer les Groupes","zigatePartOfGroup0000":"Cr\xe9ation du Group 0000","allowRemoveZigateDevice":"Suppression dans le coordinateur","resetPermit2Join":"Reset du mode appairage au d\xe9marrage du plugin","forcePollingAfterAction":"Interrogation du statut de l\'objet apr\xe8s un ordre","enableReadAttributes":"Activer l\'interrogation des objets (pooling)","blueLedOnOff":"Active ou d\xe9sactive la Led Bleu","setting.reloadplugin.alert.title":"Red\xe9marrage du plugin","setting.reloadplugin.alert.subject":"Les r\xe9glages on \xe9t\xe9 mis \xe0 jour, le plugin doit \xeatre red\xe9marr\xe9.","setting.reloadplugin.alert.cancel":"Fermer","setting.resetplugin.alert.title":"Reset du coordinateur","setting.resetplugin.alert.subject":"Un param\xe8tre a \xe9t\xe9 modifi\xe9 et n\xe9cessite un red\xe9marrage du coordinateur. Attention cela peut entra\xeener un r\xe9-appairage de tous les objets.","setting.resetplugin.alert.cancel":"Close","setting.eraseplugin.alert.title":"Erase PDM","setting.eraseplugin.alert.subject":"Un param\xe8tre a \xe9t\xe9 modifi\xe9 et n\xe9cessite un Erase PDM (n\xe9cessite un r\xe9-appairage de tous les objets)","setting.eraseplugin.alert.cancel":"Close","Ping":"Activer le Ping","setting.header.DomoticzEnvironment":"Communication avec DomoticZ","setting.subtitle.DomoticzEnvironment":"Les r\xe9glages pour l\'acc\xe8s \xe0 l\'API de DomoticZ","setting.header.WebInterface":"R\xe9glages de l\'interface Web","setting.subtitle.WebInterface":"Les r\xe9glages pour l\'interface d\'administration du plugin :","enableWebServer":"Active l\'interface Web","setting.header.DeviceManagement":"R\xe9glages de la gestion des objets","setting.subtitle.DeviceManagement":"Les r\xe9glages pour la gestion des objets et leur interaction avec le coordinateur :","setting.header.CoordinatorConfiguration":"R\xe9glages du coordinateur","setting.subtitle.CoordinatorConfiguration":"Les r\xe9glages pour le coordinateur :","setting.header.OverTheAirUpgrade":"R\xe9glages mise \xe0 jour sans fils (OTA)","setting.subtitle.OverTheAirUpgrade":"Les r\xe9glages pour les mises \xe0 jours sans fils (OTA).","allowOTA":"Activer OTA","setting.header.Legrand":"R\xe9glages Legrand Netatmo","setting.subtitle.Legrand":"Les r\xe9glages sp\xe9cifiques aux objets Legrand Netatmo","setting.header.Schneider_Wiser":"R\xe9glages Schneider Wiser","setting.subtitle.Schneider_Wiser":"Les r\xe9glages sp\xe9cifiques aux objets Schneider Wiser","internetAccess":"Autoriser acc\xe8s Internet pour v\xe9rification des versions","batteryOTA":"Autorise les OTA pour les objets sur batterie","waitingOTA":"D\xe9lai avant le d\xe9marrage des OTA","setting.header.GroupManagement":"R\xe9glages des Groupes","setting.subtitle.GroupManagement":"Les r\xe9glages pour la gestion des groupes.","OnIfOneOn":"Groupe est allum\xe9 d\xe8s que le premier objet est allum\xe9 (sinon, groupe est allum\xe9 lorsque tous les objets sont allum\xe9s)","setting.header.PluginConfiguration":"R\xe9glage de l\'environnement du Plugin","setting.subtitle.PluginConfiguration":"Les r\xe9glages pour l\'environnement du Plugin","numDeviceListVersion":"Nombre d\'historique du fichier DeviceList","setting.header.Others":"Autres r\xe9glages","setting.header.Provisioning":"R\xe9glages d\'appairage","setting.subtitle.Provisioning":"R\xe9glages sp\xe9cifiques pour certains mat\xe9riels ou certaines conditions","setting.header.DevicePolling":"Interrogation des objets","setting.subtitle.DevicePolling":"Interrogation directe et r\xe9guli\xe8re des objets. R\xe9glage des fr\xe9quences d\'interrogation. Attention plus la fr\xe9quence est \xe9lev\xe9e, plus la charge sera importante.","setting.subtitle.Others":"","logLQI":"D\xe9lai (sec) avant de lancer un rapport de Maillage","networkScan":"Fr\xe9quence de rapport d\'Interf\xe9rences (sec)","setting.header.CommandTransition":"Transitions des groupes de lumi\xe8res","setting.subtitle.CommandTransition":"Applicable pour les groupes uniquement. Indiquer le temps de transition en dixi\xe8me de seconde entre l\'\xe9tat actuel et celui d\xe9sir\xe9.","moveToHueSatu":"Transition pour Hue","moveToColourTemp":"Transition pour Temp\xe9rature","moveToColourRGB":"Transition pour Couleur RVB","moveToLevel":"Transition pour variateur","setting.header.Experimental":"Param\xe8tres exp\xe9rimentaux","setting.subtitle.Experimental":"Utilisez seulement si on vous a indiqu\xe9 de le faire","api.global.error.notify":"Erreur de l\'interface","api.global.succes.scanlaunched.notify":"Analyse lanc\xe9e","api.global.succes.commandsent.notify":"Commande envoy\xe9e","api.global.succes.saved.notify":"Enregistr\xe9","setting.header.OTA":"Mise \xe0 jour du firmware de l\u2019objet via l\u2019OTA","setting.subtitle.OTA":"Comportement du plugin avec les mises \xe0 jour OTA","IkeaTradfri_Repository":"D\xe9p\xf4t firmwares officiel IKEA-TRADFRI ","ZigbeeOTA_Repository":"D\xe9p\xf4t firmwares ZigBee OTA (maintenue par la communaut\xe9)","autoServeOTA":"Mise \xe0 jour automatique quand un firmware est trouv\xe9","checkFirmwareAgainstZigbeeOTARepository":"V\xe9rifier si un firmware est disponible dans l\u2019un des d\xe9p\xf4ts","DomoticzCustomMenu":"Ajouter un lien vers le WebUI dans le Custom Menu de DomoticZ","NightShift":"D\xe9place les actions d\u2019arri\xe8re plan de 23h \xe0 06h","ConfigureReportingChunk":"Nombre maxi d\u2019attributs lors d\u2019un Configure Reporting","ReadAttributeChunk":"Nombre maxi d\u2019attributs lors d\u2019un Read attributes","resetConfigureReporting":"Reset de tous les Configure Reporting","resetReadAttributes":"Reset de tous les Read attributes","TopologyV2":"Analyse du maillage bas\xe9 sur les tables de routage et de voisinage","autoBackup":"Sauvegarde automatique du coordinateur","BackupFullDevices":"Sauvegarde des informations de l\u2019objet","BellowsNoMoreEndDeviceChildren":"D\xe9sactiver l\u2019appairage direct sur le coordinateur","BellowsSourceRouting":"Activer le m\xe9canisme de routage source","pingDevices":"Faire un ping des objets aliment\xe9s sur secteur pour v\xe9rifier leur \xe9tat","GroupOnBattery":"Activer la cr\xe9ation de groupe pour les objets sur batterie","deviceOffWhenTimeOut":"Basculer un objet sur Off apr\xe8s un timeout du r\xe9seau","checkConfigurationReporting":"V\xe9rifier le Report configuration d\u2019un objet r\xe9guli\xe8rement","TXpower_set":"Niveau de puissance de la transmission du coordinateur","pingDevicesFeq":"Fr\xe9quence de ping des objets aliment\xe9s sur secteur","GrpfadingOff":"Mode de Fadding","GrpmoveToColourRGB":"Temps de transition pour changer la valeur d\u2019une couleur","GrpmoveToColourTemp":"Temps de transition pour changer la temp\xe9rature d\u2019une couleur","GrpmoveToLevel":"Temps de transition pour passer d\u2019un niveau de puissance \xe0 un autre","enableSchneiderWiser":"Activer si vous avez des objets Legacy Wiser","LegrandCompatibilityMode":"Activer pour simuler un hub Legrand Netamo","AqaraOppleBulbMode":"Activer pour que la t\xe9l\xe9commande Aqara Opple commande les objets directement","forceClosingAllNodes":"Activer pour fermer le mode appairage dans chaque routeur","extendedPANID":"Identifiant Zigbee Extended PAN","allowReBindingClusters":"Activer le re-binding des clusters pendant les op\xe9rations de configure reporting","doUnbindBind":"Unbind and then bind, when doing a binding operation","PluginAnalytics":"Autoriser le plugin \xe0 placer un cookie afin de collecter des informations sur le coordinateur et les mod\xe8les d\u2019objets utilis\xe9s.","MatomoOptIn":"Autoriser le plugin \xe0 collecter des informations sur le coordinateur, versions ...","autoRestore":"Appliquer automatiquement le backup le plus r\xe9cent du coordinateur quand un coordinateur vierge est trouv\xe9","forceSwitchSelectorPushButton":"Workaround DomoticZ issue #4143","resetSwitchSelectorPushButton":"Nombre de sec avant de basculer le S\xe9lecteur Off","setting.header.ManufSpecifiqDevicePolling":"Interrogation des objets sp\xe9ciaux","setting.subtitle.ManufSpecifiqDevicePolling":"0 pour d\xe9sactiv\xe9, correspond \xe0 la p\xe9riode en secondes avec laquelle on va interroger les objets pour r\xe9cup\xe9rer des informations qui ne sont pas envoy\xe9es automatiquement par celui-ci.","setting.header.Zigpy":"Configuration sp\xe9cifique aux CIE ZigPy","setting.subtitle.Zigpy":"Pour certains CIE (comme les clefs ConBeeII et RasbeeII), il est n\xe9cessaire d\'activer des \xe9l\xe9ments sp\xe9cifiques pour certaines marques","resetMotiondelay":"D\xe9lai en seconde entre deux d\xe9tections","Certification":"Certification ( FCC ou CE )","channel":"Canal du coordinateur (0 par d\xe9faut)","alarmDuration":"Dur\xe9e en secondes pour les objets alarme","vibrationAqarasensitivity":"Sensibilit\xe9 vibration Aqara","TradfriKelvinStep":"Kelvin step for Tradfri remote","numTopologyReports":"Nombre de rapport de topologie r\xe9seau conserv\xe9s","numEnergyReports":"nombre de rapports d\'interf\xe9rence enregistr\xe9s","PowerOn_OnOff":"\xc9tat de retour apr\xe8s une coupure \xe9lectrique","logDeviceUpdate":"Activer UpdateDevice message dans les logs","capturePairingInfos":"Capture des infos d\u2019appairage et enregistrement dans le dossier Reports","error_required":"Obligatoire","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Outils","tools.tools":"Outils","tools.tools.export":"Exporter","tools.tools.zdevice-raw.button":"Liste des objets raw","tools.tools.non-optimized.button":"Liste des objets non-optimis\xe9s","tools.tools.zgroup.button":"Liste des groupes","tools.tools.zdevice.button":"Liste des objets (old)","tools.tools.device.button":"Liste des dispositifs dans DomoticZ","tools.tools.log.button":"Logs du plugin","tools.tools.infos.plugin.button":"Infos du plugin","tools.tools.coordinator.infos.button":"Infos du coordinateur","tools.tools.plugin-health.button":"Sant\xe9 du plugin","tools.tools.zdevice-name.button":"Zdevice-name","tools.tools.domoticz-env.button":"Param\xe8tres DomoticZ","tools.tools.battery-state.button":"\xc9tats des batterie","tools.tools.zgroup-list-available-device.button":"Zgroup-lst-devices","tools.tools.settings.button":"Param\xe8tres","tools.tools.plugin-stat.button":"Trafic","tools.command":"Commande","tools.debugcommand.title":"Commandes directes","tools.debugcommand.subtitle":"Permet de transmettre directement des commandes/ordres \xe0 un routeur via le coordinateur. Les objets terminaux ne peuvent pas recevoir de commande
(1) Choisir le routeur,
(2) Choisir l\'action \xe0 effectuer,
(3) Choisir une fonction,
(4) \xc9ventuellement une valeur suppl\xe9mentaire.","tools.debugcommand.device":"Routeur ...","tools.debugcommand.button.cancel":"Annuler","tools.debugcommand.action":"Action ...","tools.debugcommand.type":"Fonction ...","tools.debugcommand.value":"Valeur ...","tools.debugcommand.level.error":"entre 0 et 100","tools.debugcommand.effect.error":"entre 0x00 \xe0 0xff","tools.debugcommand.button.send":"Envoyer","tools.rawcommand-zigate.title":"Commande brut","tools.rawcommand-zigate.subtitle":"Permet d\'envoyer une commande directe au coordinateur en mode Raw.
Suivre absolument le protocole ZiGate ","tools.rawcommand-zigate.command":"Message RAW","tools.rawcommand-zigate.error":"Entr\xe9e requise","tools.rawcommand-zigate.payload":"Payload","tools.rawcommand-zigate.button.send":"Envoyer","tools.rawcommand-zigpy.title":"Commande ZigBee","tools.rawcommand-zigpy.subtitle":"Permet d\'envoyer une commande directe au coordinateur en mode Raw.","tools.rawcommand-zigpy.placeholder":"S\xe9lectionner l\'objet","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Payload","tools.rawcommand-zigpy.button.send":"Envoyer","tools.reporting.configure":"Remont\xe9e d\'infos","tools.reporting.configure.title":"Configuration de la remont\xe9e d\'infos des objets","tools.reporting.configure.subtitle":"Configurer un objet pour qu\'il envoi automatiquement les valeurs d\'un (ou plusieurs) de ses attributs ou qu\'il re\xe7oive les infos.
Les champs Intervalle mini et Intervalle maxi indique la plage de temps en secondes pendant laquelle l\'objet enverra la valeur de l\'attribut correspondant. Les intervalles doivent \xeatre inf\xe9rieur \xe0 65534s (codage 16bits).
Le champ Delta indique la variation de valeur qui entra\xeenera l\'envoi de la donn\xe9e. Pas de limitation sur la longueur du champ. Le signe sera ignor\xe9.
Pour les attributs avec un data type analog (voir 2.6.2), le champ a le m\xeame data type que l\'attribut.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Valider","tools.reporting.configure.device":"S\xe9lectionner l\'objet","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribute id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"Intervalle mini (en secondes)","tools.reporting.configure.maxInterval.column":"Intervalle maxi (en secondes)","tools.reporting.configure.change.column":"Delta","tools.reporting.configure.hexa.error":"Valeur hexad\xe9cimal attendue","tools.reporting.configure.length.error":"Valeur trop longue","tools.binding":"Couplage (Bindings)","tools.binding.title":"Couplage d\'objets","tools.binding.subtitle":"Permet le couplage d\'une fonction entre objet source et un objet cible ","tools.binding.sourceIeee":"IEEE de l\'objet source","tools.binding.error":"Entr\xe9e requise","tools.binding.sourceEp":"S\xe9lectionner l\'objet source","tools.binding.destIeee":"IEEE de l\'objet cible","tools.binding.destEp":"S\xe9lectionner l\'objet cible","tools.binding.cluster":"Fonction","tools.binding.button.put":"Couplage","tools.unbinding.button.put":"D\xe9-couplage","tools.debug":"D\xe9bogage","setting.header.VerboseLogging":"R\xe9glages des Logs","setting.subtitle.VerboseLogging":"Les r\xe9glages pour les Logs. Utilisez l\'option avanc\xe9e pour avoir acc\xe8s aux param\xe8tres sp\xe9cifiques ","tools.debugsetting.help.legend":"Param\xe8tres de d\xe9bogage et journalisation","tools.debugsetting.advanced.button":"Param\xe8tres avanc\xe9s","tools.debugsetting.normal.button":"param\xe8tres standards","tools.debugsetting.validate.button":"Valider","tools.debugsetting.reinit.button":"Param\xe8tres (d\xe9faut)","tools.debugsetting.reloadplugin.alert.title":"Red\xe9marrage du plugin","tools.debugsetting.reloadplugin.alert.subject":"Les r\xe9glages ont \xe9t\xe9 mis \xe0 jour, le plugin doit \xeatre red\xe9marr\xe9.","tools.debugsetting.reloadplugin.alert.cancel":"Fermer","tools.error":"Erreur(s)","tools.error.log-history.button":"Historique des erreurs (json)","tools.error.log-history.clear":"Effacer les erreurs","error.popover.title":"Erreur(s) d\xe9tect\xe9e(s)","error.popover.text":"Cliquer pour voir l\'historique","manufacturer":"Manufacturer","manufacturer.casaia":"Casa.ia","manufacturer.casaia.header":"CASA.ia - Configurations sp\xe9cifiques","manufacturer.casaia.subtitle":"Configuration des codes Infrarouges pour le pilotage des controlleurs de climatisation CAC221 ...","manufacturer.casaia.placeholder":"Rechercher ...","manufacturer.casaia.nwkid":"Short ID","manufacturer.casaia.name":"Surnom","manufacturer.casaia.ieee":"IEEE","manufacturer.casaia.model":"Mod\xe8le","manufacturer.casaia.ircode":"Code Infrarouge","manufacturer.casaia.validate.button":"Valider","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"S\xe9lectionner un Zlinky","manufacturer.zlinky.key":"D\xe9signation","manufacturer.zlinky.value":"Valeur ","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Num\xe9ro de s\xe9rie","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"P\xe9riode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP (30min)","manufacturer.zlinky.ADPS":"Avertissement du d\xe9passement de la puissance souscrite","manufacturer.zlinky.ADIR1":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 1","manufacturer.zlinky.ADIR2":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 2","manufacturer.zlinky.ADIR3":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index 10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 2","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance apparente de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance apparente de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance apparente Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance apparente max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance apparente max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moyenne phase 1","manufacturer.zlinky.UMOY2":"Tension moyenne phase 2","manufacturer.zlinky.UMOY3":"Tension moyenne phase 3","manufacturer.zlinky.SINSTS":"Puissance apparente Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance apparente Instantan\xe9e soutir\xe9e phase 1","manufacturer.zlinky.SINSTS2":"Puissance apparente Instantan\xe9e soutir\xe9e phase 2","manufacturer.zlinky.SINSTS3":"Puissance apparente Instantan\xe9e soutir\xe9e phase 3","manufacturer.zlinky.SMAXN":"Puissance apparente max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance apparente max. soutir\xe9e n phase 1","manufacturer.zlinky.SMAXN2":"Puissance apparente max. soutir\xe9e n phase 2","manufacturer.zlinky.SMAXN3":"Puissance apparente max. soutir\xe9e n phase 3","manufacturer.zlinky.SMAXN-1":"Puissance apparente max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance apparente max. soutir\xe9e n-1 phase 1","manufacturer.zlinky.SMAXN2-1":"Puissance apparente max. soutir\xe9e n-1 phase 2","manufacturer.zlinky.SMAXN3-1":"Puissance apparente max. soutir\xe9e n-1 phase 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"Relais","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Active l\'utilisation du scan de topologie zigpy","ZigpyTopologyReportAutoBackup":"Sauvegarde les scan topologie interne zigpy"}'),m=JSON.parse('{"APP_NAME":"ZigBeeforDomoticZ plug-in Admin Interface","About":"Over","Version":"Versie","NODATA":"Geen data weer te geven","TOTAL":"Totaal {totalRecords}","SELECTED":"Geselecteerd","dashboard":"Dashboard","dashboard.button.refresh":"Ververs","dashboard.trafic.title":"Plugin status ( Verzenden en Ontvangen, Types en Belasting)","dashboard.health.title":"Plugin apparaten","dashboard.devices.state.label":"Aantal bekende apparaten van de plugin","dashboard.devices.live":"live","dashboard.devices.disabled":"invalide","dashboard.devices.notseen":"geen nieuws","dashboard.devices.notReachable":"offline","dashboard.devices.others":"onbekend","dashboard.health.comment":"Live = apparaten online
Offline = apparaten zijn niet bereikbaar
Geen nieuws = apparaten waren meer dan 6 uur niet bereikbaar
Onbekend = status apparaten onbekend","dashboard.traffic.title":"Verzonden & Ontvangen","dashboard.trafic.label":"Verzonden/Ontvangen berichten","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = aantal inkomende berichten sinds het begin van de plug-in
Rx = aantal uitgaande berichten sinds het begin van de plug-in","dashboard.trend.title":"Statistieken","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Belasting","dashboard.trend.comment":"Tx/s = aantal verzonden berichten per seconde
Rx/s = aantal ontvangen berichten per seconde
Load = aantal berichten in de wachtrij","dashboard.trafic.maxload.label":"Belasting","dashboard.trafic.maxload":"Piek","dashboard.trafic.currentload":"huidige wachtrij","dashboard.trend.chart.yaxis":"Berichten/s","dashboard.devices.title":"Apparaat status van niet uitgeschakelde apparaten (Type, Gezondheid en Batterij niveau)","dashboard.device.title":"Soort van apparaten","dashboard.devices.label":"Apparaten","dashboard.devices.routers":"routers","dashboard.devices.enddevice":"eindapparaat","dashboard.devices.comment":"Router is een hoofdapparaat dat deelneemt aan het mesh-netwerk.
Eindapparaat is een apparaat op batterijen dat geen berichten kan sturen, en geen niet bereikbaar is wanneer inactief.","dashboard.battery.title":"Batterij","dashboard.devices.battery.label":"Batterij","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"Voor apparaten met een batterij wordt de batterijstatus gerapporteerd.","dashboard.optimized.title":"Geoptimaliseerde apparaten","dashboard.optimized.comment":"Geoptimaiseerde apparaten zijn apparaten waarvoor een configuratie is uitgevoerd om de plug-in te laten werken zoals verwacht.
Niet-geoptimaliseerde apparaten kunnen niet volledig werken en/of kunnen onverwachte belasting of verkeer genereren.
Meer info in de wiki ","dashboard.devices.optimized":"Geoptimaliseerde apparaten","dashboard.devices.not.optimized":"Niet geoptimaliseerde apparaten","dashboard.devices.optimized.label":"Geoptimaliseerde apparaten","dashboard.popup.device.header":"Object lijst","dashboard.popup.device.subtitle":"Deze lijst is gefilterd, door het geselecteerde in het dashbaord","dashboard.popup.device.button.close":"Sluiten","dashboard.health.starttime":"Opgestart op:","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"Max Belasting","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"Er is een update voor de plug-in beschikbaar Meer informatie.
Plugin upgrade","dashboard.plugin.update.available.title":"Plugin update","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"Er is nieuwe firmware beschikbaar voor de ZiGate Meer info","dashboard.firmware.update.available.title":"Firmware update","dashboard.device.button":"Domoticz apparaten (json)","dashboard.plugin.header":"Plugin informatie","dashboard.plugin.subtitle":"Geeft plugin informatie","dashboard.stats.header":"Plugin statistieken","dashboard.stats.subtitle":"Geeft co\xf6rdinator statistieken over het verzenden en ontvangen van informatie","dashboard.zdevice.button":"Plugin apparten (json)","dashboard.zgroup.button":"Plugin Groepen (json)","dashboard.coordinator.header":"Co\xf6rdinator informatie","dashboard.coordinator.subtitle":"Geeft co\xf6rdinator informatie","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Group: ","dashboard.devices.indb":"In db","consent.banner.header":"Toestemming","consent.banner.description":"Voor het ontwikkelen, gebruiken we cookies voor technisch gebruik, en met je toestemming, we verzamelen alleen de plug-in versie.
Mehr Infos im Wiki.","consent.banner.accept":"Accepteer","consent.banner.decline":"Afwijzen","management":"Beheer","device":"Apparaat Management","device.byname.subtitle":"Een lijst van alle gekoppelde apparaten. Hier kun je een vriendelijke naam voor ieder apparaat invoeren.
Dit geeft een vriendelijk naam, in plaats van een code.
De oranje gemarkeerde objecten zijn niet geoptimaliseerd met de plug-in. Volg de procedure op de wiki. ","device.byname.capabilities.column":"Functies","device.byname.devicename.column":"Eenvoudige naam","device.byname.header":"Apparaten management","device.byname.trash.column":"Verwijder","device.byname.optimized.column":"Verwijderen","device.byname.health.column":"Gezondheid","device.byname.battery.column":"Batterij","device.byname.ieee.column":"IEEE","device.byname.model.column":"Model","device.byname.devicename.param":"Extra parameters","device.byname.devicename.enabled":"Apparaat ingeschakeld","device.byname.placeholder":"typ filter hier ....","device.byname.shortid.column":"Korte id","device.byname.status.column":"Status","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Valideer","device.byname.widget.column":"Domoticz Widget","device.byname.alert.title":"Verwijder apparaat ?","device.byname.alert.subject":"Weet je het zeker ?","device.byname.alert.delete":"Verwijder","device.byname.alert.cancel":"Annuleer","device.byname.error.notify":"Gebruik de ingeschakelde schakelaar","device.byname.parameter.alert.save":"Valideer","device.byname.parameter.alert.cancel":"Annuleer","device.byname.parameter.alert.title":"Parameters","device.byname.parameter.alert.subject":"Stel specifieke parameters in ","device.byname.parameter.popover.title":"Device Parameters","device.byname.parameter.popover.text":"Specify local device configuration parameters. Green means in sync with the device, when Orange the parameters are not yet pushed to the device","device.byname.delete.colum":"Verwijder","device.byname.optimized.popover.title.ok":"Het object is geoptimaliseerd met de plugin","device.byname.optimized.popover.text.ok":"Klik op het icoon om de informatie van het object","device.byname.optimized.popover.title.ko":"Dit object is niet geoptimaliseerd met de plugin","device.byname.optimized.popover.text.ko":"Klik op het icoon om de informatie van het object","group":"Groep Management","group.create.devices.column":"Apparaten in de Groep","group.create.groupname.column":"Groepsnaam","group.create.header":"Groep Management","group.create.placeholder":"typ filter hier ....","group.create.shortid.column":"Groep id","group.create.subtitle":"Maak, bewerk en verwijder groepen
","group.create.validate.button":"Valideer","group.create.add.button":"Maak een nieuwe groep","group.create.delete.button":"Verwijder","group.create.coordinator.column":"Co\xf6rdinator (toegevoegd aan groep)","group.reloadplugin.alert.title":"Plugin herstart","group.reloadplugin.alert.subject":"Groepen zijn ge-update, de plugin moet opnieuw worden gestart via Admin tab","group.reloadplugin.alert.cancel":"Sluiten","header.popover.title":"Herstart noodzakelijk","header.popover.text":"Sommige wijzigingen zijn in afwachting van een herstart van de plug-in","network":"Netwerk","network.topo":"Topologie","network.topo.header":"Netwerk Topologie","network.topo.subtitle":"Lijst van de Netwerk Topology. Selecteer de datum om het meshdiagram te genereren ","network.topo.visu.header":"Topologie diagram","network.topo.visu.subtitle":"Het Topologiediagram toont alle koppelingen tussen 2 knooppunten. Als u de cursor op een link plaatst, ziet u de richting van de link en de kwaliteit van de link","network.topo.visu.network.header":"Netwerk diagram","network.topo.visu.network.subtitle":"Maakt een netwerkdiagram van u Zigbee omgeving.","network.topo.visu.network.filter":"apparaat","network.topo.device.visu.network.chart.title":"Netwerk diagram","network.topo.visu.delete.button":"Verwijder","network.topo.device.batterylevel.column":"Batterij","network.topo.device.deviceid.column":"Apparaat id","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nWaarde","network.topo.device.signalelevel.column":"Signaal","network.topo.device.svalue.column":"sWaarde","network.topo.device.switchtype.column":"Schakelaar","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Type","network.topo.device.name.column":"Naam","network.topo.device.visu.header":"Lijst van apparaten","network.topo.device.visu.subtitle":"Genereert de lijst met apparaten die worden beheerd door co\xf6rdinator. Je krijgt ook een verwijzing naar de Widget-namen en aanvullende informatie van Domoticz","network.topo.device.visu.chart.title":"Mesh Diagram","network.topology.req.header":"Topologie scan","network.topology.req.subtitle":"Dit zal een Topologiescan op de achtergrond starten","network.topology.req.button":"Scan","network.topo.visu.network.relation.header":"Lijst met gekoppelde onderdelen van {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"Deze lijst geeft de LQI-waarde weer, tussen het geselecteerde object en al zijn koppelingen.","network.topo.visu.network.relation.to":"koppelingen","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"Het geselecteerde object heeft geen koppelingen.","network.topo.visu.network.relation.model":"Model","network.topo.visu.network.relation.status":"Status","network.topo.visu.network.relation.health":"Gezondheid","network.topo.visu.network.relation.battery":"Batterij","network.energy":"Energieniveau","network.stats.header":"Netwerk","network.stats.subtitle":"Energieniveau rapport ","network.stats.visu.delete.button":"Verwijder","network.inter.req.header":"Korte Energie scan","network.inter.req.subtitle":"De korte energiescan, het rapport geeft het energieniveau tussen alle routers en co\xf6rdinator, en verwerkt alle cross-communicatie. Dit rapport kan even duren als het aantal routers hoog is, n ((n-1) / 2), voor 5 routers zijn het 10 combinaties, voor 10 routers 45","network.inter.req.button":"Scan","network.full.req.header":"Volledige Energie scan","network.full.req.subtitle":"Er wordt een energierapport verstrekt. Dit rapport geeft het energieniveau tussen routers en ZiGate weer. Met andere woorden, hoeveel stroom ontvangt de co\xf6rdinator. Hoe hoger het getal, des te beter het ontvangst","network.full.req.button":"Volledige scan","network.stats.detail.visu.header":"Energieniveau","network.stats.detail.visu.subtitle":"Hoe hoger het nummer is, des te meer storing (0 tot 255)","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Mislukt : ","network.stats.detail.visu.chart.title":"Energieniveau","network.stats.detail.visu.chart.y-axis":"Energieniveau","network.stats.detail.visu.chart.x-axis":"Kanaal","admin":"Admin","admin.pairing":"Koppelen","admin.permittojoin.label":"Accepteer nieuwe hardware","admin.permittojoin.on.notify":"Accepteer nieuwe hardware Aan","admin.permittojoin.off.notify":"Accepteer nieuwe hardware Uit","admin.assistprovisionning.title":"Apparaat koppelen","admin.assistprovisionning.subtitle":"Start het koppelproces voor nieuwe apparaten ","admin.assistprovisionning.go.button":"Start","admin.assistprovisionning.alert.title":"Apparaat koppelen.","admin.assistprovisionning.alert.subject":"Wacht tot een nieuw apparaat zich aanmeld.","admin.assistprovisionning.alert.state":"Status : ","admin.assistprovisionning.alert.description":"Beschrijving : ","admin.assistprovisionning.alert.nwkid":"korte NwkId : ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Widget Lijst : ","admin.assistprovisionning.alert.cancel":"Annuleer","admin.assistprovisionning.alert.ep":"Eindpunt:","admin.assistprovisionning.alert.cluster":"ClusterId","admin.assistprovisionning.alert.profile":"Profiel :","admin.assistprovisionning.alert.device":"Apparaat :","admin.assistprovisionning.alert.model":"Model :","admin.assistprovisionning.alert.plugincertified":"Plugin Certificaat","admin.assistprovisionning.alert.Failed":"Mislukt (Er ging wat mis, controleer het logoboek)","admin.assistprovisionning.alert.inDB":"Gelukt (controleer of de apparaten zijn gemaakt)","admin.assistprovisionning.alert.Unexpected":"Onverwacht probleem (Neem contact op met de support)","admin.permittojoin.title":"Accepteer nieuwe Hardware voor een bepaalde tijd","admin.permittojoin.subtitle":"In/uitschakelen van het co\xf6rdinator koppelproces voor gewenste een periode ","admin.permittojoin.validate.button":"Valideer","admin.permittojoin.permanent.button":"Permanent","admin.permittojoin.permanent.notify":"Permanente Pairing mode","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Pairing modem Uit","admin.permittojoin.4min.button":"4 minuten","admin.permittojoin.4min.notify":"Pairing mode aan voor 4 minuten","admin.permittojoin.notify":"Pairing mode gewijzigd","admin.permittojoinrouter.title":"Koppel nieuwe apparaten op een router","admin.permittojoinrouter.subtitle":"Start/stop het koppelproces met co\xf6rdinator voor een bepaalde periode ","admin.permittojoinrouter.devices.placeholder":"Lijst van routers","admin.fullreset.title":"Bereid een apparaat voor op een hard reset","admin.fullreset.subtitle":"Als je een reset geeft op een object dat de plug-in kent, de plug-in gebruikt zijn vorige informatie. Met een volledige reset, als je een reset op een object doet, de plug-in cre\xebert alle informatie opnieuw.","admin.fullreset.device.placeholder":"Selecteer een apparaat","admin.fullreset.button":"Reset methode","admin.fullreset.notify":"Reset methode geactiveerd","admin.recreate.title":"Cre\xeber een widget(s) opnieuw","admin.recreate.subtitle":"Cre\xeber de widget opnieuw","admin.recreate.device.placeholder":"Selecteer een apparaat","admin.recreate.button":"Cre\xeber widget(s) opnieuw","admin.recreate.notify":"Opnieuw cre\xebren van widget(s) gestart","admin.group":"Groep","admin.rescan.group.title":"Scan alle apparaten op groepslidmaatschappen","admin.rescan.group.subtitle":"Start een scan van alle apparaten op groepslidmaatschappen
Het resultaat wordt zichtbaar in het group management menu.","admin.rescan.group.button":"Volledige scan","admin.scan.group.device.title":"Scan een selectie van apparaten voor groepslidmaatschappen","admin.scan.group.device.subtitle":"Start een scan van groepslidmaatschappen voor de geselecteerde apparaten
Je kan \xe9\xe9n of meerdere apparaten selecteren en het resultaat wordt zichtbaar in het groep management menu.","admin.scan.group.device.button":"Scan","admin.scan.group.device.placeholder":"Selecteer te scannen apparaten","admin.coordinator":"Co\xf6rdinator","admin.coordinator.swreset.title":"Co\xf6rdinator reset","admin.coordinator.swreset.subtitle":"Co\xf6rdinator wordt ge herstart (Er gaan geen gekoppelde apparaten verloren) ","admin.coordinator.swreset.button":"Zachte reset","admin.coordinator.swreset.notify":"Co\xf6rdinator herstart begonnen","admin.coordinator.switchchannel.title":"Co\xf6rdinator wijzig kanaal","admin.coordinator.switchchannel.subtitle":"Zal het kanaal wijzigen in de geselecteerde, en zal het kanaal verzenden naar het apparaat. Attentie, normaal veranderen routers naar het nieuwe kanaal, none Zigbee 3.0 apparaten doen dat niet en hebben een reset nodig.","admin.coordinator.switchchannel.placeholder":"Co\xf6rdinator kanaal (0 default)","admin.coordinator.switchchannel.button":"Wijzig kanaal","admin.coordinator.switchchannel.notify":"Kanaal wijziging gestart","admin.erasepdm.title":"Wis ZiGate","admin.erasepdm.subtitle":"Zal alle permanente data verwijderen uit het geheugen van ZiGate (Alle gekoppelde apparaten worden gewist). Zorg ervoor dat je wis ZiGatePDM hebt ingeschakeld in geavanceerde instellingen voor dat je deze bewerking uitvoert.","admin.erasepdm.button":"Verwijderen","admin.erasepdm.notify":"ErasePdm ZiGate gestart","admin.erasepdm.alert.title":"Wis ZiGate, weet je het zeker?","admin.erasepdm.alert.subject":"ATTENTIE, laatste kans !!!!!","admin.erasepdm.alert.cancel":"Annuleer","admin.erasepdm.alert.erase":"Verwijderen","admin.plugin":"Plug-in","admin.plugin.reload.title":"Herstart plug-in","admin.plugin.reload.subtitle":"Zal de plug-in herstarten ","admin.plugin.reload.button":"Herstart","admin.plugin.reload.notify":"Plug-in herstarten","admin.plugin.reload.port":"Poort","admin.plugin.reload.username":"Gebruikersnaam","admin.plugin.reload.password":"Wachtwoord","admin.plugin.reload.host":"Hostnaam","admin.plugin.reload.protocol":"Protocol","admin.plugin.reload.alert.title":"Plug-in herstarten, Weet je het zeker ?","admin.plugin.reload.alert.subject":"ATTENTIE, laatste kans !!!!!","admin.plugin.reload.alert.cancel":"Annuleer","admin.plugin.reload.alert.erase":"Herstart","admin.plugin.update.title":"Plugin update","admin.plugin.update.subtitle":"Update de plugin naar de meeste recente versie. Als de update gelukt is, word er gevraagd de plugin te herstarten, anders moet je handmatig updaten.","admin.plugin.update.button":"upgrade plugin (dit kan enkele minuten duren)","admin.plugin.update.success":"Je kunt de plugin nu herstarten","admin.plugin.update.error":"Controleer de log file, en pas eventueel handmatig aan","admin.firmware":"Firmware","admin.firmware.title":"Apparaten firmware","admin.firmware.subtitle":"Update apparaat firmware ","admin.firmware.button.update":"Update","admin.firmware.notify":"Updating firmware","admin.firmware.list":"lijst beschikbare firmware","admin.firmware.manufacturer.list":"lijst van leveranciers","admin.firmware.devices.list":"Lijst van apparaten","admin.firmware.force":"Forceer update","admin.firmware.alert.title":"Titel waarschuwing","admin.firmware.alert.subject":"Onderwerp waarschuwing","admin.firmware.alert.ok":"update","admin.firmware.alert.cancel":"Annuleer","admin.firmware.alert.list.devices":"Lijst van apparaten","admin.firmware.alert.filename":"bestandsnaam","admin.firmware.alert.device":"Apparaat","admin.firmware.alert.brand":"Merk","settings":"Instellingen","setting.header":"Instellingen","setting.subtitle":"Hier kunt u verschillende plug-in instellingen wijzigen
Sommige wijzigingen vereisen mogelijk een herstart van de plug-in.","setting.validate.button":"Valideer","setting.reinit.button":"Instellingen (standaard)","setting.advanced.button":"Geavanceerde instellingen","setting.normal.button":"Normale instellingen","setting.help.link":" Informatie over de instellingen vind je in de WIKI","setting.help.legend":"Dit zijn alle instellingen van de plugin die je kan wijzigen.","setting.header.Services":"Beschikbare services","setting.subtitle.Services":"Activeer hier de beschikbare services","useDomoticzLog":"Gebruik Domoticz Log","enablegroupmanagement":"Aanzetten Groepen","zigatePartOfGroup0000":"Cre\xeber Groep 0000","allowRemoveZigateDevice":"Verwijderen van co\xf6rdinator","resetPermit2Join":"Reset na een herstart toestaan","forcePollingAfterAction":"Krijg apparaten status na actie","enableReadAttributes":"Polling Aanzetten","blueLedOnOff":"Schakel co\xf6rdinator Blue Led aan","setting.reloadplugin.alert.title":"Plug-in herstart","setting.reloadplugin.alert.subject":"De instellingen zijn bijgewerkt, de plug-in moet opnieuw worden opgestart","setting.reloadplugin.alert.cancel":"Sluiten","setting.resetplugin.alert.title":"Coordinator Reset","setting.resetplugin.alert.subject":"Instellingen zijn geupdate, coordinator heeft een reset nodig. (meestal hebben alle apparaten een rapair nodig)","setting.resetplugin.alert.cancel":"Sluiten","setting.eraseplugin.alert.title":"Wis PDM","setting.eraseplugin.alert.subject":"Instellingen zijn geupadate, PDM heeft een reset nodig. (alle apparaten moeten opnieuwe gepaird worden)","setting.eraseplugin.alert.cancel":"Afsluiten","Ping":"Activeer Ping","setting.header.DomoticzEnvironment":"Domoticz URL","setting.subtitle.DomoticzEnvironment":"Instelling voor toegang tot Domoticz API","setting.header.WebInterface":"Web Interface instellingen","setting.subtitle.WebInterface":"Maakt het mogelijk om de Web UI aan / uit te schakelen","enableWebServer":"Schakel web User Interface in","setting.header.DeviceManagement":"Instellingen voor apparaat beheer","setting.subtitle.DeviceManagement":"Hier zijn alle instellingen met betrekking tot Apparaten en hoe co\xf6rdinator ermee omgaat","setting.header.CoordinatorConfiguration":"Coordinator Instellingen","setting.subtitle.CoordinatorConfiguration":"Instellingen met betrekking tot de Coordinator-hardware.","setting.header.OverTheAirUpgrade":"Over The Air Upgrade-instellingen","setting.subtitle.OverTheAirUpgrade":"Alle instellingen met betrekking tot de Over The Air upgrade-functionaliteit.","allowOTA":"Aanzetten OTA","setting.header.Legrand":"Legrand Netatmo instellingen","setting.subtitle.Legrand":"Allow to set a number of Legrand specifics options","setting.header.Schneider_Wiser":"Schneider Wiser instellingen","setting.subtitle.Schneider_Wiser":"Allow to enable some specific mecanishm, and some other options","internetAccess":"Internettoegang toestaan","batteryOTA":"OTA toestaan voor apparaten op batterijen","waitingOTA":"Vertraag het starten van het OTA-proces","setting.header.GroupManagement":"Groepsmanagement instellingen","setting.subtitle.GroupManagement":"Instellingen om de Groepsbeheerfunctie in te schakelen en te configureren.","OnIfOneOn":"Groep is aan wanneer \xe9\xe9n apparaat aan is (Anders moeten alle apparaten aan zijn)","setting.header.PluginConfiguration":"Plugin omgevingsinstellingen","setting.subtitle.PluginConfiguration":"Alle instellingen voor Plugin-omgeving","numDeviceListVersion":"Hoeveel regels Apparaatlijst-geschiedenis behouden","setting.header.Others":"Overige instellingen","setting.header.Provisioning":"Paring instellingen","setting.subtitle.Provisioning":"Speciale instellingen voor specialing apparaten en condities","setting.header.DevicePolling":"Backend error","setting.subtitle.DevicePolling":"Hiermee kunt u de polling-frequentie opgeven per type informatie. Houd er rekening dat wanneer de co\xf6rdinator een hoge overvraagt wordt er mogelijk knelpunten ontstaan","setting.subtitle.Others":"","logLQI":"Vertraging voordat een Topologiescan wordt gestart (sec)","networkScan":"Frequentie van storingsrapport (sec)","setting.header.CommandTransition":"Experimentele parameters","setting.subtitle.CommandTransition":"Group Overgangstijden voor apparaat commando\'s","moveToHueSatu":"Transition for Hue","moveToColourTemp":"Transition for Color Temp","moveToColourRGB":"Transition for RGB color","moveToLevel":"Transition for Move to Level","setting.header.Experimental":"Experimentele parameters","setting.subtitle.Experimental":"Alleen gebruiken wanneer hier naar wordt gevraagd","api.global.error.notify":"foutmelding","api.global.succes.scanlaunched.notify":"analyseren gestart","api.global.succes.commandsent.notify":"Commando verzonden","api.global.succes.saved.notify":"Opgeslagen","setting.header.OTA":"Apparaat firmware update Over-The-Air","setting.subtitle.OTA":"Parameters hoe je de Over-The-Air update configuratie wilt laten verlopen.","IkeaTradfri_Repository":"IKEA-TRADFRI Oficiele repository","ZigbeeOTA_Repository":"Zigbee OTA firmware (opgebouwd door de internet communitie)","autoServeOTA":"Sta automatische update toe, wanneer er nieuwe firmeware is gevonden.","checkFirmwareAgainstZigbeeOTARepository":"Controleer of er firmware beschikbaar is in de repository","DomoticzCustomMenu":"Aanzetten Plugin WebUI vanuit het Domoticz Custom menu","NightShift":"Push achtergrond activiteit van 23:00 tot 6:00 uur","ConfigureReportingChunk":"Maximale nummers van attributen, wanneer configuratie rapport","ReadAttributeChunk":"Maximale nummers van attributen wanneer attributen gelezen ","resetConfigureReporting":"Reset alle bestaande configuraties van het rapport","resetReadAttributes":"Reset alle attributen die gelezen zijn","TopologyV2":"Network Topology gebasserd op routing en neighbourghs tables","autoBackup":"Automatische backup van de coordinator","BackupFullDevices":"backup apparaten informatie","BellowsNoMoreEndDeviceChildren":"Schakel direct pairen uit van Coordinator","BellowsSourceRouting":"Zet aan Zigbee Source routing mechanisme","pingDevices":"Ping main-powered apparaten regelmatig om te verifi\xebren of ze gezond zijn.","GroupOnBattery":"Zet aan groep creeren voor batterij apparaten","deviceOffWhenTimeOut":"Schakel schakelaar uit wanneer buiten netwerk","checkConfigurationReporting":"Controleer het apparaat report configuratie regelmatig","TXpower_set":"Coordinator transmissie power level","pingDevicesFeq":"Frequentie van regelmatig ping main-powered apparaten","GrpfadingOff":"Dimmer-modus","GrpmoveToColourRGB":"Overangstijd voor RGB kleur","GrpmoveToColourTemp":"Overangstijd voor TEMP kleur","GrpmoveToLevel":"Overangstijd voor dim positie naar een andere","enableSchneiderWiser":"Inschakelen wanneer je veroudere Wiser apparaten hebt.","LegrandCompatibilityMode":"Inschakelen om een Legrand Netamo Hub te simuleren","AqaraOppleBulbMode":"Inschakelen om een Aqara Opple remote, commandos direct naar het apparaat te sturen.","forceClosingAllNodes":"Inschakelen om pairing mode af te sluiten in elke router","extendedPANID":"Zigbee Extended PAN Identifier","allowReBindingClusters":"Enable re-binding clusters during configure reporting operations","doUnbindBind":"Unbind and then bind, when doing a binding operation","PluginAnalytics":"Schakel de plugin in, en om cookies te gebruiken, om informatie te verzamelen, over de coordinator, en de apparten die gebruikt worden.","MatomoOptIn":"Schakel de plugin in, en om cookies te gebruiken, om informatie te verzamelen, over de coordinator, en de apparten die gebruikt worden.","autoRestore":"Automatisch gebruik de meest recente coordinator backup, als een lege is gevonden.","forceSwitchSelectorPushButton":"Zet de selector switch eerst op \'off\' wanneer dezelfde status wordt geselecteerd. (Workaround voor Domoticz issue #4143)","resetSwitchSelectorPushButton":"Aantal seconden totdat de schakalaar uit gaat","setting.header.ManufSpecifiqDevicePolling":"Specifieke Polling","setting.subtitle.ManufSpecifiqDevicePolling":"0 stands for disable otherwise it indicates the polling frequency in seconds, For Manufacturer Specific it will allow to retreive device states whcih are not provided automatically by the device","setting.header.Zigpy":"Zigpy CIE specifieke configuratie","setting.subtitle.Zigpy":"Specific to some CIE as ConBeeII and RasBeeII it might required to enable some CIE specific item for some brand","resetMotiondelay":"Vertaging in seconden om motion te detecteren","Certification":"Certification ( FCC or CE )","channel":"Co\xf6rdinator kanaal (standaard 0)","alarmDuration":"tijd in seconden voor duur van alarm","vibrationAqarasensitivity":"Aqara Vibratie gevoeligheid","TradfriKelvinStep":"stappen voor kelvin Tradfri afstandsbediening","numTopologyReports":"Aantal topologie rapporten opgeslagen","numEnergyReports":"Aantal opgeslagen storingsrapporten","PowerOn_OnOff":"Na stroomuitval herstel status apparaat","logDeviceUpdate":"Schakel updaten apparaat bericht in log","capturePairingInfos":"Sla pairing informatie op in reports folder","error_required":"Benodigd","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Gereedschappen","tools.tools":"Gereedschappen","tools.tools.export":"Exporteer","tools.tools.zdevice-raw.button":"Plugin onbewerkte apparaten","tools.tools.non-optimized.button":"Niet geoptimaliseerde apparaten","tools.tools.zgroup.button":"Plugin Groepen","tools.tools.zdevice.button":"Plugin apparaten","tools.tools.device.button":"Domoticz Widgets","tools.tools.log.button":"Plug-in informatie","tools.tools.infos.plugin.button":"Plug-in informatie","tools.tools.coordinator.infos.button":"Co\xf6rdinator informatie","tools.tools.plugin-health.button":"Plugin gezondheid","tools.tools.zdevice-name.button":"zApparaat-naam","tools.tools.domoticz-env.button":"domoticz-env","tools.tools.battery-state.button":"Battery State","tools.tools.zgroup-list-available-device.button":"zGroep-lst-apparaten","tools.tools.settings.button":"Instellingen","tools.tools.plugin-stat.button":"Verkeer","tools.command":"Commando","tools.debugcommand.title":"Verstuur commando","tools.debugcommand.subtitle":"Verstuur een commando naar een apparaat
(1) Selecteer het apparaat,
(2) Selecteer het commando,
(3) Selecteer het apparaat type. Dit beinvloed de manier hoe er met het apparaat wordt gecommuniceerd,
(4) Geef een waarde in of selecteer een kleur (optioneel)","tools.debugcommand.device":"Kies apparaat","tools.debugcommand.button.cancel":"Annuleer","tools.debugcommand.action":"Kies Actie","tools.debugcommand.type":"Kies type","tools.debugcommand.value":"Waarde","tools.debugcommand.level.error":"tussen 0 en 100","tools.debugcommand.effect.error":"tussen 0x00 tot 0xff","tools.debugcommand.button.send":"Verzenden","tools.rawcommand-zigate.title":"ZiGate commando (raw)","tools.rawcommand-zigate.subtitle":"Sta Zigate toe om een commando direct naar the co\xf6rdinator te sturen.
Je moeten deze link volgen the ZiGate protocol .","tools.rawcommand-zigate.command":"Berichten RAW type","tools.rawcommand-zigate.error":"Invoer verplicht","tools.rawcommand-zigate.payload":"Data","tools.rawcommand-zigate.button.send":"Bevestig","tools.rawcommand-zigpy.title":"ZigBee commando","tools.rawcommand-zigpy.subtitle":"Sta Zigate toe om een commando direct naar the co\xf6rdinator te sturen.","tools.rawcommand-zigpy.placeholder":"Selecteer een apparaat","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Data","tools.rawcommand-zigpy.button.send":"Bevestig","tools.reporting.configure":"Configureer overzicht","tools.reporting.configure.title":"Configureer overzicht instellingen","tools.reporting.configure.subtitle":"Configure a device to automatically report the values of one or more of its attributes, or to receive such reports.
The minimum reporting interval field is 16 bits in length and SHALL contain the minimum interval, in seconds, between issuing reports of the specified attribute.
The maximum reporting interval field is 16 bits in length and SHALL contain the maximum interval, in seconds, between issuing reports of the specified attribute.
The reportable change field SHALL contain the minimum change to the attribute that will result in a report being issued. This field is of variable length.
For attributes with \'analog\' data type (see 2.6.2), the field has the same data type as the attribute. The sign (if any) of the reportable change field is ignored.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Valideer","tools.reporting.configure.device":"Selecteer een apparaat","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribuut id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"min interval (secondes)","tools.reporting.configure.maxInterval.column":"max interval (secondes)","tools.reporting.configure.change.column":"wijzig","tools.reporting.configure.hexa.error":"niet een hexadecimaal getal","tools.reporting.configure.length.error":"niet een verwacht getal","tools.binding":"Verbinding","tools.binding.title":"Verbindingstitel","tools.binding.subtitle":"Sta toe om een \u200b\u200bgroep te binden tussen bron- en doelapparaat
e.g. If you want to bind a Temperature sensor with an Actuator, the SourceIEEE/Ep will be the Temperature sensor, the DestIEEE/Ep will be the actuator and the Cluster will be 0402 (Temperature Measurement)","tools.binding.sourceIeee":"bron IEEE","tools.binding.error":"Invoer verplicht","tools.binding.sourceEp":"Selecteer bron apparaat","tools.binding.destIeee":"Dest IEEE","tools.binding.destEp":"Selecteer doel apparaat","tools.binding.cluster":"Cluster","tools.binding.button.put":"Binding verzenden","tools.unbinding.button.put":"Unbinding","tools.debug":"Debug","setting.header.VerboseLogging":"Verbose en Loggen","setting.subtitle.VerboseLogging":"Hiermee kunt u sommige Logging-functies in- of uitschakelen ","tools.debugsetting.help.legend":"Logging and debuging, use advanced to get access to the Debug parameters","tools.debugsetting.advanced.button":"Geavanceerde instellingen","tools.debugsetting.normal.button":"Normale instellingen","tools.debugsetting.validate.button":"Plug-in herstart","tools.debugsetting.reinit.button":"Instellingen (standaard)","tools.debugsetting.reloadplugin.alert.title":"Plugin herladen","tools.debugsetting.reloadplugin.alert.subject":"De instellingen zijn bijgewerkt, de plugin moet opnieuw worden opgestart","tools.debugsetting.reloadplugin.alert.cancel":"Sluiten","tools.error":"foutmelding(en)","tools.error.log-history.button":"Log foutengeschiedenis (json)","tools.error.log-history.clear":"Log verwijderen","error.popover.title":"foutmeldingen gedetecteerd","error.popover.text":"Klik om het log te zien","manufacturer":"Fabrikant","manufacturer.casaia":"Casa.ia","manufacturer.casaia.header":"titel","manufacturer.casaia.subtitle":"ondertitel","manufacturer.casaia.placeholder":"tijdelijke aanduiding","manufacturer.casaia.nwkid":"nwkid","manufacturer.casaia.name":"naam","manufacturer.casaia.ieee":"ieee","manufacturer.casaia.model":"model","manufacturer.casaia.ircode":"ircode","manufacturer.casaia.validate.button":"valideer","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"Select Zlinky device","manufacturer.zlinky.key":"Designation","manufacturer.zlinky.value":"Value","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Serial Number","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"P\xe9riode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP (30min)","manufacturer.zlinky.ADPS":"Avertissement du d\xe9passement de la puissance souscrite","manufacturer.zlinky.ADIR1":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 1","manufacturer.zlinky.ADIR2":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 2","manufacturer.zlinky.ADIR3":"Avertissement du d\xe9passement de l\u2019intensit\xe9 sur la phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index 10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 2","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance apparente de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance apparente de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance apparente Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance apparente max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance apparente max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moyenne phase 1","manufacturer.zlinky.UMOY2":"Tension moyenne phase 2","manufacturer.zlinky.UMOY3":"Tension moyenne phase 3","manufacturer.zlinky.SINSTS":"Puissance apparente Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance apparente Instantan\xe9e soutir\xe9e phase 1","manufacturer.zlinky.SINSTS2":"Puissance apparente Instantan\xe9e soutir\xe9e phase 2","manufacturer.zlinky.SINSTS3":"Puissance apparente Instantan\xe9e soutir\xe9e phase 3","manufacturer.zlinky.SMAXN":"Puissance apparente max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance apparente max. soutir\xe9e n phase 1","manufacturer.zlinky.SMAXN2":"Puissance apparente max. soutir\xe9e n phase 2","manufacturer.zlinky.SMAXN3":"Puissance apparente max. soutir\xe9e n phase 3","manufacturer.zlinky.SMAXN-1":"Puissance apparente max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance apparente max. soutir\xe9e n-1 phase 1","manufacturer.zlinky.SMAXN2-1":"Puissance apparente max. soutir\xe9e n-1 phase 2","manufacturer.zlinky.SMAXN3-1":"Puissance apparente max. soutir\xe9e n-1 phase 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"Relais","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Enable the use of zigpy Topology Scanner","ZigpyTopologyReportAutoBackup":"Automaticaly backup auto-triggered Topology scan"}'),w=JSON.parse('{"APP_NAME":"Interfaz de Gesti\xf3n de ZigBeeforDomoticZ","About":"Sobre","Version":"Versi\xf3n","NODATA":"no hay informaci\xf3n para mostrar","TOTAL":"Total {totalRecords}","SELECTED":"seleccionado","dashboard":"Tablero","dashboard.button.refresh":"Actualizar","dashboard.trafic.title":"Estado del plugin","dashboard.health.title":"Dispositivos del plugin","dashboard.devices.state.label":"Dispositivos conocidos por el plugin","dashboard.devices.live":"Vivo","dashboard.devices.disabled":"deshabilitado","dashboard.devices.notseen":"Sin noticias","dashboard.devices.notReachable":"Perdido","dashboard.devices.others":"Desconocido","dashboard.health.comment":"Vivo = cantidad de dispositivos activos
Perdido = cantidad de dispositivos fuera de la red
Sin noticias: cantidad de dispositivos que no han informado en las \xfaltimas 6 horas
Desconocido = cantidad de dispositivos con estado desconocido","dashboard.traffic.title":"Enviar y Recibir","dashboard.trafic.label":"Enviar / Recibir mensajes","dashboard.trafic.send":"Tx","dashboard.trafic.receive":"Rx","dashboard.traffic.comment":"Tx = n\xfamero de mensajes entrantes desde el inicio del plugin
Rx = n\xfamero de mensajes salientes desde el inicio del plugin","dashboard.trend.title":"Estad\xedsticas","dashboard.txps":"Tx/s","dashboard.rxps":"Rx/s","dashboard.txph":"Tx/h","dashboard.rxph":"Rx/h","dashboard.load":"Load","dashboard.trend.comment":"Tx/s = cantidad de mensajes enviados por segundo
Rx/s = cantidad de mensajes recibidos por segundo
Load = cantidad de mensajes en la cola","dashboard.trafic.maxload.label":"Carga","dashboard.trafic.maxload":"Pico","dashboard.trafic.currentload":"Actual","dashboard.trend.chart.yaxis":"mensaje(s)","dashboard.devices.title":"Estado de los dispositivosno desactivados","dashboard.device.title":"tipo de dispositivos","dashboard.devices.label":"Dispositivos","dashboard.devices.routers":"Enrutadores","dashboard.devices.enddevice":"Dispositivos finales","dashboard.devices.comment":"Enrutadores = Dispositivos alimentados por la red que participan en el mallado de la red.
Objetos terminales = Dispositivos que no pueden participar en el mallado (frecuentemente los con bater\xeda, pero en algunos casos pueden ser alimentados por una fuente de baja potencia o sin neutral).","dashboard.battery.title":"Bater\xeda","dashboard.devices.battery.label":"Bater\xeda","dashboard.devices.battery.inf.15":"< 15%","dashboard.devices.battery.inf.35":"< 35%","dashboard.devices.battery.inf.75":"< 75%","dashboard.devices.battery.sup.75":"> 75%","dashboard.battery.comment":"Para dispositivos equipados con bater\xeda, a continuaci\xf3n se informa el estado de la bater\xeda.","dashboard.optimized.title":"Dispositivos optimizados","dashboard.optimized.comment":"Optimizado = Dispositivos para los que se ha realizado una configuraci\xf3n en el complemento.
No optimizado = Dispositivos que pueden no funcionar completamente y/o generar una carga o tr\xe1fico anormales.
M\xe1s informaci\xf3n en el wiki","dashboard.devices.optimized":"Dispositivos optimizados","dashboard.devices.not.optimized":"Dispositivos no optimizados","dashboard.devices.optimized.label":"Dispositivos","dashboard.popup.device.header":"lista de dispositivos","dashboard.popup.device.subtitle":"Esta lista esta filtrada por elemento en el que se hizo clic en el tablero.","dashboard.popup.device.button.close":"Cerrar","dashboard.health.starttime":"Empieza en ","dashboard.rxpm":"Rx/m","dashboard.txpm":"Tx/m","dashboard.maxload":"MaxLoad","dashboard.plugin.version":"Plugin: ","dashboard.plugin.update.available":"Hay una actualizaci\xf3n disponible para el plugin M\xe1s informaci\xf3n.
Plugin upgrade","dashboard.plugin.update.available.title":"Actualizaci\xf3n del plugin","dashboard.firmware.version":"Firmware: ","dashboard.firmware.update.available":"Hay una actualizaci\xf3n disponible para el firware M\xe1s informaci\xf3n","dashboard.firmware.update.available.title":"Actualizaci\xf3n del firware","dashboard.device.button":"DomoticZ Devices(json)","dashboard.plugin.header":"Informaci\xf3n sobre plugin","dashboard.plugin.subtitle":"Proporciona informaci\xf3n sobre el plugin","dashboard.stats.header":"Estad\xedsticas del plugins","dashboard.stats.subtitle":"Proporciona estad\xedsticas de coordinador en t\xe9rminos de transmisi\xf3n y recepci\xf3n de mensajes","dashboard.zdevice.button":"Dispositivos del plugin (json)","dashboard.zgroup.button":"Groupos del Plugin (json)","dashboard.coordinator.header":"Informaci\xf3n de Coordinador","dashboard.coordinator.subtitle":"Proporciona informaci\xf3n de Coordinador","dashboard.health.OTA":"OTA: ","dashboard.health.group":"Groupo: ","dashboard.devices.indb":"En Db","consent.banner.header":"Consentimiento","consent.banner.description":"Para mejorar nuestro desarrollo y centrarnos en los puntos que se necesita, utilizamos una t\xe9cnica de cookies y, con su consentimiento, recopilaremos principalmente la versi\xf3n del plugin, el modelo y marca del coordinador, la versi\xf3n del firmware y los datos de la red (como cantidad de enrutadores y dispositivos terminales).
D\xe9 su consentimiento seleccionando \'Permitir\' o \'No permitir\'. Si desea cambiar su elecci\xf3n, puede hacerlo a trav\xe9s del men\xfa Configuraci\xf3n.
M\xe1s informaci\xf3n en la wiki.","consent.banner.accept":"Aceptar","consent.banner.decline":"Rechazar","management":"Gesti\xf3n","device":"Gesti\xf3n de dispositivos","device.byname.subtitle":"Enumere todos los dispositivos HW emparejados con el plugin, y le permite ingresar un nombre descriptivo para cada dispositivo.
Muestra el nombre amigable del dispositivo en la secci\xf3n de red en lugar de un c\xf3digo de cuatro d\xedgitos.
Los objetos marcados en naranja no son optimizado con el plugin. Por favor sigue el procedimiento en el wiki,","device.byname.capabilities.column":"Capacidades","device.byname.devicename.column":"Nombre amigable","device.byname.header":"Administraci\xf3n de objetos","device.byname.trash.column":"Eliminar","device.byname.optimized.column":"Optimizado","device.byname.health.column":"Salud","device.byname.battery.column":"Bater\xeda","device.byname.ieee.column":"IEEE","device.byname.model.column":"Modelo","device.byname.devicename.param":"Par\xe1metros","device.byname.devicename.enabled":"Dispositivo activo","device.byname.placeholder":"Escriba filtro aqu\xed ....","device.byname.shortid.column":"Id corta","device.byname.status.column":"Estado","device.byname.lqi.column":"LQI","device.byname.rssi.column":"RSSI","device.byname.validate.button":"Validar","device.byname.widget.column":"Domoticz Widget","device.byname.alert.title":"Eliminar dispositivo ?","device.byname.alert.subject":"Estas seguro ?","device.byname.alert.delete":"Eliminar","device.byname.alert.cancel":"Anular","device.byname.error.notify":"Por favor, utilice el interruptor \'Activar\'","device.byname.parameter.alert.save":"Validar","device.byname.parameter.alert.cancel":"Anular","device.byname.parameter.alert.title":"Par\xe1metros","device.byname.parameter.alert.subject":"Configurar par\xe1metros espec\xedficos ","device.byname.parameter.popover.title":"Device Parameters","device.byname.parameter.popover.text":"Specify local device configuration parameters. Green means in sync with the device, when Orange the parameters are not yet pushed to the device","device.byname.delete.colum":"Eliminar","device.byname.optimized.popover.title.ok":"El dispositivo est\xe1 optimizado con el plugin","device.byname.optimized.popover.text.ok":"Haga clic en el icono para copiar la informaci\xf3n del dispositivo","device.byname.optimized.popover.title.ko":"El dispositivo no est\xe1 optimizado con el plugin","device.byname.optimized.popover.text.ko":"Haga clic en el icono para copiar la informaci\xf3n del dispositivo","group":"Gesti\xf3n de grupos","group.create.devices.column":"Dispositivos seleccionados en el grupo","group.create.groupname.column":"Nombre del grupo","group.create.header":"Gesti\xf3n de grupos","group.create.placeholder":"Escriba filtro aqu\xed ....","group.create.shortid.column":"Id del grupo","group.create.subtitle":"Permitir editar, crear y eliminar grupos
Aplique los cambios y luego actualice la p\xe1gina para confirmar que los cambios se han realizado. No hagas todos los cambios a la vez, prefieres hacerlo paso a paso con peque\xf1os cambios","group.create.validate.button":"Validar","group.create.add.button":"Agregar un grupo nuevo","group.create.delete.button":"Eliminar","group.create.coordinator.column":"Coordinador (en el grupo)","group.reloadplugin.alert.title":"Recarga del plugin","group.reloadplugin.alert.subject":"Los grupos se han actualizado, el plugin debe ser reiniciado","group.reloadplugin.alert.cancel":"Cerrar","header.popover.title":"Reinicio necesario","header.popover.text":"Algunos cambios est\xe1n pendientes, es necesario reiniciar el plugin","network":"Red","network.topo":"Topolog\xeda","network.topo.header":"Topolog\xeda de la red","network.topo.subtitle":"Lista de topolog\xeda de red. Seleccione uno para obtener el diagrama de malla ","network.topo.visu.header":"Diagrama de topolog\xeda","network.topo.visu.subtitle":"El diagrama de topolog\xeda muestra todos los enlaces entre 2 nodos. Si deja el cursor en un enlace, ver\xe1 la direcci\xf3n del enlace, as\xed como la calidad del enlace.","network.topo.visu.network.header":"Gr\xe1fico de red","network.topo.visu.network.subtitle":"Dibujar\xe1 un gr\xe1fico de red de su entorno Zigbee.","network.topo.visu.network.filter":"Nombre del nodo para filtrar","network.topo.device.visu.network.chart.title":"Gr\xe1fico de red","network.topo.visu.delete.button":"Eliminar","network.topo.device.batterylevel.column":"Bater\xeda","network.topo.device.deviceid.column":"Id del dispositivo","network.topo.device.id.column":"Id","network.topo.device.nvalue.column":"nValue","network.topo.device.signalelevel.column":"Signal","network.topo.device.svalue.column":"sValue","network.topo.device.switchtype.column":"Switch","network.topo.device.timedout.column":"Timeout","network.topo.device.type.column":"Tipo","network.topo.device.name.column":"Nombre","network.topo.device.visu.header":"Lista de dispositivos","network.topo.device.visu.subtitle":"Proporciona la lista de dispositivos gestionados por coordinador. Tambi\xe9n obtendr\xe1 una referencia a los nombres de los widgets y otra informaci\xf3n de Domoticz","network.topo.device.visu.chart.title":"Diagrama de malla","network.topology.req.header":"Escaneo de topolog\xeda","network.topology.req.subtitle":"Esto activar\xe1 un escaneo de topolog\xeda, que se ejecutar\xe1 en segundo plano.","network.topology.req.button":"Escanear","network.topo.visu.network.relation.header":"Lista de objetos vinculados de {{deviceSelected}}","network.topo.visu.network.relation.subtitle":"La matriz muestra el valor LQI entre el objeto seleccionado y todos sus objetos vinculados.","network.topo.visu.network.relation.to":"Hijos","network.topo.visu.network.relation.weight":"LQI","network.topo.visu.network.relation.nochild":"El objeto seleccionado no tiene hijos.","network.topo.visu.network.relation.model":"Modelo","network.topo.visu.network.relation.status":"Estado","network.topo.visu.network.relation.health":"Salud","network.topo.visu.network.relation.battery":"Bater\xeda","network.energy":"Nivel de interferencia","network.stats.header":"Red","network.stats.subtitle":"Informes de nivel de interferencia ","network.stats.visu.delete.button":"Eliminar","network.inter.req.header":"Escaneo de interferencia corto","network.inter.req.subtitle":"Se proporcionar\xe1 un informe de escaneo de interferencias. Informar\xe1 el nivel de interferencia entre los routers y coordinador. Cuanto mayor sea el valor, peor ser\xe1.","network.inter.req.button":"Escanear","network.full.req.header":"Escaneo completo de interferencias","network.full.req.subtitle":"Como por el escaneo de interferencia corto, el informe proporcionar\xe1 el nivel de interferencia entre todos los routers y coordinador, manejando todas las comunicaciones cruzadas. Este informe puede tardar un poco cuando la cantidad de routers es alta, n ((n-1) / 2), para 5 routers son 10 combinaciones, para 10 routers 45","network.full.req.button":"Escanear completo","network.stats.detail.visu.header":"Nivel de interferencia","network.stats.detail.visu.subtitle":"Cuanto mayor sea el n\xfamero, m\xe1s interferencia hay (de 0 a 255).","network.stats.detail.visu.totaltx":"Tx : ","network.stats.detail.visu.totalfail":"Fall. : ","network.stats.detail.visu.chart.title":"Nivel de interferencia","network.stats.detail.visu.chart.y-axis":"Nivel de interferencia","network.stats.detail.visu.chart.x-axis":"Canal","admin":"Admin","admin.pairing":"Aprovisionamiento","admin.permittojoin.label":"Aceptar dispositivo nuevo","admin.permittojoin.on.notify":"Aceptar dispositivo nuevo On","admin.permittojoin.off.notify":"Aceptar dispositivo nuevo Off","admin.assistprovisionning.title":"Emparejar un nuevo dispositivo con el asistente","admin.assistprovisionning.subtitle":"Pondr\xe1 coordinador en modo de emparejamiento si es necesario, y luego se comunicar\xe1n los resultados de aprovisionamiento. Presiona GO y comienza a poner tu dispositivo en modo de emparejamiento ","admin.assistprovisionning.go.button":"Par","admin.assistprovisionning.alert.title":"Asistente - Esperando la inclusi\xf3n de dispositivo","admin.assistprovisionning.alert.subject":"Realice un restablecimiento en su dispositivo para iniciar un procedimiento de emparejamiento. Consulte la documentaci\xf3n del dispositivo si es necesario.","admin.assistprovisionning.alert.state":"Estado: ","admin.assistprovisionning.alert.description":"Descripci\xf3n: ","admin.assistprovisionning.alert.nwkid":"Corto NwkId: ","admin.assistprovisionning.alert.ieee":"IEEE : ","admin.assistprovisionning.alert.widgets":"Lista de widgets: ","admin.assistprovisionning.alert.cancel":"Salida","admin.assistprovisionning.alert.ep":"EndPoint: ","admin.assistprovisionning.alert.cluster":"ClusterId : ","admin.assistprovisionning.alert.profile":"Profile : ","admin.assistprovisionning.alert.device":"Dispositivo : ","admin.assistprovisionning.alert.model":"Modelo : ","admin.assistprovisionning.alert.plugincertified":"Certificaci\xf3n de plugin: ","admin.assistprovisionning.alert.Failed":"Fall\xf3 (algo sali\xf3 mal, consulte el LOG para obtener m\xe1s detalles)","admin.assistprovisionning.alert.inDB":"Exito (verifique si se han creado los widgets en Domoticz)","admin.assistprovisionning.alert.Unexpected":"Inesperado (p\xf3ngase en contacto con el SAT)","admin.permittojoin.title":"Aceptar dispositivo nuevo","admin.permittojoin.subtitle":"Habilitar/deshabilitar el proceso de emparejamiento con el coordinador por un per\xedodo de tiempo ","admin.permittojoin.validate.button":"Validar","admin.permittojoin.permanent.button":"Permanente","admin.permittojoin.permanent.notify":"Emparejamiento permanente activado","admin.permittojoin.stop.button":"Stop","admin.permittojoin.stop.notify":"Emparejamiento desactivado","admin.permittojoin.4min.button":"4 minutos","admin.permittojoin.4min.notify":"Emparejamiento activado para 4 minutos","admin.permittojoin.notify":"Modo de emparejamiento modificado","admin.permittojoinrouter.title":"Aceptar el nuevo dispositivo en el router","admin.permittojoinrouter.subtitle":"Activar/desactivar el proceso de emparejamiento con el coordinador por un per\xedodo de tiempo ","admin.permittojoinrouter.devices.placeholder":"Lista de los enrutadores","admin.fullreset.title":"Preparando el dispositivo para un reinicio completo","admin.fullreset.subtitle":"Si desea realizar un restablecimiento completo de un dispositivo aprovisionado existente en Domoticz, se recomienda indicar el complemento de dicho evento. Luego, el plugin se asegurar\xe1 de rehacer un descubrimiento completo del dispositivo y configurar\xe1 lo que se haya configurado durante el primer emparejamiento.","admin.fullreset.device.placeholder":"Seleccione un dispositivo","admin.fullreset.button":"Modo de reinicio","admin.fullreset.notify":"Modo de reinicio activado","admin.recreate.title":"Recrear widget","admin.recreate.subtitle":"Recrear widget","admin.recreate.device.placeholder":"Seleccione un dispositivo","admin.recreate.button":"Recrear widget","admin.recreate.notify":"Recrear widget iniciado","admin.group":"Groupo","admin.rescan.group.title":"Escanee todos los dispositivos para membros de grupos","admin.rescan.group.subtitle":"Escanee todos los dispositivos para membros de grupos
y el resultado estar\xe1 disponible en la gesti\xf3n del grupo","admin.rescan.group.button":"Escaneo completo","admin.scan.group.device.title":"Inicie un escaneo para cada dispositivo seleccionado para sus membros de grupos","admin.scan.group.device.subtitle":"Inicie un escaneo para cada dispositivo seleccionado para sus membros de grupos
Puede seleccionar de uno a varios y el resultado estar\xe1 disponible en la gesti\xf3n de grupos.","admin.scan.group.device.button":"Escanear","admin.scan.group.device.placeholder":"Seleccione el o los dispositivos a escanear","admin.coordinator":"Coordinador","admin.coordinator.swreset.title":"Reinicio del software de coordinador","admin.coordinator.swreset.subtitle":"Reiniciar\xe1 el coordinador (sin p\xe9rdida de dispositivos emparejados) ","admin.coordinator.swreset.button":"Reinicio del software","admin.coordinator.swreset.notify":"Reinicio del coordinador iniciado","admin.coordinator.switchchannel.title":"Cambiar el canal de comunicaci\xf3n del coordinador","admin.coordinator.switchchannel.subtitle":"Este permite cambiar el coordinador y su red a un canal de comunicaci\xf3n particular.
La solicitud se enviar\xe1 a todos los dispositivos: los enrutadores cambian normalmente sin problemas, pero los dispositivos con bater\xeda o que no son Zigbee 3.0 probablemente requerir\xe1n un reinicio para unirse al nuevo canal.","admin.coordinator.switchchannel.placeholder":"Canal del coordinador (0 predeterminado)","admin.coordinator.switchchannel.button":"Cambia el canal","admin.coordinator.switchchannel.notify":"Comenz\xf3 el cambio de canal","admin.erasepdm.title":"Borrar la ZiGate","admin.erasepdm.subtitle":"Borrar\xe1 la memoria de datos permanente de la ZiGate (Perder\xe1s todos los dispositivos emparejados) Debe habilitar el par\xe1metro eraseZigatePDM en Configuraci\xf3n avanzada antes","admin.erasepdm.button":"Borrar","admin.erasepdm.notify":"ErasePdm ZiGate started","admin.erasepdm.alert.title":"Borrar la ZiGate, estas seguro ?","admin.erasepdm.alert.subject":"ATENCI\xd3N, \xfaltima oportunidad !!!!!","admin.erasepdm.alert.cancel":"Anular","admin.erasepdm.alert.erase":"Borrar","admin.plugin":"Plugin","admin.plugin.reload.title":"Reiniciar el plugin","admin.plugin.reload.subtitle":"Reiniciar\xe1 el plugin ","admin.plugin.reload.button":"Reiniciar","admin.plugin.reload.notify":"Plugin reiniciando ","admin.plugin.reload.port":"Puerto","admin.plugin.reload.username":"Nombre de usuario","admin.plugin.reload.password":"Contrase\xf1a","admin.plugin.reload.host":"Nombre del host","admin.plugin.reload.protocol":"Protocolo","admin.plugin.reload.alert.title":"Reiniciar el plugin, est\xe1s seguro ?","admin.plugin.reload.alert.subject":"ATENCI\xd3N, \xfaltima oportunidad !!!!!","admin.plugin.reload.alert.cancel":"Anular","admin.plugin.reload.alert.erase":"Reiniciar","admin.plugin.update.title":"Actualizaci\xf3n del Plugin","admin.plugin.update.subtitle":"Iniciar la actualizaci\xf3n del Plugin.
Si la actualizaci\xf3n se realiza sin problemas, ser\xe1 necesario reiniciar el Plugin para que se tenga en cuenta; de lo contrario, la actualizaci\xf3n deber\xe1 realizarse manualmente.","admin.plugin.update.button":"Actualizar el Plugin (varios minutos)","admin.plugin.update.success":"Reiniciar el Plugin para tener en cuenta la actualizaci\xf3n.","admin.plugin.update.error":"Hubo errores durante la actualizaci\xf3n, mire a los registros y tome acciones correctivas","admin.firmware":"Firmware","admin.firmware.title":"Firmware de dispositivo","admin.firmware.subtitle":"subt\xedtulo del firmware ","admin.firmware.button.update":"bot\xf3n de actualizaci\xf3n","admin.firmware.notify":"Lanzamiento de la actualizaci\xf3n","admin.firmware.list":"lista de firmware","admin.firmware.manufacturer.list":"lista de fabricantes","admin.firmware.devices.list":"lista de dispositivos","admin.firmware.force":"forzar actualizaci\xf3n","admin.firmware.alert.title":"alerta de t\xedtulo","admin.firmware.alert.subject":"alerta de sujeto","admin.firmware.alert.ok":"actualizar","admin.firmware.alert.cancel":"cancelar","admin.firmware.alert.list.devices":"lista de dispositivos","admin.firmware.alert.filename":"nombre del archivo","admin.firmware.alert.device":"Dispositivo ","admin.firmware.alert.brand":"Marca","settings":"Configuraciones","setting.header":"Configuraciones","setting.subtitle":"Le permite visualizar y editar las distintas configuraciones del plugin
Algunos requieren reiniciar el plugin.","setting.validate.button":"Validar","setting.reinit.button":"Configuraci\xf3n (predeterminada)","setting.advanced.button":"Ajustes avanzados","setting.normal.button":"Ajustes normales","setting.help.link":" Puede encontrar m\xe1s informaci\xf3n sobre la configuraci\xf3n en el Wiki","setting.help.legend":"Todas estas son configuraciones del plugin que se pueden actualizar.","setting.header.Services":"Servicios disponibles","setting.subtitle.Services":"Activa los servicios que quieres estar activo","useDomoticzLog":"Usar registro (LOG) de Domoticz","enablegroupmanagement":"Activar Groupos","zigatePartOfGroup0000":"Crear grupo 0000","allowRemoveZigateDevice":"Eliminaci\xf3n en la coordinador","resetPermit2Join":"Restablecer el permiso para unirse al inicio","forcePollingAfterAction":"Obtener el estado del dispositivo despu\xe9s de la acci\xf3n","enableReadAttributes":"Activar el sondeo","blueLedOnOff":"Activar la Led azul de la coordinador","setting.reloadplugin.alert.title":"Recarga del plugin","setting.reloadplugin.alert.subject":"La configuraci\xf3n se ha actualizado, el plugin debe ser reiniciado","setting.reloadplugin.alert.cancel":"Cerrar","setting.resetplugin.alert.title":"Restablecimiento del coordinador","setting.resetplugin.alert.subject":"La configuraci\xf3n se ha actualizado, el coordinador debe restablecerse (lo m\xe1s probable es que todos los dispositivos deban volver a emparejarse).","setting.resetplugin.alert.cancel":"Cerrar","setting.eraseplugin.alert.title":"Erase PDM","setting.eraseplugin.alert.subject":"Se han actualizado los ajustes, es necesario borrar el PDM (se deber\xe1 volver a emparejar todos los dispositivos)","setting.eraseplugin.alert.cancel":"Cerrar","Ping":"Habilitar ping","setting.header.DomoticzEnvironment":"URL de Domoticz","setting.subtitle.DomoticzEnvironment":"Configuraci\xf3n de c\xf3mo acceder a la API de Domoticz","setting.header.WebInterface":"Configuraci\xf3n de la interfaz web","setting.subtitle.WebInterface":"Permite activar/desactivar la interfaz de usuario web","enableWebServer":"Activar la interfaz de usuario web","setting.header.DeviceManagement":"Configuraci\xf3n de gesti\xf3n de dispositivos","setting.subtitle.DeviceManagement":"Aqu\xed est\xe1n todas las configuraciones relacionadas con los dispositivos y c\xf3mo el coordinador interact\xfaa con ellos","setting.header.CoordinatorConfiguration":"Configuraci\xf3n de la coordinador","setting.subtitle.CoordinatorConfiguration":"Aqu\xed est\xe1n todas las configuraciones relacionadas con el hardware coordinador.","setting.header.OverTheAirUpgrade":"Configuraci\xf3n de actualizaci\xf3n por aire (OTA)","setting.subtitle.OverTheAirUpgrade":"Estas son todas las configuraciones relacionadas con la funcionalidad de actualizaci\xf3n por aire (OTA/Over The Air).","allowOTA":"Permitir OTA","setting.header.Legrand":"Configuraci\xf3n de Legrand Netatmo","setting.subtitle.Legrand":"Permitir establecer una serie de opciones espec\xedficas de Legrand","setting.header.Schneider_Wiser":"Configuraci\xf3n de Schneider Wiser","setting.subtitle.Schneider_Wiser":"Permitir activar algunos mecanismos espec\xedficos y algunas otras opciones","internetAccess":"Permitir el acceso a Internet","batteryOTA":"Permitir OTA para dispositivos alimentados por bater\xeda","waitingOTA":"retraso al iniciar el proceso OTA","setting.header.GroupManagement":"Configuraci\xf3n de gesti\xf3n de grupos","setting.subtitle.GroupManagement":"Aqu\xed est\xe1n todos los ajustes para activar y configurar la funci\xf3n de gesti\xf3n de Grupo.","OnIfOneOn":"El grupo est\xe1 encendido si un dispositivo est\xe1 encendido (de lo contrario, necesita todos los dispositivos encendidos)","setting.header.PluginConfiguration":"Configuraci\xf3n del entorno del plugin","setting.subtitle.PluginConfiguration":"Aqu\xed est\xe1n todas las configuraciones de entornos del plugin","numDeviceListVersion":"Cantidad de historial de la lista de dispositivos","setting.header.Others":"Otras configuraciones","setting.header.Provisioning":"Ajustes de emparejamiento","setting.subtitle.Provisioning":"Configuraciones especiales para dispositivos especiales o condiciones especiales","setting.header.DevicePolling":"Sondeo de dispositivos","setting.subtitle.DevicePolling":"Le permite especificar la frecuencia de sondeo por tipo de informaci\xf3n. Tenga en cuenta que una alta frecuencia sobrecargar\xe1 el coordinador y podr\xeda causar algunos problemas de rendimiento.","setting.subtitle.Others":"","logLQI":"Retraso antes de iniciar un escaneo de topolog\xeda (seg)","networkScan":"Frecuencia del informe de interferencias (seg)","setting.header.CommandTransition":"Transiciones de comando para group luces","setting.subtitle.CommandTransition":"Puede especificar el tiempo de transici\xf3n en d\xe9cimas de segundos con el que la transici\xf3n de la etapa actual a la objetivo. Por ejemplo, cu\xe1ntas d\xe9cimas de segundo se necesitar\xe1n para pasar del color actual al color que solicit\xe9 a trav\xe9s de Domoticz. La temperatura de color se utiliza para el color blanco","moveToHueSatu":"Transici\xf3n para Hue","moveToColourTemp":"Transici\xf3n para temperatura de color","moveToColourRGB":"Transici\xf3n para color RGB","moveToLevel":"Transici\xf3n para pasar de nivel","setting.header.Experimental":"Par\xe1metros experimentales","setting.subtitle.Experimental":"\xdaselo solo si se le ha pedido","api.global.error.notify":"Backend error","api.global.succes.scanlaunched.notify":"An\xe1lisis iniciado","api.global.succes.commandsent.notify":"Actualizaci\xf3n exitosa","api.global.succes.saved.notify":"Salvado","setting.header.OTA":"Actualizaci\xf3n del firmware del dispositivo v\xeda OTA","setting.subtitle.OTA":"Comportamiento del plugin con actualizaciones OTA","IkeaTradfri_Repository":"Repositorio de firmware oficial de IKEA-TRADFRI","ZigbeeOTA_Repository":"Repositorio de firmware ZigBee OTA (mantenido por la comunidad)","autoServeOTA":"Actualizaci\xf3n autom\xe1tica cuando se encuentra un nuevo firmware","checkFirmwareAgainstZigbeeOTARepository":"Compruebe si hay un firmware disponible en uno de los repositorios","DomoticzCustomMenu":"Habilitar el WebUI del plugin desde el men\xfa personalizado de Domoticz","NightShift":"Mueva las acciones en segundo plano de las 11 a las 6.","ConfigureReportingChunk":"Cantidad maxima de atributos durante Configure Reporting","ReadAttributeChunk":"Cantidad maxima de atributos durante Read Attributes","resetConfigureReporting":"Reinicio de todo los Configure Reporting","resetReadAttributes":"Reinicio de todo los read attributes","TopologyV2":"An\xe1lisis de malla basado en tablas de enrutamiento y vecindad","autoBackup":"Guardado autom\xe1tico del coordinador","BackupFullDevices":"Guardar informaci\xf3n del objeto","BellowsNoMoreEndDeviceChildren":"Desactivar emparejamiento directo en el coordinador","BellowsSourceRouting":"Habilitar el mecanismo de enrutamiento de origen","pingDevices":"Haga un ping a dispositivos alimentados por la red para comprobar su estado","GroupOnBattery":"Habilitar la creaci\xf3n de grupos para disositivos con bater\xeda","deviceOffWhenTimeOut":"Cambiar un dispositivo a Apagado despu\xe9s de un timeout de la red","checkConfigurationReporting":"Verifique la configuraci\xf3n del informe de un dispositivo regularmente","TXpower_set":"Nivel de potencia de transmisi\xf3n del coordinador","pingDevicesFeq":"Periodo de ping a objetos alimentados por la red","GrpfadingOff":"Modo de Fadding","GrpmoveToColourRGB":"Tiempo de transici\xf3n para cambiar el valor de un color","GrpmoveToColourTemp":"Tiempo de transici\xf3n para cambiar la temperatura de un color","GrpmoveToLevel":"Tiempo de transici\xf3n para pasar de un nivel de potencia a otro","enableSchneiderWiser":"Habilitar si tiene elementos Legacy Wiser","LegrandCompatibilityMode":"Habilitar para simular un concentrador Legrand Netamo","AqaraOppleBulbMode":"Habilite el control remoto Aqara Opple para controlar objetos directamente","forceClosingAllNodes":"Habilite para cerrar el modo de emparejamiento en cada enrutador","extendedPANID":"Zigbee Extended PAN Identifier","allowReBindingClusters":"Habilitar el reenlace del cl\xfaster durante las operaciones de creaci\xf3n de configure reporting","doUnbindBind":"Desvincular y luego vincular, cuando se realiza una operaci\xf3n de vinculaci\xf3n","PluginAnalytics":"Autorizar el plugin para colocar una cookie a fin de recopilar informaci\xf3n sobre la coordinaci\xf3n y los modelos de objetos utilizados.","MatomoOptIn":"Autorizar el plugin para colocar una cookie a fin de recopilar informaci\xf3n sobre la coordinaci\xf3n y los modelos de objetos utilizados.","autoRestore":"Aplique autom\xe1ticamente la copia de seguridad del coordinador m\xe1s reciente cuando se encuentre un nuevo coordinador en blanco","forceSwitchSelectorPushButton":"Workaround Domoticz issue #4143","resetSwitchSelectorPushButton":"Cantidad de segundos despu\xe9s de que el selector se restablece a apagado","setting.header.ManufSpecifiqDevicePolling":"Sondeo espec\xedfico","setting.subtitle.ManufSpecifiqDevicePolling":"0 significa deshabilitar; de lo contrario, indica la frecuencia de sondeo en segundos. Para el fabricante espec\xedfico, permitir\xe1 recuperar estados del dispositivo que no proporciona autom\xe1ticamente el dispositivo.","setting.header.Zigpy":"Configuraci\xf3n espec\xedfica para CIE zigpy","setting.subtitle.Zigpy":"Para algunos CIE (como las ConBeeII y RasbeeII), es necesario activar elementos espec\xedficos para algunas marcas","resetMotiondelay":"Retraso en segundos para restablecer la detecci\xf3n de movimiento","Certification":"Certificaci\xf3n ( FCC or CE )","channel":"Canal del coordinador (predeterminado 0)","alarmDuration":"Duraci\xf3n en segundos para dispositivo de alarma","vibrationAqarasensitivity":"Sensibilidad a la vibraci\xf3n de Aqara","TradfriKelvinStep":"Paso Kelvin para control remoto Tradfri","numTopologyReports":"Cantidad de informes de topolog\xeda guardados","numEnergyReports":"Cantidad de informes de interferencias guardados","PowerOn_OnOff":"Estado de retorno despu\xe9s de un corte de energ\xeda del dispositivo","logDeviceUpdate":"Habilitar el mensaje UpdateDevice en el LOG","capturePairingInfos":"Capture informaci\xf3n de emparejamiento y gu\xe1rdela en la carpeta de informes","error_required":"Necesario","ForceAPSAck":"Force APS Ack to ZCL and ZDP commands","zigpySourceRouting":"Enable Zigbee Source routing (plugin)","reenforcementWiser":"Enable reenforcement messages (legacy Wiser only)","forcePassiveWidget":"Allow Domoticz actions on Widgets from remote devices","tools":"Utiles","tools.tools":"Utiles","tools.tools.export":"Exportar","tools.tools.zdevice-raw.button":"Dispositivos primas del plugin","tools.tools.non-optimized.button":"Dispositivos no optimizados","tools.tools.zgroup.button":"Grupos del plugin(json)","tools.tools.zdevice.button":"Dispositivos del plugin","tools.tools.device.button":"Widgets de Domoticz","tools.tools.log.button":"Infos del plugin","tools.tools.infos.plugin.button":"Infos del plugin","tools.tools.coordinator.infos.button":"Infos de coordinador","tools.tools.plugin-health.button":"Salud del plugin","tools.tools.zdevice-name.button":"zDevice-name","tools.tools.domoticz-env.button":"domoticz-env","tools.tools.battery-state.button":"Estado de las bater\xedas","tools.tools.zgroup-list-available-device.button":"zGroup-lst-devices","tools.tools.settings.button":"Configuraciones","tools.tools.plugin-stat.button":"Tr\xe1fico","tools.command":"Comando","tools.debugcommand.title":"Comandos directos","tools.debugcommand.subtitle":"Permitir interactuar directamente con un dispositivo, con un conjunto de comandos basados en las capacidades del dispositivo
(1) Seleccione el dispositivo,
(2) Seleccione la acci\xf3n que desea realizar,
(3) Seleccione un tipo de dispositivo potencial que pueda influir en la forma de interactuar con el dispositivo,
(4) Opcionalmente, es posible que deba entrar un valor o seleccionar un color.","tools.debugcommand.device":"Seleccione el dispositivo","tools.debugcommand.button.cancel":"Anular","tools.debugcommand.action":"Seleccione la acci\xf3n","tools.debugcommand.type":"Seleccione tipo","tools.debugcommand.value":"Valor","tools.debugcommand.level.error":"entre 0 y 100","tools.debugcommand.effect.error":"entre 0x00 y 0xff","tools.debugcommand.button.send":"Enviar","tools.rawcommand-zigate.title":"Comandos de ZiGate(en bruto)","tools.rawcommand-zigate.subtitle":"Permitir enviar un comando el coordinador directamente a la zigate en modo bruto.
Debe seguir el protocolo ZiGate .","tools.rawcommand-zigate.command":"Tipo de mensaje","tools.rawcommand-zigate.error":"Entrada requerida","tools.rawcommand-zigate.payload":"Datos","tools.rawcommand-zigate.button.send":"Enviar","tools.rawcommand-zigpy.title":"ZigBee comando","tools.rawcommand-zigpy.subtitle":"Permitir enviar un comando el coordinador directamente a la zigate en modo bruto.","tools.rawcommand-zigpy.placeholder":"Seleccione un dispositivo","tools.rawcommand-zigpy.groupaddressflag":"GroupAddressFlag","tools.rawcommand-zigpy.ackmode":"AckMode","tools.rawcommand-zigpy.profileid":"ProfileId","tools.rawcommand-zigpy.clusterid":"ClusterId","tools.rawcommand-zigpy.sourceep":"SourceEp","tools.rawcommand-zigpy.targetep":"TargetEp","tools.rawcommand-zigpy.sqn":"Sqn","tools.rawcommand-zigpy.payload":"Datos","tools.rawcommand-zigpy.button.send":"Enviar","tools.reporting.configure":"Informes","tools.reporting.configure.title":"Configuraci\xf3n de informes","tools.reporting.configure.subtitle":"Configura un objeto para que env\xede autom\xe1ticamente los valores de uno (o m\xe1s) de sus atributos o que reciba informaci\xf3n.
Los campos Intervalo m\xednimo e Intervalo m\xe1ximo indican el rango de tiempo en segundos durante el cual el object enviar\xe1 el valor del atributo correspondiente. Los intervalos deben ser inferiores a 65534s (codificaci\xf3n de 16 bits).
El campo Delta indica la variaci\xf3n de valor que har\xe1 que se env\xeden los datos. Sin limitaci\xf3n en la longitud del campo. El signo ser\xe1 ignorado.
Para los atributos con un tipo de datos anal\xf3gico (ver 2.6.2), el campo tiene el mismo tipo de datos que el atributo.","tools.reporting.configure.trigger.button":"Trigger","tools.reporting.configure.reset.button":"Reset","tools.reporting.configure.validate.button":"Validar","tools.reporting.configure.device":"Seleccione un dispositivo","tools.reporting.configure.clusterId.column":"Cluster id","tools.reporting.configure.attributeId.column":"Attribute id","tools.reporting.configure.dataType.column":"Datatype","tools.reporting.configure.timeout.column":"Timeout","tools.reporting.configure.minInterval.column":"intervalo m\xednimo (segundos)","tools.reporting.configure.maxInterval.column":"intervalo m\xe1ximo (segundos)","tools.reporting.configure.change.column":"Diferencia","tools.reporting.configure.hexa.error":"Valor hexadecimal esperado","tools.reporting.configure.length.error":"Valor demasiado largo","tools.binding":"Uni\xf3n","tools.binding.title":"Uni\xf3n de dispositivo","tools.binding.subtitle":"Permitir la uni\xf3n en un cluster entre los dispositivos de origen y de destino
p.ej. Si desea vincular un sensor de temperatura con un actuador, La SourceIEEE/Ep ser\xe1 el sensor de temperatura, el DestIEEE/Ep ser\xe1 el actuador y el Cluster ser\xe1 0402 (Medida de temperatura)","tools.binding.sourceIeee":"IEEE de origen","tools.binding.error":"Entrada requerida","tools.binding.sourceEp":"Seleccionar dispositivo de origen","tools.binding.destIeee":"IEEE de destino","tools.binding.destEp":"Seleccionar dispositivo de destino","tools.binding.cluster":"Cluster","tools.binding.button.put":"Vincular","tools.unbinding.button.put":"Desvincular","tools.debug":"Debug","setting.header.VerboseLogging":"Detallado y registro","setting.subtitle.VerboseLogging":"Le permitir\xe1 activar/desactivar algunas funciones de registro (LOG) ","tools.debugsetting.help.legend":"Todas estas son configuraciones del plugin que se pueden actualizar.","tools.debugsetting.advanced.button":"Par\xe1metros avanzados","tools.debugsetting.normal.button":"Par\xe1metros est\xe1ndar","tools.debugsetting.validate.button":"Validar","tools.debugsetting.reinit.button":"Par\xe1metros (predeterminado)","tools.debugsetting.reloadplugin.alert.title":"Reinicio del plugin","tools.debugsetting.reloadplugin.alert.subject":"La configuraci\xf3n se ha actualizado, el plugin debe ser reiniciado","tools.debugsetting.reloadplugin.alert.cancel":"Cerrar","tools.error":"Error(es)","tools.error.log-history.button":"Historial de errores (json)","tools.error.log-history.clear":"Borrar historial de errores","error.popover.title":"Error(es) detectado(s)","error.popover.text":"Clic para ver el LOG","manufacturer":"Fabricantes","manufacturer.casaia":"Casa.ia","manufacturer.casaia.header":"t\xedtulo","manufacturer.casaia.subtitle":"subtitulo","manufacturer.casaia.placeholder":"marcador de posici\xf3n","manufacturer.casaia.nwkid":"nwkid","manufacturer.casaia.name":"nombre","manufacturer.casaia.ieee":"ieee","manufacturer.casaia.model":"modelo","manufacturer.casaia.ircode":"ircode","manufacturer.casaia.validate.button":"validar","manufacturer.zlinky.header":"Le Zlinky","manufacturer.zlinky.subtitle":"Liste les donn\xe9es r\xe9cup\xe9r\xe9es par le Zlinky s\xe9lectionn\xe9,","manufacturer.zlinky.placeholder":"Select Zlinky device","manufacturer.zlinky.key":"Designation","manufacturer.zlinky.value":"Value","manufacturer.zlinky.DateCode":"Code date","manufacturer.zlinky.SWBuildID":"SWBuildID","manufacturer.zlinky.ADC0":"Serial Number","manufacturer.zlinky.BASE":"Index Base","manufacturer.zlinky.OPTARIF":"Option tarifaire","manufacturer.zlinky.ISOUSC":"Intensit\xe9 souscrite","manufacturer.zlinky.HCHC":"Index HCHC","manufacturer.zlinky.HCHP":"Index HCHP","manufacturer.zlinky.EJPHN":"Index EJPHN","manufacturer.zlinky.EJPHPM":"Index EJPHPM","manufacturer.zlinky.BBRHCJB":"Index BBRHCJB","manufacturer.zlinky.BBRHPJB":"Index BBRHPJB","manufacturer.zlinky.BBRHCJW":"Index BBRHCJW","manufacturer.zlinky.BBRHPJW":"Index BBRHPJW","manufacturer.zlinky.BBRHCJR":"Index BBRHCJR","manufacturer.zlinky.BBRHPJR":"Index BBRHPJR","manufacturer.zlinky.IINST":"Courant efficace","manufacturer.zlinky.IINST1":"Courant efficace phase 1","manufacturer.zlinky.IINST2":"Courant efficace phase 2","manufacturer.zlinky.IINST3":"Courant efficace phase 3","manufacturer.zlinky.IMAX":"Intensit\xe9 maximale","manufacturer.zlinky.IMAX1":"Intensit\xe9 maximale phase 1","manufacturer.zlinky.IMAX2":"Intensit\xe9 maximale phase 2","manufacturer.zlinky.IMAX3":"Intensit\xe9 maximale phase 3","manufacturer.zlinky.PMAX":"Puissance maximale triphas\xe9e atteinte","manufacturer.zlinky.PAPP":"Puissance apparente","manufacturer.zlinky.PTEC":"Periode tarifaire en cours","manufacturer.zlinky.DEMAIN":"Couleur du lendemain","manufacturer.zlinky.HHPHC":"Horaire Heure Pleines Heures Creuses","manufacturer.zlinky.PPOT":"Pr\xe9sence des potentiels","manufacturer.zlinky.PEJP":"Pr\xe9avis d\xe9but EJP(30min)","manufacturer.zlinky.ADPS":"Avertissement de D\xe9passement De Puissance Souscrite","manufacturer.zlinky.ADIR1":"Avertissement de D\xe9passement D\'intensit\xe9 phase 1","manufacturer.zlinky.ADIR2":"Avertissement de D\xe9passement D\'intensit\xe9 phase 2","manufacturer.zlinky.ADIR3":"Avertissement de D\xe9passement D\'intensit\xe9 phase 3","manufacturer.zlinky.ADSC":"Adresse Secondaire du Compteur","manufacturer.zlinky.NGTF":"Nom du calendrier tarifaire fournisseur","manufacturer.zlinky.LTARF":"Libell\xe9 tarif fournisseur en cours","manufacturer.zlinky.NTARF":"Num\xe9ro de l\u2019index tarifaire en cours","manufacturer.zlinky.VTIC":"Version de la TIC","manufacturer.zlinky.DATE":"Date et heure courant","manufacturer.zlinky.EAST":"\xc9nergie active soutir\xe9e totale","manufacturer.zlinky.EASF01":"\xc9nergie active soutir\xe9e Fournisseur, index 01","manufacturer.zlinky.EASF02":"\xc9nergie active soutir\xe9e Fournisseur, index 02","manufacturer.zlinky.EASF03":"\xc9nergie active soutir\xe9e Fournisseur, index 03","manufacturer.zlinky.EASF04":"\xc9nergie active soutir\xe9e Fournisseur, index 04","manufacturer.zlinky.EASF05":"\xc9nergie active soutir\xe9e Fournisseur, index 05","manufacturer.zlinky.EASF06":"\xc9nergie active soutir\xe9e Fournisseur, index 06","manufacturer.zlinky.EASF07":"\xc9nergie active soutir\xe9e Fournisseur, index 07","manufacturer.zlinky.EASF08":"\xc9nergie active soutir\xe9e Fournisseur, index 08","manufacturer.zlinky.EASF09":"\xc9nergie active soutir\xe9e Fournisseur, index 09","manufacturer.zlinky.EASF10":"\xc9nergie active soutir\xe9e Fournisseur, index10","manufacturer.zlinky.EASD01":"\xc9nergie active soutir\xe9e Distributeur, index 01","manufacturer.zlinky.EASD02":"\xc9nergie active soutir\xe9e Distributeur, index 02","manufacturer.zlinky.EASD03":"\xc9nergie active soutir\xe9e Distributeur, index 03","manufacturer.zlinky.EASD04":"\xc9nergie active soutir\xe9e Distributeur, index 04","manufacturer.zlinky.EAIT":"\xc9nergie active inject\xe9e totale","manufacturer.zlinky.ERQ1":"\xc9nergie r\xe9active Q1 total","manufacturer.zlinky.ERQ2":"\xc9nergie r\xe9active Q2 total","manufacturer.zlinky.ERQ3":"\xc9nergie r\xe9active Q3 total","manufacturer.zlinky.ERQ4":"\xc9nergie r\xe9active Q4 total","manufacturer.zlinky.IRMS1":"Courant efficace, phase 1","manufacturer.zlinky.IRMS2":"Courant efficace, phase 21","manufacturer.zlinky.IRMS3":"Courant efficace, phase 3","manufacturer.zlinky.URMS1":"Tension efficace, phase 1","manufacturer.zlinky.URMS2":"Tension efficace, phase 2","manufacturer.zlinky.URMS3":"Tension efficace, phase 3","manufacturer.zlinky.PREF":"Puissance app. de r\xe9f\xe9rence (PREF)","manufacturer.zlinky.STGE":"Registre de Statuts","manufacturer.zlinky.PCOUP":"Puissance app. de coupure (PCOUP)","manufacturer.zlinky.SINSTI":"Puissance app. Instantan\xe9e inject\xe9e","manufacturer.zlinky.SMAXIN":"Puissance app max. inject\xe9e n","manufacturer.zlinky.SMAXIN-1":"Puissance app max. inject\xe9e n-1","manufacturer.zlinky.CCASN":"Point n de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCASN-1":"Point n-1 de la courbe de charge active soutir\xe9e","manufacturer.zlinky.CCAIN":"Point n de la courbe de charge active inject\xe9e","manufacturer.zlinky.CCAIN-1":"Point n-1 de la courbe de charge active inject\xe9e","manufacturer.zlinky.UMOY1":"Tension moy. ph. 1","manufacturer.zlinky.UMOY2":"Tension moy. ph. 2","manufacturer.zlinky.UMOY3":"Tension moy. ph. 3","manufacturer.zlinky.SINSTS":"Puissance app. Instantan\xe9e soutir\xe9e","manufacturer.zlinky.SINSTS1":"Puissance app. Instantan\xe9e soutir\xe9e ph.1","manufacturer.zlinky.SINSTS2":"Puissance app. Instantan\xe9e soutir\xe9e ph. 2","manufacturer.zlinky.SINSTS3":"Puissance app. Instantan\xe9e soutir\xe9e ph. 3","manufacturer.zlinky.SMAXN":"Puissance app. max. soutir\xe9e n","manufacturer.zlinky.SMAXN1":"Puissance app. max. soutir\xe9e n ph.1","manufacturer.zlinky.SMAXN2":"Puissance app. max. soutir\xe9e n ph. 2","manufacturer.zlinky.SMAXN3":"Puissance app. max. soutir\xe9e n ph. 3","manufacturer.zlinky.SMAXN-1":"Puissance app. max. soutir\xe9e n-1","manufacturer.zlinky.SMAXN1-1":"Puissance app. max. soutir\xe9e n-1 ph.1","manufacturer.zlinky.SMAXN2-1":"Puissance app. max. soutir\xe9e n-1 ph. 2","manufacturer.zlinky.SMAXN3-1":"Puissance app. max. soutir\xe9e n-1 ph. 3","manufacturer.zlinky.MSG1":"Message court","manufacturer.zlinky.MSG2":"Message ultra court","manufacturer.zlinky.PRM":"PRM","manufacturer.zlinky.DPM1":"D\xe9but Pointe Mobile 1","manufacturer.zlinky.FPM1":"Fin Pointe Mobile 1","manufacturer.zlinky.DPM2":"D\xe9but Pointe Mobile 2","manufacturer.zlinky.FPM2":"Fin Pointe Mobile 2","manufacturer.zlinky.DPM3":"D\xe9but Pointe Mobile 3","manufacturer.zlinky.FPM3":"Fin Pointe Mobile 3","manufacturer.zlinky.RELAIS":"RELAIS","manufacturer.zlinky.NJOURF":"Num\xe9ro du jour en cours calendrier fournisseur","manufacturer.zlinky.NJOURF+1":"Num\xe9ro du prochain jour calendrier fournisseur","manufacturer.zlinky.PJOURF+1":"Profil du prochain jour calendrier fournisseur","manufacturer.zlinky.PPOINTE1":"Profil du prochain jour de pointe","manufacturer.zlinky.PROTOCOL_LINKY_0":"Mode historique monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_1":"Mode standard monophas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_2":"Mode historique triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_3":"Mode standard triphas\xe9","manufacturer.zlinky.PROTOCOL_LINKY_5":"Mode standard monophas\xe9 producteur","manufacturer.zlinky.PROTOCOL_LINKY_7":"Mode standard triphas\xe9 producteur","ZigpyTopologyReport":"Enable the use of zigpy Topology Scanner","ZigpyTopologyReportAutoBackup":"Automaticaly backup auto-triggered Topology scan"}'),G=new pe("I18nService"),O="language";function f(d){return d}let a=(()=>{class d{translateService;defaultLanguage;supportedLanguages;langChangeSubscription;constructor(k){this.translateService=k,k.setTranslation("en-US",I),k.setTranslation("fr-FR",_),k.setTranslation("nl-NL",m),k.setTranslation("es-ES",w)}init(k,p){this.defaultLanguage=k,this.supportedLanguages=p,this.language="",this.langChangeSubscription=this.translateService.onLangChange.subscribe(T=>{localStorage.setItem(O,T.lang)})}destroy(){this.langChangeSubscription.unsubscribe()}set language(k){k=k||localStorage.getItem(O)||this.translateService.getBrowserCultureLang()||"";let p=this.supportedLanguages.some(T=>T.code===k);k&&!p&&(k=k.split("-")[0],p=!!(k=this.supportedLanguages.find(B=>B.code.startsWith(k))?.code||"")),p||(k=this.defaultLanguage),G.debug(`Language set to ${k}`),this.translateService.use(k)}get language(){return this.translateService.currentLang}static \u0275fac=function(p){return new(p||d)(ne.KVO(Le.c$))};static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})(),g=(()=>{class d extends V.b{shouldDetach(k){return!1}store(k,p){}shouldAttach(k){return!1}retrieve(k){return null}shouldReuseRoute(k,p){return k.routeConfig===p.routeConfig||k.data.reuse}static \u0275fac=(()=>{let k;return function(T){return(k||(k=ne.xGo(d)))(T||d)}})();static \u0275prov=ne.jDH({token:d,factory:d.\u0275fac})}return d})(),v=(()=>{class d{constructor(k){if(k)throw new Error(`${k} has already been loaded. Import Core module in the AppModule only.`)}static \u0275fac=function(p){return new(p||d)(ne.KVO(d,12))};static \u0275mod=ne.$C({type:d});static \u0275inj=ne.G2t({providers:[a,te,re,F,X,{provide:e.Qq,useClass:A},{provide:V.b,useClass:g}],imports:[M.MD,e.q1,Le.h,V.iI]})}return d})();var o=We(21413),n=We(56977);const r=Symbol("untilDestroyed");function l(d,C="ngOnDestroy"){return k=>{const p=d[C],T="function"==typeof p;if(!T)throw new Error(`${d.constructor.name} is using untilDestroyed but doesn't implement ${C}`);return d[r]||(d[r]=new o.B,d[C]=function(){T&&p.apply(this,arguments),d[r].next(),d[r].complete()}),k.pipe((0,n.Q)(d[r]))}}},3366:(ri,Bt,We)=>{"use strict";We.d(Bt,{G:()=>J});var M=We(21626),e=We(38117),V=We(34402),Le=We(18810),q=We(96354),ne=We(99437),re=We(54438),ve=We(45794),le=We(19664);const pe={devices:"/device",zDevices:"/zdevice",zdeviceRaw:"/zdevice-raw",zGroups:"/zgroup",settings:"/setting",settingsDebug:"/setting-debug",plugin:"/plugin",pluginStat:"/plugin-stat",nwkStat:"/nwk-stat",topologie:"/topologie",permitToJoin:"/permit-to-join",zdeviceName:"/zdevice-name",zgroupDevicesAvalaible:"/zgroup-list-available-device",reqTopology:"/req-topologie",reqInter:"/req-nwk-inter",swReset:"/sw-reset-coordinator",erasePDM:"/coordinator-erase-PDM",coordinator:"/coordinator",restartNeeded:"/restart-needed",domoticzEnv:"/domoticz-env",pluginHealth:"/plugin-health",rescanGroup:"/rescan-groups",reqNwkfull:"/req-nwk-full",pluginRestart:"/plugin-restart",devCommand:"/dev-command",devCap:"/dev-cap",newHardware:"/new-hrdwr/",receiveNewHardware:"/rcv-nw-hrdwr",binding:"/binding",unbinding:"/unbinding",rawCommand:"/raw-command",rawCommandZigpy:"/raw-zigbee",bindLSTcluster:"/bind-lst-cluster",bindLSTdevice:"/bind-lst-device",scanDeviceForGrp:"/scan-device-for-grp",logErrorHistory:"/log-error-history",clearErrorHistory:"/clear-error-history",otaFirmwareList:"/ota-firmware-list",otaFirmwareDeviceList:"/ota-firmware-device-list/",otaFirmwareUpdate:"/ota-firmware-update",casiaListDevices:"/casaia-list-devices",casiaIrcode:"/casaia-update-ircode",changeChannel:"/change-channel",pairingFullReset:"/full-reprovisionning",recreateWidgets:"/recreate-widgets",batteryState:"/battery-state",pluginUpgrade:"/plugin-upgrade",configureReporting:"/cfgrpt-ondemand-config",demandConfigureReporting:"/cfgrpt-ondemand",zlinky:"/zlinky",pluginLog:"/plugin-log",deviceNonOptimized:"/non-optmize-device-configuration"},ue=new e.Vy("ApiService");let J=(()=>{class te{httpClient;toastr;translate;constructor(E,j,F){this.httpClient=E,this.toastr=j,this.translate=F}downloadLog(E){return this.httpClient.disableApiPrefix().get(E,{observe:"response",responseType:"blob"}).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getPluginhealth(){return this.httpClient.get(pe.pluginHealth).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getDevices(){return this.httpClient.get(pe.devices).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getZDevices(E=!1){return this.httpClient.get(pe.zDevices).pipe((0,q.T)(j=>j.filter(F=>!(!E||"Coordinator"!==F.LogicalType)||"Coordinator"!==F.LogicalType||void 0)),(0,ne.W)(j=>this.handleError(j)))}getRawZDevices(E=!1){return this.httpClient.get(pe.zdeviceRaw).pipe((0,q.T)(j=>j.filter(F=>!E||!1===F.CertifiedDevice)),(0,ne.W)(j=>this.handleError(j)))}getRawZDevice(E){return this.httpClient.get(pe.zdeviceRaw+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getZGroups(){return this.httpClient.get(pe.zGroups).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getSettings(){return this.httpClient.get(pe.settings).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putSettings(E){return this.httpClient.put(pe.settings,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getSettingsDebug(){return this.httpClient.get(pe.settingsDebug).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putSettingsDebug(E){return this.httpClient.put(pe.settingsDebug,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getPlugin(){return this.httpClient.get(pe.plugin).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getPluginStats(){return this.httpClient.get(pe.pluginStat).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getLogErrorHistory(){return this.httpClient.get(pe.logErrorHistory).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}clearLogErrorHistory(){return this.httpClient.get(pe.clearErrorHistory).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getNwkStats(){return this.httpClient.get(pe.nwkStat).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getTopologie(){return this.httpClient.get(pe.topologie).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getReqTopologie(){return this.httpClient.get(pe.reqTopology).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getReqInter(){return this.httpClient.get(pe.reqInter).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getNwkFull(){return this.httpClient.get(pe.reqNwkfull).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getTopologieByTimeStamp(E){return this.httpClient.get(pe.topologie+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getNwkStatsByTimeStamp(E){return this.httpClient.get(pe.nwkStat+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}deleteTopologieByTimeStamp(E){return this.httpClient.delete(pe.topologie+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}deleteNwkStatsByTimeStamp(E){return this.httpClient.delete(pe.nwkStat+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getPermitToJoin(){return this.httpClient.get(pe.permitToJoin).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putPermitToJoin(E){return this.httpClient.put(pe.permitToJoin,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getZDeviceName(){return this.httpClient.get(pe.zdeviceName).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putZDeviceName(E){return this.httpClient.put(pe.zdeviceName,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}deleteZDeviceName(E){return this.httpClient.delete(pe.zdeviceName+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getZGroupDevicesAvalaible(){return this.httpClient.get(pe.zgroupDevicesAvalaible).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putZGroups(E){return this.httpClient.put(pe.zGroups,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getCoordinator(){return this.httpClient.get(pe.coordinator).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getSwReset(){return this.httpClient.get(pe.swReset).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getRescanGroup(){return this.httpClient.get(pe.rescanGroup).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getErasePDM(){return this.httpClient.get(pe.erasePDM).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getReloadPlugin(){return this.httpClient.get(pe.pluginRestart).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getUpgradePlugin(){return this.httpClient.get(pe.pluginUpgrade).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getReloadPluginOld(E,j){const F=j.proto+"://"+j.WebUserName+":"+j.WebPassword+"@"+j.host+":"+j.port+"/json.htm?type=command¶m=updatehardware&htype=94&idx="+E.HardwareID+"&name="+E.Name+"&username="+j.WebUserName+"&password="+j.WebPassword+"&address="+E.Address+"&port="+E.Port+"&serialport="+E.SerialPort+"&Mode1="+E.Mode1+"&Mode2="+E.Mode2+"&Mode3="+E.Mode3+"&Mode4="+E.Mode4+"&Mode5="+E.Mode5+"&Mode6="+E.Mode6+"&extra="+E.Key+"&enabled=true&datatimeout=0",P={headers:new M.Lr({"Access-Control-Allow-Origin":"*","Content-Type":"text/plain"})};return this.httpClient.disableApiPrefix().get(F,P).pipe((0,q.T)(D=>D),(0,ne.W)(D=>this.handleError(D)))}getRestartNeeded(){return this.httpClient.get(pe.restartNeeded).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getDomoticzEnv(){return this.httpClient.get(pe.domoticzEnv).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getDevCap(E){return this.httpClient.get(pe.devCap+"/"+E).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}putDevCommand(E){return this.httpClient.put(pe.devCommand,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getNewHardware(E){return this.httpClient.get(pe.newHardware+(E?"enable":"disable")).pipe((0,q.T)(P=>P),(0,ne.W)(P=>this.handleError(P)))}getReceiveNewHardware(){return this.httpClient.get(pe.receiveNewHardware).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putBinding(E){return this.httpClient.put(pe.binding,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putCommandRaw(E){return this.httpClient.put(pe.rawCommand,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putCommandRawZigpy(E){return this.httpClient.put(pe.rawCommandZigpy,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getBindLSTcluster(){return this.httpClient.get(pe.bindLSTcluster).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getBindLSTdevice(E){return this.httpClient.get(pe.bindLSTdevice+"/"+E).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}putUnBinding(E){return this.httpClient.put(pe.unbinding,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putScanDeviceForGrp(E){return this.httpClient.put(pe.scanDeviceForGrp,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getOtaFirmware(){return this.httpClient.get(pe.otaFirmwareList).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getDeviceByOtaFirmware(E){return this.httpClient.get(pe.otaFirmwareDeviceList.concat(E)).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putOtaFirmware(E){return this.httpClient.put(pe.otaFirmwareUpdate,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getCasiaDevices(){return this.httpClient.get(pe.casiaListDevices).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}putCasiaIrcode(E){return this.httpClient.put(pe.casiaIrcode,E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putChangeChannel(E){return this.httpClient.put(pe.changeChannel,{Channel:E}).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}putPairingFullReset(E){return this.httpClient.put(pe.pairingFullReset,{NWKID:E}).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}putRecreateWidgets(E){return this.httpClient.put(pe.recreateWidgets,{NWKID:E}).pipe((0,q.T)(F=>F),(0,ne.W)(F=>this.handleError(F)))}getBatteryState(){return this.httpClient.get(pe.batteryState).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getTriggerConfigureReporting(E){return this.httpClient.get(pe.demandConfigureReporting+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getConfigureReporting(E){return this.httpClient.get(pe.configureReporting+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}putConfigureReporting(E,j){const F=new V.ff;return F.Nwkid=E,F.Clusters=j,this.httpClient.put(pe.configureReporting,F).pipe((0,q.T)(P=>P),(0,ne.W)(P=>this.handleError(P)))}deleteConfigureReporting(E){return this.httpClient.delete(pe.configureReporting+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}getZlinky(){return this.httpClient.get(pe.zlinky).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getLog(){return this.httpClient.get(pe.pluginLog).pipe((0,q.T)(E=>E),(0,ne.W)(E=>this.handleError(E)))}getNonOptimizedDevice(E){return this.httpClient.get(pe.deviceNonOptimized+"/"+E).pipe((0,q.T)(j=>j),(0,ne.W)(j=>this.handleError(j)))}handleError(E){return ue.error(E),this.toastr.error(E.status+" "+E.statusText,this.translate.instant("api.global.error.notify")),(0,Le.$)(E)}static \u0275fac=function(j){return new(j||te)(re.KVO(M.Qq),re.KVO(ve.tw),re.KVO(le.c$))};static \u0275prov=re.jDH({token:te,factory:te.\u0275fac,providedIn:"root"})}return te})()},38852:(ri,Bt,We)=>{"use strict";We.d(Bt,{d:()=>V});var M=We(84412),e=We(54438);let V=(()=>{class Le{restart=new M.t(!1);showManufacturerCasaia=new M.t(!1);showManufacturerZlinky=new M.t(!1);logError=new M.t(!1);polling=new M.t(!1);constructor(){}setRestart(ne){this.restart.next(ne)}setShowManufacturerCasaia(ne){this.showManufacturerCasaia.next(ne)}setShowManufacturerZlinky(ne){this.showManufacturerZlinky.next(ne)}setError(ne){this.logError.next(ne)}setPolling(ne){this.polling.next(ne)}static \u0275fac=function(re){return new(re||Le)};static \u0275prov=e.jDH({token:Le,factory:Le.\u0275fac,providedIn:"root"})}return Le})()},28990:(ri,Bt,We)=>{"use strict";We.d(Bt,{U:()=>Le});var e=function(){function q(){this._subs=[]}return q.prototype.add=function(){for(var ne=[],re=0;re{class q{subs=new e;ngOnDestroy(){this.subs.unsubscribe()}static \u0275fac=function(ve){return new(ve||q)};static \u0275dir=V.FsC({type:q})}return q})()},34402:(ri,Bt,We)=>{"use strict";We.d(Bt,{E0:()=>q,ff:()=>Le});class Le{Nwkid;Clusters}class q{clusterId;attributeId;dataType;timeOut;minInterval;maxInterval;change}},93887:(ri,Bt,We)=>{"use strict";We.d(Bt,{G:()=>J});var M=We(60177),e=We(89417),V=We(88652),Le=We(97013),q=We(19664),ne=We(36554),re=We(46247),ve=We(81141),le=We(22242),pe=We(41570),ue=We(54438);let J=(()=>{class te{static \u0275fac=function(j){return new(j||te)};static \u0275mod=ue.$C({type:te});static \u0275inj=ue.G2t({providers:[M.vh],imports:[M.MD,Le.MQ,q.h,M.MD,e.X1,e.YN,V.UN,Le.MQ,q.h,re.bG,pe.P,le.u,ve.tm,ne.PO]})}return te})()},20546:(ri,Bt,We)=>{"use strict";We.d(Bt,{c:()=>e});const e={production:!0,version:"1.0.0",defaultLanguage:"en-US",supportedLanguages:[{code:"en-US",flag:"flag_uk.png"},{code:"fr-FR",flag:"flag_france.png"},{code:"nl-NL",flag:"flag_netherlands.png"},{code:"es-ES",flag:"flag_spain.png"}],api_url:"/rest-z4d/1",keysBoundActive:["alt.z","z>i>g"],refresh:7e3,linkToConsent:"https://github.com/zigbeefordomoticz/wiki",siteId:"3"}},96575:(ri,Bt,We)=>{"use strict";var M=We(345),e=We(54438),V=We(83801),Le=We(21626),q=We(49969);function re(c){return new e.wOt(3e3,!1)}function se(c){switch(c.length){case 0:return new q.sf;case 1:return c[0];default:return new q.ui(c)}}function S(c,y,i=new Map,b=new Map){const W=[],ce=[];let ke=-1,Ve=null;if(y.forEach(Ze=>{const tt=Ze.get("offset"),bt=tt==ke,Mt=bt&&Ve||new Map;Ze.forEach((Lt,Wt)=>{let Zt=Wt,hi=Lt;if("offset"!==Wt)switch(Zt=c.normalizePropertyName(Zt,W),hi){case q.FX:hi=i.get(Wt);break;case q.kp:hi=b.get(Wt);break;default:hi=c.normalizeStyleValue(Wt,Zt,hi,W)}Mt.set(Zt,hi)}),bt||ce.push(Mt),Ve=Mt,ke=tt}),W.length)throw function o(c){return new e.wOt(3502,!1)}();return ce}function $(c,y,i,b){switch(y){case"start":c.onStart(()=>b(i&&H(i,"start",c)));break;case"done":c.onDone(()=>b(i&&H(i,"done",c)));break;case"destroy":c.onDestroy(()=>b(i&&H(i,"destroy",c)))}}function H(c,y,i){const ce=x(c.element,c.triggerName,c.fromState,c.toState,y||c.phaseName,i.totalTime??c.totalTime,!!i.disabled),ke=c._data;return null!=ke&&(ce._data=ke),ce}function x(c,y,i,b,W="",ce=0,ke){return{element:c,triggerName:y,fromState:i,toState:b,phaseName:W,totalTime:ce,disabled:!!ke}}function N(c,y,i){let b=c.get(y);return b||c.set(y,b=i),b}function R(c){const y=c.indexOf(":");return[c.substring(1,y),c.slice(y+1)]}const Z=typeof document>"u"?null:document.documentElement;function Y(c){const y=c.parentNode||c.host||null;return y===Z?null:y}let ge=null,_e=!1;function Be(c,y){for(;y;){if(y===c)return!0;y=Y(y)}return!1}function oe(c,y,i){if(i)return Array.from(c.querySelectorAll(y));const b=c.querySelector(y);return b?[b]:[]}let be=(()=>{class c{validateStyleProperty(i){return function Te(c){ge||(ge=function De(){return typeof document<"u"?document.body:null}()||{},_e=!!ge.style&&"WebkitAppearance"in ge.style);let y=!0;return ge.style&&!function he(c){return"ebkit"==c.substring(1,6)}(c)&&(y=c in ge.style,!y&&_e&&(y="Webkit"+c.charAt(0).toUpperCase()+c.slice(1)in ge.style)),y}(i)}matchesElement(i,b){return!1}containsElement(i,b){return Be(i,b)}getParentElement(i){return Y(i)}query(i,b,W){return oe(i,b,W)}computeStyle(i,b,W){return W||""}animate(i,b,W,ce,ke,Ve=[],Ze){return new q.sf(W,ce)}static#e=this.\u0275fac=function(b){return new(b||c)};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac})}return c})();class xe{static#e=this.NOOP=new be}class Ie{}const Ee=1e3,Je="ng-enter",lt="ng-leave",qe="ng-trigger",st=".ng-trigger",Tt="ng-animating",pt=".ng-animating";function ht(c){if("number"==typeof c)return c;const y=c.match(/^(-?[\.\d]+)(m?s)/);return!y||y.length<2?0:Pt(parseFloat(y[1]),y[2])}function Pt(c,y){return"s"===y?c*Ee:c}function Gt(c,y,i){return c.hasOwnProperty("duration")?c:function ti(c,y,i){let W,ce=0,ke="";if("string"==typeof c){const Ve=c.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===Ve)return y.push(re()),{duration:0,delay:0,easing:""};W=Pt(parseFloat(Ve[1]),Ve[2]);const Ze=Ve[3];null!=Ze&&(ce=Pt(parseFloat(Ze),Ve[4]));const tt=Ve[5];tt&&(ke=tt)}else W=c;if(!i){let Ve=!1,Ze=y.length;W<0&&(y.push(function ve(){return new e.wOt(3100,!1)}()),Ve=!0),ce<0&&(y.push(function le(){return new e.wOt(3101,!1)}()),Ve=!0),Ve&&y.splice(Ze,0,re())}return{duration:W,delay:ce,easing:ke}}(c,y,i)}function xt(c,y,i){y.forEach((b,W)=>{const ce=gs(W);i&&!i.has(W)&&i.set(W,c.style[ce]),c.style[ce]=b})}function wt(c,y){y.forEach((i,b)=>{const W=gs(b);c.style[W]=""})}function Qt(c){return Array.isArray(c)?1==c.length?c[0]:(0,q.K2)(c):c}const Ni=new RegExp("{{\\s*(.+?)\\s*}}","g");function mi(c){let y=[];if("string"==typeof c){let i;for(;i=Ni.exec(c);)y.push(i[1]);Ni.lastIndex=0}return y}function vi(c,y,i){const b=`${c}`,W=b.replace(Ni,(ce,ke)=>{let Ve=y[ke];return null==Ve&&(i.push(function ue(c){return new e.wOt(3003,!1)}()),Ve=""),Ve.toString()});return W==b?c:W}const zi=/-+([a-z0-9])/g;function gs(c){return c.replace(zi,(...y)=>y[1].toUpperCase())}function Ln(c,y,i){switch(y.type){case q.If.Trigger:return c.visitTrigger(y,i);case q.If.State:return c.visitState(y,i);case q.If.Transition:return c.visitTransition(y,i);case q.If.Sequence:return c.visitSequence(y,i);case q.If.Group:return c.visitGroup(y,i);case q.If.Animate:return c.visitAnimate(y,i);case q.If.Keyframes:return c.visitKeyframes(y,i);case q.If.Style:return c.visitStyle(y,i);case q.If.Reference:return c.visitReference(y,i);case q.If.AnimateChild:return c.visitAnimateChild(y,i);case q.If.AnimateRef:return c.visitAnimateRef(y,i);case q.If.Query:return c.visitQuery(y,i);case q.If.Stagger:return c.visitStagger(y,i);default:throw function J(c){return new e.wOt(3004,!1)}()}}function fn(c,y){return window.getComputedStyle(c)[y]}const ki=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class Cs extends Ie{normalizePropertyName(y,i){return gs(y)}normalizeStyleValue(y,i,b,W){let ce="";const ke=b.toString().trim();if(ki.has(i)&&0!==b&&"0"!==b)if("number"==typeof b)ce="px";else{const Ve=b.match(/^[+-]?[\d\.]+([a-z]*)$/);Ve&&0==Ve[1].length&&W.push(function te(c,y){return new e.wOt(3005,!1)}())}return ke+ce}}const On="*";const Cr=new Set(["true","1"]),St=new Set(["false","0"]);function Rt(c,y){const i=Cr.has(c)||St.has(c),b=Cr.has(y)||St.has(y);return(W,ce)=>{let ke=c==On||c==W,Ve=y==On||y==ce;return!ke&&i&&"boolean"==typeof W&&(ke=W?Cr.has(c):St.has(c)),!Ve&&b&&"boolean"==typeof ce&&(Ve=ce?Cr.has(y):St.has(y)),ke&&Ve}}const mt=new RegExp("s*:selfs*,?","g");function _t(c,y,i,b){return new yt(c).build(y,i,b)}class yt{constructor(y){this._driver=y}build(y,i,b){const W=new si(i);return this._resetContextStyleTimingState(W),Ln(this,Qt(y),W)}_resetContextStyleTimingState(y){y.currentQuerySelector="",y.collectedStyles=new Map,y.collectedStyles.set("",new Map),y.currentTime=0}visitTrigger(y,i){let b=i.queryCount=0,W=i.depCount=0;const ce=[],ke=[];return"@"==y.name.charAt(0)&&i.errors.push(function X(){return new e.wOt(3006,!1)}()),y.definitions.forEach(Ve=>{if(this._resetContextStyleTimingState(i),Ve.type==q.If.State){const Ze=Ve,tt=Ze.name;tt.toString().split(/\s*,\s*/).forEach(bt=>{Ze.name=bt,ce.push(this.visitState(Ze,i))}),Ze.name=tt}else if(Ve.type==q.If.Transition){const Ze=this.visitTransition(Ve,i);b+=Ze.queryCount,W+=Ze.depCount,ke.push(Ze)}else i.errors.push(function E(){return new e.wOt(3007,!1)}())}),{type:q.If.Trigger,name:y.name,states:ce,transitions:ke,queryCount:b,depCount:W,options:null}}visitState(y,i){const b=this.visitStyle(y.styles,i),W=y.options&&y.options.params||null;if(b.containsDynamicStyles){const ce=new Set,ke=W||{};b.styles.forEach(Ve=>{Ve instanceof Map&&Ve.forEach(Ze=>{mi(Ze).forEach(tt=>{ke.hasOwnProperty(tt)||ce.add(tt)})})}),ce.size&&i.errors.push(function j(c,y){return new e.wOt(3008,!1)}(0,ce.values()))}return{type:q.If.State,name:y.name,style:b,options:W?{params:W}:null}}visitTransition(y,i){i.queryCount=0,i.depCount=0;const b=Ln(this,Qt(y.animation),i),W=function ar(c,y){const i=[];return"string"==typeof c?c.split(/\s*,\s*/).forEach(b=>function To(c,y,i){if(":"==c[0]){const Ze=function Wr(c,y){switch(c){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(i,b)=>parseFloat(b)>parseFloat(i);case":decrement":return(i,b)=>parseFloat(b) *"}}(c,i);if("function"==typeof Ze)return void y.push(Ze);c=Ze}const b=c.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==b||b.length<4)return i.push(function O(c){return new e.wOt(3015,!1)}()),y;const W=b[1],ce=b[2],ke=b[3];y.push(Rt(W,ke)),"<"==ce[0]&&(W!=On||ke!=On)&&y.push(Rt(ke,W))}(b,i,y)):i.push(c),i}(y.expr,i.errors);return{type:q.If.Transition,matchers:W,animation:b,queryCount:i.queryCount,depCount:i.depCount,options:Ki(y.options)}}visitSequence(y,i){return{type:q.If.Sequence,steps:y.steps.map(b=>Ln(this,b,i)),options:Ki(y.options)}}visitGroup(y,i){const b=i.currentTime;let W=0;const ce=y.steps.map(ke=>{i.currentTime=b;const Ve=Ln(this,ke,i);return W=Math.max(W,i.currentTime),Ve});return i.currentTime=W,{type:q.If.Group,steps:ce,options:Ki(y.options)}}visitAnimate(y,i){const b=function qi(c,y){if(c.hasOwnProperty("duration"))return c;if("number"==typeof c)return ls(Gt(c,y).duration,0,"");const i=c;if(i.split(/\s+/).some(ce=>"{"==ce.charAt(0)&&"{"==ce.charAt(1))){const ce=ls(0,0,"");return ce.dynamic=!0,ce.strValue=i,ce}const W=Gt(i,y);return ls(W.duration,W.delay,W.easing)}(y.timings,i.errors);i.currentAnimateTimings=b;let W,ce=y.styles?y.styles:(0,q.iF)({});if(ce.type==q.If.Keyframes)W=this.visitKeyframes(ce,i);else{let ke=y.styles,Ve=!1;if(!ke){Ve=!0;const tt={};b.easing&&(tt.easing=b.easing),ke=(0,q.iF)(tt)}i.currentTime+=b.duration+b.delay;const Ze=this.visitStyle(ke,i);Ze.isEmptyStep=Ve,W=Ze}return i.currentAnimateTimings=null,{type:q.If.Animate,timings:b,style:W,options:null}}visitStyle(y,i){const b=this._makeStyleAst(y,i);return this._validateStyleAst(b,i),b}_makeStyleAst(y,i){const b=[],W=Array.isArray(y.styles)?y.styles:[y.styles];for(let Ve of W)"string"==typeof Ve?Ve===q.kp?b.push(Ve):i.errors.push(new e.wOt(3002,!1)):b.push(new Map(Object.entries(Ve)));let ce=!1,ke=null;return b.forEach(Ve=>{if(Ve instanceof Map&&(Ve.has("easing")&&(ke=Ve.get("easing"),Ve.delete("easing")),!ce))for(let Ze of Ve.values())if(Ze.toString().indexOf("{{")>=0){ce=!0;break}}),{type:q.If.Style,styles:b,easing:ke,offset:y.offset,containsDynamicStyles:ce,options:null}}_validateStyleAst(y,i){const b=i.currentAnimateTimings;let W=i.currentTime,ce=i.currentTime;b&&ce>0&&(ce-=b.duration+b.delay),y.styles.forEach(ke=>{"string"!=typeof ke&&ke.forEach((Ve,Ze)=>{const tt=i.collectedStyles.get(i.currentQuerySelector),bt=tt.get(Ze);let Mt=!0;bt&&(ce!=W&&ce>=bt.startTime&&W<=bt.endTime&&(i.errors.push(function D(c,y,i,b,W){return new e.wOt(3010,!1)}()),Mt=!1),ce=bt.startTime),Mt&&tt.set(Ze,{startTime:ce,endTime:W}),i.options&&function di(c,y,i){const b=y.params||{},W=mi(c);W.length&&W.forEach(ce=>{b.hasOwnProperty(ce)||i.push(function pe(c){return new e.wOt(3001,!1)}())})}(Ve,i.options,i.errors)})})}visitKeyframes(y,i){const b={type:q.If.Keyframes,styles:[],options:null};if(!i.currentAnimateTimings)return i.errors.push(function A(){return new e.wOt(3011,!1)}()),b;let ce=0;const ke=[];let Ve=!1,Ze=!1,tt=0;const bt=y.steps.map(ui=>{const yi=this._makeStyleAst(ui,i);let fi=null!=yi.offset?yi.offset:function Di(c){if("string"==typeof c)return null;let y=null;if(Array.isArray(c))c.forEach(i=>{if(i instanceof Map&&i.has("offset")){const b=i;y=parseFloat(b.get("offset")),b.delete("offset")}});else if(c instanceof Map&&c.has("offset")){const i=c;y=parseFloat(i.get("offset")),i.delete("offset")}return y}(yi.styles),Ti=0;return null!=fi&&(ce++,Ti=yi.offset=fi),Ze=Ze||Ti<0||Ti>1,Ve=Ve||Ti0&&ce{const fi=Lt>0?yi==Wt?1:Lt*yi:ke[yi],Ti=fi*Yt;i.currentTime=Zt+hi.delay+Ti,hi.duration=Ti,this._validateStyleAst(ui,i),ui.offset=fi,b.styles.push(ui)}),b}visitReference(y,i){return{type:q.If.Reference,animation:Ln(this,Qt(y.animation),i),options:Ki(y.options)}}visitAnimateChild(y,i){return i.depCount++,{type:q.If.AnimateChild,options:Ki(y.options)}}visitAnimateRef(y,i){return{type:q.If.AnimateRef,animation:this.visitReference(y.animation,i),options:Ki(y.options)}}visitQuery(y,i){const b=i.currentQuerySelector,W=y.options||{};i.queryCount++,i.currentQuery=y;const[ce,ke]=function At(c){const y=!!c.split(/\s*,\s*/).find(i=>":self"==i);return y&&(c=c.replace(mt,"")),c=c.replace(/@\*/g,st).replace(/@\w+/g,i=>st+"-"+i.slice(1)).replace(/:animating/g,pt),[c,y]}(y.selector);i.currentQuerySelector=b.length?b+" "+ce:ce,N(i.collectedStyles,i.currentQuerySelector,new Map);const Ve=Ln(this,Qt(y.animation),i);return i.currentQuery=null,i.currentQuerySelector=b,{type:q.If.Query,selector:ce,limit:W.limit||0,optional:!!W.optional,includeSelf:ke,animation:Ve,originalSelector:y.selector,options:Ki(y.options)}}visitStagger(y,i){i.currentQuery||i.errors.push(function w(){return new e.wOt(3013,!1)}());const b="full"===y.timings?{duration:0,delay:0,easing:"full"}:Gt(y.timings,i.errors,!0);return{type:q.If.Stagger,animation:Ln(this,Qt(y.animation),i),timings:b,options:null}}}class si{constructor(y){this.errors=y,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Ki(c){return c?(c={...c}).params&&(c.params=function $t(c){return c?{...c}:null}(c.params)):c={},c}function ls(c,y,i){return{duration:c,delay:y,easing:i}}function Hn(c,y,i,b,W,ce,ke=null,Ve=!1){return{type:1,element:c,keyframes:y,preStyleProps:i,postStyleProps:b,duration:W,delay:ce,totalTime:W+ce,easing:ke,subTimeline:Ve}}class tn{constructor(){this._map=new Map}get(y){return this._map.get(y)||[]}append(y,i){let b=this._map.get(y);b||this._map.set(y,b=[]),b.push(...i)}has(y){return this._map.has(y)}clear(){this._map.clear()}}const sn=new RegExp(":enter","g"),Er=new RegExp(":leave","g");function bs(c,y,i,b,W,ce=new Map,ke=new Map,Ve,Ze,tt=[]){return(new Un).buildKeyframes(c,y,i,b,W,ce,ke,Ve,Ze,tt)}class Un{buildKeyframes(y,i,b,W,ce,ke,Ve,Ze,tt,bt=[]){tt=tt||new tn;const Mt=new Ui(y,i,tt,W,ce,bt,[]);Mt.options=Ze;const Lt=Ze.delay?ht(Ze.delay):0;Mt.currentTimeline.delayNextStep(Lt),Mt.currentTimeline.setStyles([ke],null,Mt.errors,Ze),Ln(this,b,Mt);const Wt=Mt.timelines.filter(Zt=>Zt.containsAnimation());if(Wt.length&&Ve.size){let Zt;for(let hi=Wt.length-1;hi>=0;hi--){const Yt=Wt[hi];if(Yt.element===i){Zt=Yt;break}}Zt&&!Zt.allowOnlyTimelineStyles()&&Zt.setStyles([Ve],null,Mt.errors,Ze)}return Wt.length?Wt.map(Zt=>Zt.buildKeyframes()):[Hn(i,[],[],[],0,Lt,"",!1)]}visitTrigger(y,i){}visitState(y,i){}visitTransition(y,i){}visitAnimateChild(y,i){const b=i.subInstructions.get(i.element);if(b){const W=i.createSubContext(y.options),ce=i.currentTimeline.currentTime,ke=this._visitSubInstructions(b,W,W.options);ce!=ke&&i.transformIntoNewTimeline(ke)}i.previousNode=y}visitAnimateRef(y,i){const b=i.createSubContext(y.options);b.transformIntoNewTimeline(),this._applyAnimationRefDelays([y.options,y.animation.options],i,b),this.visitReference(y.animation,b),i.transformIntoNewTimeline(b.currentTimeline.currentTime),i.previousNode=y}_applyAnimationRefDelays(y,i,b){for(const W of y){const ce=W?.delay;if(ce){const ke="number"==typeof ce?ce:ht(vi(ce,W?.params??{},i.errors));b.delayNextStep(ke)}}}_visitSubInstructions(y,i,b){let ce=i.currentTimeline.currentTime;const ke=null!=b.duration?ht(b.duration):null,Ve=null!=b.delay?ht(b.delay):null;return 0!==ke&&y.forEach(Ze=>{const tt=i.appendInstructionToTimeline(Ze,ke,Ve);ce=Math.max(ce,tt.duration+tt.delay)}),ce}visitReference(y,i){i.updateOptions(y.options,!0),Ln(this,y.animation,i),i.previousNode=y}visitSequence(y,i){const b=i.subContextCount;let W=i;const ce=y.options;if(ce&&(ce.params||ce.delay)&&(W=i.createSubContext(ce),W.transformIntoNewTimeline(),null!=ce.delay)){W.previousNode.type==q.If.Style&&(W.currentTimeline.snapshotCurrentStyles(),W.previousNode=pr);const ke=ht(ce.delay);W.delayNextStep(ke)}y.steps.length&&(y.steps.forEach(ke=>Ln(this,ke,W)),W.currentTimeline.applyStylesToKeyframe(),W.subContextCount>b&&W.transformIntoNewTimeline()),i.previousNode=y}visitGroup(y,i){const b=[];let W=i.currentTimeline.currentTime;const ce=y.options&&y.options.delay?ht(y.options.delay):0;y.steps.forEach(ke=>{const Ve=i.createSubContext(y.options);ce&&Ve.delayNextStep(ce),Ln(this,ke,Ve),W=Math.max(W,Ve.currentTimeline.currentTime),b.push(Ve.currentTimeline)}),b.forEach(ke=>i.currentTimeline.mergeTimelineCollectedStyles(ke)),i.transformIntoNewTimeline(W),i.previousNode=y}_visitTiming(y,i){if(y.dynamic){const b=y.strValue;return Gt(i.params?vi(b,i.params,i.errors):b,i.errors)}return{duration:y.duration,delay:y.delay,easing:y.easing}}visitAnimate(y,i){const b=i.currentAnimateTimings=this._visitTiming(y.timings,i),W=i.currentTimeline;b.delay&&(i.incrementTime(b.delay),W.snapshotCurrentStyles());const ce=y.style;ce.type==q.If.Keyframes?this.visitKeyframes(ce,i):(i.incrementTime(b.duration),this.visitStyle(ce,i),W.applyStylesToKeyframe()),i.currentAnimateTimings=null,i.previousNode=y}visitStyle(y,i){const b=i.currentTimeline,W=i.currentAnimateTimings;!W&&b.hasCurrentStyleProperties()&&b.forwardFrame();const ce=W&&W.easing||y.easing;y.isEmptyStep?b.applyEmptyStep(ce):b.setStyles(y.styles,ce,i.errors,i.options),i.previousNode=y}visitKeyframes(y,i){const b=i.currentAnimateTimings,W=i.currentTimeline.duration,ce=b.duration,Ve=i.createSubContext().currentTimeline;Ve.easing=b.easing,y.styles.forEach(Ze=>{Ve.forwardTime((Ze.offset||0)*ce),Ve.setStyles(Ze.styles,Ze.easing,i.errors,i.options),Ve.applyStylesToKeyframe()}),i.currentTimeline.mergeTimelineCollectedStyles(Ve),i.transformIntoNewTimeline(W+ce),i.previousNode=y}visitQuery(y,i){const b=i.currentTimeline.currentTime,W=y.options||{},ce=W.delay?ht(W.delay):0;ce&&(i.previousNode.type===q.If.Style||0==b&&i.currentTimeline.hasCurrentStyleProperties())&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=pr);let ke=b;const Ve=i.invokeQuery(y.selector,y.originalSelector,y.limit,y.includeSelf,!!W.optional,i.errors);i.currentQueryTotal=Ve.length;let Ze=null;Ve.forEach((tt,bt)=>{i.currentQueryIndex=bt;const Mt=i.createSubContext(y.options,tt);ce&&Mt.delayNextStep(ce),tt===i.element&&(Ze=Mt.currentTimeline),Ln(this,y.animation,Mt),Mt.currentTimeline.applyStylesToKeyframe(),ke=Math.max(ke,Mt.currentTimeline.currentTime)}),i.currentQueryIndex=0,i.currentQueryTotal=0,i.transformIntoNewTimeline(ke),Ze&&(i.currentTimeline.mergeTimelineCollectedStyles(Ze),i.currentTimeline.snapshotCurrentStyles()),i.previousNode=y}visitStagger(y,i){const b=i.parentContext,W=i.currentTimeline,ce=y.timings,ke=Math.abs(ce.duration),Ve=ke*(i.currentQueryTotal-1);let Ze=ke*i.currentQueryIndex;switch(ce.duration<0?"reverse":ce.easing){case"reverse":Ze=Ve-Ze;break;case"full":Ze=b.currentStaggerTime}const bt=i.currentTimeline;Ze&&bt.delayNextStep(Ze);const Mt=bt.currentTime;Ln(this,y.animation,i),i.previousNode=y,b.currentStaggerTime=W.currentTime-Mt+(W.startTime-b.currentTimeline.startTime)}}const pr={};class Ui{constructor(y,i,b,W,ce,ke,Ve,Ze){this._driver=y,this.element=i,this.subInstructions=b,this._enterClassName=W,this._leaveClassName=ce,this.errors=ke,this.timelines=Ve,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=pr,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=Ze||new ln(this._driver,i,0),Ve.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(y,i){if(!y)return;const b=y;let W=this.options;null!=b.duration&&(W.duration=ht(b.duration)),null!=b.delay&&(W.delay=ht(b.delay));const ce=b.params;if(ce){let ke=W.params;ke||(ke=this.options.params={}),Object.keys(ce).forEach(Ve=>{(!i||!ke.hasOwnProperty(Ve))&&(ke[Ve]=vi(ce[Ve],ke,this.errors))})}}_copyOptions(){const y={};if(this.options){const i=this.options.params;if(i){const b=y.params={};Object.keys(i).forEach(W=>{b[W]=i[W]})}}return y}createSubContext(y=null,i,b){const W=i||this.element,ce=new Ui(this._driver,W,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(W,b||0));return ce.previousNode=this.previousNode,ce.currentAnimateTimings=this.currentAnimateTimings,ce.options=this._copyOptions(),ce.updateOptions(y),ce.currentQueryIndex=this.currentQueryIndex,ce.currentQueryTotal=this.currentQueryTotal,ce.parentContext=this,this.subContextCount++,ce}transformIntoNewTimeline(y){return this.previousNode=pr,this.currentTimeline=this.currentTimeline.fork(this.element,y),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(y,i,b){const W={duration:i??y.duration,delay:this.currentTimeline.currentTime+(b??0)+y.delay,easing:""},ce=new Na(this._driver,y.element,y.keyframes,y.preStyleProps,y.postStyleProps,W,y.stretchStartingKeyframe);return this.timelines.push(ce),W}incrementTime(y){this.currentTimeline.forwardTime(this.currentTimeline.duration+y)}delayNextStep(y){y>0&&this.currentTimeline.delayNextStep(y)}invokeQuery(y,i,b,W,ce,ke){let Ve=[];if(W&&Ve.push(this.element),y.length>0){y=(y=y.replace(sn,"."+this._enterClassName)).replace(Er,"."+this._leaveClassName);let tt=this._driver.query(this.element,y,1!=b);0!==b&&(tt=b<0?tt.slice(tt.length+b,tt.length):tt.slice(0,b)),Ve.push(...tt)}return!ce&&0==Ve.length&&ke.push(function G(c){return new e.wOt(3014,!1)}()),Ve}}class ln{constructor(y,i,b,W){this._driver=y,this.element=i,this.startTime=b,this._elementTimelineStylesLookup=W,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(i),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(i,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(y){const i=1===this._keyframes.size&&this._pendingStyles.size;this.duration||i?(this.forwardTime(this.currentTime+y),i&&this.snapshotCurrentStyles()):this.startTime+=y}fork(y,i){return this.applyStylesToKeyframe(),new ln(this._driver,y,i||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(y){this.applyStylesToKeyframe(),this.duration=y,this._loadKeyframe()}_updateStyle(y,i){this._localTimelineStyles.set(y,i),this._globalTimelineStyles.set(y,i),this._styleSummary.set(y,{time:this.currentTime,value:i})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(y){y&&this._previousKeyframe.set("easing",y);for(let[i,b]of this._globalTimelineStyles)this._backFill.set(i,b||q.kp),this._currentKeyframe.set(i,q.kp);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(y,i,b,W){i&&this._previousKeyframe.set("easing",i);const ce=W&&W.params||{},ke=function Fa(c,y){const i=new Map;let b;return c.forEach(W=>{if("*"===W){b??=y.keys();for(let ce of b)i.set(ce,q.kp)}else for(let[ce,ke]of W)i.set(ce,ke)}),i}(y,this._globalTimelineStyles);for(let[Ve,Ze]of ke){const tt=vi(Ze,ce,b);this._pendingStyles.set(Ve,tt),this._localTimelineStyles.has(Ve)||this._backFill.set(Ve,this._globalTimelineStyles.get(Ve)??q.kp),this._updateStyle(Ve,tt)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((y,i)=>{this._currentKeyframe.set(i,y)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((y,i)=>{this._currentKeyframe.has(i)||this._currentKeyframe.set(i,y)}))}snapshotCurrentStyles(){for(let[y,i]of this._localTimelineStyles)this._pendingStyles.set(y,i),this._updateStyle(y,i)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const y=[];for(let i in this._currentKeyframe)y.push(i);return y}mergeTimelineCollectedStyles(y){y._styleSummary.forEach((i,b)=>{const W=this._styleSummary.get(b);(!W||i.time>W.time)&&this._updateStyle(b,i.value)})}buildKeyframes(){this.applyStylesToKeyframe();const y=new Set,i=new Set,b=1===this._keyframes.size&&0===this.duration;let W=[];this._keyframes.forEach((Ve,Ze)=>{const tt=new Map([...this._backFill,...Ve]);tt.forEach((bt,Mt)=>{bt===q.FX?y.add(Mt):bt===q.kp&&i.add(Mt)}),b||tt.set("offset",Ze/this.duration),W.push(tt)});const ce=[...y.values()],ke=[...i.values()];if(b){const Ve=W[0],Ze=new Map(Ve);Ve.set("offset",0),Ze.set("offset",1),W=[Ve,Ze]}return Hn(this.element,W,ce,ke,this.duration,this.startTime,this.easing,!1)}}class Na extends ln{constructor(y,i,b,W,ce,ke,Ve=!1){super(y,i,ke.delay),this.keyframes=b,this.preStyleProps=W,this.postStyleProps=ce,this._stretchStartingKeyframe=Ve,this.timings={duration:ke.duration,delay:ke.delay,easing:ke.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let y=this.keyframes,{delay:i,duration:b,easing:W}=this.timings;if(this._stretchStartingKeyframe&&i){const ce=[],ke=b+i,Ve=i/ke,Ze=new Map(y[0]);Ze.set("offset",0),ce.push(Ze);const tt=new Map(y[0]);tt.set("offset",lr(Ve)),ce.push(tt);const bt=y.length-1;for(let Mt=1;Mt<=bt;Mt++){let Lt=new Map(y[Mt]);const Wt=Lt.get("offset");Lt.set("offset",lr((i+Wt*b)/ke)),ce.push(Lt)}b=ke,i=0,W="",y=ce}return Hn(this.element,y,this.preStyleProps,this.postStyleProps,b,i,W,!0)}}function lr(c,y=3){const i=Math.pow(10,y-1);return Math.round(c*i)/i}function Ba(c,y,i,b,W,ce,ke,Ve,Ze,tt,bt,Mt,Lt){return{type:0,element:c,triggerName:y,isRemovalTransition:W,fromState:i,fromStyles:ce,toState:b,toStyles:ke,timelines:Ve,queriedElements:Ze,preStyleProps:tt,postStyleProps:bt,totalTime:Mt,errors:Lt}}const ja={};class go{constructor(y,i,b){this._triggerName=y,this.ast=i,this._stateStyles=b}match(y,i,b,W){return function Va(c,y,i,b,W){return c.some(ce=>ce(y,i,b,W))}(this.ast.matchers,y,i,b,W)}buildStyles(y,i,b){let W=this._stateStyles.get("*");return void 0!==y&&(W=this._stateStyles.get(y?.toString())||W),W?W.buildStyles(i,b):new Map}build(y,i,b,W,ce,ke,Ve,Ze,tt,bt){const Mt=[],Lt=this.ast.options&&this.ast.options.params||ja,Zt=this.buildStyles(b,Ve&&Ve.params||ja,Mt),hi=Ze&&Ze.params||ja,Yt=this.buildStyles(W,hi,Mt),ui=new Set,yi=new Map,fi=new Map,Ti="void"===W,ji={params:za(hi,Lt),delay:this.ast.options?.delay},Mi=bt?[]:bs(y,i,this.ast.animation,ce,ke,Zt,Yt,ji,tt,Mt);let hn=0;return Mi.forEach(dn=>{hn=Math.max(dn.duration+dn.delay,hn)}),Mt.length?Ba(i,this._triggerName,b,W,Ti,Zt,Yt,[],[],yi,fi,hn,Mt):(Mi.forEach(dn=>{const xs=dn.element,An=N(yi,xs,new Set);dn.preStyleProps.forEach(Xn=>An.add(Xn));const Hi=N(fi,xs,new Set);dn.postStyleProps.forEach(Xn=>Hi.add(Xn)),xs!==i&&ui.add(xs)}),Ba(i,this._triggerName,b,W,Ti,Zt,Yt,Mi,[...ui.values()],yi,fi,hn))}}function za(c,y){const i={...y};return Object.entries(c).forEach(([b,W])=>{null!=W&&(i[b]=W)}),i}class $s{constructor(y,i,b){this.styles=y,this.defaultParams=i,this.normalizer=b}buildStyles(y,i){const b=new Map,W=za(y,this.defaultParams);return this.styles.styles.forEach(ce=>{"string"!=typeof ce&&ce.forEach((ke,Ve)=>{ke&&(ke=vi(ke,W,i));const Ze=this.normalizer.normalizePropertyName(Ve,i);ke=this.normalizer.normalizeStyleValue(Ve,Ze,ke,i),b.set(Ve,ke)})}),b}}class Rl{constructor(y,i,b){this.name=y,this.ast=i,this._normalizer=b,this.transitionFactories=[],this.states=new Map,i.states.forEach(W=>{this.states.set(W.name,new $s(W.style,W.options&&W.options.params||{},b))}),wr(this.states,"true","1"),wr(this.states,"false","0"),i.transitions.forEach(W=>{this.transitionFactories.push(new go(y,W,this.states))}),this.fallbackTransition=function Nl(c,y,i){return new go(c,{type:q.If.Transition,animation:{type:q.If.Sequence,steps:[],options:null},matchers:[(ke,Ve)=>!0],options:null,queryCount:0,depCount:0},y)}(y,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(y,i,b,W){return this.transitionFactories.find(ke=>ke.match(y,i,b,W))||null}matchStyles(y,i,b){return this.fallbackTransition.buildStyles(y,i,b)}}function wr(c,y,i){c.has(y)?c.has(i)||c.set(i,c.get(y)):c.has(i)&&c.set(y,c.get(i))}const Jr=new tn;class Xo{constructor(y,i,b){this.bodyNode=y,this._driver=i,this._normalizer=b,this._animations=new Map,this._playersById=new Map,this.players=[]}register(y,i){const b=[],ce=_t(this._driver,i,b,[]);if(b.length)throw function n(c){return new e.wOt(3503,!1)}();this._animations.set(y,ce)}_buildPlayer(y,i,b){const W=y.element,ce=S(this._normalizer,y.keyframes,i,b);return this._driver.animate(W,ce,y.duration,y.delay,y.easing,[],!0)}create(y,i,b={}){const W=[],ce=this._animations.get(y);let ke;const Ve=new Map;if(ce?(ke=bs(this._driver,i,ce,Je,lt,new Map,new Map,b,Jr,W),ke.forEach(bt=>{const Mt=N(Ve,bt.element,new Map);bt.postStyleProps.forEach(Lt=>Mt.set(Lt,null))})):(W.push(function r(){return new e.wOt(3300,!1)}()),ke=[]),W.length)throw function l(c){return new e.wOt(3504,!1)}();Ve.forEach((bt,Mt)=>{bt.forEach((Lt,Wt)=>{bt.set(Wt,this._driver.computeStyle(Mt,Wt,q.kp))})});const tt=se(ke.map(bt=>{const Mt=Ve.get(bt.element);return this._buildPlayer(bt,new Map,Mt)}));return this._playersById.set(y,tt),tt.onDestroy(()=>this.destroy(y)),this.players.push(tt),tt}destroy(y){const i=this._getPlayer(y);i.destroy(),this._playersById.delete(y);const b=this.players.indexOf(i);b>=0&&this.players.splice(b,1)}_getPlayer(y){const i=this._playersById.get(y);if(!i)throw function d(c){return new e.wOt(3301,!1)}();return i}listen(y,i,b,W){const ce=x(i,"","","");return $(this._getPlayer(y),b,ce,W),()=>{}}command(y,i,b,W){if("register"==b)return void this.register(y,W[0]);if("create"==b)return void this.create(y,i,W[0]||{});const ce=this._getPlayer(y);switch(b){case"play":ce.play();break;case"pause":ce.pause();break;case"reset":ce.reset();break;case"restart":ce.restart();break;case"finish":ce.finish();break;case"init":ce.init();break;case"setPosition":ce.setPosition(parseFloat(W[0]));break;case"destroy":this.destroy(y)}}}const Fl="ng-animate-queued",da="ng-animate-disabled",tr=[],Ha={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Es={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},ir="__ng_removed";class $i{get params(){return this.options.params}constructor(y,i=""){this.namespaceId=i;const b=y&&y.hasOwnProperty("value");if(this.value=function fa(c){return c??null}(b?y.value:y),b){const{value:ce,...ke}=y;this.options=ke}else this.options={};this.options.params||(this.options.params={})}absorbOptions(y){const i=y.params;if(i){const b=this.options.params;Object.keys(i).forEach(W=>{null==b[W]&&(b[W]=i[W])})}}}const Ar="void",So=new $i(Ar);class Yo{constructor(y,i,b){this.id=y,this.hostElement=i,this._engine=b,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+y,cr(i,this._hostClassName)}listen(y,i,b,W){if(!this._triggers.has(i))throw function C(c,y){return new e.wOt(3302,!1)}();if(null==b||0==b.length)throw function k(c){return new e.wOt(3303,!1)}();if(!function ga(c){return"start"==c||"done"==c}(b))throw function p(c,y){return new e.wOt(3400,!1)}();const ce=N(this._elementListeners,y,[]),ke={name:i,phase:b,callback:W};ce.push(ke);const Ve=N(this._engine.statesByElement,y,new Map);return Ve.has(i)||(cr(y,qe),cr(y,qe+"-"+i),Ve.set(i,So)),()=>{this._engine.afterFlush(()=>{const Ze=ce.indexOf(ke);Ze>=0&&ce.splice(Ze,1),this._triggers.has(i)||Ve.delete(i)})}}register(y,i){return!this._triggers.has(y)&&(this._triggers.set(y,i),!0)}_getTrigger(y){const i=this._triggers.get(y);if(!i)throw function T(c){return new e.wOt(3401,!1)}();return i}trigger(y,i,b,W=!0){const ce=this._getTrigger(i),ke=new ua(this.id,i,y);let Ve=this._engine.statesByElement.get(y);Ve||(cr(y,qe),cr(y,qe+"-"+i),this._engine.statesByElement.set(y,Ve=new Map));let Ze=Ve.get(i);const tt=new $i(b,this.id);if(!(b&&b.hasOwnProperty("value"))&&Ze&&tt.absorbOptions(Ze.options),Ve.set(i,tt),Ze||(Ze=So),tt.value!==Ar&&Ze.value===tt.value){if(!function Zo(c,y){const i=Object.keys(c),b=Object.keys(y);if(i.length!=b.length)return!1;for(let W=0;W{wt(y,Yt),xt(y,ui)})}return}const Lt=N(this._engine.playersByElement,y,[]);Lt.forEach(hi=>{hi.namespaceId==this.id&&hi.triggerName==i&&hi.queued&&hi.destroy()});let Wt=ce.matchTransition(Ze.value,tt.value,y,tt.params),Zt=!1;if(!Wt){if(!W)return;Wt=ce.fallbackTransition,Zt=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:y,triggerName:i,transition:Wt,fromState:Ze,toState:tt,player:ke,isFallbackTransition:Zt}),Zt||(cr(y,Fl),ke.onStart(()=>{es(y,Fl)})),ke.onDone(()=>{let hi=this.players.indexOf(ke);hi>=0&&this.players.splice(hi,1);const Yt=this._engine.playersByElement.get(y);if(Yt){let ui=Yt.indexOf(ke);ui>=0&&Yt.splice(ui,1)}}),this.players.push(ke),Lt.push(ke),ke}deregister(y){this._triggers.delete(y),this._engine.statesByElement.forEach(i=>i.delete(y)),this._elementListeners.forEach((i,b)=>{this._elementListeners.set(b,i.filter(W=>W.name!=y))})}clearElementCache(y){this._engine.statesByElement.delete(y),this._elementListeners.delete(y);const i=this._engine.playersByElement.get(y);i&&(i.forEach(b=>b.destroy()),this._engine.playersByElement.delete(y))}_signalRemovalForInnerTriggers(y,i){const b=this._engine.driver.query(y,st,!0);b.forEach(W=>{if(W[ir])return;const ce=this._engine.fetchNamespacesByElement(W);ce.size?ce.forEach(ke=>ke.triggerLeaveAnimation(W,i,!1,!0)):this.clearElementCache(W)}),this._engine.afterFlushAnimationsDone(()=>b.forEach(W=>this.clearElementCache(W)))}triggerLeaveAnimation(y,i,b,W){const ce=this._engine.statesByElement.get(y),ke=new Map;if(ce){const Ve=[];if(ce.forEach((Ze,tt)=>{if(ke.set(tt,Ze.value),this._triggers.has(tt)){const bt=this.trigger(y,tt,Ar,W);bt&&Ve.push(bt)}}),Ve.length)return this._engine.markElementAsRemoved(this.id,y,!0,i,ke),b&&se(Ve).onDone(()=>this._engine.processLeaveNode(y)),!0}return!1}prepareLeaveAnimationListeners(y){const i=this._elementListeners.get(y),b=this._engine.statesByElement.get(y);if(i&&b){const W=new Set;i.forEach(ce=>{const ke=ce.name;if(W.has(ke))return;W.add(ke);const Ze=this._triggers.get(ke).fallbackTransition,tt=b.get(ke)||So,bt=new $i(Ar),Mt=new ua(this.id,ke,y);this._engine.totalQueuedPlayers++,this._queue.push({element:y,triggerName:ke,transition:Ze,fromState:tt,toState:bt,player:Mt,isFallbackTransition:!0})})}}removeNode(y,i){const b=this._engine;if(y.childElementCount&&this._signalRemovalForInnerTriggers(y,i),this.triggerLeaveAnimation(y,i,!0))return;let W=!1;if(b.totalAnimations){const ce=b.players.length?b.playersByQueriedElement.get(y):[];if(ce&&ce.length)W=!0;else{let ke=y;for(;ke=ke.parentNode;)if(b.statesByElement.get(ke)){W=!0;break}}}if(this.prepareLeaveAnimationListeners(y),W)b.markElementAsRemoved(this.id,y,!1,i);else{const ce=y[ir];(!ce||ce===Ha)&&(b.afterFlush(()=>this.clearElementCache(y)),b.destroyInnerAnimations(y),b._onRemovalComplete(y,i))}}insertNode(y,i){cr(y,this._hostClassName)}drainQueuedTransitions(y){const i=[];return this._queue.forEach(b=>{const W=b.player;if(W.destroyed)return;const ce=b.element,ke=this._elementListeners.get(ce);ke&&ke.forEach(Ve=>{if(Ve.name==b.triggerName){const Ze=x(ce,b.triggerName,b.fromState.value,b.toState.value);Ze._data=y,$(b.player,Ve.phase,Ze,Ve.callback)}}),W.markedForDestroy?this._engine.afterFlush(()=>{W.destroy()}):i.push(b)}),this._queue=[],i.sort((b,W)=>{const ce=b.transition.ast.depCount,ke=W.transition.ast.depCount;return 0==ce||0==ke?ce-ke:this._engine.driver.containsElement(b.element,W.element)?1:-1})}destroy(y){this.players.forEach(i=>i.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,y)}}class ko{_onRemovalComplete(y,i){this.onRemovalComplete(y,i)}constructor(y,i,b,W){this.bodyNode=y,this.driver=i,this._normalizer=b,this.scheduler=W,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(ce,ke)=>{}}get queuedPlayers(){const y=[];return this._namespaceList.forEach(i=>{i.players.forEach(b=>{b.queued&&y.push(b)})}),y}createNamespace(y,i){const b=new Yo(y,i,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,i)?this._balanceNamespaceList(b,i):(this.newHostElements.set(i,b),this.collectEnterElement(i)),this._namespaceLookup[y]=b}_balanceNamespaceList(y,i){const b=this._namespaceList,W=this.namespacesByHostElement;if(b.length-1>=0){let ke=!1,Ve=this.driver.getParentElement(i);for(;Ve;){const Ze=W.get(Ve);if(Ze){const tt=b.indexOf(Ze);b.splice(tt+1,0,y),ke=!0;break}Ve=this.driver.getParentElement(Ve)}ke||b.unshift(y)}else b.push(y);return W.set(i,y),y}register(y,i){let b=this._namespaceLookup[y];return b||(b=this.createNamespace(y,i)),b}registerTrigger(y,i,b){let W=this._namespaceLookup[y];W&&W.register(i,b)&&this.totalAnimations++}destroy(y,i){y&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const b=this._fetchNamespace(y);this.namespacesByHostElement.delete(b.hostElement);const W=this._namespaceList.indexOf(b);W>=0&&this._namespaceList.splice(W,1),b.destroy(i),delete this._namespaceLookup[y]}))}_fetchNamespace(y){return this._namespaceLookup[y]}fetchNamespacesByElement(y){const i=new Set,b=this.statesByElement.get(y);if(b)for(let W of b.values())if(W.namespaceId){const ce=this._fetchNamespace(W.namespaceId);ce&&i.add(ce)}return i}trigger(y,i,b,W){if(Qs(i)){const ce=this._fetchNamespace(y);if(ce)return ce.trigger(i,b,W),!0}return!1}insertNode(y,i,b,W){if(!Qs(i))return;const ce=i[ir];if(ce&&ce.setForRemoval){ce.setForRemoval=!1,ce.setForMove=!0;const ke=this.collectedLeaveElements.indexOf(i);ke>=0&&this.collectedLeaveElements.splice(ke,1)}if(y){const ke=this._fetchNamespace(y);ke&&ke.insertNode(i,b)}W&&this.collectEnterElement(i)}collectEnterElement(y){this.collectedEnterElements.push(y)}markElementAsDisabled(y,i){i?this.disabledNodes.has(y)||(this.disabledNodes.add(y),cr(y,da)):this.disabledNodes.has(y)&&(this.disabledNodes.delete(y),es(y,da))}removeNode(y,i,b){if(Qs(i)){this.scheduler?.notify();const W=y?this._fetchNamespace(y):null;W?W.removeNode(i,b):this.markElementAsRemoved(y,i,!1,b);const ce=this.namespacesByHostElement.get(i);ce&&ce.id!==y&&ce.removeNode(i,b)}else this._onRemovalComplete(i,b)}markElementAsRemoved(y,i,b,W,ce){this.collectedLeaveElements.push(i),i[ir]={namespaceId:y,setForRemoval:W,hasAnimation:b,removedBeforeQueried:!1,previousTriggersValues:ce}}listen(y,i,b,W,ce){return Qs(i)?this._fetchNamespace(y).listen(i,b,W,ce):()=>{}}_buildInstruction(y,i,b,W,ce){return y.transition.build(this.driver,y.element,y.fromState.value,y.toState.value,b,W,y.fromState.options,y.toState.options,i,ce)}destroyInnerAnimations(y){let i=this.driver.query(y,st,!0);i.forEach(b=>this.destroyActiveAnimationsForElement(b)),0!=this.playersByQueriedElement.size&&(i=this.driver.query(y,pt,!0),i.forEach(b=>this.finishActiveQueriedAnimationOnElement(b)))}destroyActiveAnimationsForElement(y){const i=this.playersByElement.get(y);i&&i.forEach(b=>{b.queued?b.markedForDestroy=!0:b.destroy()})}finishActiveQueriedAnimationOnElement(y){const i=this.playersByQueriedElement.get(y);i&&i.forEach(b=>b.finish())}whenRenderingDone(){return new Promise(y=>{if(this.players.length)return se(this.players).onDone(()=>y());y()})}processLeaveNode(y){const i=y[ir];if(i&&i.setForRemoval){if(y[ir]=Ha,i.namespaceId){this.destroyInnerAnimations(y);const b=this._fetchNamespace(i.namespaceId);b&&b.clearElementCache(y)}this._onRemovalComplete(y,i.setForRemoval)}y.classList?.contains(da)&&this.markElementAsDisabled(y,!1),this.driver.query(y,".ng-animate-disabled",!0).forEach(b=>{this.markElementAsDisabled(b,!1)})}flush(y=-1){let i=[];if(this.newHostElements.size&&(this.newHostElements.forEach((b,W)=>this._balanceNamespaceList(b,W)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let b=0;bb()),this._flushFns=[],this._whenQuietFns.length){const b=this._whenQuietFns;this._whenQuietFns=[],i.length?se(i).onDone(()=>{b.forEach(W=>W())}):b.forEach(W=>W())}}reportError(y){throw function B(c){return new e.wOt(3402,!1)}()}_flushAnimations(y,i){const b=new tn,W=[],ce=new Map,ke=[],Ve=new Map,Ze=new Map,tt=new Map,bt=new Set;this.disabledNodes.forEach(_i=>{bt.add(_i);const Si=this.driver.query(_i,".ng-animate-queued",!0);for(let Vi=0;Vi{const Vi=Je+hi++;Zt.set(Si,Vi),_i.forEach(Gi=>cr(Gi,Vi))});const Yt=[],ui=new Set,yi=new Set;for(let _i=0;_iui.add(Gi)):yi.add(Si))}const fi=new Map,Ti=Ir(Lt,Array.from(ui));Ti.forEach((_i,Si)=>{const Vi=lt+hi++;fi.set(Si,Vi),_i.forEach(Gi=>cr(Gi,Vi))}),y.push(()=>{Wt.forEach((_i,Si)=>{const Vi=Zt.get(Si);_i.forEach(Gi=>es(Gi,Vi))}),Ti.forEach((_i,Si)=>{const Vi=fi.get(Si);_i.forEach(Gi=>es(Gi,Vi))}),Yt.forEach(_i=>{this.processLeaveNode(_i)})});const ji=[],Mi=[];for(let _i=this._namespaceList.length-1;_i>=0;_i--)this._namespaceList[_i].drainQueuedTransitions(i).forEach(Vi=>{const Gi=Vi.player,Nn=Vi.element;if(ji.push(Gi),this.collectedEnterElements.length){const ns=Nn[ir];if(ns&&ns.setForMove){if(ns.previousTriggersValues&&ns.previousTriggersValues.has(Vi.triggerName)){const Ur=ns.previousTriggersValues.get(Vi.triggerName),Ii=this.statesByElement.get(Vi.element);if(Ii&&Ii.has(Vi.triggerName)){const un=Ii.get(Vi.triggerName);un.value=Ur,Ii.set(Vi.triggerName,un)}}return void Gi.destroy()}}const is=!Mt||!this.driver.containsElement(Mt,Nn),Yn=fi.get(Nn),fo=Zt.get(Nn),ps=this._buildInstruction(Vi,b,fo,Yn,is);if(ps.errors&&ps.errors.length)return void Mi.push(ps);if(is)return Gi.onStart(()=>wt(Nn,ps.fromStyles)),Gi.onDestroy(()=>xt(Nn,ps.toStyles)),void W.push(Gi);if(Vi.isFallbackTransition)return Gi.onStart(()=>wt(Nn,ps.fromStyles)),Gi.onDestroy(()=>xt(Nn,ps.toStyles)),void W.push(Gi);const Qr=[];ps.timelines.forEach(ns=>{ns.stretchStartingKeyframe=!0,this.disabledNodes.has(ns.element)||Qr.push(ns)}),ps.timelines=Qr,b.append(Nn,ps.timelines),ke.push({instruction:ps,player:Gi,element:Nn}),ps.queriedElements.forEach(ns=>N(Ve,ns,[]).push(Gi)),ps.preStyleProps.forEach((ns,Ur)=>{if(ns.size){let Ii=Ze.get(Ur);Ii||Ze.set(Ur,Ii=new Set),ns.forEach((un,Gn)=>Ii.add(Gn))}}),ps.postStyleProps.forEach((ns,Ur)=>{let Ii=tt.get(Ur);Ii||tt.set(Ur,Ii=new Set),ns.forEach((un,Gn)=>Ii.add(Gn))})});if(Mi.length){const _i=[];Mi.forEach(Si=>{_i.push(function K(c,y){return new e.wOt(3505,!1)}())}),ji.forEach(Si=>Si.destroy()),this.reportError(_i)}const hn=new Map,dn=new Map;ke.forEach(_i=>{const Si=_i.element;b.has(Si)&&(dn.set(Si,Si),this._beforeAnimationBuild(_i.player.namespaceId,_i.instruction,hn))}),W.forEach(_i=>{const Si=_i.element;this._getPreviousPlayers(Si,!1,_i.namespaceId,_i.triggerName,null).forEach(Gi=>{N(hn,Si,[]).push(Gi),Gi.destroy()})});const xs=Yt.filter(_i=>to(_i,Ze,tt)),An=new Map;ma(An,this.driver,yi,tt,q.kp).forEach(_i=>{to(_i,Ze,tt)&&xs.push(_i)});const Xn=new Map;Wt.forEach((_i,Si)=>{ma(Xn,this.driver,new Set(_i),Ze,q.FX)}),xs.forEach(_i=>{const Si=An.get(_i),Vi=Xn.get(_i);An.set(_i,new Map([...Si?.entries()??[],...Vi?.entries()??[]]))});const Pi=[],Zi=[],rr={};ke.forEach(_i=>{const{element:Si,player:Vi,instruction:Gi}=_i;if(b.has(Si)){if(bt.has(Si))return Vi.onDestroy(()=>xt(Si,Gi.toStyles)),Vi.disabled=!0,Vi.overrideTotalTime(Gi.totalTime),void W.push(Vi);let Nn=rr;if(dn.size>1){let Yn=Si;const fo=[];for(;Yn=Yn.parentNode;){const ps=dn.get(Yn);if(ps){Nn=ps;break}fo.push(Yn)}fo.forEach(ps=>dn.set(ps,Nn))}const is=this._buildAnimation(Vi.namespaceId,Gi,hn,ce,Xn,An);if(Vi.setRealPlayer(is),Nn===rr)Pi.push(Vi);else{const Yn=this.playersByElement.get(Nn);Yn&&Yn.length&&(Vi.parentPlayer=se(Yn)),W.push(Vi)}}else wt(Si,Gi.fromStyles),Vi.onDestroy(()=>xt(Si,Gi.toStyles)),Zi.push(Vi),bt.has(Si)&&W.push(Vi)}),Zi.forEach(_i=>{const Si=ce.get(_i.element);if(Si&&Si.length){const Vi=se(Si);_i.setRealPlayer(Vi)}}),W.forEach(_i=>{_i.parentPlayer?_i.syncPlayerEvents(_i.parentPlayer):_i.destroy()});for(let _i=0;_i!is.destroyed);Nn.length?$r(this,Si,Nn):this.processLeaveNode(Si)}return Yt.length=0,Pi.forEach(_i=>{this.players.push(_i),_i.onDone(()=>{_i.destroy();const Si=this.players.indexOf(_i);this.players.splice(Si,1)}),_i.play()}),Pi}afterFlush(y){this._flushFns.push(y)}afterFlushAnimationsDone(y){this._whenQuietFns.push(y)}_getPreviousPlayers(y,i,b,W,ce){let ke=[];if(i){const Ve=this.playersByQueriedElement.get(y);Ve&&(ke=Ve)}else{const Ve=this.playersByElement.get(y);if(Ve){const Ze=!ce||ce==Ar;Ve.forEach(tt=>{tt.queued||!Ze&&tt.triggerName!=W||ke.push(tt)})}}return(b||W)&&(ke=ke.filter(Ve=>!(b&&b!=Ve.namespaceId||W&&W!=Ve.triggerName))),ke}_beforeAnimationBuild(y,i,b){const ce=i.element,ke=i.isRemovalTransition?void 0:y,Ve=i.isRemovalTransition?void 0:i.triggerName;for(const Ze of i.timelines){const tt=Ze.element,bt=tt!==ce,Mt=N(b,tt,[]);this._getPreviousPlayers(tt,bt,ke,Ve,i.toState).forEach(Wt=>{const Zt=Wt.getRealPlayer();Zt.beforeDestroy&&Zt.beforeDestroy(),Wt.destroy(),Mt.push(Wt)})}wt(ce,i.fromStyles)}_buildAnimation(y,i,b,W,ce,ke){const Ve=i.triggerName,Ze=i.element,tt=[],bt=new Set,Mt=new Set,Lt=i.timelines.map(Zt=>{const hi=Zt.element;bt.add(hi);const Yt=hi[ir];if(Yt&&Yt.removedBeforeQueried)return new q.sf(Zt.duration,Zt.delay);const ui=hi!==Ze,yi=function Ko(c){const y=[];return Do(c,y),y}((b.get(hi)||tr).map(hn=>hn.getRealPlayer())).filter(hn=>!!hn.element&&hn.element===hi),fi=ce.get(hi),Ti=ke.get(hi),ji=S(this._normalizer,Zt.keyframes,fi,Ti),Mi=this._buildPlayer(Zt,ji,yi);if(Zt.subTimeline&&W&&Mt.add(hi),ui){const hn=new ua(y,Ve,hi);hn.setRealPlayer(Mi),tt.push(hn)}return Mi});tt.forEach(Zt=>{N(this.playersByQueriedElement,Zt.element,[]).push(Zt),Zt.onDone(()=>function pa(c,y,i){let b=c.get(y);if(b){if(b.length){const W=b.indexOf(i);b.splice(W,1)}0==b.length&&c.delete(y)}return b}(this.playersByQueriedElement,Zt.element,Zt))}),bt.forEach(Zt=>cr(Zt,Tt));const Wt=se(Lt);return Wt.onDestroy(()=>{bt.forEach(Zt=>es(Zt,Tt)),xt(Ze,i.toStyles)}),Mt.forEach(Zt=>{N(W,Zt,[]).push(Wt)}),Wt}_buildPlayer(y,i,b){return i.length>0?this.driver.animate(y.element,i,y.duration,y.delay,y.easing,b):new q.sf(y.duration,y.delay)}}class ua{constructor(y,i,b){this.namespaceId=y,this.triggerName=i,this.element=b,this._player=new q.sf,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(y){this._containsRealPlayer||(this._player=y,this._queuedCallbacks.forEach((i,b)=>{i.forEach(W=>$(y,b,void 0,W))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(y.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(y){this.totalTime=y}syncPlayerEvents(y){const i=this._player;i.triggerCallback&&y.onStart(()=>i.triggerCallback("start")),y.onDone(()=>this.finish()),y.onDestroy(()=>this.destroy())}_queueEvent(y,i){N(this._queuedCallbacks,y,[]).push(i)}onDone(y){this.queued&&this._queueEvent("done",y),this._player.onDone(y)}onStart(y){this.queued&&this._queueEvent("start",y),this._player.onStart(y)}onDestroy(y){this.queued&&this._queueEvent("destroy",y),this._player.onDestroy(y)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(y){this.queued||this._player.setPosition(y)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(y){const i=this._player;i.triggerCallback&&i.triggerCallback(y)}}function Qs(c){return c&&1===c.nodeType}function eo(c,y){const i=c.style.display;return c.style.display=y??"none",i}function ma(c,y,i,b,W){const ce=[];i.forEach(Ze=>ce.push(eo(Ze)));const ke=[];b.forEach((Ze,tt)=>{const bt=new Map;Ze.forEach(Mt=>{const Lt=y.computeStyle(tt,Mt,W);bt.set(Mt,Lt),(!Lt||0==Lt.length)&&(tt[ir]=Es,ke.push(tt))}),c.set(tt,bt)});let Ve=0;return i.forEach(Ze=>eo(Ze,ce[Ve++])),ke}function Ir(c,y){const i=new Map;if(c.forEach(Ve=>i.set(Ve,[])),0==y.length)return i;const W=new Set(y),ce=new Map;function ke(Ve){if(!Ve)return 1;let Ze=ce.get(Ve);if(Ze)return Ze;const tt=Ve.parentNode;return Ze=i.has(tt)?tt:W.has(tt)?1:ke(tt),ce.set(Ve,Ze),Ze}return y.forEach(Ve=>{const Ze=ke(Ve);1!==Ze&&i.get(Ze).push(Ve)}),i}function cr(c,y){c.classList?.add(y)}function es(c,y){c.classList?.remove(y)}function $r(c,y,i){se(i).onDone(()=>c.processLeaveNode(y))}function Do(c,y){for(let i=0;iW.add(ce)):y.set(c,b),i.delete(c),!0}class ba{constructor(y,i,b,W){this._driver=i,this._normalizer=b,this._triggerCache={},this.onRemovalComplete=(ce,ke)=>{},this._transitionEngine=new ko(y.body,i,b,W),this._timelineEngine=new Xo(y.body,i,b),this._transitionEngine.onRemovalComplete=(ce,ke)=>this.onRemovalComplete(ce,ke)}registerTrigger(y,i,b,W,ce){const ke=y+"-"+W;let Ve=this._triggerCache[ke];if(!Ve){const Ze=[],bt=_t(this._driver,ce,Ze,[]);if(Ze.length)throw function v(c,y){return new e.wOt(3404,!1)}();Ve=function ha(c,y,i){return new Rl(c,y,i)}(W,bt,this._normalizer),this._triggerCache[ke]=Ve}this._transitionEngine.registerTrigger(i,W,Ve)}register(y,i){this._transitionEngine.register(y,i)}destroy(y,i){this._transitionEngine.destroy(y,i)}onInsert(y,i,b,W){this._transitionEngine.insertNode(y,i,b,W)}onRemove(y,i,b){this._transitionEngine.removeNode(y,i,b)}disableAnimations(y,i){this._transitionEngine.markElementAsDisabled(y,i)}process(y,i,b,W){if("@"==b.charAt(0)){const[ce,ke]=R(b);this._timelineEngine.command(ce,i,ke,W)}else this._transitionEngine.trigger(y,i,b,W)}listen(y,i,b,W,ce){if("@"==b.charAt(0)){const[ke,Ve]=R(b);return this._timelineEngine.listen(ke,i,Ve,ce)}return this._transitionEngine.listen(y,i,b,W,ce)}flush(y=-1){this._transitionEngine.flush(y)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(y){this._transitionEngine.afterFlushAnimationsDone(y)}}class Mo{static#e=this.initialStylesByElement=new WeakMap;constructor(y,i,b){this._element=y,this._startStyles=i,this._endStyles=b,this._state=0;let W=Mo.initialStylesByElement.get(y);W||Mo.initialStylesByElement.set(y,W=new Map),this._initialStyles=W}start(){this._state<1&&(this._startStyles&&xt(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(xt(this._element,this._initialStyles),this._endStyles&&(xt(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Mo.initialStylesByElement.delete(this._element),this._startStyles&&(wt(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(wt(this._element,this._endStyles),this._endStyles=null),xt(this._element,this._initialStyles),this._state=3)}}function Js(c){let y=null;return c.forEach((i,b)=>{(function bo(c){return"display"===c||"position"===c})(b)&&(y=y||new Map,y.set(b,i))}),y}class Eo{constructor(y,i,b,W){this.element=y,this.keyframes=i,this.options=b,this._specialStyles=W,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=b.duration,this._delay=b.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(y=>y()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const y=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,y,this.options),this._finalKeyframe=y.length?y[y.length-1]:new Map;const i=()=>this._onFinish();this.domPlayer.addEventListener("finish",i),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",i)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(y){const i=[];return y.forEach(b=>{i.push(Object.fromEntries(b))}),i}_triggerWebAnimation(y,i,b){return y.animate(this._convertKeyframesToObject(i),b)}onStart(y){this._originalOnStartFns.push(y),this._onStartFns.push(y)}onDone(y){this._originalOnDoneFns.push(y),this._onDoneFns.push(y)}onDestroy(y){this._onDestroyFns.push(y)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(y=>y()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(y=>y()),this._onDestroyFns=[])}setPosition(y){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=y*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const y=new Map;this.hasStarted()&&this._finalKeyframe.forEach((b,W)=>{"offset"!==W&&y.set(W,this._finished?b:fn(this.element,W))}),this.currentSnapshot=y}triggerCallback(y){const i="start"===y?this._onStartFns:this._onDoneFns;i.forEach(b=>b()),i.length=0}}class wh{validateStyleProperty(y){return!0}validateAnimatableStyleProperty(y){return!0}matchesElement(y,i){return!1}containsElement(y,i){return Be(y,i)}getParentElement(y){return Y(y)}query(y,i,b){return oe(y,i,b)}computeStyle(y,i,b){return fn(y,i)}animate(y,i,b,W,ce,ke=[]){const Ze={duration:b,delay:W,fill:0==W?"both":"forwards"};ce&&(Ze.easing=ce);const tt=new Map,bt=ke.filter(Wt=>Wt instanceof Eo);(function as(c,y){return 0===c||0===y})(b,W)&&bt.forEach(Wt=>{Wt.currentSnapshot.forEach((Zt,hi)=>tt.set(hi,Zt))});let Mt=function Dt(c){return c.length?c[0]instanceof Map?c:c.map(y=>new Map(Object.entries(y))):[]}(i).map(Wt=>new Map(Wt));Mt=function ms(c,y,i){if(i.size&&y.length){let b=y[0],W=[];if(i.forEach((ce,ke)=>{b.has(ke)||W.push(ke),b.set(ke,ce)}),W.length)for(let ce=1;ceke.set(Ve,fn(c,Ve)))}}return y}(y,Mt,tt);const Lt=function va(c,y){let i=null,b=null;return Array.isArray(y)&&y.length?(i=Js(y[0]),y.length>1&&(b=Js(y[y.length-1]))):y instanceof Map&&(i=Js(y)),i||b?new Mo(c,i,b):null}(y,Mt);return new Eo(y,Mt,Ze,Lt)}}const Ao="@.disabled";class ya{constructor(y,i,b,W){this.namespaceId=y,this.delegate=i,this.engine=b,this._onDestroy=W,this.\u0275type=0}get data(){return this.delegate.data}destroyNode(y){this.delegate.destroyNode?.(y)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(y,i){return this.delegate.createElement(y,i)}createComment(y){return this.delegate.createComment(y)}createText(y){return this.delegate.createText(y)}appendChild(y,i){this.delegate.appendChild(y,i),this.engine.onInsert(this.namespaceId,i,y,!1)}insertBefore(y,i,b,W=!0){this.delegate.insertBefore(y,i,b),this.engine.onInsert(this.namespaceId,i,y,W)}removeChild(y,i,b){this.engine.onRemove(this.namespaceId,i,this.delegate)}selectRootElement(y,i){return this.delegate.selectRootElement(y,i)}parentNode(y){return this.delegate.parentNode(y)}nextSibling(y){return this.delegate.nextSibling(y)}setAttribute(y,i,b,W){this.delegate.setAttribute(y,i,b,W)}removeAttribute(y,i,b){this.delegate.removeAttribute(y,i,b)}addClass(y,i){this.delegate.addClass(y,i)}removeClass(y,i){this.delegate.removeClass(y,i)}setStyle(y,i,b,W){this.delegate.setStyle(y,i,b,W)}removeStyle(y,i,b){this.delegate.removeStyle(y,i,b)}setProperty(y,i,b){"@"==i.charAt(0)&&i==Ao?this.disableAnimations(y,!!b):this.delegate.setProperty(y,i,b)}setValue(y,i){this.delegate.setValue(y,i)}listen(y,i,b){return this.delegate.listen(y,i,b)}disableAnimations(y,i){this.engine.disableAnimations(y,i)}}class Io extends ya{constructor(y,i,b,W,ce){super(i,b,W,ce),this.factory=y,this.namespaceId=i}setProperty(y,i,b){"@"==i.charAt(0)?"."==i.charAt(1)&&i==Ao?this.disableAnimations(y,b=void 0===b||!!b):this.engine.process(this.namespaceId,y,i.slice(1),b):this.delegate.setProperty(y,i,b)}listen(y,i,b){if("@"==i.charAt(0)){const W=function hr(c){switch(c){case"body":return document.body;case"document":return document;case"window":return window;default:return c}}(y);let ce=i.slice(1),ke="";return"@"!=ce.charAt(0)&&([ce,ke]=function ol(c){const y=c.indexOf(".");return[c.substring(0,y),c.slice(y+1)]}(ce)),this.engine.listen(this.namespaceId,W,ce,ke,Ve=>{this.factory.scheduleListenerCallback(Ve._data||-1,b,Ve)})}return this.delegate.listen(y,i,b)}}class Or{constructor(y,i,b){this.delegate=y,this.engine=i,this._zone=b,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,i.onRemovalComplete=(W,ce)=>{const ke=ce?.parentNode(W);ke&&ce.removeChild(ke,W)}}createRenderer(y,i){const W=this.delegate.createRenderer(y,i);if(!y||!i?.data?.animation){const tt=this._rendererCache;let bt=tt.get(W);return bt||(bt=new ya("",W,this.engine,()=>tt.delete(W)),tt.set(W,bt)),bt}const ce=i.id,ke=i.id+"-"+this._currentId;this._currentId++,this.engine.register(ke,y);const Ve=tt=>{Array.isArray(tt)?tt.forEach(Ve):this.engine.registerTrigger(ce,ke,y,tt.name,tt)};return i.data.animation.forEach(Ve),new Io(this,ke,W,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(y,i,b){if(y>=0&&yi(b));const W=this._animationCallbacksBuffer;0==W.length&&queueMicrotask(()=>{this._zone.run(()=>{W.forEach(ce=>{const[ke,Ve]=ce;ke(Ve)}),this._animationCallbacksBuffer=[]})}),W.push([i,b])}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}var cn=We(60177);const ct=[{provide:Ie,useFactory:function Ua(){return new Cs}},{provide:ba,useClass:(()=>{class c extends ba{constructor(i,b,W){super(i,b,W,(0,e.WQX)(e.An2,{optional:!0}))}ngOnDestroy(){this.flush()}static#e=this.\u0275fac=function(b){return new(b||c)(e.KVO(cn.qQ),e.KVO(xe),e.KVO(Ie))};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac})}return c})()},{provide:e._9s,useFactory:function ot(c,y,i){return new Or(c,y,i)},deps:[M.B7,ba,e.SKi]}],Ye=[{provide:xe,useFactory:()=>new wh},{provide:e.bc$,useValue:"BrowserAnimations"},...ct],vt=[{provide:xe,useClass:be},{provide:e.bc$,useValue:"NoopAnimations"},...ct];let Ft=(()=>{class c{static withConfig(i){return{ngModule:c,providers:i.disableAnimations?vt:Ye}}static#e=this.\u0275fac=function(b){return new(b||c)};static#t=this.\u0275mod=e.$C({type:c});static#i=this.\u0275inj=e.G2t({providers:Ye,imports:[M.Bb]})}return c})();var nr=We(38117),Vs=We(93887),qo=We(88652),gr=We(19664),ac=We(45794),Mn=We(99062),jl=We(41584),lc=We(25558),cc=We(39974),al=We(54360),ll=We(33669),ad=We(58750);function Vl(c=1/0){let y;y=c&&"object"==typeof c?c:{count:c};const{count:i=1/0,delay:b,resetOnSuccess:W=!1}=y;return i<=0?ll.D:(0,cc.N)((ce,ke)=>{let Ze,Ve=0;const tt=()=>{let bt=!1;Ze=ce.subscribe((0,al._)(ke,Mt=>{W&&(Ve=0),ke.next(Mt)},void 0,Mt=>{if(Ve++{Ze?(Ze.unsubscribe(),Ze=null,tt()):bt=!0};if(null!=b){const Wt="number"==typeof b?(0,jl.O)(b):(0,ad.Tg)(b(Mt,Ve)),Zt=(0,al._)(ke,()=>{Zt.unsubscribe(),Lt()},()=>{ke.complete()});Wt.subscribe(Zt)}else Lt()}else ke.error(Mt)})),bt&&(Ze.unsubscribe(),Ze=null,tt())};tt()})}var hc=We(97647),zl=We(56977),Oo=We(5964),Gl=We(96354),vo=We(20546),Wa=We(28990),pn=We(38852),vs=We(3366),fs=We(89417);const kr=()=>["/admin"],er=()=>({action:"plugin"}),Qo=()=>({action:"pairing"}),dc=()=>({action:"group"}),uc=()=>({action:"coordinator"}),Th=()=>["/admin/firmware"],Sh=()=>["/tools/error"];function Jo(c,y){if(1&c){const i=e.RV6();e.j41(0,"li",84),e.bIt("click",function(){e.eBV(i);const W=e.XpG();return e.Njj(W.toggleMenu())}),e.EFF(1,"\n "),e.nrm(2,"i",85),e.EFF(3," "),e.nrm(4,"span",86),e.EFF(5,"\n "),e.k0s()}}function pc(c,y){if(1&c){const i=e.RV6();e.j41(0,"li",91),e.bIt("click",function(){e.eBV(i);const W=e.XpG(2);return e.Njj(W.toggleMenu())}),e.EFF(1,"\n "),e.nrm(2,"img",92),e.EFF(3,"\n "),e.k0s()}}function cl(c,y){if(1&c){const i=e.RV6();e.j41(0,"li",93),e.bIt("click",function(){e.eBV(i);const W=e.XpG(2);return e.Njj(W.toggleMenu())}),e.EFF(1,"\n "),e.nrm(2,"img",94),e.EFF(3,"\n "),e.k0s()}}function Pc(c,y){if(1&c&&(e.j41(0,"li",87),e.EFF(1,"\n "),e.nrm(2,"a",88),e.EFF(3,"\n "),e.j41(4,"ul",21),e.EFF(5,"\n "),e.DNE(6,pc,4,0,"li",89),e.EFF(7,"\n "),e.DNE(8,cl,4,0,"li",90),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n "),e.k0s()),2&c){const i=e.XpG();e.R7$(6),e.Y8G("ngIf",i.showManufacturerCasaia),e.R7$(2),e.Y8G("ngIf",i.showManufacturerZlinky)}}function Hl(c,y){1&c&&(e.j41(0,"div",95),e.EFF(1,"\n "),e.j41(2,"div",96),e.EFF(3,"\n "),e.j41(4,"div",97),e.EFF(5,"\n "),e.j41(6,"a",98),e.EFF(7,"\n "),e.nrm(8,"i",99),e.nI1(9,"translate"),e.nI1(10,"translate"),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.k0s()),2&c&&(e.R7$(6),e.Y8G("routerLink",e.lJ4(8,kr))("queryParams",e.lJ4(9,er)),e.R7$(2),e.FS9("ngbPopover",e.bMT(9,4,"header.popover.text")),e.FS9("popoverTitle",e.bMT(10,6,"header.popover.title")))}function Rc(c,y){1&c&&(e.j41(0,"div",95),e.EFF(1,"\n "),e.j41(2,"div",96),e.EFF(3,"\n "),e.j41(4,"div",97),e.EFF(5,"\n "),e.j41(6,"a",100),e.EFF(7,"\n "),e.nrm(8,"i",101),e.nI1(9,"translate"),e.nI1(10,"translate"),e.EFF(11,"\n "),e.k0s(),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.k0s()),2&c&&(e.R7$(6),e.Y8G("routerLink",e.lJ4(7,Sh)),e.R7$(2),e.FS9("ngbPopover",e.bMT(9,3,"error.popover.text")),e.FS9("popoverTitle",e.bMT(10,5,"error.popover.title")))}function Lo(c,y){if(1&c){const i=e.RV6();e.j41(0,"button",102),e.bIt("click",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.setLanguage(W))}),e.EFF(1,"\n "),e.nrm(2,"img",74),e.EFF(3,"\n "),e.k0s()}if(2&c){const i=y.$implicit;e.R7$(2),e.Mz_("src","assets/",i.flag,"",e.B4B)}}function Nc(c,y){if(1&c){const i=e.RV6();e.j41(0,"button",102),e.bIt("click",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.setLanguage(W))}),e.EFF(1,"\n "),e.nrm(2,"img",74),e.EFF(3,"\n "),e.k0s()}if(2&c){const i=y.$implicit;e.R7$(2),e.Mz_("src","assets/",i.flag,"",e.B4B)}}let Ul=(()=>{class c extends Wa.U{headerService;toastr;i18nService;apiService;translate;menuHidden=!0;permitToJoin;permitChecked=!1;restart;showManufacturerCasaia;showManufacturerZlinky;logError;settings;settingsToSave=[];plugin;poll=!1;constructor(i,b,W,ce,ke){super(),this.headerService=i,this.toastr=b,this.i18nService=W,this.apiService=ce,this.translate=ke}ngOnInit(){setTimeout(()=>{this.plugin=JSON.parse(sessionStorage.getItem("plugin"))},500),this.subs.add(this.headerService.restart.subscribe(i=>{this.restart=i})),this.subs.add(this.headerService.showManufacturerCasaia.subscribe(i=>{this.showManufacturerCasaia=i})),this.subs.add(this.headerService.showManufacturerZlinky.subscribe(i=>{this.showManufacturerZlinky=i})),this.subs.add(this.headerService.logError.subscribe(i=>this.logError=i)),this.subs.add(this.headerService.polling.subscribe(i=>{this.poll=i,this.subs.add((0,jl.O)(1,vo.c.refresh).pipe((0,lc.n)(()=>this.getPermitToJoin()),Vl(),(0,hc.u)(),(0,zl.Q)(this.headerService.polling.pipe((0,Oo.p)(b=>!1===b)))).subscribe())})),this.poll||this.getPermitToJoin().subscribe(),this.apiService.getSettings().subscribe(i=>{this.settings=i,this.settings.forEach(b=>{this.settingsToSave=this.settingsToSave.concat(b.ListOfSettings)})})}permit(i){this.permitToJoin.PermitToJoin=i.currentTarget.checked?240:0,this.startStopPermitToJoin(this.permitToJoin)}startStopPermitToJoin(i){this.apiService.putPermitToJoin(i).subscribe(()=>{240===i.PermitToJoin?(i.PermitToJoin=0,setTimeout(()=>this.startStopPermitToJoin(i),24e4),this.toastr.success(this.translate.instant("admin.permittojoin.on.notify"))):(this.getPermitToJoin().subscribe(),this.toastr.success(this.translate.instant("admin.permittojoin.off.notify")))})}toggleMenu(){this.menuHidden=!this.menuHidden}setLanguage(i){this.i18nService.language=i.code,this.updateSettings(i.code)}get currentLanguage(){return this.i18nService.language}get currentFlag(){return this.languages.find(i=>i.code===this.currentLanguage).flag}get languages(){return this.i18nService.supportedLanguages}updateSettings(i){const b={};this.settingsToSave.forEach(W=>{const ce=W.Name;let ke=W.current_value;"Lang"===ce&&(ke=i),b[ce]={current:ke}}),this.apiService.putSettings(b).subscribe()}getPermitToJoin(){return this.apiService.getPermitToJoin().pipe((0,Gl.T)(i=>{this.permitToJoin=i,this.permitChecked=0!==i.PermitToJoin}))}static \u0275fac=function(b){return new(b||c)(e.rXU(pn.d),e.rXU(ac.tw),e.rXU(nr.W4),e.rXU(vs.G),e.rXU(gr.c$))};static \u0275cmp=e.VBU({type:c,selectors:[["app-header"]],features:[e.Vt3],decls:252,vars:32,consts:[[1,"p-2","navbar","navbar-expand-xl","navbar-light","bg-light","navbar-fixed-top'"],[1,"container-fluid"],["href","https://github.com/zigbeefordomoticz/Domoticz-Zigbee",1,"navbar-brand"],["src","assets/z4d_logo.png","alt","Logo",1,"img-responsive","logo"],["type","button","aria-controls","appNavigation","aria-expanded","!menuHidden","aria-label","Toggle navigation",1,"navbar-toggler","navbar-toggler-right",3,"click"],[1,"navbar-toggler-icon"],["id","appNavigation",1,"collapse","navbar-collapse","float-xs-none","h-100","justify-content-between",3,"ngbCollapse"],[1,"navbar-nav","h-100"],["ngbDropdown","","routerLinkActive","active",1,"dropdown"],["routerLink","/dashboard","routerLinkActive","active",1,"nav-item","nav-link","mx-2"],[1,"fas","fa-home"],["ngbDropdown","","routerLinkActive","active",1,"nav-item","dropdown"],["id","dropdown1","ngbDropdownToggle","","translate","management",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown1",1,"dropdown-menu"],["routerLink","/device","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-tablet","me-2"],["translate","device"],["routerLink","/group","routerLinkActive","active",1,"dropdown-item","nav-link","nav-item",3,"click"],[1,"fas","fa-layer-group","me-2"],["translate","group"],["id","dropdown2","ngbDropdownToggle","","translate","network",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown2",1,"dropdown-menu"],["routerLink","/network/topology","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-wifi","me-2"],["translate","network.topo"],["routerLink","/network/energy-level","routerLinkActive","active",1,"dropdown-item","nav-link","nav-item",3,"click"],[1,"fas","fa-broadcast-tower","me-2"],["translate","network.energy"],["id","dropdown4","ngbDropdownToggle","","translate","admin",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown4",1,"dropdown-menu"],["routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click","routerLink","queryParams"],[1,"fas","fa-satellite-dish","me-2"],["translate","admin.plugin"],[1,"fab","fa-usb","me-2"],["translate","admin.pairing"],["translate","admin.group"],[1,"fas","fa-user","me-2"],["translate","admin.coordinator"],["routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click","routerLink"],[1,"fas","fa-retweet","me-2"],["translate","admin.firmware"],["routerLink","/settings","routerLinkActive","active",1,"nav-item","nav-link","mx-2"],[1,"fas","fa-cog"],["translate",""],["id","dropdown3","ngbDropdownToggle","","translate","tools",1,"nav-link","nav-item","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","dropdown3",1,"dropdown-menu"],["routerLink","/tools/link","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-toolbox","me-2"],["translate","tools.tools"],["routerLink","/tools/command","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-lightbulb","me-2"],["translate","tools.command"],["class","dropdown-item nav-item nav-link","routerLink","/tools/configure","routerLinkActive","active",3,"click",4,"ngIf"],["routerLink","/tools/binding","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-compress-arrows-alt","me-2"],["translate","tools.binding"],["routerLink","/tools/debug","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-wrench","me-2"],["translate","tools.debug"],["routerLink","/tools/error","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-bug","me-2"],["translate","tools.error"],["ngbDropdown","","routerLinkActive","active","class","nav-item dropdown test",4,"ngIf"],["routerLink","/about","routerLinkActive","active",1,"nav-item","nav-link","mx-2"],[1,"fas","fa-question-circle"],["class","navbar-nav ml-auto",4,"ngIf"],[1,"d-none","d-xl-block"],[1,"navbar-nav","ml-auto","d-flex","align-items-center"],[1,"nav-item","border-start","ps-3"],[1,"switch","switch-sm","me-2","pe-3"],["type","checkbox","id","switch-sm",3,"ngModelChange","click","ngModel"],["for","switch-sm","translate","admin.permittojoin.label",1,"mb-0"],["ngbDropdown","","placement","bottom",1,"nav-item","border-start"],["id","language-dropdown","ngbDropdownToggle","",1,"nav-link","ps-3"],[1,"img-responsive",2,"width","1.25rem",3,"src"],["ngbDropdownMenu","","aria-labelledby","language-dropdown"],["class","dropdown-item",3,"click",4,"ngFor","ngForOf"],[1,"d-xl-none"],[1,"navbar-nav"],[1,"nav-item","border-top","mt-1"],[1,"switch","switch-sm","mt-3"],["for","switch-sm","translate","admin.permittojoin.label"],["ngbDropdown","","placement","bottom",1,"mb-3","nav-item","border-top","mt-3"],["id","language-dropdown mt-3","ngbDropdownToggle","",1,"nav-link"],["routerLink","/tools/configure","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],[1,"fas","fa-user-cog","me-2"],["translate","tools.reporting.configure"],["ngbDropdown","","routerLinkActive","active",1,"nav-item","dropdown","test"],["id","dropdown2","ngbDropdownToggle","","translate","manufacturer",1,"nav-link","nav-item","dropdown-toggle"],["class","dropdown-item nav-item nav-link","routerLink","/manufacturer/casaia","routerLinkActive","active",3,"click",4,"ngIf"],["class","dropdown-item nav-item nav-link","routerLink","/manufacturer/zlinky","routerLinkActive","active",3,"click",4,"ngIf"],["routerLink","/manufacturer/casaia","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],["src","assets/logo-casa.svg",2,"width","50%","height","50%"],["routerLink","/manufacturer/zlinky","routerLinkActive","active",1,"dropdown-item","nav-item","nav-link",3,"click"],["src","https://lixee.fr/img/prestashop-logo-1599316711.jpg",2,"width","30%","height","30%"],[1,"navbar-nav","ml-auto"],["ngbDropdown","","placement","bottom",1,"nav-item","d-flex","align-items-center","border-left","pl-5"],[1,"me-3"],["routerLinkActive","active",1,"nav-item","nav-link","mx-2",3,"routerLink","queryParams"],["triggers","mouseenter:mouseleave",1,"fa","fa-2x","fa-exclamation-circle","blink",3,"ngbPopover","popoverTitle"],["routerLinkActive","active",1,"nav-item","nav-link","mx-2",3,"routerLink"],["triggers","mouseenter:mouseleave",1,"fa","fa-2x","fa-exclamation-triangle","blink",3,"ngbPopover","popoverTitle"],[1,"dropdown-item",3,"click"]],template:function(b,W){1&b&&(e.j41(0,"nav",0),e.EFF(1,"\n "),e.j41(2,"div",1),e.EFF(3,"\n "),e.j41(4,"a",2),e.EFF(5,"\n "),e.nrm(6,"img",3),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n\n "),e.j41(9,"button",4),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(10,"\n "),e.nrm(11,"span",5),e.EFF(12,"\n "),e.k0s(),e.EFF(13,"\n\n "),e.j41(14,"div",6),e.EFF(15,"\n "),e.j41(16,"ul",7),e.EFF(17,"\n "),e.j41(18,"li",8),e.EFF(19,"\n "),e.j41(20,"a",9),e.EFF(21,"\n "),e.nrm(22,"i",10),e.EFF(23,"\n "),e.j41(24,"span"),e.EFF(25),e.k0s(),e.EFF(26,"\n "),e.k0s(),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.j41(29,"li",11),e.EFF(30,"\n "),e.nrm(31,"a",12),e.EFF(32,"\n "),e.j41(33,"ul",13),e.EFF(34,"\n "),e.j41(35,"li",14),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(36,"\n "),e.nrm(37,"i",15),e.EFF(38," "),e.nrm(39,"span",16),e.EFF(40,"\n "),e.k0s(),e.EFF(41,"\n "),e.j41(42,"li",17),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(43,"\n "),e.nrm(44,"i",18),e.EFF(45," "),e.nrm(46,"span",19),e.EFF(47,"\n "),e.k0s(),e.EFF(48,"\n "),e.k0s(),e.EFF(49,"\n "),e.k0s(),e.EFF(50,"\n "),e.j41(51,"li",11),e.EFF(52,"\n "),e.nrm(53,"a",20),e.EFF(54,"\n "),e.j41(55,"ul",21),e.EFF(56,"\n "),e.j41(57,"li",22),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(58,"\n "),e.nrm(59,"i",23),e.EFF(60," "),e.nrm(61,"span",24),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n "),e.j41(64,"li",25),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(65,"\n "),e.nrm(66,"i",26),e.EFF(67," "),e.nrm(68,"span",27),e.EFF(69,"\n "),e.k0s(),e.EFF(70,"\n "),e.k0s(),e.EFF(71,"\n "),e.k0s(),e.EFF(72,"\n\n "),e.j41(73,"li",11),e.EFF(74,"\n "),e.nrm(75,"a",28),e.EFF(76,"\n "),e.j41(77,"ul",29),e.EFF(78,"\n "),e.j41(79,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(80,"\n "),e.nrm(81,"i",31),e.EFF(82," "),e.nrm(83,"span",32),e.EFF(84,"\n "),e.k0s(),e.EFF(85,"\n "),e.j41(86,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(87,"\n "),e.nrm(88,"i",33),e.EFF(89," "),e.nrm(90,"span",34),e.EFF(91,"\n "),e.k0s(),e.EFF(92,"\n "),e.j41(93,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(94,"\n "),e.nrm(95,"i",18),e.EFF(96," "),e.nrm(97,"span",35),e.EFF(98,"\n "),e.k0s(),e.EFF(99,"\n "),e.j41(100,"li",30),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(101,"\n "),e.nrm(102,"i",36),e.EFF(103," "),e.nrm(104,"span",37),e.EFF(105,"\n "),e.k0s(),e.EFF(106,"\n "),e.j41(107,"li",38),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(108,"\n "),e.nrm(109,"i",39),e.EFF(110," "),e.nrm(111,"span",40),e.EFF(112,"\n "),e.k0s(),e.EFF(113,"\n "),e.k0s(),e.EFF(114,"\n "),e.k0s(),e.EFF(115,"\n\n "),e.j41(116,"li",8),e.EFF(117,"\n "),e.j41(118,"a",41),e.EFF(119,"\n "),e.nrm(120,"i",42),e.EFF(121,"\n "),e.j41(122,"span",43),e.EFF(123,"settings"),e.k0s(),e.EFF(124,"\n "),e.k0s(),e.EFF(125,"\n "),e.k0s(),e.EFF(126,"\n "),e.j41(127,"li",11),e.EFF(128,"\n "),e.nrm(129,"a",44),e.EFF(130,"\n "),e.j41(131,"ul",45),e.EFF(132,"\n "),e.j41(133,"li",46),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(134,"\n "),e.nrm(135,"i",47),e.EFF(136," "),e.nrm(137,"span",48),e.EFF(138,"\n "),e.k0s(),e.EFF(139,"\n "),e.j41(140,"li",49),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(141,"\n "),e.nrm(142,"i",50),e.EFF(143," "),e.nrm(144,"span",51),e.EFF(145,"\n "),e.k0s(),e.EFF(146,"\n "),e.DNE(147,Jo,6,0,"li",52),e.EFF(148,"\n "),e.j41(149,"li",53),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(150,"\n "),e.nrm(151,"i",54),e.EFF(152," "),e.nrm(153,"span",55),e.EFF(154,"\n "),e.k0s(),e.EFF(155,"\n "),e.j41(156,"li",56),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(157,"\n "),e.nrm(158,"i",57),e.EFF(159," "),e.nrm(160,"span",58),e.EFF(161,"\n "),e.k0s(),e.EFF(162,"\n "),e.j41(163,"li",59),e.bIt("click",function(){return W.toggleMenu()}),e.EFF(164,"\n "),e.nrm(165,"i",60),e.EFF(166," "),e.nrm(167,"span",61),e.EFF(168,"\n "),e.k0s(),e.EFF(169,"\n "),e.k0s(),e.EFF(170,"\n "),e.k0s(),e.EFF(171,"\n "),e.DNE(172,Pc,11,2,"li",62),e.EFF(173,"\n\n "),e.j41(174,"li",8),e.EFF(175,"\n "),e.j41(176,"a",63),e.EFF(177,"\n "),e.nrm(178,"i",64),e.EFF(179,"\n "),e.j41(180,"span",43),e.EFF(181,"About"),e.k0s(),e.EFF(182,"\n "),e.k0s(),e.EFF(183,"\n "),e.k0s(),e.EFF(184,"\n "),e.k0s(),e.EFF(185,"\n\n "),e.DNE(186,Hl,15,10,"div",65),e.EFF(187,"\n "),e.DNE(188,Rc,15,8,"div",65),e.EFF(189,"\n "),e.j41(190,"div",66),e.EFF(191,"\n "),e.j41(192,"div",67),e.EFF(193,"\n "),e.j41(194,"div",68),e.EFF(195,"\n "),e.j41(196,"div",69),e.EFF(197,"\n "),e.j41(198,"input",70),e.mxI("ngModelChange",function(ke){return e.DH7(W.permitChecked,ke)||(W.permitChecked=ke),ke}),e.bIt("click",function(ke){return W.permit(ke)}),e.k0s(),e.EFF(199,"\n "),e.nrm(200,"label",71),e.EFF(201,"\n "),e.k0s(),e.EFF(202,"\n "),e.k0s(),e.EFF(203,"\n "),e.j41(204,"div",72),e.EFF(205,"\n "),e.j41(206,"div"),e.EFF(207,"\n "),e.j41(208,"a",73),e.nrm(209,"img",74),e.EFF(210,"\n "),e.k0s(),e.EFF(211,"\n "),e.j41(212,"div",75),e.EFF(213,"\n "),e.DNE(214,Lo,4,2,"button",76),e.EFF(215,"\n "),e.k0s(),e.EFF(216,"\n "),e.k0s(),e.EFF(217,"\n "),e.k0s(),e.EFF(218,"\n "),e.k0s(),e.EFF(219,"\n "),e.k0s(),e.EFF(220,"\n "),e.j41(221,"div",77),e.EFF(222,"\n "),e.j41(223,"div",78),e.EFF(224,"\n "),e.j41(225,"div",79),e.EFF(226,"\n "),e.j41(227,"div",80),e.EFF(228,"\n "),e.j41(229,"input",70),e.mxI("ngModelChange",function(ke){return e.DH7(W.permitChecked,ke)||(W.permitChecked=ke),ke}),e.bIt("click",function(ke){return W.permit(ke)}),e.k0s(),e.EFF(230,"\n "),e.nrm(231,"label",81),e.EFF(232,"\n "),e.k0s(),e.EFF(233,"\n "),e.k0s(),e.EFF(234,"\n "),e.j41(235,"div",82),e.EFF(236,"\n "),e.j41(237,"a",83),e.nrm(238,"img",74),e.EFF(239,"\n "),e.k0s(),e.EFF(240,"\n "),e.j41(241,"div",75),e.EFF(242,"\n "),e.DNE(243,Nc,4,2,"button",76),e.EFF(244,"\n "),e.k0s(),e.EFF(245,"\n "),e.k0s(),e.EFF(246,"\n "),e.k0s(),e.EFF(247,"\n "),e.k0s(),e.EFF(248,"\n "),e.k0s(),e.EFF(249,"\n "),e.k0s(),e.EFF(250,"\n"),e.k0s(),e.EFF(251,"\n")),2&b&&(e.R7$(14),e.Y8G("ngbCollapse",W.menuHidden),e.R7$(11),e.JRh(null==W.plugin?null:W.plugin.Name),e.R7$(54),e.Y8G("routerLink",e.lJ4(23,kr))("queryParams",e.lJ4(24,er)),e.R7$(7),e.Y8G("routerLink",e.lJ4(25,kr))("queryParams",e.lJ4(26,Qo)),e.R7$(7),e.Y8G("routerLink",e.lJ4(27,kr))("queryParams",e.lJ4(28,dc)),e.R7$(7),e.Y8G("routerLink",e.lJ4(29,kr))("queryParams",e.lJ4(30,uc)),e.R7$(7),e.Y8G("routerLink",e.lJ4(31,Th)),e.R7$(40),e.Y8G("ngIf",null==W.plugin?null:W.plugin.Zigpy),e.R7$(25),e.Y8G("ngIf",W.showManufacturerCasaia||W.showManufacturerZlinky),e.R7$(14),e.Y8G("ngIf",W.restart),e.R7$(2),e.Y8G("ngIf",W.logError),e.R7$(10),e.R50("ngModel",W.permitChecked),e.R7$(11),e.Mz_("src","assets/",W.currentFlag,"",e.B4B),e.R7$(5),e.Y8G("ngForOf",W.languages),e.R7$(15),e.R50("ngModel",W.permitChecked),e.R7$(9),e.Mz_("src","assets/",W.currentFlag,"",e.B4B),e.R7$(5),e.Y8G("ngForOf",W.languages))},dependencies:[cn.Sq,cn.bT,gr.Mm,qo.$G,qo.tg,qo.do,qo.U0,qo.ZM,fs.Zm,fs.BC,fs.vS,Mn.Wk,Mn.wQ,gr.D9],styles:[".navbar[_ngcontent-%COMP%]{margin-bottom:1rem}a[_ngcontent-%COMP%]:not([href]):not([tabindex]){cursor:pointer}.dropdown-menu[_ngcontent-%COMP%]{cursor:pointer}.logo[_ngcontent-%COMP%]{width:50px}li.test[_ngcontent-%COMP%] .dropdown-item.active[_ngcontent-%COMP%], li.test[_ngcontent-%COMP%] .dropdown-item[_ngcontent-%COMP%]:active{color:transparent;text-decoration:none;background-color:transparent}"]})}return c})();var As=We(27468),Fc=We(84412);let Po=(()=>{class c{reload=new Fc.t(!1);constructor(){}setReload(i){this.reload.next(i)}static \u0275fac=function(b){return new(b||c)};static \u0275prov=e.jDH({token:c,factory:c.\u0275fac,providedIn:"root"})}return c})();function ea(c,y){1&c&&(e.qex(0),e.EFF(1,"\n "),e.bVm())}function Hs(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"translate"),e.k0s()),2&c){const i=e.XpG(2);e.R7$(),e.LHq("",e.bMT(2,4,"dashboard.rxps")," : ",i.fork.pluginStats.Rxps,"\xa0\xa0\xa0",e.bMT(3,6,"dashboard.txps"),"\n : ",i.fork.pluginStats.Txps,"\xa0\xa0\xa0")}}function Xs(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"translate"),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.LHq("",e.bMT(2,4,"dashboard.rxpm")," : ",i.fork.pluginStats.Rxpm,"\xa0\xa0\xa0",e.bMT(3,6,"dashboard.txpm"),"\n : ",i.fork.pluginStats.Txpm,"\xa0\xa0\xa0")}}function ta(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"translate"),e.nI1(3,"translate"),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.LHq("",e.bMT(2,4,"dashboard.rxph")," : ",i.fork.pluginStats.Rxph,"\xa0\xa0\xa0",e.bMT(3,6,"dashboard.txph"),"\n : ",i.fork.pluginStats.Txph,"\xa0\xa0\xa0")}}function hl(c,y){if(1&c&&(e.EFF(0,"\n "),e.DNE(1,Xs,4,8,"span",22),e.EFF(2,"\n\n "),e.DNE(3,ta,4,8,"ng-template",null,4,e.C5r),e.EFF(5,"\n ")),2&c){const i=e.sdS(4),b=e.XpG(2);e.R7$(),e.Y8G("ngIf",b.fork.pluginStats.Rxpm>=.5&&b.fork.pluginStats.Txpm>=.5)("ngIfElse",i)}}function xa(c,y){if(1&c&&(e.j41(0,"div",23),e.EFF(1,"\n "),e.j41(2,"span"),e.EFF(3),e.nI1(4,"translate"),e.k0s(),e.EFF(5,"\n "),e.k0s()),2&c){const i=e.XpG(2);e.R7$(3),e.Lme("",e.bMT(4,2,"dashboard.health.group")," ",null==i.fork.pluginHealth?null:i.fork.pluginHealth.GroupStatus,"")}}function Xr(c,y){if(1&c&&(e.j41(0,"div",24),e.EFF(1,"\n "),e.nrm(2,"span",25),e.j41(3,"span"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.k0s()),2&c){const i=e.XpG(2);e.R7$(4),e.Lme("",null==i.fork.pluginHealth?null:i.fork.pluginHealth.OTAupdateDevice," ",null==i.fork.pluginHealth?null:i.fork.pluginHealth.OTAupdateProgress,"")}}function _a(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.SpI("[",i.fork.plugin.CertifiedDbVersion,"]")}}function ia(c,y){if(1&c&&(e.j41(0,"div",26),e.EFF(1,"\n "),e.j41(2,"a",27),e.nI1(3,"translate"),e.EFF(4,"\n "),e.nrm(5,"span",28),e.EFF(6),e.DNE(7,_a,2,1,"span",29),e.EFF(8,"\n "),e.k0s(),e.EFF(9,"\n "),e.k0s()),2&c){const i=e.XpG(2),b=e.sdS(6);e.R7$(2),e.FS9("popoverTitle",e.bMT(3,4,"dashboard.plugin.update.available.title")),e.Y8G("ngbPopover",b),e.R7$(4),e.SpI("\n ",i.fork.plugin.PluginVersion,"\n "),e.R7$(),e.Y8G("ngIf",i.fork.plugin.CertifiedDbVersion)}}function kh(c,y){if(1&c&&(e.j41(0,"div",30),e.EFF(1,"\n "),e.j41(2,"a",27),e.nI1(3,"translate"),e.EFF(4,"\n "),e.nrm(5,"span",31),e.EFF(6),e.k0s(),e.EFF(7,"\n "),e.k0s()),2&c){const i=e.XpG(2),b=e.sdS(3);e.R7$(2),e.FS9("popoverTitle",e.bMT(3,3,"dashboard.firmware.update.available.title")),e.Y8G("ngbPopover",b),e.R7$(4),e.SpI("",i.fork.plugin.DisplayFirmwareVersion,"\n ")}}function Dh(c,y){if(1&c&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&c){const i=e.XpG(3);e.R7$(),e.SpI("[",i.fork.plugin.CertifiedDbVersion,"]")}}function Wl(c,y){if(1&c&&(e.j41(0,"div",32),e.EFF(1,"\n "),e.nrm(2,"span",28),e.EFF(3),e.DNE(4,Dh,2,1,"span",29),e.EFF(5,"\n "),e.k0s()),2&c){const i=e.XpG(2);e.R7$(3),e.SpI("\n ",i.fork.plugin.PluginVersion,"\n "),e.R7$(),e.Y8G("ngIf",i.fork.plugin.CertifiedDbVersion)}}function Ca(c,y){if(1&c&&(e.j41(0,"div",33),e.EFF(1,"\n "),e.nrm(2,"span",31),e.EFF(3),e.k0s()),2&c){const i=e.XpG(2);e.R7$(3),e.SpI("",i.fork.plugin.DisplayFirmwareVersion,"\n ")}}function Mh(c,y){if(1&c&&(e.j41(0,"footer",6),e.EFF(1,"\n "),e.j41(2,"div",7),e.EFF(3,"\n "),e.j41(4,"div",8),e.EFF(5,"\n "),e.j41(6,"div",9),e.EFF(7,"\n "),e.nrm(8,"span",10),e.EFF(9),e.nI1(10,"date"),e.k0s(),e.EFF(11,"\n "),e.j41(12,"div",11),e.EFF(13,"\n "),e.DNE(14,ea,2,0,"ng-container",12),e.EFF(15,"\n\n "),e.DNE(16,Hs,4,8,"ng-template",null,2,e.C5r),e.EFF(18,"\n "),e.DNE(19,hl,6,2,"ng-template",null,3,e.C5r),e.EFF(21,"\n "),e.k0s(),e.EFF(22,"\n "),e.j41(23,"div",13),e.EFF(24),e.nI1(25,"translate"),e.k0s(),e.EFF(26,"\n "),e.j41(27,"div",14),e.EFF(28,"\n "),e.nrm(29,"span",15),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.DNE(32,xa,6,4,"div",16),e.EFF(33,"\n\n "),e.DNE(34,Xr,6,2,"div",17),e.EFF(35,"\n\n "),e.DNE(36,ia,10,6,"div",18),e.EFF(37,"\n "),e.DNE(38,kh,8,5,"div",19),e.EFF(39,"\n "),e.DNE(40,Wl,6,2,"div",20),e.EFF(41,"\n "),e.DNE(42,Ca,4,1,"div",21),e.EFF(43,"\n "),e.k0s(),e.EFF(44,"\n "),e.k0s(),e.EFF(45,"\n"),e.k0s()),2&c){const i=e.sdS(17),b=e.sdS(20),W=e.XpG();e.R7$(2),e.Y8G("ngClass",4===(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)?"bg-primary fixed-bottom":3===(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)?"bg-danger fixed-bottom":1!==(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)||null!=W.fork.pluginHealth&&W.fork.pluginHealth.GroupStatus&&"ready"!==(null==W.fork.pluginHealth?null:W.fork.pluginHealth.GroupStatus)?2===(null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthFlag)||"ready"!==(null==W.fork.pluginHealth?null:W.fork.pluginHealth.GroupStatus)?"bg-warning fixed-bottom":"bg-danger fixed-bottom":"bg-success fixed-bottom"),e.R7$(7),e.SpI("",e.i5U(10,14,1e3*(null==W.fork.pluginStats?null:W.fork.pluginStats.StartTime),"dd/MM/yyyy\n HH:mm:ss"),"\n "),e.R7$(5),e.Y8G("ngIf",W.fork.pluginStats.Rxps>=.5&&W.fork.pluginStats.Txps>=.5)("ngIfThen",i)("ngIfElse",b),e.R7$(10),e.Lme("\n ",e.bMT(25,17,"dashboard.maxload")," : ",W.fork.pluginStats.MaxLoad,"\n "),e.R7$(5),e.FS9("translate",null==W.fork.pluginHealth?null:W.fork.pluginHealth.HealthTxt),e.R7$(3),e.Y8G("ngIf",null==W.fork.pluginHealth?null:W.fork.pluginHealth.GroupStatus),e.R7$(2),e.Y8G("ngIf",null==W.fork.pluginHealth?null:W.fork.pluginHealth.OTAupdateDevice),e.R7$(2),e.Y8G("ngIf",null==W.fork.plugin?null:W.fork.plugin.PluginUpdate),e.R7$(2),e.Y8G("ngIf",null==W.fork.plugin?null:W.fork.plugin.FirmwareUpdate),e.R7$(2),e.Y8G("ngIf",!(null!=W.fork.plugin&&W.fork.plugin.PluginUpdate)),e.R7$(2),e.Y8G("ngIf",!(null!=W.fork.plugin&&W.fork.plugin.FirmwareUpdate))}}function dl(c,y){1&c&&(e.nrm(0,"span",34),e.nI1(1,"translate")),2&c&&e.Y8G("innerHTML",e.bMT(1,1,"dashboard.firmware.update.available"),e.npT)}function Yr(c,y){1&c&&(e.nrm(0,"span",34),e.nI1(1,"translate")),2&c&&e.Y8G("innerHTML",e.bMT(1,1,"dashboard.plugin.update.available"),e.npT)}let na=(()=>{class c extends Wa.U{apiService;versionService;headerService;fork$;poll=!1;fork;constructor(i,b,W){super(),this.apiService=i,this.versionService=b,this.headerService=W}ngOnInit(){this.fork$=(0,As.p)([this.apiService.getPluginhealth(),this.apiService.getPluginStats(),this.apiService.getPlugin()]).pipe((0,Gl.T)(([i,b,W])=>{this.headerService.setError(b.Error),this.fork={pluginHealth:i,pluginStats:b,plugin:W},W&&sessionStorage.setItem("plugin",JSON.stringify(W))})),this.subs.sink=this.headerService.polling.subscribe(i=>{this.poll=i,this.subs.add((0,jl.O)(1,vo.c.refresh).pipe((0,lc.n)(()=>this.fork$),Vl(),(0,hc.u)(),(0,zl.Q)(this.headerService.polling.pipe((0,Oo.p)(b=>!1===b)))).subscribe())}),this.versionService.reload.subscribe(()=>{this.fork$.subscribe()})}static \u0275fac=function(b){return new(b||c)(e.rXU(vs.G),e.rXU(Po),e.rXU(pn.d))};static \u0275cmp=e.VBU({type:c,selectors:[["app-version"]],features:[e.Vt3],decls:8,vars:1,consts:[["popContentFirmware",""],["popContentPlugin",""],["perSecond",""],["other",""],["perHour",""],["class","navbar navbar-fixed-bottom navbar-expand-lg","style","line-height: 1",4,"ngIf"],[1,"navbar","navbar-fixed-bottom","navbar-expand-lg",2,"line-height","1"],[3,"ngClass"],[1,"d-flex","flex-row","justify-content-between"],[1,"order-first","p-2","text-white","ms-2"],["translate","dashboard.health.starttime"],[1,"order-0","p-2","text-center","text-white","d-none","d-xl-block"],[4,"ngIf","ngIfThen","ngIfElse"],[1,"d-none","d-md-block","order-1","p-2","text-center","text-white"],[1,"order-1","p-2","text-center","text-white"],[3,"translate"],["class","d-none d-lg-block order-2 p-2 text-center text-white",4,"ngIf"],["class","order-3 p-2 text-center text-white d-none d-lg-block",4,"ngIf"],["class","order-4 p-2",4,"ngIf"],["class","me-2 order-5 p-2",4,"ngIf"],["class","order-4 p-2 text-white",4,"ngIf"],["class","d-none d-lg-block me-2 order-5 p-2 text-white",4,"ngIf"],[4,"ngIf","ngIfElse"],[1,"d-none","d-lg-block","order-2","p-2","text-center","text-white"],[1,"order-3","p-2","text-center","text-white","d-none","d-lg-block"],["translate","dashboard.health.OTA"],[1,"order-4","p-2"],["placement","top",1,"text-danger",2,"cursor","pointer",3,"ngbPopover","popoverTitle"],["translate","dashboard.plugin.version"],[4,"ngIf"],[1,"me-2","order-5","p-2"],["translate","dashboard.firmware.version"],[1,"order-4","p-2","text-white"],[1,"d-none","d-lg-block","me-2","order-5","p-2","text-white"],[3,"innerHTML"]],template:function(b,W){1&b&&(e.DNE(0,Mh,46,19,"footer",5),e.EFF(1,"\n\n"),e.DNE(2,dl,2,3,"ng-template",null,0,e.C5r),e.EFF(4,"\n\n"),e.DNE(5,Yr,2,3,"ng-template",null,1,e.C5r),e.EFF(7,"\n")),2&b&&e.Y8G("ngIf",W.fork)},dependencies:[cn.YU,cn.bT,gr.Mm,qo.ZM,cn.vh,gr.D9]})}return c})(),$l=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275cmp=e.VBU({type:c,selectors:[["app-shell"]],decls:9,vars:0,consts:[[1,"container-fluid"]],template:function(b,W){1&b&&(e.nrm(0,"app-header"),e.EFF(1,"\n"),e.j41(2,"div",0),e.EFF(3,"\n "),e.nrm(4,"router-outlet"),e.EFF(5,"\n"),e.k0s(),e.EFF(6,"\n"),e.nrm(7,"app-version"),e.EFF(8,"\n"))},dependencies:[Mn.n3,Ul,na]})}return c})();class fc{static childRoutes(y){return{path:"",component:$l,children:y,data:{reuse:!0}}}}const Ge=[fc.childRoutes([{path:"about",loadChildren:()=>We.e(644).then(We.bind(We,60644)).then(c=>c.AboutModule)},{path:"device",loadChildren:()=>We.e(12).then(We.bind(We,55012)).then(c=>c.DeviceModule)},{path:"group",loadChildren:()=>Promise.all([We.e(76),We.e(577)]).then(We.bind(We,74577)).then(c=>c.GroupModule)},{path:"network",loadChildren:()=>We.e(837).then(We.bind(We,86837)).then(c=>c.NetworkModule)},{path:"admin",loadChildren:()=>Promise.all([We.e(76),We.e(908)]).then(We.bind(We,5908)).then(c=>c.AdminModule)},{path:"settings",loadChildren:()=>We.e(521).then(We.bind(We,16521)).then(c=>c.SettingsModule)},{path:"manufacturer",loadChildren:()=>We.e(317).then(We.bind(We,22317)).then(c=>c.ManufacturerModule)},{path:"tools",loadChildren:()=>We.e(846).then(We.bind(We,2846)).then(c=>c.ToolsModule)}]),{path:"**",redirectTo:"",pathMatch:"full"}];let ut=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({imports:[Mn.iI.forRoot(Ge,{preloadingStrategy:Mn.Kp}),Mn.iI]})}return c})();var Ke=We(57786),at=We(73028),Et=We(5779),Jt=We(21413),ci=We(33726),Oi=We(7673),Wn=We(983),Qn=We(71985),os=We(88141),xn=We(70152),ys=We(70980);function Bi(){return["Mac","iPhone","iPad"].some(y=>navigator.userAgent.includes(y))?"apple":"pc"}function En(c,y){const i={up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight"};function b(W){return"pc"===y&&"meta"===W&&(W="control"),W in i&&(W=i[W]),W}return c.toLowerCase().split(">").map(W=>W.split(".").map(b).join(".")).join(">")}let ks=(()=>{class c{constructor(i,b){this.eventManager=i,this.document=b,this.hotkeys=new Map,this.dispose=new Jt.B,this.defaults={trigger:"keydown",allowIn:[],element:this.document.documentElement,group:void 0,description:void 0,showInHelpMenu:!0,preventDefault:!0},this.callbacks=[],this.sequenceMaps=new Map,this.sequenceDebounce=250}getHotkeys(){const i=Array.from(this.sequenceMaps.values()).map(b=>[b.hotkeyMap].reduce((W,ce)=>[...ce.values()],[])).reduce((b,W)=>W,[]).map(b=>b.hotkey);return Array.from(this.hotkeys.values()).concat(i)}getShortcuts(){const i=this.getHotkeys(),b=[];for(const W of i){if(!W.showInHelpMenu)continue;let ce=b.find(Ve=>Ve.group===W.group);ce||(ce={group:W.group,hotkeys:[]},b.push(ce));const ke=En(W.keys,Bi());ce.hotkeys.push({keys:ke,description:W.description})}return b}addSequenceShortcut(i){const b=(Ve,Ze)=>{let tt="";return(0,ci.R)(Ve,Ze).pipe((0,os.M)(bt=>tt=`${tt}${tt?">":""}${bt.ctrlKey?"control.":""}${bt.altKey?"alt.":""}${bt.shiftKey?"shift.":""}${bt.key}`),(0,xn.B)(this.sequenceDebounce),(0,at.Z)(()=>{const bt=tt;tt="";const Mt=this.sequenceMaps.get(Ve);if(Mt.hotkeyMap.has(bt)){const Lt=Mt.hotkeyMap.get(bt);return Lt.subject.next(Lt.hotkey),(0,Oi.of)(Lt.hotkey)}return Wn.w}))},W={...this.defaults,...i};let ce=En(W.keys,Bi());return(()=>{const Ve={subject:new Jt.B,hotkey:W};if(this.sequenceMaps.has(W.element)){const Ze=this.sequenceMaps.get(W.element);if(Ze.hotkeyMap.has(ce))return console.error("Duplicated shortcut"),(0,Oi.of)(null);Ze.hotkeyMap.set(ce,Ve)}else{const Ze=b(W.element,W.trigger),Mt={subscription:Ze.subscribe(),observer:Ze,hotkeyMap:new Map([[ce,Ve]])};this.sequenceMaps.set(W.element,Mt)}return Ve.subject.asObservable()})().pipe((0,zl.Q)(this.dispose.pipe((0,Oo.p)(Ve=>Ve===ce))),(0,Oo.p)(Ve=>!this.targetIsExcluded(Ve.allowIn)),(0,os.M)(Ve=>this.callbacks.forEach(Ze=>Ze(Ve,ce,Ve.element))),(0,ys.j)(()=>this.removeShortcuts(ce)))}addShortcut(i){const b={...this.defaults,...i},W=En(b.keys,Bi());if(this.hotkeys.has(W))return console.error("Duplicated shortcut"),(0,Oi.of)(null);this.hotkeys.set(W,b);const ce=`${b.trigger}.${W}`;return new Qn.c(ke=>{const Ze=this.eventManager.addEventListener(b.element,ce,tt=>{const bt=this.hotkeys.get(W);this.targetIsExcluded(bt.allowIn)||(b.preventDefault&&tt.preventDefault(),this.callbacks.forEach(Lt=>Lt(tt,W,bt.element)),ke.next(tt))});return()=>{this.hotkeys.delete(W),Ze()}}).pipe((0,zl.Q)(this.dispose.pipe((0,Oo.p)(ke=>ke===W))))}removeShortcuts(i){(function gi(c){return Array.isArray(c)?c:[c]})(i).map(W=>En(W,Bi())).forEach(W=>{this.hotkeys.delete(W),this.dispose.next(W),this.sequenceMaps.forEach((ce,ke)=>{const Ve=ce.hotkeyMap.get(W);Ve&&(Ve.subject.observers.filter(Ze=>!Ze.closed).forEach(Ze=>Ze.unsubscribe()),ce.hotkeyMap.delete(W)),0===ce.hotkeyMap.size&&(ce.subscription.unsubscribe(),this.sequenceMaps.delete(ke))})})}setSequenceDebounce(i){this.sequenceDebounce=i}onShortcut(i){return this.callbacks.push(i),()=>this.callbacks=this.callbacks.filter(b=>b!==i)}registerHelpModal(i,b=""){this.addShortcut({keys:b||"shift.?",showInHelpMenu:!1,preventDefault:!1}).subscribe(W=>{!/^(input|textarea|select)$/i.test(document.activeElement.nodeName)&&!W.target.isContentEditable&&this.hotkeys.size&&i()})}targetIsExcluded(i){const b=this.document.activeElement,ce=b.isContentEditable;let ke=["INPUT","SELECT","TEXTAREA"].includes(b.nodeName)||ce;if(ke&&i?.length)for(let Ve of i)if(b.nodeName===Ve||"CONTENTEDITABLE"===Ve&&ce){ke=!1;break}return ke}static#e=this.\u0275fac=function(b){return new(b||c)(e.KVO(M.EU),e.KVO(cn.qQ))};static#t=this.\u0275prov=e.jDH({token:c,factory:c.\u0275fac,providedIn:"root"})}return c})();const Qi=new nr.Vy("App");let No=(()=>{class c extends Wa.U{router;activatedRoute;titleService;translateService;apiService;i18nService;headerService;primengConfig;hotkeys;keysBoundActive=vo.c.keysBoundActive;activateRefresh=!1;statusChangeSubscription;hasRememberedConsent;constructor(i,b,W,ce,ke,Ve,Ze,tt,bt){super(),this.router=i,this.activatedRoute=b,this.titleService=W,this.translateService=ce,this.apiService=ke,this.i18nService=Ve,this.headerService=Ze,this.primengConfig=tt,this.hotkeys=bt}ngOnInit(){this.primengConfig.ripple=!0,vo.c.production&&nr.Vy.enableProductionMode(),Qi.debug("init"),this.i18nService.init(vo.c.defaultLanguage,vo.c.supportedLanguages),this.subs.sink=(0,As.p)([this.apiService.getCasiaDevices(),this.apiService.getZlinky()]).subscribe(([i,b])=>{i.length>0&&this.headerService.setShowManufacturerCasaia(!0),b.length>0&&this.headerService.setShowManufacturerZlinky(!0)}),this.apiService.getPlugin().subscribe(i=>{sessionStorage.setItem("plugin",JSON.stringify(i)),this.titleService.setTitle(i?.Name.concat(" - ").concat(this.translateService.instant("dashboard"))),this.setTitle()}),this.keysBoundActive.forEach(i=>{this.subs.add(this.hotkeys.addSequenceShortcut({keys:i}).subscribe(()=>{this.activateRefresh=!this.activateRefresh,this.headerService.setPolling(this.activateRefresh)}))})}setTitle(){const i=this.router.events.pipe((0,Oo.p)(b=>b instanceof Mn.wF));(0,Ke.h)(this.translateService.onLangChange,i).pipe((0,Gl.T)(()=>{let b=this.activatedRoute;for(;b.firstChild;)b=b.firstChild;return b}),(0,Oo.p)(b=>"primary"===b.outlet),(0,at.Z)(b=>b.data),(0,nr.s0)(this)).subscribe(b=>{const W=b.title;if(W){const ce=JSON.parse(sessionStorage.getItem("plugin"));this.titleService.setTitle(ce?.Name.concat(" - ").concat(this.translateService.instant(W)))}})}ngOnDestroy(){this.i18nService.destroy(),this.statusChangeSubscription.unsubscribe(),this.hasRememberedConsent.unsubscribe()}static \u0275fac=function(b){return new(b||c)(e.rXU(Mn.Ix),e.rXU(Mn.nX),e.rXU(M.hE),e.rXU(gr.c$),e.rXU(vs.G),e.rXU(nr.W4),e.rXU(pn.d),e.rXU(Et.r1),e.rXU(ks))};static \u0275cmp=e.VBU({type:c,selectors:[["app-root"]],features:[e.Vt3],decls:2,vars:0,template:function(b,W){1&b&&(e.nrm(0,"router-outlet"),e.EFF(1,"\n"))},dependencies:[Mn.n3]})}return c})();var Xl=We(31635);class wa{attach(y){return this._attachedHost=y,y.attach(this)}detach(){let y=this._attachedHost;null!=y&&(this._attachedHost=null,y.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(y){this._attachedHost=y}}class yo extends wa{constructor(y,i,b,W,ce){super(),this.component=y,this.viewContainerRef=i,this.injector=b,this.componentFactoryResolver=W,this.projectableNodes=ce}}class Zr extends wa{constructor(y,i,b,W){super(),this.templateRef=y,this.viewContainerRef=i,this.context=b,this.injector=W}get origin(){return this.templateRef.elementRef}attach(y,i=this.context){return this.context=i,super.attach(y)}detach(){return this.context=void 0,super.detach()}}class $a extends wa{constructor(y){super(),this.element=y instanceof e.aKT?y.nativeElement:y}}class rn{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(y){return y instanceof yo?(this._attachedPortal=y,this.attachComponentPortal(y)):y instanceof Zr?(this._attachedPortal=y,this.attachTemplatePortal(y)):this.attachDomPortal&&y instanceof $a?(this._attachedPortal=y,this.attachDomPortal(y)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(y){this._disposeFn=y}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class gc extends rn{constructor(y,i,b,W,ce){super(),this.outletElement=y,this._componentFactoryResolver=i,this._appRef=b,this._defaultInjector=W,this.attachDomPortal=ke=>{const Ve=ke.element,Ze=this._document.createComment("dom-portal");Ve.parentNode.insertBefore(Ze,Ve),this.outletElement.appendChild(Ve),this._attachedPortal=ke,super.setDisposeFn(()=>{Ze.parentNode&&Ze.parentNode.replaceChild(Ve,Ze)})},this._document=ce}attachComponentPortal(y){const b=(y.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(y.component);let W;return y.viewContainerRef?(W=y.viewContainerRef.createComponent(b,y.viewContainerRef.length,y.injector||y.viewContainerRef.injector,y.projectableNodes||void 0),this.setDisposeFn(()=>W.destroy())):(W=b.create(y.injector||this._defaultInjector||e.zZn.NULL),this._appRef.attachView(W.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(W.hostView),W.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(W)),this._attachedPortal=y,W}attachTemplatePortal(y){let i=y.viewContainerRef,b=i.createEmbeddedView(y.templateRef,y.context,{injector:y.injector});return b.rootNodes.forEach(W=>this.outletElement.appendChild(W)),b.detectChanges(),this.setDisposeFn(()=>{let W=i.indexOf(b);-1!==W&&i.remove(W)}),this._attachedPortal=y,b}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(y){return y.hostView.rootNodes[0]}}function jc(){}function Bo(c){return null==c?jc:function(){return this.querySelector(c)}}function Vc(){return[]}function bc(c){return null==c?Vc:function(){return this.querySelectorAll(c)}}function zc(c){return function(){return this.matches(c)}}function Ah(c){return function(y){return y.matches(c)}}var Gc=Array.prototype.find;function ld(){return this.firstElementChild}var Ih=Array.prototype.filter;function vc(){return Array.from(this.children)}function Oh(c){return new Array(c.length)}function Hc(c,y){this.ownerDocument=c.ownerDocument,this.namespaceURI=c.namespaceURI,this._next=null,this._parent=c,this.__data__=y}function Re(c,y,i,b,W,ce){for(var Ve,ke=0,Ze=y.length,tt=ce.length;key?1:c>=y?0:NaN}Hc.prototype={constructor:Hc,appendChild:function(c){return this._parent.insertBefore(c,this._next)},insertBefore:function(c,y){return this._parent.insertBefore(c,y)},querySelector:function(c){return this._parent.querySelector(c)},querySelectorAll:function(c){return this._parent.querySelectorAll(c)}};var Ks="http://www.w3.org/1999/xhtml";const dd={svg:"http://www.w3.org/2000/svg",xhtml:Ks,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Lh(c){var y=c+="",i=y.indexOf(":");return i>=0&&"xmlns"!==(y=c.slice(0,i))&&(c=c.slice(i+1)),dd.hasOwnProperty(y)?{space:dd[y],local:c}:c}function Yu(c){return function(){this.removeAttribute(c)}}function Ef(c){return function(){this.removeAttributeNS(c.space,c.local)}}function Xg(c,y){return function(){this.setAttribute(c,y)}}function Ts(c,y){return function(){this.setAttributeNS(c.space,c.local,y)}}function qd(c,y){return function(){var i=y.apply(this,arguments);null==i?this.removeAttribute(c):this.setAttribute(c,i)}}function Ph(c,y){return function(){var i=y.apply(this,arguments);null==i?this.removeAttributeNS(c.space,c.local):this.setAttributeNS(c.space,c.local,i)}}function Ku(c){return c.ownerDocument&&c.ownerDocument.defaultView||c.document&&c||c.defaultView}function Rh(c){return function(){this.style.removeProperty(c)}}function Uc(c,y,i){return function(){this.style.setProperty(c,y,i)}}function jo(c,y,i){return function(){var b=y.apply(this,arguments);null==b?this.style.removeProperty(c):this.style.setProperty(c,b,i)}}function bl(c,y){return c.style.getPropertyValue(y)||Ku(c).getComputedStyle(c,null).getPropertyValue(y)}function Af(c){return function(){delete this[c]}}function Ka(c,y){return function(){this[c]=y}}function Zu(c,y){return function(){var i=y.apply(this,arguments);null==i?delete this[c]:this[c]=i}}function Qd(c){return c.trim().split(/^|\s+/)}function Nh(c){return c.classList||new $c(c)}function $c(c){this._node=c,this._names=Qd(c.getAttribute("class")||"")}function Xc(c,y){for(var i=Nh(c),b=-1,W=y.length;++b=0&&(this._names.splice(y,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(c){return this._names.indexOf(c)>=0}};var Bh=[null];function oo(c,y){this._groups=c,this._parents=y}function wc(){return new oo([[document.documentElement]],Bh)}oo.prototype=wc.prototype={constructor:oo,select:function fl(c){"function"!=typeof c&&(c=Bo(c));for(var y=this._groups,i=y.length,b=new Array(i),W=0;W=fi&&(fi=yi+1);!(ji=Yt[fi])&&++fi=0;)(ke=b[W])&&(ce&&4^ke.compareDocumentPosition(ce)&&ce.parentNode.insertBefore(ke,ce),ce=ke);return this},sort:function Ei(c){function y(Mt,Lt){return Mt&&Lt?c(Mt.__data__,Lt.__data__):!Mt-!Lt}c||(c=on);for(var i=this._groups,b=i.length,W=new Array(b),ce=0;ce1?this.each((null==y?Rh:"function"==typeof y?jo:Uc)(c,y,i??"")):bl(this.node(),c)},property:function If(c,y){return arguments.length>1?this.each((null==y?Af:"function"==typeof y?Zu:Ka)(c,y)):this.node()[c]},classed:function Fh(c,y){var i=Qd(c+"");if(arguments.length<2){for(var b=Nh(this.node()),W=-1,ce=i.length;++W=0&&(i=y.slice(b+1),y=y.slice(0,b)),{type:y,name:i}})}(c+""),ce=b.length;if(!(arguments.length<2)){for(Ve=y?Ta:ip,W=0;W{}};function jh(){for(var b,c=0,y=arguments.length,i={};c=0&&(b=i.slice(W+1),i=i.slice(0,W)),i&&!y.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:b}})}(c+"",i),ce=-1,ke=b.length;if(!(arguments.length<2)){if(null!=y&&"function"!=typeof y)throw new Error("invalid callback: "+y);for(;++ce0)for(var W,ce,i=new Array(W),b=0;b>8&15|y>>4&240,y>>4&15|240&y,(15&y)<<4|15&y,1):8===i?Ja(y>>24&255,y>>16&255,y>>8&255,(255&y)/255):4===i?Ja(y>>12&15|y>>8&240,y>>8&15|y>>4&240,y>>4&15|240&y,((15&y)<<4|15&y)/255):null):(y=ou.exec(c))?new Fr(y[1],y[2],y[3],1):(y=Cl.exec(c))?new Fr(255*y[1]/100,255*y[2]/100,255*y[3]/100,1):(y=lp.exec(c))?Ja(y[1],y[2],y[3],y[4]):(y=Tc.exec(c))?Ja(255*y[1]/100,255*y[2]/100,255*y[3]/100,y[4]):(y=Qc.exec(c))?lu(y[1],y[2]/100,y[3]/100,1):(y=Gh.exec(c))?lu(y[1],y[2]/100,y[3]/100,y[4]):Hh.hasOwnProperty(c)?eh(Hh[c]):"transparent"===c?new Fr(NaN,NaN,NaN,0):null}function eh(c){return new Fr(c>>16&255,c>>8&255,255&c,1)}function Ja(c,y,i,b){return b<=0&&(c=y=i=NaN),new Fr(c,y,i,b)}function el(c,y,i,b){return 1===arguments.length?function hp(c){return c instanceof Qa||(c=Sc(c)),c?new Fr((c=c.rgb()).r,c.g,c.b,c.opacity):new Fr}(c):new Fr(c,y,i,b??1)}function Fr(c,y,i,b){this.r=+c,this.g=+y,this.b=+i,this.opacity=+b}function kc(){return`#${Br(this.r)}${Br(this.g)}${Br(this.b)}`}function th(){const c=wl(this.opacity);return`${1===c?"rgb(":"rgba("}${ka(this.r)}, ${ka(this.g)}, ${ka(this.b)}${1===c?")":`, ${c})`}`}function wl(c){return isNaN(c)?1:Math.max(0,Math.min(1,c))}function ka(c){return Math.max(0,Math.min(255,Math.round(c)||0))}function Br(c){return((c=ka(c))<16?"0":"")+c.toString(16)}function lu(c,y,i,b){return b<=0?c=y=i=NaN:i<=0||i>=1?c=y=NaN:y<=0&&(c=NaN),new lo(c,y,i,b)}function ih(c){if(c instanceof lo)return new lo(c.h,c.s,c.l,c.opacity);if(c instanceof Qa||(c=Sc(c)),!c)return new lo;if(c instanceof lo)return c;var y=(c=c.rgb()).r/255,i=c.g/255,b=c.b/255,W=Math.min(y,i,b),ce=Math.max(y,i,b),ke=NaN,Ve=ce-W,Ze=(ce+W)/2;return Ve?(ke=y===ce?(i-b)/Ve+6*(i0&&Ze<1?0:ke,new lo(ke,Ve,Ze,c.opacity)}function lo(c,y,i,b){this.h=+c,this.s=+y,this.l=+i,this.opacity=+b}function Wh(c){return(c=(c||0)%360)<0?c+360:c}function nh(c){return Math.max(0,Math.min(1,c||0))}function $h(c,y,i){return 255*(c<60?y+(i-y)*c/60:c<180?i:c<240?y+(i-y)*(240-c)/60:y)}function md(c,y,i,b,W){var ce=c*c,ke=ce*c;return((1-3*c+3*ce-ke)*y+(4-6*ce+3*ke)*i+(1+3*c+3*ce-3*ke)*b+ke*W)/6}Vh(Qa,Sc,{copy(c){return Object.assign(new this.constructor,this,c)},displayable(){return this.rgb().displayable()},hex:Jc,formatHex:Jc,formatHex8:function au(){return this.rgb().formatHex8()},formatHsl:function Uh(){return ih(this).formatHsl()},formatRgb:cp,toString:cp}),Vh(Fr,el,qc(Qa,{brighter(c){return c=null==c?Zl:Math.pow(Zl,c),new Fr(this.r*c,this.g*c,this.b*c,this.opacity)},darker(c){return c=null==c?.7:Math.pow(.7,c),new Fr(this.r*c,this.g*c,this.b*c,this.opacity)},rgb(){return this},clamp(){return new Fr(ka(this.r),ka(this.g),ka(this.b),wl(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kc,formatHex:kc,formatHex8:function Bf(){return`#${Br(this.r)}${Br(this.g)}${Br(this.b)}${Br(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:th,toString:th})),Vh(lo,function gd(c,y,i,b){return 1===arguments.length?ih(c):new lo(c,y,i,b??1)},qc(Qa,{brighter(c){return c=null==c?Zl:Math.pow(Zl,c),new lo(this.h,this.s,this.l*c,this.opacity)},darker(c){return c=null==c?.7:Math.pow(.7,c),new lo(this.h,this.s,this.l*c,this.opacity)},rgb(){var c=this.h%360+360*(this.h<0),y=isNaN(c)||isNaN(this.s)?0:this.s,i=this.l,b=i+(i<.5?i:1-i)*y,W=2*i-b;return new Fr($h(c>=240?c-240:c+120,W,b),$h(c,W,b),$h(c<120?c+240:c-120,W,b),this.opacity)},clamp(){return new lo(Wh(this.h),nh(this.s),nh(this.l),wl(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const c=wl(this.opacity);return`${1===c?"hsl(":"hsla("}${Wh(this.h)}, ${100*nh(this.s)}%, ${100*nh(this.l)}%${1===c?")":`, ${c})`}`}}));const sh=c=>()=>c;function hu(c,y){var i=y-c;return i?function yd(c,y){return function(i){return c+i*y}}(c,i):sh(isNaN(c)?y:c)}const Xh=function c(y){var i=function cu(c){return 1==(c=+c)?hu:function(y,i){return i-y?function rh(c,y,i){return c=Math.pow(c,i),y=Math.pow(y,i)-c,i=1/i,function(b){return Math.pow(c+b*y,i)}}(y,i,c):sh(isNaN(y)?i:y)}}(y);function b(W,ce){var ke=i((W=el(W)).r,(ce=el(ce)).r),Ve=i(W.g,ce.g),Ze=i(W.b,ce.b),tt=hu(W.opacity,ce.opacity);return function(bt){return W.r=ke(bt),W.g=Ve(bt),W.b=Ze(bt),W.opacity=tt(bt),W+""}}return b.gamma=c,b}(1);function Tl(c){return function(y){var ke,Ve,i=y.length,b=new Array(i),W=new Array(i),ce=new Array(i);for(ke=0;ke=1?(i=1,y-1):Math.floor(i*y),W=c[b],ce=c[b+1];return md((i-b/y)*y,b>0?c[b-1]:2*W-ce,W,ce,bi&&(ce=y.slice(i,ce),Ve[ke]?Ve[ke]+=ce:Ve[++ke]=ce),(b=b[0])===(W=W[0])?Ve[ke]?Ve[ke]+=W:Ve[++ke]=W:(Ve[++ke]=null,Ze.push({i:ke,x:aa(b,W)})),i=uu.lastIndex;return i=0&&c._call.call(void 0,y),c=c._next;--lh}()}finally{lh=0,function gp(){for(var c,i,y=fu,b=1/0;y;)y._call?(b>y._time&&(b=y._time),c=y,y=y._next):(i=y._next,y._next=null,y=c?c._next=i:fu=i);Yh=c,mp(b)}(),yr=0}}function fp(){var c=Zh.now(),y=c-Kh;y>zf&&(wd-=y,Kh=c)}function mp(c){lh||(ch&&(ch=clearTimeout(ch)),c-yr>24?(c<1/0&&(ch=setTimeout(Hf,c-Zh.now()-wd)),Cd&&(Cd=clearInterval(Cd))):(Cd||(Kh=Zh.now(),Cd=setInterval(fp,zf)),lh=1,Zg(Hf)))}function gu(c,y,i){var b=new hh;return b.restart(W=>{b.stop(),c(W+y)},y=null==y?0:+y,i),b}hh.prototype=ec.prototype={constructor:hh,restart:function(c,y,i){if("function"!=typeof c)throw new TypeError("callback is not a function");i=(null==i?Td():+i)+(null==y?0:+y),!this._next&&Yh!==this&&(Yh?Yh._next=this:fu=this,Yh=this),this._call=c,this._time=i,mp()},stop:function(){this._call&&(this._call=null,this._time=1/0,mp())}};var qg=Rr("start","end","cancel","interrupt"),Uf=[],bp=0,qh=3;function Sd(c,y,i,b,W,ce){var ke=c.__transition;if(ke){if(i in ke)return}else c.__transition={};!function yp(c,y,i){var W,b=c.__transition;function ke(tt){var bt,Mt,Lt,Wt;if(1!==i.state)return Ze();for(bt in b)if((Wt=b[bt]).name===i.name){if(Wt.state===qh)return gu(ke);4===Wt.state?(Wt.state=6,Wt.timer.stop(),Wt.on.call("interrupt",c,c.__data__,Wt.index,Wt.group),delete b[bt]):+btbp)throw new Error("too late; already scheduled");return i}function xo(c,y){var i=Da(c,y);if(i.state>qh)throw new Error("too late; already running");return i}function Da(c,y){var i=c.__transition;if(!i||!(i=i[y]))throw new Error("transition not found");return i}var Ma,ed=180/Math.PI,Dc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function xp(c,y,i,b,W,ce){var ke,Ve,Ze;return(ke=Math.sqrt(c*c+y*y))&&(c/=ke,y/=ke),(Ze=c*i+y*b)&&(i-=c*Ze,b-=y*Ze),(Ve=Math.sqrt(i*i+b*b))&&(i/=Ve,b/=Ve,Ze/=Ve),c*b180?bt+=360:bt-tt>180&&(tt+=360),Lt.push({i:Mt.push(W(Mt)+"rotate(",null,b)-2,x:aa(tt,bt)})):bt&&Mt.push(W(Mt)+"rotate("+bt+b)}(tt.rotate,bt.rotate,Mt,Lt),function Ve(tt,bt,Mt,Lt){tt!==bt?Lt.push({i:Mt.push(W(Mt)+"skewX(",null,b)-2,x:aa(tt,bt)}):bt&&Mt.push(W(Mt)+"skewX("+bt+b)}(tt.skewX,bt.skewX,Mt,Lt),function Ze(tt,bt,Mt,Lt,Wt,Zt){if(tt!==Mt||bt!==Lt){var hi=Wt.push(W(Wt)+"scale(",null,",",null,")");Zt.push({i:hi-4,x:aa(tt,Mt)},{i:hi-2,x:aa(bt,Lt)})}else(1!==Mt||1!==Lt)&&Wt.push(W(Wt)+"scale("+Mt+","+Lt+")")}(tt.scaleX,tt.scaleY,bt.scaleX,bt.scaleY,Mt,Lt),tt=bt=null,function(Wt){for(var Yt,Zt=-1,hi=Lt.length;++Zt=0&&(y=y.slice(0,i)),!y||"start"===y})}(y)?Jh:xo;return function(){var ke=ce(this,c),Ve=ke.on;Ve!==b&&(W=(b=Ve).copy()).on(y,i),ke.on=W}}(i,c,y))},attr:function Vt(c,y){var i=Lh(c),b="transform"===i?Qg:me;return this.attrTween(c,"function"==typeof y?(i.local?ft:it)(i,b,Md(this,"attr."+c,y)):null==y?(i.local?ae:je)(i):(i.local?Ne:Ce)(i,b,y))},attrTween:function Ci(c,y){var i="attr."+c;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==y)return this.tween(i,null);if("function"!=typeof y)throw new Error;var b=Lh(c);return this.tween(i,(b.local?ii:wi)(b,y))},style:function ai(c,y,i){var b="transform"==(c+="")?wp:me;return null==y?this.styleTween(c,function de(c,y){var i,b,W;return function(){var ce=bl(this,c),ke=(this.style.removeProperty(c),bl(this,c));return ce===ke?null:ce===i&&ke===b?W:W=y(i=ce,b=ke)}}(c,b)).on("end.style."+c,Ae(c)):"function"==typeof y?this.styleTween(c,function kt(c,y,i){var b,W,ce;return function(){var ke=bl(this,c),Ve=i(this),Ze=Ve+"";return null==Ve&&(this.style.removeProperty(c),Ze=Ve=bl(this,c)),ke===Ze?null:ke===b&&Ze===W?ce:(W=Ze,ce=y(b=ke,Ve))}}(c,b,Md(this,"style."+c,y))).each(function zt(c,y){var i,b,W,Ve,ce="style."+y,ke="end."+ce;return function(){var Ze=xo(this,c),tt=Ze.on,bt=null==Ze.value[ce]?Ve||(Ve=Ae(y)):void 0;(tt!==i||W!==bt)&&(b=(i=tt).copy()).on(ke,W=bt),Ze.on=b}}(this._id,c)):this.styleTween(c,function nt(c,y,i){var b,ce,W=i+"";return function(){var ke=bl(this,c);return ke===W?null:ke===b?ce:ce=y(b=ke,i)}}(c,b,y),i).on("end.style."+c,null)},styleTween:function Yi(c,y,i){var b="style."+(c+="");if(arguments.length<2)return(b=this.tween(b))&&b._value;if(null==y)return this.tween(b,null);if("function"!=typeof y)throw new Error;return this.tween(b,function Li(c,y,i){var b,W;function ce(){var ke=y.apply(this,arguments);return ke!==W&&(b=(W=ke)&&function oi(c,y,i){return function(b){this.style.setProperty(c,y.call(this,b),i)}}(c,ke,i)),b}return ce._value=y,ce}(c,y,i??""))},text:function _n(c){return this.tween("text","function"==typeof c?function Ji(c){return function(){var y=c(this);this.textContent=y??""}}(Md(this,"text",c)):function Xi(c){return function(){this.textContent=c}}(null==c?"":c+""))},textTween:function Ms(c){var y="text";if(arguments.length<1)return(y=this.tween(y))&&y._value;if(null==c)return this.tween(y,null);if("function"!=typeof c)throw new Error;return this.tween(y,function Jn(c){var y,i;function b(){var W=c.apply(this,arguments);return W!==i&&(y=(i=W)&&function en(c){return function(y){this.textContent=c.call(this,y)}}(W)),y}return b._value=c,b}(c))},remove:function Vr(){return this.on("end.remove",function zo(c){return function(){var y=this.parentNode;for(var i in this.__transition)if(+i!==c)return;y&&y.removeChild(this)}}(this._id))},tween:function Sp(c,y){var i=this._id;if(c+="",arguments.length<2){for(var ke,b=Da(this.node(),i).tween,W=0,ce=b.length;W2&&b.state<5,b.state=6,b.timer.stop(),b.on.call(W?"interrupt":"cancel",c,c.__data__,b.index,b.group),delete i[ke]):ce=!1;ce&&delete c.__transition}}(this,c)})},_l.prototype.transition=function Dl(c){var y,i;c instanceof sr?(y=c._id,c=c._name):(y=la(),(i=Xf).time=Td(),c=null==c?null:c+"");for(var b=this._groups,W=b.length,ce=0;cey?1:c>=y?0:NaN}function Qy(c,y){return null==c||null==y?NaN:yc?1:y>=c?0:NaN}function nm(c){let y,i,b;function W(Ve,Ze,tt=0,bt=Ve.length){if(tt>>1;i(Ve[Mt],Ze)<0?tt=Mt+1:bt=Mt}while(ttyu(c(Ve),Ze),b=(Ve,Ze)=>c(Ve)-Ze):(y=c===yu||c===Qy?c:W0,i=c,b=c),{left:W,center:function ke(Ve,Ze,tt=0,bt=Ve.length){const Mt=W(Ve,Ze,tt,bt-1);return Mt>tt&&b(Ve[Mt-1],Ze)>-b(Ve[Mt],Ze)?Mt-1:Mt},right:function ce(Ve,Ze,tt=0,bt=Ve.length){if(tt>>1;i(Ve[Mt],Ze)<=0?tt=Mt+1:bt=Mt}while(tt=Qf?10:ce>=$0?5:ce>=sm?2:1;let Ve,Ze,tt;return W<0?(tt=Math.pow(10,-W)/ke,Ve=Math.round(c*tt),Ze=Math.round(y*tt),Ve/tty&&--Ze,tt=-tt):(tt=Math.pow(10,W)*ke,Ve=Math.round(c/tt),Ze=Math.round(y/tt),Ve*tty&&--Ze),Ze(c(ce=new Date(+ce)),ce),W.ceil=ce=>(c(ce=new Date(ce-1)),y(ce,1),c(ce),ce),W.round=ce=>{const ke=W(ce),Ve=W.ceil(ce);return ce-ke(y(ce=new Date(+ce),null==ke?1:Math.floor(ke)),ce),W.range=(ce,ke,Ve)=>{const Ze=[];if(ce=W.ceil(ce),Ve=null==Ve?1:Math.floor(Ve),!(ce0))return Ze;let tt;do{Ze.push(tt=new Date(+ce)),y(ce,Ve),c(ce)}while(ttur(ke=>{if(ke>=ke)for(;c(ke),!ce(ke);)ke.setTime(ke-1)},(ke,Ve)=>{if(ke>=ke)if(Ve<0)for(;++Ve<=0;)for(;y(ke,-1),!ce(ke););else for(;--Ve>=0;)for(;y(ke,1),!ce(ke););}),i&&(W.count=(ce,ke)=>(Y0.setTime(+ce),K0.setTime(+ke),c(Y0),c(K0),Math.floor(i(Y0,K0))),W.every=ce=>(ce=Math.floor(ce),isFinite(ce)&&ce>0?ce>1?W.filter(b?ke=>b(ke)%ce==0:ke=>W.count(0,ke)%ce==0):W:null)),W}const ig=ur(()=>{},(c,y)=>{c.setTime(+c+y)},(c,y)=>y-c);ig.every=c=>(c=Math.floor(c),isFinite(c)&&c>0?c>1?ur(y=>{y.setTime(Math.floor(y/c)*c)},(y,i)=>{y.setTime(+y+i*c)},(y,i)=>(i-y)/c):ig:null);const xu=ur(c=>{c.setTime(c-c.getMilliseconds())},(c,y)=>{c.setTime(+c+y*ic)},(c,y)=>(y-c)/ic,c=>c.getUTCSeconds()),am=ur(c=>{c.setTime(c-c.getMilliseconds()-c.getSeconds()*ic)},(c,y)=>{c.setTime(+c+y*tl)},(c,y)=>(y-c)/tl,c=>c.getMinutes()),Z0=ur(c=>{c.setUTCSeconds(0,0)},(c,y)=>{c.setTime(+c+y*tl)},(c,y)=>(y-c)/tl,c=>c.getUTCMinutes()),Mp=ur(c=>{c.setTime(c-c.getMilliseconds()-c.getSeconds()*ic-c.getMinutes()*tl)},(c,y)=>{c.setTime(+c+y*uh)},(c,y)=>(y-c)/uh,c=>c.getHours()),q0=ur(c=>{c.setUTCMinutes(0,0,0)},(c,y)=>{c.setTime(+c+y*uh)},(c,y)=>(y-c)/uh,c=>c.getUTCHours()),ng=ur(c=>c.setHours(0,0,0,0),(c,y)=>c.setDate(c.getDate()+y),(c,y)=>(y-c-(y.getTimezoneOffset()-c.getTimezoneOffset())*tl)/ph,c=>c.getDate()-1),sg=(ur(c=>{c.setUTCHours(0,0,0,0)},(c,y)=>{c.setUTCDate(c.getUTCDate()+y)},(c,y)=>(y-c)/ph,c=>c.getUTCDate()-1),ur(c=>{c.setUTCHours(0,0,0,0)},(c,y)=>{c.setUTCDate(c.getUTCDate()+y)},(c,y)=>(y-c)/ph,c=>Math.floor(c/ph)));function fh(c){return ur(y=>{y.setDate(y.getDate()-(y.getDay()+7-c)%7),y.setHours(0,0,0,0)},(y,i)=>{y.setDate(y.getDate()+7*i)},(y,i)=>(i-y-(i.getTimezoneOffset()-y.getTimezoneOffset())*tl)/om)}const uo=fh(0);function gh(c){return ur(y=>{y.setUTCDate(y.getUTCDate()-(y.getUTCDay()+7-c)%7),y.setUTCHours(0,0,0,0)},(y,i)=>{y.setUTCDate(y.getUTCDate()+7*i)},(y,i)=>(i-y)/om)}fh(1),fh(2),fh(3),fh(4),fh(5),fh(6);const rx=gh(0),rg=(gh(1),gh(2),gh(3),gh(4),gh(5),gh(6),ur(c=>{c.setDate(1),c.setHours(0,0,0,0)},(c,y)=>{c.setMonth(c.getMonth()+y)},(c,y)=>y.getMonth()-c.getMonth()+12*(y.getFullYear()-c.getFullYear()),c=>c.getMonth())),dm=ur(c=>{c.setUTCDate(1),c.setUTCHours(0,0,0,0)},(c,y)=>{c.setUTCMonth(c.getUTCMonth()+y)},(c,y)=>y.getUTCMonth()-c.getUTCMonth()+12*(y.getUTCFullYear()-c.getUTCFullYear()),c=>c.getUTCMonth()),Uo=ur(c=>{c.setMonth(0,1),c.setHours(0,0,0,0)},(c,y)=>{c.setFullYear(c.getFullYear()+y)},(c,y)=>y.getFullYear()-c.getFullYear(),c=>c.getFullYear());Uo.every=c=>isFinite(c=Math.floor(c))&&c>0?ur(y=>{y.setFullYear(Math.floor(y.getFullYear()/c)*c),y.setMonth(0,1),y.setHours(0,0,0,0)},(y,i)=>{y.setFullYear(y.getFullYear()+i*c)}):null;const og=ur(c=>{c.setUTCMonth(0,1),c.setUTCHours(0,0,0,0)},(c,y)=>{c.setUTCFullYear(c.getUTCFullYear()+y)},(c,y)=>y.getUTCFullYear()-c.getUTCFullYear(),c=>c.getUTCFullYear());function ib(c,y,i,b,W,ce){const ke=[[xu,1,ic],[xu,5,5e3],[xu,15,15e3],[xu,30,3e4],[ce,1,tl],[ce,5,5*tl],[ce,15,15*tl],[ce,30,30*tl],[W,1,uh],[W,3,3*uh],[W,6,6*uh],[W,12,12*uh],[b,1,ph],[b,2,2*ph],[i,1,om],[y,1,X0],[y,3,3*X0],[c,1,tg]];function Ze(tt,bt,Mt){const Lt=Math.abs(bt-tt)/Mt,Wt=nm(([,,Yt])=>Yt).right(ke,Lt);if(Wt===ke.length)return c.every(rm(tt/tg,bt/tg,Mt));if(0===Wt)return ig.every(Math.max(rm(tt,bt,Mt),1));const[Zt,hi]=ke[Lt/ke[Wt-1][2]isFinite(c=Math.floor(c))&&c>0?ur(y=>{y.setUTCFullYear(Math.floor(y.getUTCFullYear()/c)*c),y.setUTCMonth(0,1),y.setUTCHours(0,0,0,0)},(y,i)=>{y.setUTCFullYear(y.getUTCFullYear()+i*c)}):null;const[LD,PD]=ib(og,dm,rx,sg,q0,Z0),[nb,sb]=ib(Uo,rg,uo,ng,Mp,am);var rb=new Date,_u=new Date;function nc(c,y,i,b){function W(ce){return c(ce=0===arguments.length?new Date:new Date(+ce)),ce}return W.floor=function(ce){return c(ce=new Date(+ce)),ce},W.ceil=function(ce){return c(ce=new Date(ce-1)),y(ce,1),c(ce),ce},W.round=function(ce){var ke=W(ce),Ve=W.ceil(ce);return ce-ke0))return Ze;do{Ze.push(tt=new Date(+ce)),y(ce,Ve),c(ce)}while(tt=ke)for(;c(ke),!ce(ke);)ke.setTime(ke-1)},function(ke,Ve){if(ke>=ke)if(Ve<0)for(;++Ve<=0;)for(;y(ke,-1),!ce(ke););else for(;--Ve>=0;)for(;y(ke,1),!ce(ke););})},i&&(W.count=function(ce,ke){return rb.setTime(+ce),_u.setTime(+ke),c(rb),c(_u),Math.floor(i(rb,_u))},W.every=function(ce){return ce=Math.floor(ce),isFinite(ce)&&ce>0?ce>1?W.filter(b?function(ke){return b(ke)%ce==0}:function(ke){return W.count(0,ke)%ce==0}):W:null}),W}const Ld=864e5,pm=7*Ld;function Pd(c){return nc(function(y){y.setUTCDate(y.getUTCDate()-(y.getUTCDay()+7-c)%7),y.setUTCHours(0,0,0,0)},function(y,i){y.setUTCDate(y.getUTCDate()+7*i)},function(y,i){return(i-y)/pm})}var lb=Pd(0),Op=Pd(1),Cu=(Pd(2),Pd(3),Pd(4));const bm=(Pd(5),Pd(6),nc(function(c){c.setUTCHours(0,0,0,0)},function(c,y){c.setUTCDate(c.getUTCDate()+y)},function(c,y){return(y-c)/Ld},function(c){return c.getUTCDate()-1}));function Tu(c){return nc(function(y){y.setDate(y.getDate()-(y.getDay()+7-c)%7),y.setHours(0,0,0,0)},function(y,i){y.setDate(y.getDate()+7*i)},function(y,i){return(i-y-6e4*(i.getTimezoneOffset()-y.getTimezoneOffset()))/pm})}var Pp=Tu(0),ag=Tu(1),Rd=(Tu(2),Tu(3),Tu(4));const bb=(Tu(5),Tu(6),nc(c=>c.setHours(0,0,0,0),(c,y)=>c.setDate(c.getDate()+y),(c,y)=>(y-c-6e4*(y.getTimezoneOffset()-c.getTimezoneOffset()))/Ld,c=>c.getDate()-1));var xm=nc(function(c){c.setMonth(0,1),c.setHours(0,0,0,0)},function(c,y){c.setFullYear(c.getFullYear()+y)},function(c,y){return y.getFullYear()-c.getFullYear()},function(c){return c.getFullYear()});xm.every=function(c){return isFinite(c=Math.floor(c))&&c>0?nc(function(y){y.setFullYear(Math.floor(y.getFullYear()/c)*c),y.setMonth(0,1),y.setHours(0,0,0,0)},function(y,i){y.setFullYear(y.getFullYear()+i*c)}):null};const Np=xm;var hg=nc(function(c){c.setUTCMonth(0,1),c.setUTCHours(0,0,0,0)},function(c,y){c.setUTCFullYear(c.getUTCFullYear()+y)},function(c,y){return y.getUTCFullYear()-c.getUTCFullYear()},function(c){return c.getUTCFullYear()});hg.every=function(c){return isFinite(c=Math.floor(c))&&c>0?nc(function(y){y.setUTCFullYear(Math.floor(y.getUTCFullYear()/c)*c),y.setUTCMonth(0,1),y.setUTCHours(0,0,0,0)},function(y,i){y.setUTCFullYear(y.getUTCFullYear()+i*c)}):null};const Su=hg;function dg(c){if(0<=c.y&&c.y<100){var y=new Date(-1,c.m,c.d,c.H,c.M,c.S,c.L);return y.setFullYear(c.y),y}return new Date(c.y,c.m,c.d,c.H,c.M,c.S,c.L)}function ug(c){if(0<=c.y&&c.y<100){var y=new Date(Date.UTC(-1,c.m,c.d,c.H,c.M,c.S,c.L));return y.setUTCFullYear(c.y),y}return new Date(Date.UTC(c.y,c.m,c.d,c.H,c.M,c.S,c.L))}function Ac(c,y,i){return{y:c,m:y,d:i,H:0,M:0,S:0,L:0}}var _m={"-":"",_:" ",0:"0"},po=/^\s*\d+/,pg=/^%/,ku=/[\\^$*+?|[\]().{}]/g;function us(c,y,i){var b=c<0?"-":"",W=(b?-c:c)+"",ce=W.length;return b+(ce[y.toLowerCase(),i]))}function Cm(c,y,i){var b=po.exec(y.slice(i,i+1));return b?(c.w=+b[0],i+b[0].length):-1}function wm(c,y,i){var b=po.exec(y.slice(i,i+1));return b?(c.u=+b[0],i+b[0].length):-1}function yb(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.U=+b[0],i+b[0].length):-1}function Tm(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.V=+b[0],i+b[0].length):-1}function gx(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.W=+b[0],i+b[0].length):-1}function xb(c,y,i){var b=po.exec(y.slice(i,i+4));return b?(c.y=+b[0],i+b[0].length):-1}function _b(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.y=+b[0]+(+b[0]>68?1900:2e3),i+b[0].length):-1}function Cb(c,y,i){var b=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(y.slice(i,i+6));return b?(c.Z=b[1]?0:-(b[2]+(b[3]||"00")),i+b[0].length):-1}function mx(c,y,i){var b=po.exec(y.slice(i,i+1));return b?(c.q=3*b[0]-3,i+b[0].length):-1}function bx(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.m=b[0]-1,i+b[0].length):-1}function wb(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.d=+b[0],i+b[0].length):-1}function vx(c,y,i){var b=po.exec(y.slice(i,i+3));return b?(c.m=0,c.d=+b[0],i+b[0].length):-1}function Sm(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.H=+b[0],i+b[0].length):-1}function Tb(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.M=+b[0],i+b[0].length):-1}function yx(c,y,i){var b=po.exec(y.slice(i,i+2));return b?(c.S=+b[0],i+b[0].length):-1}function xx(c,y,i){var b=po.exec(y.slice(i,i+3));return b?(c.L=+b[0],i+b[0].length):-1}function Aa(c,y,i){var b=po.exec(y.slice(i,i+6));return b?(c.L=Math.floor(b[0]/1e3),i+b[0].length):-1}function _x(c,y,i){var b=pg.exec(y.slice(i,i+1));return b?i+b[0].length:-1}function Cx(c,y,i){var b=po.exec(y.slice(i));return b?(c.Q=+b[0],i+b[0].length):-1}function uw(c,y,i){var b=po.exec(y.slice(i));return b?(c.s=+b[0],i+b[0].length):-1}function fg(c,y){return us(c.getDate(),y,2)}function Sb(c,y){return us(c.getHours(),y,2)}function wx(c,y){return us(c.getHours()%12||12,y,2)}function Tx(c,y){return us(1+bb.count(Np(c),c),y,3)}function kb(c,y){return us(c.getMilliseconds(),y,3)}function Db(c,y){return kb(c,y)+"000"}function Sx(c,y){return us(c.getMonth()+1,y,2)}function kx(c,y){return us(c.getMinutes(),y,2)}function km(c,y){return us(c.getSeconds(),y,2)}function Dx(c){var y=c.getDay();return 0===y?7:y}function Mx(c,y){return us(Pp.count(Np(c)-1,c),y,2)}function Mb(c){var y=c.getDay();return y>=4||0===y?Rd(c):Rd.ceil(c)}function Ex(c,y){return c=Mb(c),us(Rd.count(Np(c),c)+(4===Np(c).getDay()),y,2)}function Ax(c){return c.getDay()}function Ic(c,y){return us(ag.count(Np(c)-1,c),y,2)}function Dm(c,y){return us(c.getFullYear()%100,y,2)}function Ix(c,y){return us((c=Mb(c)).getFullYear()%100,y,2)}function Ox(c,y){return us(c.getFullYear()%1e4,y,4)}function Eb(c,y){var i=c.getDay();return us((c=i>=4||0===i?Rd(c):Rd.ceil(c)).getFullYear()%1e4,y,4)}function Ab(c){var y=c.getTimezoneOffset();return(y>0?"-":(y*=-1,"+"))+us(y/60|0,"0",2)+us(y%60,"0",2)}function Bp(c,y){return us(c.getUTCDate(),y,2)}function Mm(c,y){return us(c.getUTCHours(),y,2)}function pw(c,y){return us(c.getUTCHours()%12||12,y,2)}function Ib(c,y){return us(1+bm.count(Su(c),c),y,3)}function Em(c,y){return us(c.getUTCMilliseconds(),y,3)}function Ob(c,y){return Em(c,y)+"000"}function gg(c,y){return us(c.getUTCMonth()+1,y,2)}function Am(c,y){return us(c.getUTCMinutes(),y,2)}function mh(c,y){return us(c.getUTCSeconds(),y,2)}function Lx(c){var y=c.getUTCDay();return 0===y?7:y}function Px(c,y){return us(lb.count(Su(c)-1,c),y,2)}function mg(c){var y=c.getUTCDay();return y>=4||0===y?Cu(c):Cu.ceil(c)}function Rx(c,y){return c=mg(c),us(Cu.count(Su(c),c)+(4===Su(c).getUTCDay()),y,2)}function jp(c){return c.getUTCDay()}function Lb(c,y){return us(Op.count(Su(c)-1,c),y,2)}function Mu(c,y){return us(c.getUTCFullYear()%100,y,2)}function Vp(c,y){return us((c=mg(c)).getUTCFullYear()%100,y,2)}function Im(c,y){return us(c.getUTCFullYear()%1e4,y,4)}function zp(c,y){var i=c.getUTCDay();return us((c=i>=4||0===i?Cu(c):Cu.ceil(c)).getUTCFullYear()%1e4,y,4)}function Pb(){return"+0000"}function Om(){return"%"}function Rb(c){return+c}function Nb(c){return Math.floor(+c/1e3)}function Lm(c){return null===c?NaN:+c}!function jb(c){(function vb(c){var y=c.dateTime,i=c.date,b=c.time,W=c.periods,ce=c.days,ke=c.shortDays,Ve=c.months,Ze=c.shortMonths,tt=Du(W),bt=Nd(W),Mt=Du(ce),Lt=Nd(ce),Wt=Du(ke),Zt=Nd(ke),hi=Du(Ve),Yt=Nd(Ve),ui=Du(Ze),yi=Nd(Ze),fi={a:function Si(Ii){return ke[Ii.getDay()]},A:function Vi(Ii){return ce[Ii.getDay()]},b:function Gi(Ii){return Ze[Ii.getMonth()]},B:function Nn(Ii){return Ve[Ii.getMonth()]},c:null,d:fg,e:fg,f:Db,g:Ix,G:Eb,H:Sb,I:wx,j:Tx,L:kb,m:Sx,M:kx,p:function is(Ii){return W[+(Ii.getHours()>=12)]},q:function Yn(Ii){return 1+~~(Ii.getMonth()/3)},Q:Rb,s:Nb,S:km,u:Dx,U:Mx,V:Ex,w:Ax,W:Ic,x:null,X:null,y:Dm,Y:Ox,Z:Ab,"%":Om},Ti={a:function fo(Ii){return ke[Ii.getUTCDay()]},A:function ps(Ii){return ce[Ii.getUTCDay()]},b:function Qr(Ii){return Ze[Ii.getUTCMonth()]},B:function Ll(Ii){return Ve[Ii.getUTCMonth()]},c:null,d:Bp,e:Bp,f:Ob,g:Vp,G:zp,H:Mm,I:pw,j:Ib,L:Em,m:gg,M:Am,p:function ns(Ii){return W[+(Ii.getUTCHours()>=12)]},q:function Ur(Ii){return 1+~~(Ii.getUTCMonth()/3)},Q:Rb,s:Nb,S:mh,u:Lx,U:Px,V:Rx,w:jp,W:Lb,x:null,X:null,y:Mu,Y:Im,Z:Pb,"%":Om},ji={a:function An(Ii,un,Gn){var xi=Wt.exec(un.slice(Gn));return xi?(Ii.w=Zt.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},A:function Hi(Ii,un,Gn){var xi=Mt.exec(un.slice(Gn));return xi?(Ii.w=Lt.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},b:function Xn(Ii,un,Gn){var xi=ui.exec(un.slice(Gn));return xi?(Ii.m=yi.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},B:function Pi(Ii,un,Gn){var xi=hi.exec(un.slice(Gn));return xi?(Ii.m=Yt.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},c:function Zi(Ii,un,Gn){return dn(Ii,y,un,Gn)},d:wb,e:wb,f:Aa,g:_b,G:xb,H:Sm,I:Sm,j:vx,L:xx,m:bx,M:Tb,p:function xs(Ii,un,Gn){var xi=tt.exec(un.slice(Gn));return xi?(Ii.p=bt.get(xi[0].toLowerCase()),Gn+xi[0].length):-1},q:mx,Q:Cx,s:uw,S:yx,u:wm,U:yb,V:Tm,w:Cm,W:gx,x:function rr(Ii,un,Gn){return dn(Ii,i,un,Gn)},X:function _i(Ii,un,Gn){return dn(Ii,b,un,Gn)},y:_b,Y:xb,Z:Cb,"%":_x};function Mi(Ii,un){return function(Gn){var $o,vn,or,xi=[],_r=-1,Fs=0,_o=Ii.length;for(Gn instanceof Date||(Gn=new Date(+Gn));++_r<_o;)37===Ii.charCodeAt(_r)&&(xi.push(Ii.slice(Fs,_r)),null!=(vn=_m[$o=Ii.charAt(++_r)])?$o=Ii.charAt(++_r):vn="e"===$o?" ":"0",(or=un[$o])&&($o=or(Gn,vn)),xi.push($o),Fs=_r+1);return xi.push(Ii.slice(Fs,_r)),xi.join("")}}function hn(Ii,un){return function(Gn){var Fs,_o,xi=Ac(1900,void 0,1);if(dn(xi,Ii,Gn+="",0)!=Gn.length)return null;if("Q"in xi)return new Date(xi.Q);if("s"in xi)return new Date(1e3*xi.s+("L"in xi?xi.L:0));if(un&&!("Z"in xi)&&(xi.Z=0),"p"in xi&&(xi.H=xi.H%12+12*xi.p),void 0===xi.m&&(xi.m="q"in xi?xi.q:0),"V"in xi){if(xi.V<1||xi.V>53)return null;"w"in xi||(xi.w=1),"Z"in xi?(_o=(Fs=ug(Ac(xi.y,0,1))).getUTCDay(),Fs=_o>4||0===_o?Op.ceil(Fs):Op(Fs),Fs=bm.offset(Fs,7*(xi.V-1)),xi.y=Fs.getUTCFullYear(),xi.m=Fs.getUTCMonth(),xi.d=Fs.getUTCDate()+(xi.w+6)%7):(_o=(Fs=dg(Ac(xi.y,0,1))).getDay(),Fs=_o>4||0===_o?ag.ceil(Fs):ag(Fs),Fs=bb.offset(Fs,7*(xi.V-1)),xi.y=Fs.getFullYear(),xi.m=Fs.getMonth(),xi.d=Fs.getDate()+(xi.w+6)%7)}else("W"in xi||"U"in xi)&&("w"in xi||(xi.w="u"in xi?xi.u%7:"W"in xi?1:0),_o="Z"in xi?ug(Ac(xi.y,0,1)).getUTCDay():dg(Ac(xi.y,0,1)).getDay(),xi.m=0,xi.d="W"in xi?(xi.w+6)%7+7*xi.W-(_o+5)%7:xi.w+7*xi.U-(_o+6)%7);return"Z"in xi?(xi.H+=xi.Z/100|0,xi.M+=xi.Z%100,ug(xi)):dg(xi)}}function dn(Ii,un,Gn,xi){for(var $o,vn,_r=0,Fs=un.length,_o=Gn.length;_r=_o)return-1;if(37===($o=un.charCodeAt(_r++))){if($o=un.charAt(_r++),!(vn=ji[$o in _m?un.charAt(_r++):$o])||(xi=vn(Ii,Gn,xi))<0)return-1}else if($o!=Gn.charCodeAt(xi++))return-1}return xi}return fi.x=Mi(i,fi),fi.X=Mi(b,fi),fi.c=Mi(y,fi),Ti.x=Mi(i,Ti),Ti.X=Mi(b,Ti),Ti.c=Mi(y,Ti),{format:function(Ii){var un=Mi(Ii+="",fi);return un.toString=function(){return Ii},un},parse:function(Ii){var un=hn(Ii+="",!1);return un.toString=function(){return Ii},un},utcFormat:function(Ii){var un=Mi(Ii+="",Ti);return un.toString=function(){return Ii},un},utcParse:function(Ii){var un=hn(Ii+="",!0);return un.toString=function(){return Ii},un}}})(c)}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});const jx=nm(yu).right,Vb=(nm(Lm),jx);function zb(c,y){return c=+c,y=+y,function(i){return Math.round(c*(1-i)+y*i)}}function zx(c){return+c}var Pm=[0,1];function id(c){return c}function bg(c,y){return(y-=c=+c)?function(i){return(i-c)/y}:function Vx(c){return function(){return c}}(isNaN(y)?NaN:.5)}function Up(c,y,i){var b=c[0],W=c[1],ce=y[0],ke=y[1];return Wy&&(i=c,c=y,y=i),function(b){return Math.max(c,Math.min(y,b))}}(c[0],c[Lt-1])),Ve=Lt>2?Wp:Up,Ze=tt=null,Mt}function Mt(Lt){return null==Lt||isNaN(Lt=+Lt)?ce:(Ze||(Ze=Ve(c.map(b),y,i)))(b(ke(Lt)))}return Mt.invert=function(Lt){return ke(W((tt||(tt=Ve(y,c.map(b),aa)))(Lt)))},Mt.domain=function(Lt){return arguments.length?(c=Array.from(Lt,zx),bt()):c.slice()},Mt.range=function(Lt){return arguments.length?(y=Array.from(Lt),bt()):y.slice()},Mt.rangeRound=function(Lt){return y=Array.from(Lt),i=zb,bt()},Mt.clamp=function(Lt){return arguments.length?(ke=!!Lt||id,bt()):ke!==id},Mt.interpolate=function(Lt){return arguments.length?(i=Lt,bt()):i},Mt.unknown=function(Lt){return arguments.length?(ce=Lt,Mt):ce},function(Lt,Wt){return b=Lt,W=Wt,bt()}}()(id,id)}function nd(c,y){switch(arguments.length){case 0:break;case 1:this.range(c);break;default:this.range(y).domain(c)}return this}var Fm,bw=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function vg(c){if(!(y=bw.exec(c)))throw new Error("invalid format: "+c);var y;return new $b({fill:y[1],align:y[2],sign:y[3],symbol:y[4],zero:y[5],width:y[6],comma:y[7],precision:y[8]&&y[8].slice(1),trim:y[9],type:y[10]})}function $b(c){this.fill=void 0===c.fill?" ":c.fill+"",this.align=void 0===c.align?">":c.align+"",this.sign=void 0===c.sign?"-":c.sign+"",this.symbol=void 0===c.symbol?"":c.symbol+"",this.zero=!!c.zero,this.width=void 0===c.width?void 0:+c.width,this.comma=!!c.comma,this.precision=void 0===c.precision?void 0:+c.precision,this.trim=!!c.trim,this.type=void 0===c.type?"":c.type+""}function yg(c,y){if((i=(c=y?c.toExponential(y-1):c.toExponential()).indexOf("e"))<0)return null;var i,b=c.slice(0,i);return[b.length>1?b[0]+b.slice(2):b,+c.slice(i+1)]}function Au(c){return(c=yg(Math.abs(c)))?c[1]:NaN}function Bm(c,y){var i=yg(c,y);if(!i)return c+"";var b=i[0],W=i[1];return W<0?"0."+new Array(-W).join("0")+b:b.length>W+1?b.slice(0,W+1)+"."+b.slice(W+1):b+new Array(W-b.length+2).join("0")}vg.prototype=$b.prototype,$b.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Xb={"%":(c,y)=>(100*c).toFixed(y),b:c=>Math.round(c).toString(2),c:c=>c+"",d:function Wx(c){return Math.abs(c=Math.round(c))>=1e21?c.toLocaleString("en").replace(/,/g,""):c.toString(10)},e:(c,y)=>c.toExponential(y),f:(c,y)=>c.toFixed(y),g:(c,y)=>c.toPrecision(y),o:c=>Math.round(c).toString(8),p:(c,y)=>Bm(100*c,y),r:Bm,s:function Xp(c,y){var i=yg(c,y);if(!i)return c+"";var b=i[0],W=i[1],ce=W-(Fm=3*Math.max(-8,Math.min(8,Math.floor(W/3))))+1,ke=b.length;return ce===ke?b:ce>ke?b+new Array(ce-ke+1).join("0"):ce>0?b.slice(0,ce)+"."+b.slice(ce):"0."+new Array(1-ce).join("0")+yg(c,Math.max(0,y+ce-1))[0]},X:c=>Math.round(c).toString(16).toUpperCase(),x:c=>Math.round(c).toString(16)};function Iu(c){return c}var _g,Yp,Zb,jm=Array.prototype.map,Yb=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function Vm(c){var y=c.domain;return c.ticks=function(i){var b=y();return function Id(c,y,i){if(!((i=+i)>0))return[];if((c=+c)==(y=+y))return[c];const b=y=W))return[];const Ve=ce-W+1,Ze=new Array(Ve);if(b)if(ke<0)for(let tt=0;tt0;){if((tt=eg(ke,Ve,i))===Ze)return b[W]=ke,b[ce]=Ve,y(b);if(tt>0)ke=Math.floor(ke/tt)*tt,Ve=Math.ceil(Ve/tt)*tt;else{if(!(tt<0))break;ke=Math.ceil(ke*tt)/tt,Ve=Math.floor(Ve*tt)/tt}Ze=tt}return c},c}function bh(){var c=Hb();return c.copy=function(){return function Gb(c,y){return y.domain(c.domain()).range(c.range()).interpolate(c.interpolate()).clamp(c.clamp()).unknown(c.unknown())}(c,bh())},nd.apply(c,arguments),Vm(c)}function qb(c,y,i){c=+c,y=+y,i=(W=arguments.length)<2?(y=c,c=0,1):W<3?1:+i;for(var b=-1,W=0|Math.max(0,Math.ceil((y-c)/i)),ce=new Array(W);++b0&&Ve>0&&(Ze+Ve+1>b&&(Ve=Math.max(1,b-Ze)),ce.push(i.substring(W-=Ve,W+Ve)),!((Ze+=Ve+1)>b));)Ve=c[ke=(ke+1)%c.length];return ce.reverse().join(y)}}(jm.call(c.grouping,Number),c.thousands+""),i=void 0===c.currency?"":c.currency[0]+"",b=void 0===c.currency?"":c.currency[1]+"",W=void 0===c.decimal?".":c.decimal+"",ce=void 0===c.numerals?Iu:function Nm(c){return function(y){return y.replace(/[0-9]/g,function(i){return c[+i]})}}(jm.call(c.numerals,String)),ke=void 0===c.percent?"%":c.percent+"",Ve=void 0===c.minus?"\u2212":c.minus+"",Ze=void 0===c.nan?"NaN":c.nan+"";function tt(Mt){var Lt=(Mt=vg(Mt)).fill,Wt=Mt.align,Zt=Mt.sign,hi=Mt.symbol,Yt=Mt.zero,ui=Mt.width,yi=Mt.comma,fi=Mt.precision,Ti=Mt.trim,ji=Mt.type;"n"===ji?(yi=!0,ji="g"):Xb[ji]||(void 0===fi&&(fi=12),Ti=!0,ji="g"),(Yt||"0"===Lt&&"="===Wt)&&(Yt=!0,Lt="0",Wt="=");var Mi="$"===hi?i:"#"===hi&&/[boxX]/.test(ji)?"0"+ji.toLowerCase():"",hn="$"===hi?b:/[%p]/.test(ji)?ke:"",dn=Xb[ji],xs=/[defgprs%]/.test(ji);function An(Hi){var Zi,rr,_i,Xn=Mi,Pi=hn;if("c"===ji)Pi=dn(Hi)+Pi,Hi="";else{var Si=(Hi=+Hi)<0||1/Hi<0;if(Hi=isNaN(Hi)?Ze:dn(Math.abs(Hi),fi),Ti&&(Hi=function xg(c){e:for(var W,y=c.length,i=1,b=-1;i0&&(b=0)}return b>0?c.slice(0,b)+c.slice(W+1):c}(Hi)),Si&&0==+Hi&&"+"!==Zt&&(Si=!1),Xn=(Si?"("===Zt?Zt:Ve:"-"===Zt||"("===Zt?"":Zt)+Xn,Pi=("s"===ji?Yb[8+Fm/3]:"")+Pi+(Si&&"("===Zt?")":""),xs)for(Zi=-1,rr=Hi.length;++Zi(_i=Hi.charCodeAt(Zi))||_i>57){Pi=(46===_i?W+Hi.slice(Zi+1):Hi.slice(Zi))+Pi,Hi=Hi.slice(0,Zi);break}}yi&&!Yt&&(Hi=y(Hi,1/0));var Vi=Xn.length+Hi.length+Pi.length,Gi=Vi>1)+Xn+Hi+Pi+Gi.slice(Vi);break;default:Hi=Gi+Xn+Hi+Pi}return ce(Hi)}return fi=void 0===fi?6:/[gprs]/.test(ji)?Math.max(1,Math.min(21,fi)):Math.max(0,Math.min(20,fi)),An.toString=function(){return Mt+""},An}return{format:tt,formatPrefix:function bt(Mt,Lt){var Wt=tt(((Mt=vg(Mt)).type="f",Mt)),Zt=3*Math.max(-8,Math.min(8,Math.floor(Au(Lt)/3))),hi=Math.pow(10,-Zt),Yt=Yb[8+Zt/3];return function(ui){return Wt(hi*ui)+Yt}}}}(c),Yp=_g.format,Zb=_g.formatPrefix}({thousands:",",grouping:[3],currency:["$",""]});class Kp extends Map{constructor(y,i=Cg){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:i}}),null!=y)for(const[b,W]of y)this.set(b,W)}get(y){return super.get(Qb(this,y))}has(y){return super.has(Qb(this,y))}set(y,i){return super.set(function Jb({_intern:c,_key:y},i){const b=y(i);return c.has(b)?c.get(b):(c.set(b,i),i)}(this,y),i)}delete(y){return super.delete(function ev({_intern:c,_key:y},i){const b=y(i);return c.has(b)&&(i=c.get(b),c.delete(b)),i}(this,y))}}function Qb({_intern:c,_key:y},i){const b=y(i);return c.has(b)?c.get(b):i}function Cg(c){return null!==c&&"object"==typeof c?c.valueOf():c}Set;const tv=Symbol("implicit");function wg(){var c=new Kp,y=[],i=[],b=tv;function W(ce){let ke=c.get(ce);if(void 0===ke){if(b!==tv)return b;c.set(ce,ke=y.push(ce)-1)}return i[ke%i.length]}return W.domain=function(ce){if(!arguments.length)return y.slice();y=[],c=new Kp;for(const ke of ce)c.has(ke)||c.set(ke,y.push(ke)-1);return W},W.range=function(ce){return arguments.length?(i=Array.from(ce),W):i.slice()},W.unknown=function(ce){return arguments.length?(b=ce,W):b},W.copy=function(){return wg(y,i).unknown(b)},nd.apply(W,arguments),W}function Gm(){var ce,ke,c=wg().unknown(void 0),y=c.domain,i=c.range,b=0,W=1,Ve=!1,Ze=0,tt=0,bt=.5;function Mt(){var Lt=y().length,Wt=W=1)return+i(c[b-1],b-1,c);var b,W=(b-1)*y,ce=Math.floor(W),ke=+i(c[ce],ce,c);return ke+(+i(c[ce+1],ce+1,c)-ke)*(W-ce)}}function qp(){var b,c=[],y=[],i=[];function W(){var ke=0,Ve=Math.max(1,y.length);for(i=new Array(Ve-1);++ke0?i[Ve-1]:c[0],Ve=1?Tg:c<=-1?-Tg:Math.asin(c)}const El=Math.PI,Sg=2*El,Bd=1e-6,xw=Sg-Bd;function xr(c){this._+=c[0];for(let y=1,i=c.length;y=0))throw new Error(`invalid digits: ${c}`);if(y>15)return xr;const i=10**y;return function(b){this._+=b[0];for(let W=1,ce=b.length;WBd)if(Math.abs(Mt*Ze-tt*bt)>Bd&&ce){let Wt=b-ke,Zt=W-Ve,hi=Ze*Ze+tt*tt,Yt=Wt*Wt+Zt*Zt,ui=Math.sqrt(hi),yi=Math.sqrt(Lt),fi=ce*Math.tan((El-Math.acos((hi+Lt-Yt)/(2*ui*yi)))/2),Ti=fi/yi,ji=fi/ui;Math.abs(Ti-1)>Bd&&this._append`L${y+Ti*bt},${i+Ti*Mt}`,this._append`A${ce},${ce},0,0,${+(Mt*Wt>bt*Zt)},${this._x1=y+ji*Ze},${this._y1=i+ji*tt}`}else this._append`L${this._x1=y},${this._y1=i}`}arc(y,i,b,W,ce,ke){if(y=+y,i=+i,ke=!!ke,(b=+b)<0)throw new Error(`negative radius: ${b}`);let Ve=b*Math.cos(W),Ze=b*Math.sin(W),tt=y+Ve,bt=i+Ze,Mt=1^ke,Lt=ke?W-ce:ce-W;null===this._x1?this._append`M${tt},${bt}`:(Math.abs(this._x1-tt)>Bd||Math.abs(this._y1-bt)>Bd)&&this._append`L${tt},${bt}`,b&&(Lt<0&&(Lt=Lt%Sg+Sg),Lt>xw?this._append`A${b},${b},0,1,${Mt},${y-Ve},${i-Ze}A${b},${b},0,1,${Mt},${this._x1=tt},${this._y1=bt}`:Lt>Bd&&this._append`A${b},${b},0,${+(Lt>=El)},${Mt},${this._x1=y+b*Math.cos(ce)},${this._y1=i+b*Math.sin(ce)}`)}rect(y,i,b,W){this._append`M${this._x0=this._x1=+y},${this._y0=this._y1=+i}h${b=+b}v${+W}h${-b}Z`}toString(){return this._}}function sv(c){return c.innerRadius}function rv(c){return c.outerRadius}function ov(c){return c.startAngle}function e_(c){return c.endAngle}function t_(c){return c&&c.padAngle}function Jp(c,y,i,b,W,ce,ke){var Ve=c-i,Ze=y-b,tt=(ke?ce:-ce)/Fd(Ve*Ve+Ze*Ze),bt=tt*Ze,Mt=-tt*Ve,Lt=c+bt,Wt=y+Mt,Zt=i+bt,hi=b+Mt,Yt=(Lt+Zt)/2,ui=(Wt+hi)/2,yi=Zt-Lt,fi=hi-Wt,Ti=yi*yi+fi*fi,ji=W-ce,Mi=Lt*hi-Zt*Wt,hn=(fi<0?-1:1)*Fd(yw(0,ji*ji*Ti-Mi*Mi)),dn=(Mi*fi-yi*hn)/Ti,xs=(-Mi*yi-fi*hn)/Ti,An=(Mi*fi+yi*hn)/Ti,Hi=(-Mi*yi+fi*hn)/Ti,Xn=dn-Yt,Pi=xs-ui,Zi=An-Yt,rr=Hi-ui;return Xn*Xn+Pi*Pi>Zi*Zi+rr*rr&&(dn=An,xs=Hi),{cx:dn,cy:xs,x01:-bt,y01:-Mt,x11:dn*(W/ji-1),y11:xs*(W/ji-1)}}function ef(){var c=sv,y=rv,i=ca(0),b=null,W=ov,ce=e_,ke=t_,Ve=null,Ze=function $m(c){let y=3;return c.digits=function(i){if(!arguments.length)return y;if(null==i)y=null;else{const b=Math.floor(i);if(!(b>=0))throw new RangeError(`invalid digits: ${i}`);y=b}return c},()=>new Lu(y)}(tt);function tt(){var bt,Mt,Lt=+c.apply(this,arguments),Wt=+y.apply(this,arguments),Zt=W.apply(this,arguments)-Tg,hi=ce.apply(this,arguments)-Tg,Yt=Hm(hi-Zt),ui=hi>Zt;if(Ve||(Ve=bt=Ze()),WtOa)if(Yt>Ou-Oa)Ve.moveTo(Wt*sd(Zt),Wt*Ia(Zt)),Ve.arc(0,0,Wt,Zt,hi,!ui),Lt>Oa&&(Ve.moveTo(Lt*sd(hi),Lt*Ia(hi)),Ve.arc(0,0,Lt,hi,Zt,ui));else{var Pi,Zi,yi=Zt,fi=hi,Ti=Zt,ji=hi,Mi=Yt,hn=Yt,dn=ke.apply(this,arguments)/2,xs=dn>Oa&&(b?+b.apply(this,arguments):Fd(Lt*Lt+Wt*Wt)),An=Um(Hm(Wt-Lt)/2,+i.apply(this,arguments)),Hi=An,Xn=An;if(xs>Oa){var rr=Wm(xs/Lt*Ia(dn)),_i=Wm(xs/Wt*Ia(dn));(Mi-=2*rr)>Oa?(Ti+=rr*=ui?1:-1,ji-=rr):(Mi=0,Ti=ji=(Zt+hi)/2),(hn-=2*_i)>Oa?(yi+=_i*=ui?1:-1,fi-=_i):(hn=0,yi=fi=(Zt+hi)/2)}var Si=Wt*sd(yi),Vi=Wt*Ia(yi),Gi=Lt*sd(ji),Nn=Lt*Ia(ji);if(An>Oa){var Qr,is=Wt*sd(fi),Yn=Wt*Ia(fi),fo=Lt*sd(Ti),ps=Lt*Ia(Ti);if(Yt1?0:c<-1?Qp:Math.acos(c)}((Ll*Ur+ns*Ii)/(Fd(Ll*Ll+ns*ns)*Fd(Ur*Ur+Ii*Ii)))/2),Gn=Fd(Qr[0]*Qr[0]+Qr[1]*Qr[1]);Hi=Um(An,(Lt-Gn)/(un-1)),Xn=Um(An,(Wt-Gn)/(un+1))}else Hi=Xn=0}hn>Oa?Xn>Oa?(Pi=Jp(fo,ps,Si,Vi,Wt,Xn,ui),Zi=Jp(is,Yn,Gi,Nn,Wt,Xn,ui),Ve.moveTo(Pi.cx+Pi.x01,Pi.cy+Pi.y01),XnOa&&Mi>Oa?Hi>Oa?(Pi=Jp(Gi,Nn,is,Yn,Lt,-Hi,ui),Zi=Jp(Si,Vi,fo,ps,Lt,-Hi,ui),Ve.lineTo(Pi.cx+Pi.x01,Pi.cy+Pi.y01),Hic?1:y>=c?0:NaN}function cv(c){return c}var rd=We(76021);const kg=["caretElm"],hv=c=>({model:c});function nf(c,y){}function i_(c,y){if(1&c&&(e.j41(0,"span"),e.DNE(1,nf,0,0,"ng-template",5),e.k0s()),2&c){const i=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",i.template)("ngTemplateOutletContext",e.eq3(2,hv,i.context))}}function n_(c,y){if(1&c&&e.nrm(0,"span",6),2&c){const i=e.XpG();e.Y8G("innerHTML",i.title,e.npT)}}function Ym(c,y){if(1&c&&(e.j41(0,"header",4)(1,"span",5),e.EFF(2),e.k0s()()),2&c){const i=e.XpG();e.R7$(2),e.JRh(i.title)}}function dv(c,y){if(1&c){const i=e.RV6();e.j41(0,"li",6)(1,"ngx-charts-legend-entry",7),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.labelClick.emit(W))})("activate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.activate(W))})("deactivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.deactivate(W))}),e.k0s()()}if(2&c){const i=y.$implicit,b=e.XpG();e.R7$(),e.Y8G("label",i.label)("formattedLabel",i.formattedLabel)("color",i.color)("isActive",b.isActive(i))}}const vh=["*"];function sf(c,y){if(1&c&&e.nrm(0,"ngx-charts-scale-legend",4),2&c){const i=e.XpG();e.Y8G("horizontal",i.legendOptions&&i.legendOptions.position===i.LegendPosition.Below)("valueRange",i.legendOptions.domain)("colors",i.legendOptions.colors)("height",i.view[1])("width",i.legendWidth)}}function ww(c,y){if(1&c){const i=e.RV6();e.j41(0,"ngx-charts-legend",5),e.bIt("labelClick",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.legendLabelClick.emit(W))})("labelActivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.legendLabelActivate.emit(W))})("labelDeactivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.legendLabelDeactivate.emit(W))}),e.k0s()}if(2&c){const i=e.XpG();e.Y8G("horizontal",i.legendOptions&&i.legendOptions.position===i.LegendPosition.Below)("data",i.legendOptions.domain)("title",i.legendOptions.title)("colors",i.legendOptions.colors)("height",i.view[1])("width",i.legendWidth)("activeEntries",i.activeEntries)}}const C_=["ngx-charts-svg-radial-gradient",""];function n0(c,y){if(1&c&&(e.qSk(),e.nrm(0,"stop")),2&c){const i=y.$implicit;e.xc7("stop-color",i.color)("stop-opacity",i.opacity),e.BMQ("offset",i.offset+"%")}}const Iw=["ngx-charts-count-up",""];function Av(c,y){if(1&c&&e.nrm(0,"div",7),2&c){const i=e.XpG();e.Y8G("countTo",i.roundedTotal)("valueFormatting",i.valueFormatting)}}function Iv(c,y){if(1&c&&(e.j41(0,"div",8),e.EFF(1),e.k0s()),2&c){const i=e.XpG();e.R7$(),e.SpI(" ",i.valueFormatting?i.valueFormatting(i.roundedTotal):i.defaultValueFormatting(i.roundedTotal)," ")}}function Ov(c,y){if(1&c&&e.nrm(0,"div",16),2&c){const i=e.XpG().$implicit,b=e.XpG();e.Y8G("countTo",i._value)("valueFormatting",b.valueFormatting)}}function Lv(c,y){if(1&c&&(e.j41(0,"div",17),e.EFF(1),e.k0s()),2&c){const i=e.XpG().$implicit,b=e.XpG();e.R7$(),e.SpI(" ",b.valueFormatting?b.valueFormatting(i.value):b.defaultValueFormatting(i.value)," ")}}function w_(c,y){if(1&c&&e.nrm(0,"div",18),2&c){const i=e.XpG().$implicit;e.Y8G("countTo",i.percentage)("countSuffix","%")}}function Lw(c,y){if(1&c&&(e.j41(0,"div",19),e.EFF(1),e.k0s()),2&c){const i=e.XpG().$implicit;e.R7$(),e.SpI("",i.percentage.toLocaleString(),"%")}}function Pw(c,y){if(1&c){const i=e.RV6();e.j41(0,"div",9),e.bIt("mouseenter",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.activate.emit(W.data))})("mouseleave",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.deactivate.emit(W.data))})("click",function(){const W=e.eBV(i).$implicit,ce=e.XpG();return e.Njj(ce.select.emit(W.data))}),e.nrm(1,"div",10),e.DNE(2,Ov,1,2,"div",11)(3,Lv,2,1,"div",12),e.j41(4,"div",13),e.EFF(5),e.k0s(),e.DNE(6,w_,1,2,"div",14)(7,Lw,2,1,"div",15),e.k0s()}if(2&c){const i=y.$implicit,b=e.XpG();e.R7$(),e.xc7("border-left-color",i.color),e.R7$(),e.Y8G("ngIf",b.animations),e.R7$(),e.Y8G("ngIf",!b.animations),e.R7$(2),e.JRh(i.displayLabel),e.R7$(),e.Y8G("ngIf",b.animations),e.R7$(),e.Y8G("ngIf",!b.animations)}}const Rw=["tooltipTemplate"],Dg=(c,y)=>[c,y],Fu=["ngx-charts-pie-label",""],e1=["ngx-charts-pie-arc",""];function t1(c,y){if(1&c&&(e.qSk(),e.j41(0,"defs"),e.nrm(1,"g",3),e.k0s()),2&c){const i=e.XpG();e.R7$(),e.Y8G("color",i.fill)("name",i.radialGradientId)("startOpacity",i.startOpacity)}}const Zv=["ngx-charts-pie-series",""];function qv(c,y){if(1&c&&(e.qSk(),e.nrm(0,"g",3)),2&c){const i=e.XpG().$implicit,b=e.XpG();e.Y8G("data",i)("radius",b.outerRadius)("color",b.color(i))("label",b.labelText(i))("labelTrim",b.trimLabels)("labelTrimSize",b.maxLabelLength)("max",b.max)("value",i.value)("explodeSlices",b.explodeSlices)("animations",b.animations)}}function n1(c,y){if(1&c){const i=e.RV6();e.qSk(),e.j41(0,"g"),e.DNE(1,qv,1,10,"g",1),e.j41(2,"g",2),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.onClick(W))})("activate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.activate.emit(W))})("deactivate",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.deactivate.emit(W))})("dblclick",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.dblclick.emit(W))}),e.k0s()()}if(2&c){const i=y.$implicit,b=e.XpG();e.R7$(),e.Y8G("ngIf",b.labelVisible(i)),e.R7$(),e.Y8G("startAngle",i.startAngle)("endAngle",i.endAngle)("innerRadius",b.innerRadius)("outerRadius",b.outerRadius)("fill",b.color(i))("value",i.data.value)("gradient",b.gradient)("data",i.data)("max",b.max)("explodeSlices",b.explodeSlices)("isActive",b.isActive(i.data))("animate",b.animations)("tooltipDisabled",b.tooltipDisabled)("tooltipPlacement",b.placementTypes.Top)("tooltipType",b.styleTypes.tooltip)("tooltipTitle",b.getTooltipTitle(i))("tooltipTemplate",b.tooltipTemplate)("tooltipContext",i.data)}}function ju(c,y,i){i=i||{};let b,W,ce,ke=null,Ve=0;function Ze(){Ve=!1===i.leading?0:+new Date,ke=null,ce=c.apply(b,W)}return function(){const tt=+new Date;!Ve&&!1===i.leading&&(Ve=tt);const bt=y-(tt-Ve);return b=this,W=arguments,bt<=0?(clearTimeout(ke),ke=null,Ve=tt,ce=c.apply(b,W)):!ke&&!1!==i.trailing&&(ke=setTimeout(Ze,bt)),ce}}function Vu(c,y){return function(b,W,ce){return{configurable:!0,enumerable:ce.enumerable,get:function(){return Object.defineProperty(this,W,{configurable:!0,enumerable:ce.enumerable,value:ju(ce.value,c,y)}),this[W]}}}}var Rn=function(c){return c.Top="top",c.Bottom="bottom",c.Left="left",c.Right="right",c.Center="center",c}(Rn||{});function y0(c,y,i){return i===Rn.Top?c.top-7:i===Rn.Bottom?c.top+c.height-y.height+7:i===Rn.Center?c.top+c.height/2-y.height/2:void 0}function x0(c,y,i){return i===Rn.Left?c.left-7:i===Rn.Right?c.left+c.width-y.width+7:i===Rn.Center?c.left+c.width/2-y.width/2:void 0}class La{static calculateVerticalAlignment(y,i,b){let W=y0(y,i,b);return W+i.height>window.innerHeight&&(W=window.innerHeight-i.height),W}static calculateVerticalCaret(y,i,b,W){let ce;W===Rn.Top&&(ce=y.height/2-b.height/2+7),W===Rn.Bottom&&(ce=i.height-y.height/2-b.height/2-7),W===Rn.Center&&(ce=i.height/2-b.height/2);const ke=y0(y,i,W);return ke+i.height>window.innerHeight&&(ce+=ke+i.height-window.innerHeight),ce}static calculateHorizontalAlignment(y,i,b){let W=x0(y,i,b);return W+i.width>window.innerWidth&&(W=window.innerWidth-i.width),W}static calculateHorizontalCaret(y,i,b,W){let ce;W===Rn.Left&&(ce=y.width/2-b.width/2+7),W===Rn.Right&&(ce=i.width-y.width/2-b.width/2-7),W===Rn.Center&&(ce=i.width/2-b.width/2);const ke=x0(y,i,W);return ke+i.width>window.innerWidth&&(ce+=ke+i.width-window.innerWidth),ce}static shouldFlip(y,i,b,W){let ce=!1;return b===Rn.Right&&y.left+y.width+i.width+W>window.innerWidth&&(ce=!0),b===Rn.Left&&y.left-i.width-W<0&&(ce=!0),b===Rn.Top&&y.top-i.height-W<0&&(ce=!0),b===Rn.Bottom&&y.top+y.height+i.height+W>window.innerHeight&&(ce=!0),ce}static positionCaret(y,i,b,W,ce){let ke=0,Ve=0;return y===Rn.Right?(Ve=-7,ke=La.calculateVerticalCaret(b,i,W,ce)):y===Rn.Left?(Ve=i.width,ke=La.calculateVerticalCaret(b,i,W,ce)):y===Rn.Top?(ke=i.height,Ve=La.calculateHorizontalCaret(b,i,W,ce)):y===Rn.Bottom&&(ke=-7,Ve=La.calculateHorizontalCaret(b,i,W,ce)),{top:ke,left:Ve}}static positionContent(y,i,b,W,ce){let ke=0,Ve=0;return y===Rn.Right?(Ve=b.left+b.width+W,ke=La.calculateVerticalAlignment(b,i,ce)):y===Rn.Left?(Ve=b.left-i.width-W,ke=La.calculateVerticalAlignment(b,i,ce)):y===Rn.Top?(ke=b.top-i.height-W,Ve=La.calculateHorizontalAlignment(b,i,ce)):y===Rn.Bottom&&(ke=b.top+b.height+W,Ve=La.calculateHorizontalAlignment(b,i,ce)),{top:ke,left:Ve}}static determinePlacement(y,i,b,W){if(La.shouldFlip(b,i,y,W)){if(y===Rn.Right)return Rn.Left;if(y===Rn.Left)return Rn.Right;if(y===Rn.Top)return Rn.Bottom;if(y===Rn.Bottom)return Rn.Top}return y}}let ty=(()=>{class c{constructor(i,b,W){this.element=i,this.renderer=b,this.platformId=W}get cssClasses(){let i="ngx-charts-tooltip-content";return i+=` position-${this.placement}`,i+=` type-${this.type}`,i+=` ${this.cssClass}`,i}ngAfterViewInit(){setTimeout(this.position.bind(this))}position(){if(!(0,cn.UE)(this.platformId))return;const i=this.element.nativeElement,b=this.host.nativeElement.getBoundingClientRect();if(!b.height&&!b.width)return;const W=i.getBoundingClientRect();this.checkFlip(b,W),this.positionContent(i,b,W),this.showCaret&&this.positionCaret(b,W),setTimeout(()=>this.renderer.addClass(i,"animate"),1)}positionContent(i,b,W){const{top:ce,left:ke}=La.positionContent(this.placement,W,b,this.spacing,this.alignment);this.renderer.setStyle(i,"top",`${ce}px`),this.renderer.setStyle(i,"left",`${ke}px`)}positionCaret(i,b){const W=this.caretElm.nativeElement,ce=W.getBoundingClientRect(),{top:ke,left:Ve}=La.positionCaret(this.placement,b,i,ce,this.alignment);this.renderer.setStyle(W,"top",`${ke}px`),this.renderer.setStyle(W,"left",`${Ve}px`)}checkFlip(i,b){this.placement=La.determinePlacement(this.placement,b,i,this.spacing)}onWindowResize(){this.position()}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(e.Agw))},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-tooltip-content"]],viewQuery:function(i,b){if(1&i&&e.GBs(kg,5),2&i){let W;e.mGM(W=e.lsd())&&(b.caretElm=W.first)}},hostVars:2,hostBindings:function(i,b){1&i&&e.bIt("resize",function(){return b.onWindowResize()},!1,e.tSv),2&i&&e.HbH(b.cssClasses)},inputs:{host:"host",showCaret:"showCaret",type:"type",placement:"placement",alignment:"alignment",spacing:"spacing",cssClass:"cssClass",title:"title",template:"template",context:"context"},decls:6,vars:6,consts:[["caretElm",""],[3,"hidden"],[1,"tooltip-content"],[4,"ngIf"],[3,"innerHTML",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"innerHTML"]],template:function(i,b){1&i&&(e.j41(0,"div"),e.nrm(1,"span",1,0),e.j41(3,"div",2),e.DNE(4,i_,2,4,"span",3)(5,n_,1,1,"span",4),e.k0s()()),2&i&&(e.R7$(),e.ZvI("tooltip-caret position-",b.placement,""),e.Y8G("hidden",!b.showCaret),e.R7$(3),e.Y8G("ngIf",!b.title),e.R7$(),e.Y8G("ngIf",b.title))},dependencies:[cn.bT,cn.T3],styles:[".ngx-charts-tooltip-content{position:fixed;border-radius:3px;z-index:5000;display:block;font-weight:400;opacity:0;pointer-events:none!important}.ngx-charts-tooltip-content.type-popover{background:#fff;color:#060709;border:1px solid #72809b;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;font-size:13px;padding:4px}.ngx-charts-tooltip-content.type-popover .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #fff}.ngx-charts-tooltip-content.type-tooltip{color:#fff;background:rgba(0,0,0,.75);font-size:12px;padding:0 10px;text-align:center;pointer-events:auto}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content .tooltip-label{display:block;line-height:1em;padding:8px 5px 5px;font-size:1em}.ngx-charts-tooltip-content .tooltip-val{display:block;font-size:1.3em;line-height:1em;padding:0 5px 8px}.ngx-charts-tooltip-content .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.position-right{transform:translate(10px)}.ngx-charts-tooltip-content.position-left{transform:translate(-10px)}.ngx-charts-tooltip-content.position-top{transform:translateY(-10px)}.ngx-charts-tooltip-content.position-bottom{transform:translateY(10px)}.ngx-charts-tooltip-content.animate{opacity:1;transition:opacity .3s,transform .3s;transform:translate(0);pointer-events:auto}.area-tooltip-container{padding:5px 0;pointer-events:none}.tooltip-item{text-align:left;line-height:1.2em;padding:5px 0}.tooltip-item .tooltip-item-color{display:inline-block;height:12px;width:12px;margin-right:5px;color:#5b646b;border-radius:3px}\n"],encapsulation:2}),(0,Xl.Cg)([Vu(100)],c.prototype,"onWindowResize",null),c})();class iy{constructor(y){this.injectionService=y,this.defaults={},this.components=new Map}getByType(y=this.type){return this.components.get(y)}create(y){return this.createByType(this.type,y)}createByType(y,i){i=this.assignDefaults(i);const b=this.injectComponent(y,i);return this.register(y,b),b}destroy(y){const i=this.components.get(y.componentType);if(i&&i.length){const b=i.indexOf(y);b>-1&&(i[b].destroy(),i.splice(b,1))}}destroyAll(){this.destroyByType(this.type)}destroyByType(y){const i=this.components.get(y);if(i&&i.length){let b=i.length-1;for(;b>=0;)this.destroy(i[b--])}}injectComponent(y,i){return this.injectionService.appendComponent(y,i)}assignDefaults(y){const i={...this.defaults.inputs},b={...this.defaults.outputs};return!y.inputs&&!y.outputs&&(y={inputs:y}),i&&(y.inputs={...i,...y.inputs}),b&&(y.outputs={...b,...y.outputs}),y}register(y,i){this.components.has(y)||this.components.set(y,[]),this.components.get(y).push(i)}}let _0=(()=>{class c{constructor(i,b,W){this.applicationRef=i,this.componentFactoryResolver=b,this.injector=W}static setGlobalRootViewContainer(i){c.globalRootViewContainer=i}getRootViewContainer(){if(this._container)return this._container;if(c.globalRootViewContainer)return c.globalRootViewContainer;if(this.applicationRef.components.length)return this.applicationRef.components[0];throw new Error("View Container not found! ngUpgrade needs to manually set this via setRootViewContainer or setGlobalRootViewContainer.")}setRootViewContainer(i){this._container=i}getComponentRootNode(i){return function ny(c){return c.element}(i)?i.element.nativeElement:i.hostView&&i.hostView.rootNodes.length>0?i.hostView.rootNodes[0]:i.location.nativeElement}getRootViewContainerNode(i){return this.getComponentRootNode(i)}projectComponentBindings(i,b){if(b){if(void 0!==b.inputs){const W=Object.getOwnPropertyNames(b.inputs);for(const ce of W)i.instance[ce]=b.inputs[ce]}if(void 0!==b.outputs){const W=Object.getOwnPropertyNames(b.outputs);for(const ce of W)i.instance[ce]=b.outputs[ce]}}return i}appendComponent(i,b={},W){W||(W=this.getRootViewContainer());const ce=this.getComponentRootNode(W),ke=new gc(ce,this.componentFactoryResolver,this.applicationRef,this.injector),Ve=new yo(i),Ze=ke.attach(Ve);return this.projectComponentBindings(Ze,b),Ze}}return c.globalRootViewContainer=null,c.\u0275fac=function(i){return new(i||c)(e.KVO(e.o8S),e.KVO(e.OM3),e.KVO(e.zZn))},c.\u0275prov=e.jDH({token:c,factory:c.\u0275fac}),c})(),Pg=(()=>{class c extends iy{constructor(i){super(i),this.type=ty}}return c.\u0275fac=function(i){return new(i||c)(e.KVO(_0))},c.\u0275prov=e.jDH({token:c,factory:c.\u0275fac}),c})();var xh=function(c){return c.Right="right",c.Below="below",c}(xh||{}),Il=function(c){return c.ScaleLegend="scaleLegend",c.Legend="legend",c}(Il||{}),Cn=function(c){return c.Time="time",c.Linear="linear",c.Ordinal="ordinal",c.Quantile="quantile",c}(Cn||{});let sy=(()=>{class c{constructor(){this.horizontal=!1}ngOnChanges(i){const b=this.gradientString(this.colors.range(),this.colors.domain());this.gradient=`linear-gradient(to ${this.horizontal?"right":"bottom"}, ${b})`}gradientString(i,b){b.push(1);const W=[];return i.reverse().forEach((ce,ke)=>{W.push(`${ce} ${Math.round(100*b[ke])}%`)}),W.join(", ")}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-scale-legend"]],inputs:{valueRange:"valueRange",colors:"colors",height:"height",width:"width",horizontal:"horizontal"},features:[e.OA$],decls:8,vars:10,consts:[[1,"scale-legend"],[1,"scale-legend-label"],[1,"scale-legend-wrap"]],template:function(i,b){1&i&&(e.j41(0,"div",0)(1,"div",1)(2,"span"),e.EFF(3),e.k0s()(),e.nrm(4,"div",2),e.j41(5,"div",1)(6,"span"),e.EFF(7),e.k0s()()()),2&i&&(e.xc7("height",b.horizontal?void 0:b.height,"px")("width",b.width,"px"),e.AVh("horizontal-legend",b.horizontal),e.R7$(3),e.JRh(b.valueRange[1].toLocaleString()),e.R7$(),e.xc7("background",b.gradient),e.R7$(3),e.JRh(b.valueRange[0].toLocaleString()))},styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .scale-legend{text-align:center;display:flex;flex-direction:column}.chart-legend .scale-legend-wrap{display:inline-block;flex:1;width:30px;border-radius:5px;margin:0 auto}.chart-legend .scale-legend-label{font-size:12px}.chart-legend .horizontal-legend.scale-legend{flex-direction:row}.chart-legend .horizontal-legend .scale-legend-wrap{width:auto;height:30px;margin:0 16px}\n"],encapsulation:2,changeDetection:0}),c})();function Gd(c){return c instanceof Date?c.toLocaleDateString():c.toLocaleString()}let Rg=(()=>{class c{constructor(){this.isActive=!1,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.toggle=new e.bkB}get trimmedLabel(){return this.formattedLabel||"(empty)"}onMouseEnter(){this.activate.emit({name:this.label})}onMouseLeave(){this.deactivate.emit({name:this.label})}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-legend-entry"]],hostBindings:function(i,b){1&i&&e.bIt("mouseenter",function(){return b.onMouseEnter()})("mouseleave",function(){return b.onMouseLeave()})},inputs:{color:"color",label:"label",formattedLabel:"formattedLabel",isActive:"isActive"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",toggle:"toggle"},decls:4,vars:6,consts:[["tabindex","-1",3,"click","title"],[1,"legend-label-color",3,"click"],[1,"legend-label-text"]],template:function(i,b){1&i&&(e.j41(0,"span",0),e.bIt("click",function(){return b.select.emit(b.formattedLabel)}),e.j41(1,"span",1),e.bIt("click",function(){return b.toggle.emit(b.formattedLabel)}),e.k0s(),e.j41(2,"span",2),e.EFF(3),e.k0s()()),2&i&&(e.AVh("active",b.isActive),e.Y8G("title",b.formattedLabel),e.R7$(),e.xc7("background-color",b.color),e.R7$(2),e.SpI(" ",b.trimmedLabel," "))},encapsulation:2,changeDetection:0}),c})(),ry=(()=>{class c{constructor(i){this.cd=i,this.horizontal=!1,this.labelClick=new e.bkB,this.labelActivate=new e.bkB,this.labelDeactivate=new e.bkB,this.legendEntries=[]}ngOnChanges(i){this.update()}update(){this.cd.markForCheck(),this.legendEntries=this.getLegendEntries()}getLegendEntries(){const i=[];for(const b of this.data){const W=Gd(b);-1===i.findIndex(ke=>ke.label===W)&&i.push({label:b,formattedLabel:W,color:this.colors.getColor(b)})}return i}isActive(i){return!!this.activeEntries&&void 0!==this.activeEntries.find(W=>i.label===W.name)}activate(i){this.labelActivate.emit(i)}deactivate(i){this.labelDeactivate.emit(i)}trackBy(i,b){return b.label}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.gRc))},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-legend"]],inputs:{data:"data",title:"title",colors:"colors",height:"height",width:"width",activeEntries:"activeEntries",horizontal:"horizontal"},outputs:{labelClick:"labelClick",labelActivate:"labelActivate",labelDeactivate:"labelDeactivate"},features:[e.OA$],decls:5,vars:9,consts:[["class","legend-title",4,"ngIf"],[1,"legend-wrap"],[1,"legend-labels"],["class","legend-label",4,"ngFor","ngForOf","ngForTrackBy"],[1,"legend-title"],[1,"legend-title-text"],[1,"legend-label"],[3,"select","activate","deactivate","label","formattedLabel","color","isActive"]],template:function(i,b){1&i&&(e.j41(0,"div"),e.DNE(1,Ym,3,1,"header",0),e.j41(2,"div",1)(3,"ul",2),e.DNE(4,dv,2,4,"li",3),e.k0s()()()),2&i&&(e.xc7("width",b.width,"px"),e.R7$(),e.Y8G("ngIf",(null==b.title?null:b.title.length)>0),e.R7$(2),e.xc7("max-height",b.height-45,"px"),e.AVh("horizontal-legend",b.horizontal),e.R7$(),e.Y8G("ngForOf",b.legendEntries)("ngForTrackBy",b.trackBy))},dependencies:[Rg,cn.bT,cn.Sq],styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .legend-title{white-space:nowrap;overflow:hidden;margin-left:10px;margin-bottom:5px;font-size:14px;font-weight:700}.chart-legend ul,.chart-legend li{padding:0;margin:0;list-style:none}.chart-legend .horizontal-legend li{display:inline-block}.chart-legend .legend-wrap{width:calc(100% - 10px)}.chart-legend .legend-labels{line-height:85%;list-style:none;text-align:left;float:left;width:100%;border-radius:3px;overflow-y:auto;overflow-x:hidden;white-space:nowrap;background:rgba(0,0,0,.05)}.chart-legend .legend-label{cursor:pointer;font-size:90%;margin:8px;color:#afb7c8}.chart-legend .legend-label:hover{color:#000;transition:.2s}.chart-legend .legend-label .active .legend-label-text{color:#000}.chart-legend .legend-label-color{display:inline-block;height:15px;width:15px;margin-right:5px;color:#5b646b;border-radius:3px}.chart-legend .legend-label-text{display:inline-block;vertical-align:top;line-height:15px;font-size:12px;width:calc(100% - 20px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-legend .legend-title-text{vertical-align:bottom;display:inline-block;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"],encapsulation:2,changeDetection:0}),c})(),Ng=(()=>{class c{constructor(){this.showLegend=!1,this.animations=!0,this.legendLabelClick=new e.bkB,this.legendLabelActivate=new e.bkB,this.legendLabelDeactivate=new e.bkB,this.LegendPosition=xh,this.LegendType=Il}ngOnChanges(i){this.update()}update(){let i=0;this.showLegend&&(this.legendType=this.getLegendType(),(!this.legendOptions||this.legendOptions.position===xh.Right)&&(i=this.legendType===Il.ScaleLegend?1:2)),this.chartWidth=Math.floor(this.view[0]*(12-i)/12),this.legendWidth=this.legendOptions&&this.legendOptions.position!==xh.Right?this.chartWidth:Math.floor(this.view[0]*i/12)}getLegendType(){return this.legendOptions.scaleType===Cn.Linear?Il.ScaleLegend:Il.Legend}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-chart"]],inputs:{view:"view",showLegend:"showLegend",legendOptions:"legendOptions",legendType:"legendType",activeEntries:"activeEntries",animations:"animations"},outputs:{legendLabelClick:"legendLabelClick",legendLabelActivate:"legendLabelActivate",legendLabelDeactivate:"legendLabelDeactivate"},features:[e.Jv_([Pg]),e.OA$],ngContentSelectors:vh,decls:5,vars:8,consts:[[1,"ngx-charts-outer"],[1,"ngx-charts"],["class","chart-legend",3,"horizontal","valueRange","colors","height","width",4,"ngIf"],["class","chart-legend",3,"horizontal","data","title","colors","height","width","activeEntries","labelClick","labelActivate","labelDeactivate",4,"ngIf"],[1,"chart-legend",3,"horizontal","valueRange","colors","height","width"],[1,"chart-legend",3,"labelClick","labelActivate","labelDeactivate","horizontal","data","title","colors","height","width","activeEntries"]],template:function(i,b){1&i&&(e.NAR(),e.j41(0,"div",0),e.qSk(),e.j41(1,"svg",1),e.SdG(2),e.k0s(),e.DNE(3,sf,1,5,"ngx-charts-scale-legend",2)(4,ww,1,7,"ngx-charts-legend",3),e.k0s()),2&i&&(e.xc7("width",b.view[0],"px")("height",b.view[1],"px"),e.R7$(),e.BMQ("width",b.chartWidth)("height",b.view[1]),e.R7$(2),e.Y8G("ngIf",b.showLegend&&b.legendType===b.LegendType.ScaleLegend),e.R7$(),e.Y8G("ngIf",b.showLegend&&b.legendType===b.LegendType.Legend))},dependencies:[sy,ry,cn.bT],encapsulation:2,changeDetection:0}),c})(),DT=(()=>{class c{constructor(i,b){this.element=i,this.zone=b,this.visible=new e.bkB,this.isVisible=!1,this.runCheck()}destroy(){clearTimeout(this.timeout)}onVisibilityChange(){this.zone.run(()=>{this.isVisible=!0,this.visible.emit(!0)})}runCheck(){const i=()=>{if(!this.element)return;const{offsetHeight:b,offsetWidth:W}=this.element.nativeElement;b&&W?(clearTimeout(this.timeout),this.onVisibilityChange()):(clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>i(),100)}))};this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>i())})}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT),e.rXU(e.SKi))},c.\u0275dir=e.FsC({type:c,selectors:[["visibility-observer"]],outputs:{visible:"visible"}}),c})();function m1(c){return"[object Date]"===toString.call(c)}let oy=(()=>{class c{constructor(i,b,W,ce){this.chartElement=i,this.zone=b,this.cd=W,this.platformId=ce,this.scheme="cool",this.schemeType=Cn.Ordinal,this.animations=!0,this.select=new e.bkB}ngOnInit(){(0,cn.Vy)(this.platformId)&&(this.animations=!1)}ngAfterViewInit(){this.bindWindowResizeEvent(),this.visibilityObserver=new DT(this.chartElement,this.zone),this.visibilityObserver.visible.subscribe(this.update.bind(this))}ngOnDestroy(){this.unbindEvents(),this.visibilityObserver&&(this.visibilityObserver.visible.unsubscribe(),this.visibilityObserver.destroy())}ngOnChanges(i){this.update()}update(){if(this.results=this.results?this.cloneData(this.results):[],this.view)this.width=this.view[0],this.height=this.view[1];else{const i=this.getContainerDims();i&&(this.width=i.width,this.height=i.height)}this.width||(this.width=600),this.height||(this.height=400),this.width=Math.floor(this.width),this.height=Math.floor(this.height),this.cd&&this.cd.markForCheck()}getContainerDims(){let i,b;const W=this.chartElement.nativeElement;if((0,cn.UE)(this.platformId)&&null!==W.parentNode){const ce=W.parentNode.getBoundingClientRect();i=ce.width,b=ce.height}return i&&b?{width:i,height:b}:null}formatDates(){for(let i=0;i{this.update(),this.cd&&this.cd.markForCheck()});this.resizeSubscription=b}cloneData(i){const b=[];for(const W of i){const ce={};if(void 0!==W.name&&(ce.name=W.name),void 0!==W.value&&(ce.value=W.value),void 0!==W.series){ce.series=[];for(const ke of W.series){const Ve=Object.assign({},ke);ce.series.push(Ve)}}void 0!==W.extra&&(ce.extra=JSON.parse(JSON.stringify(W.extra))),void 0!==W.source&&(ce.source=W.source),void 0!==W.target&&(ce.target=W.target),b.push(ce)}return b}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(e.gRc),e.rXU(e.Agw))},c.\u0275cmp=e.VBU({type:c,selectors:[["base-chart"]],inputs:{results:"results",view:"view",scheme:"scheme",schemeType:"schemeType",customColors:"customColors",animations:"animations"},outputs:{select:"select"},features:[e.OA$],decls:1,vars:0,template:function(i,b){1&i&&e.nrm(0,"div")},encapsulation:2}),c})();function Hr(c,y=16){return"string"!=typeof c?"number"==typeof c?c+"":"":(c=c.trim()).length<=y?c:`${c.slice(0,y)}...`}var C0=function(c){return c.Start="start",c.Middle="middle",c.End="end",c}(C0||{});let ly=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[cn.MD]]}),c})();var _f=function(c){return c.popover="popover",c.tooltip="tooltip",c}(_f||{}),Hd=function(c){return c[c.all="all"]="all",c[c.focus="focus"]="focus",c[c.mouseover="mouseover"]="mouseover",c}(Hd||{});let w0=(()=>{class c{constructor(i,b,W){this.tooltipService=i,this.viewContainerRef=b,this.renderer=W,this.tooltipCssClass="",this.tooltipAppendToBody=!0,this.tooltipSpacing=10,this.tooltipDisabled=!1,this.tooltipShowCaret=!0,this.tooltipPlacement=Rn.Top,this.tooltipAlignment=Rn.Center,this.tooltipType=_f.popover,this.tooltipCloseOnClickOutside=!0,this.tooltipCloseOnMouseLeave=!0,this.tooltipHideTimeout=300,this.tooltipShowTimeout=100,this.tooltipShowEvent=Hd.all,this.tooltipImmediateExit=!1,this.show=new e.bkB,this.hide=new e.bkB}get listensForFocus(){return this.tooltipShowEvent===Hd.all||this.tooltipShowEvent===Hd.focus}get listensForHover(){return this.tooltipShowEvent===Hd.all||this.tooltipShowEvent===Hd.mouseover}ngOnDestroy(){this.hideTooltip(!0)}onFocus(){this.listensForFocus&&this.showTooltip()}onBlur(){this.listensForFocus&&this.hideTooltip(!0)}onMouseEnter(){this.listensForHover&&this.showTooltip()}onMouseLeave(i){if(this.listensForHover&&this.tooltipCloseOnMouseLeave){if(clearTimeout(this.timeout),this.component&&this.component.instance.element.nativeElement.contains(i))return;this.hideTooltip(this.tooltipImmediateExit)}}onMouseClick(){this.listensForHover&&this.hideTooltip(!0)}showTooltip(i){if(this.component||this.tooltipDisabled)return;const b=i?0:this.tooltipShowTimeout+(navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)?400:0);clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.tooltipService.destroyAll();const W=this.createBoundOptions();this.component=this.tooltipService.create(W),setTimeout(()=>{this.component&&this.addHideListeners(this.component.instance.element.nativeElement)},10),this.show.emit(!0)},b)}addHideListeners(i){this.mouseEnterContentEvent=this.renderer.listen(i,"mouseenter",()=>{clearTimeout(this.timeout)}),this.tooltipCloseOnMouseLeave&&(this.mouseLeaveContentEvent=this.renderer.listen(i,"mouseleave",()=>{this.hideTooltip(this.tooltipImmediateExit)})),this.tooltipCloseOnClickOutside&&(this.documentClickEvent=this.renderer.listen("window","click",b=>{i.contains(b.target)||this.hideTooltip()}))}hideTooltip(i=!1){if(!this.component)return;const b=()=>{this.mouseLeaveContentEvent&&this.mouseLeaveContentEvent(),this.mouseEnterContentEvent&&this.mouseEnterContentEvent(),this.documentClickEvent&&this.documentClickEvent(),this.hide.emit(!0),this.tooltipService.destroy(this.component),this.component=void 0};clearTimeout(this.timeout),i?b():this.timeout=setTimeout(b,this.tooltipHideTimeout)}createBoundOptions(){return{title:this.tooltipTitle,template:this.tooltipTemplate,host:this.viewContainerRef.element,placement:this.tooltipPlacement,alignment:this.tooltipAlignment,type:this.tooltipType,showCaret:this.tooltipShowCaret,cssClass:this.tooltipCssClass,spacing:this.tooltipSpacing,context:this.tooltipContext}}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(Pg),e.rXU(e.c1b),e.rXU(e.sFG))},c.\u0275dir=e.FsC({type:c,selectors:[["","ngx-tooltip",""]],hostBindings:function(i,b){1&i&&e.bIt("focusin",function(){return b.onFocus()})("blur",function(){return b.onBlur()})("mouseenter",function(){return b.onMouseEnter()})("mouseleave",function(ce){return b.onMouseLeave(ce.target)})("click",function(){return b.onMouseClick()})},inputs:{tooltipCssClass:"tooltipCssClass",tooltipTitle:"tooltipTitle",tooltipAppendToBody:"tooltipAppendToBody",tooltipSpacing:"tooltipSpacing",tooltipDisabled:"tooltipDisabled",tooltipShowCaret:"tooltipShowCaret",tooltipPlacement:"tooltipPlacement",tooltipAlignment:"tooltipAlignment",tooltipType:"tooltipType",tooltipCloseOnClickOutside:"tooltipCloseOnClickOutside",tooltipCloseOnMouseLeave:"tooltipCloseOnMouseLeave",tooltipHideTimeout:"tooltipHideTimeout",tooltipShowTimeout:"tooltipShowTimeout",tooltipTemplate:"tooltipTemplate",tooltipShowEvent:"tooltipShowEvent",tooltipContext:"tooltipContext",tooltipImmediateExit:"tooltipImmediateExit"},outputs:{show:"show",hide:"hide"}}),c})(),T0=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({providers:[_0,Pg],imports:[[cn.MD]]}),c})();const _1={};function Ud(){let c=("0000"+(Math.random()*Math.pow(36,4)|0).toString(36)).slice(-4);return c=`a${c}`,_1[c]?Ud():(_1[c]=!0,c)}var rc=function(c){return c.Vertical="vertical",c.Horizontal="horizontal",c}(rc||{});let Ol=(()=>{class c{constructor(){this.endOpacity=1,this.cx=0,this.cy=0}get stops(){return this.stopsInput||this.stopsDefault}set stops(i){this.stopsInput=i}ngOnChanges(i){this.r="30%",("color"in i||"startOpacity"in i||"endOpacity"in i)&&(this.stopsDefault=[{offset:0,color:this.color,opacity:this.startOpacity},{offset:100,color:this.color,opacity:this.endOpacity}])}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["g","ngx-charts-svg-radial-gradient",""]],inputs:{color:"color",name:"name",startOpacity:"startOpacity",endOpacity:"endOpacity",cx:"cx",cy:"cy",stops:"stops"},features:[e.OA$],attrs:C_,decls:2,vars:5,consts:[["gradientUnits","userSpaceOnUse",3,"id"],[3,"stop-color","stop-opacity",4,"ngFor","ngForOf"]],template:function(i,b){1&i&&(e.qSk(),e.j41(0,"radialGradient",0),e.DNE(1,n0,1,5,"stop",1),e.k0s()),2&i&&(e.Y8G("id",b.name),e.BMQ("cx",b.cx)("cy",b.cy)("r",b.r),e.R7$(),e.Y8G("ngForOf",b.stops))},dependencies:[cn.Sq],encapsulation:2,changeDetection:0}),c})();function k0(c,y,i,b){return i*(1-Math.pow(2,-10*c/b))*1024/1023+y}function w1(c,y,i,b,W){const ce=Number(c),ke=Number(y),Ve=ce>ke,Ze=Math.max(0,i),tt=Math.pow(10,Ze),bt=1e3*Number(b);let Mt;function Lt(Wt){let Zt;const hi=Wt-Mt;Zt=Ve?ce-k0(hi,0,ce-ke,bt):k0(hi,ce,ke-ce,bt),Zt=Ve?Ztke?ke:Zt,Zt=Math.round(Zt*tt)/tt;const Yt=hiLt(ui))}return requestAnimationFrame(Wt=>(Mt=Wt,Lt(Wt)))}let D0,hy=(()=>{class c{constructor(i,b){this.cd=i,this.countDuration=1,this.countPrefix="",this.countSuffix="",this.countChange=new e.bkB,this.countFinish=new e.bkB,this.value="",this._countDecimals=0,this._countTo=0,this._countFrom=0,this.nativeElement=b.nativeElement}set countDecimals(i){this._countDecimals=i}get countDecimals(){return this._countDecimals?this._countDecimals:function T1(c){const y=Number(c);return y%1!=0&&Math.abs(y)<=10?2:0}(this.countTo)}set countTo(i){this._countTo=parseFloat(i),this.start()}get countTo(){return this._countTo}set countFrom(i){this._countFrom=parseFloat(i),this.start()}get countFrom(){return this._countFrom}ngOnDestroy(){cancelAnimationFrame(this.animationReq)}start(){cancelAnimationFrame(this.animationReq);const i=this.valueFormatting||(W=>`${this.countPrefix}${W.toLocaleString()}${this.countSuffix}`);this.animationReq=w1(this.countFrom,this.countTo,this.countDecimals,this.countDuration,({value:W,progress:ce,finished:ke})=>{this.value=i(W),this.cd.markForCheck(),ke||this.countChange.emit({value:this.value,progress:ce}),ke&&this.countFinish.emit({value:this.value,progress:ce})})}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.gRc),e.rXU(e.aKT))},c.\u0275cmp=e.VBU({type:c,selectors:[["","ngx-charts-count-up",""]],inputs:{countDuration:"countDuration",countPrefix:"countPrefix",countSuffix:"countSuffix",valueFormatting:"valueFormatting",countDecimals:"countDecimals",countTo:"countTo",countFrom:"countFrom"},outputs:{countChange:"countChange",countFinish:"countFinish"},attrs:Iw,decls:1,vars:1,template:function(i,b){1&i&&e.EFF(0),2&i&&e.SpI(" ",b.value," ")},encapsulation:2}),c})();typeof window<"u"?D0=window:typeof global<"u"&&(D0=global);let uy=(()=>{class c{constructor(){this.label="Total",this.animations=!0,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.legendItems=[],this.labelFormatting=i=>i,this.percentageFormatting=i=>i,this.defaultValueFormatting=i=>i.toLocaleString()}ngOnChanges(i){this.update()}getTotal(){return this.data.map(i=>Number(i.value)).reduce((i,b)=>i+b,0)}update(){this.total=this.getTotal(),this.roundedTotal=this.total,this.legendItems=this.getLegendItems()}getLegendItems(){return this.data.map(i=>{const b=Gd(i.name),W=i.value,ce=this.colors.getColor(b),ke=this.total>0?W/this.total*100:0,Ve="function"==typeof this.labelFormatting?this.labelFormatting(b):b;return{_value:W,data:i,value:W,color:ce,label:Ve,displayLabel:Hr(Ve,20),origialLabel:i.name,percentage:this.percentageFormatting?this.percentageFormatting(ke):ke.toLocaleString()}})}trackBy(i,b){return b.label}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-advanced-legend"]],inputs:{width:"width",data:"data",colors:"colors",label:"label",animations:"animations",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",percentageFormatting:"percentageFormatting"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.OA$],decls:8,vars:7,consts:[[1,"advanced-pie-legend"],["class","total-value","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","total-value",4,"ngIf"],[1,"total-label"],[1,"legend-items-container"],[1,"legend-items"],["tabindex","-1","class","legend-item",3,"mouseenter","mouseleave","click",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-count-up","",1,"total-value",3,"countTo","valueFormatting"],[1,"total-value"],["tabindex","-1",1,"legend-item",3,"mouseenter","mouseleave","click"],[1,"item-color"],["class","item-value","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","item-value",4,"ngIf"],[1,"item-label"],["class","item-percent","ngx-charts-count-up","",3,"countTo","countSuffix",4,"ngIf"],["class","item-percent",4,"ngIf"],["ngx-charts-count-up","",1,"item-value",3,"countTo","valueFormatting"],[1,"item-value"],["ngx-charts-count-up","",1,"item-percent",3,"countTo","countSuffix"],[1,"item-percent"]],template:function(i,b){1&i&&(e.j41(0,"div",0),e.DNE(1,Av,1,2,"div",1)(2,Iv,2,1,"div",2),e.j41(3,"div",3),e.EFF(4),e.k0s(),e.j41(5,"div",4)(6,"div",5),e.DNE(7,Pw,8,7,"div",6),e.k0s()()()),2&i&&(e.xc7("width",b.width,"px"),e.R7$(),e.Y8G("ngIf",b.animations),e.R7$(),e.Y8G("ngIf",!b.animations),e.R7$(2),e.SpI(" ",b.label," "),e.R7$(3),e.Y8G("ngForOf",b.legendItems)("ngForTrackBy",b.trackBy))},dependencies:[hy,cn.bT,cn.Sq],styles:[".advanced-pie-legend{float:left;position:relative;top:50%;transform:translateY(-50%)}.advanced-pie-legend .total-value{font-size:36px}.advanced-pie-legend .total-label{font-size:24px;margin-bottom:19px}.advanced-pie-legend .legend-items-container{width:100%}.advanced-pie-legend .legend-items-container .legend-items{white-space:nowrap;overflow:auto}.advanced-pie-legend .legend-items-container .legend-items .legend-item{margin-right:20px;display:inline-block;cursor:pointer}.advanced-pie-legend .legend-items-container .legend-items .legend-item:focus{outline:none}.advanced-pie-legend .legend-items-container .legend-items .legend-item:hover{color:#000;transition:.2s}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-value{font-size:24px;margin-top:-6px;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-label{font-size:14px;opacity:.7;margin-left:11px;margin-top:-6px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-percent{font-size:24px;opacity:.7;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-color{border-left:4px solid;width:4px;height:42px;float:left;margin-right:7px}\n"],encapsulation:2,changeDetection:0}),c})(),Ra=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[cn.MD,ly,T0],cn.MD,ly,T0]}),c})();const wf=[{name:"vivid",selectable:!0,group:Cn.Ordinal,domain:["#647c8a","#3f51b5","#2196f3","#00b862","#afdf0a","#a7b61a","#f3e562","#ff9800","#ff5722","#ff4514"]},{name:"natural",selectable:!0,group:Cn.Ordinal,domain:["#bf9d76","#e99450","#d89f59","#f2dfa7","#a5d7c6","#7794b1","#afafaf","#707160","#ba9383","#d9d5c3"]},{name:"cool",selectable:!0,group:Cn.Ordinal,domain:["#a8385d","#7aa3e5","#a27ea8","#aae3f5","#adcded","#a95963","#8796c0","#7ed3ed","#50abcc","#ad6886"]},{name:"fire",selectable:!0,group:Cn.Ordinal,domain:["#ff3d00","#bf360c","#ff8f00","#ff6f00","#ff5722","#e65100","#ffca28","#ffab00"]},{name:"solar",selectable:!0,group:Cn.Linear,domain:["#fff8e1","#ffecb3","#ffe082","#ffd54f","#ffca28","#ffc107","#ffb300","#ffa000","#ff8f00","#ff6f00"]},{name:"air",selectable:!0,group:Cn.Linear,domain:["#e1f5fe","#b3e5fc","#81d4fa","#4fc3f7","#29b6f6","#03a9f4","#039be5","#0288d1","#0277bd","#01579b"]},{name:"aqua",selectable:!0,group:Cn.Linear,domain:["#e0f7fa","#b2ebf2","#80deea","#4dd0e1","#26c6da","#00bcd4","#00acc1","#0097a7","#00838f","#006064"]},{name:"flame",selectable:!1,group:Cn.Ordinal,domain:["#A10A28","#D3342D","#EF6D49","#FAAD67","#FDDE90","#DBED91","#A9D770","#6CBA67","#2C9653","#146738"]},{name:"ocean",selectable:!1,group:Cn.Ordinal,domain:["#1D68FB","#33C0FC","#4AFFFE","#AFFFFF","#FFFC63","#FDBD2D","#FC8A25","#FA4F1E","#FA141B","#BA38D1"]},{name:"forest",selectable:!1,group:Cn.Ordinal,domain:["#55C22D","#C1F33D","#3CC099","#AFFFFF","#8CFC9D","#76CFFA","#BA60FB","#EE6490","#C42A1C","#FC9F32"]},{name:"horizon",selectable:!1,group:Cn.Ordinal,domain:["#2597FB","#65EBFD","#99FDD0","#FCEE4B","#FEFCFA","#FDD6E3","#FCB1A8","#EF6F7B","#CB96E8","#EFDEE0"]},{name:"neons",selectable:!1,group:Cn.Ordinal,domain:["#FF3333","#FF33FF","#CC33FF","#0000FF","#33CCFF","#33FFFF","#33FF66","#CCFF33","#FFCC00","#FF6600"]},{name:"picnic",selectable:!1,group:Cn.Ordinal,domain:["#FAC51D","#66BD6D","#FAA026","#29BB9C","#E96B56","#55ACD2","#B7332F","#2C83C9","#9166B8","#92E7E8"]},{name:"night",selectable:!1,group:Cn.Ordinal,domain:["#2B1B5A","#501356","#183356","#28203F","#391B3C","#1E2B3C","#120634","#2D0432","#051932","#453080","#75267D","#2C507D","#4B3880","#752F7D","#35547D"]},{name:"nightLights",selectable:!1,group:Cn.Ordinal,domain:["#4e31a5","#9c25a7","#3065ab","#57468b","#904497","#46648b","#32118d","#a00fb3","#1052a2","#6e51bd","#b63cc3","#6c97cb","#8671c1","#b455be","#7496c3"]}];class k1{constructor(y,i,b,W){"string"==typeof y&&(y=wf.find(ce=>ce.name===y)),this.colorDomain=y.domain,this.scaleType=i,this.domain=b,this.customColors=W,this.scale=this.generateColorScheme(y,i,this.domain)}generateColorScheme(y,i,b){let W;switch("string"==typeof y&&(y=wf.find(ce=>ce.name===y)),i){case Cn.Quantile:W=qp().range(y.domain).domain(b);break;case Cn.Ordinal:W=wg().range(y.domain).domain(b);break;case Cn.Linear:{const ce=[...y.domain];1===ce.length&&(ce.push(ce[0]),this.colorDomain=ce);const ke=qb(0,1,1/ce.length);W=bh().range(ce).domain(ke)}}return W}getColor(y){if(null==y)throw new Error("Value can not be null");if(this.scaleType===Cn.Linear){const i=bh().domain(this.domain).range([0,1]);return this.scale(i(y))}{if("function"==typeof this.customColors)return this.customColors(y);const i=y.toString();let b;return this.customColors&&this.customColors.length>0&&(b=this.customColors.find(W=>W.name.toLowerCase()===i.toLowerCase())),b?b.value:this.scale(y)}}getLinearGradientStops(y,i){void 0===i&&(i=this.domain[0]);const b=bh().domain(this.domain).range([0,1]),W=Gm().domain(this.colorDomain).range([0,1]),ce=this.getColor(y),ke=b(i),Ve=this.getColor(i),Ze=b(y);let tt=1,bt=ke;const Mt=[];for(Mt.push({color:Ve,offset:ke,originalOffset:ke,opacity:1});bt=(Ze-W.bandwidth()).toFixed(4))break;Mt.push({color:Lt,offset:Wt,opacity:1}),bt=Wt,tt++}}if(Mt[Mt.length-1].offset<100&&Mt.push({color:ce,offset:Ze,opacity:1}),Ze===ke)Mt[0].offset=0,Mt[1].offset=100;else if(100!==Mt[Mt.length-1].offset)for(const Lt of Mt)Lt.offset=(Lt.offset-ke)/(Ze-ke)*100;return Mt}}let M1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),E0=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})();rd();let N1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),B1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),jg=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),xy=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),_y=(()=>{class c{constructor(i){this.platformId=i,this.animations=!0,this.labelTrim=!0,this.labelTrimSize=10,this.trimLabel=Hr}ngOnChanges(i){this.setTransforms(),this.update()}setTransforms(){if((0,cn.Vy)(this.platformId))this.styleTransform=`translate3d(${this.textX}px,${this.textY}px, 0)`,this.attrTransform=`translate(${this.textX},${this.textY})`,this.textTransition=this.animations?"transform 0.75s":null;else{const i=/(edge|msie|trident)/i.test(navigator.userAgent);this.styleTransform=i?null:`translate3d(${this.textX}px,${this.textY}px, 0)`,this.attrTransform=i?`translate(${this.textX},${this.textY})`:null,this.textTransition=i||!this.animations?null:"transform 0.75s"}}update(){let i=this.radius;this.explodeSlices&&(i=this.radius*this.value/this.max);const W=ef().innerRadius(i).outerRadius(i).centroid(this.data);let ce=this.data.pos[1]/W[1];(0===this.data.pos[1]||0===W[1])&&(ce=1),this.line=`M${W}L${[ce*W[0],ce*W[1]]}L${this.data.pos}`}get textX(){return this.data.pos[0]}get textY(){return this.data.pos[1]}textAnchor(){return this.midAngle(this.data){class c{constructor(i){this.startAngle=0,this.endAngle=2*Math.PI,this.cornerRadius=0,this.explodeSlices=!1,this.gradient=!1,this.animate=!0,this.pointerEvents=!0,this.isActive=!1,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.dblclick=new e.bkB,this.barOrientation=rc,this.initialized=!1,this.element=i.nativeElement}ngOnChanges(i){this.update()}getGradient(){return this.gradient?this.gradientFill:this.fill}getPointerEvents(){return this.pointerEvents?"auto":"none"}update(){const i=this.calculateArc();this.startOpacity=.5,this.radialGradientId="linearGrad"+Ud().toString(),this.gradientFill=`url(#${this.radialGradientId})`,this.animate?this.initialized?this.updateAnimation():(this.loadAnimation(),this.initialized=!0):this.path=i.startAngle(this.startAngle).endAngle(this.endAngle)()}calculateArc(){let i=this.outerRadius;return this.explodeSlices&&0===this.innerRadius&&(i=this.outerRadius*this.value/this.max),ef().innerRadius(this.innerRadius).outerRadius(i).cornerRadius(this.cornerRadius)}loadAnimation(){const i=ao(this.element).selectAll(".arc").data([{startAngle:this.startAngle,endAngle:this.endAngle}]),b=this.calculateArc();i.transition().attrTween("d",function(W){this._current=this._current||W;const ce=Object.assign({},W);ce.endAngle=ce.startAngle;const ke=Jl(ce,ce);return this._current=ke(0),function(Ve){return b(ke(Ve))}}).transition().duration(750).attrTween("d",function(W){this._current=this._current||W;const ce=Jl(this._current,W);return this._current=ce(0),function(ke){return b(ce(ke))}})}updateAnimation(){const i=ao(this.element).selectAll(".arc").data([{startAngle:this.startAngle,endAngle:this.endAngle}]),b=this.calculateArc();i.transition().duration(750).attrTween("d",function(W){this._current=this._current||W;const ce=Jl(this._current,W);return this._current=ce(0),function(ke){return b(ce(ke))}})}onClick(){clearTimeout(this._timeout),this._timeout=setTimeout(()=>this.select.emit(this.data),200)}onDblClick(i){i.preventDefault(),i.stopPropagation(),clearTimeout(this._timeout),this.dblclick.emit({data:this.data,nativeEvent:i})}}return c.\u0275fac=function(i){return new(i||c)(e.rXU(e.aKT))},c.\u0275cmp=e.VBU({type:c,selectors:[["g","ngx-charts-pie-arc",""]],inputs:{fill:"fill",startAngle:"startAngle",endAngle:"endAngle",innerRadius:"innerRadius",outerRadius:"outerRadius",cornerRadius:"cornerRadius",value:"value",max:"max",data:"data",explodeSlices:"explodeSlices",gradient:"gradient",animate:"animate",pointerEvents:"pointerEvents",isActive:"isActive"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dblclick:"dblclick"},features:[e.OA$],attrs:e1,decls:3,vars:7,consts:[[1,"arc-group"],[4,"ngIf"],[1,"arc",3,"click","dblclick","mouseenter","mouseleave"],["ngx-charts-svg-radial-gradient","",3,"color","name","startOpacity"]],template:function(i,b){1&i&&(e.qSk(),e.j41(0,"g",0),e.DNE(1,t1,2,3,"defs",1),e.j41(2,"path",2),e.bIt("click",function(){return b.onClick()})("dblclick",function(ce){return b.onDblClick(ce)})("mouseenter",function(){return b.activate.emit(b.data)})("mouseleave",function(){return b.deactivate.emit(b.data)}),e.k0s()()),2&i&&(e.R7$(),e.Y8G("ngIf",b.gradient),e.R7$(),e.xc7("pointer-events",b.getPointerEvents()),e.AVh("active",b.isActive),e.BMQ("d",b.path)("fill",b.getGradient()))},dependencies:[Ol,cn.bT],encapsulation:2,changeDetection:0}),c})(),z1=(()=>{class c{constructor(){this.series=[],this.innerRadius=60,this.outerRadius=80,this.trimLabels=!0,this.maxLabelLength=10,this.tooltipDisabled=!1,this.animations=!0,this.select=new e.bkB,this.activate=new e.bkB,this.deactivate=new e.bkB,this.dblclick=new e.bkB,this.placementTypes=Rn,this.styleTypes=_f}ngOnChanges(i){this.update()}update(){const b=function tf(){var c=cv,y=lv,i=null,b=ca(0),W=ca(Ou),ce=ca(0);function ke(Ve){var Ze,bt,Mt,ui,Ti,tt=(Ve=function av(c){return"object"==typeof c&&"length"in c?c:Array.from(c)}(Ve)).length,Lt=0,Wt=new Array(tt),Zt=new Array(tt),hi=+b.apply(this,arguments),Yt=Math.min(Ou,Math.max(-Ou,W.apply(this,arguments)-hi)),yi=Math.min(Math.abs(Yt)/tt,ce.apply(this,arguments)),fi=yi*(Yt<0?-1:1);for(Ze=0;Ze0&&(Lt+=Ti);for(null!=y?Wt.sort(function(ji,Mi){return y(Zt[ji],Zt[Mi])}):null!=i&&Wt.sort(function(ji,Mi){return i(Ve[ji],Ve[Mi])}),Ze=0,Mt=Lt?(Yt-tt*fi)/Lt:0;Ze0?Ti*Mt:0)+fi,padAngle:yi};return Zt}return ke.value=function(Ve){return arguments.length?(c="function"==typeof Ve?Ve:ca(+Ve),ke):c},ke.sortValues=function(Ve){return arguments.length?(y=Ve,i=null,ke):y},ke.sort=function(Ve){return arguments.length?(i=Ve,y=null,ke):i},ke.startAngle=function(Ve){return arguments.length?(b="function"==typeof Ve?Ve:ca(+Ve),ke):b},ke.endAngle=function(Ve){return arguments.length?(W="function"==typeof Ve?Ve:ca(+Ve),ke):W},ke.padAngle=function(Ve){return arguments.length?(ce="function"==typeof Ve?Ve:ca(+Ve),ke):ce},ke}().value(W=>W.value).sort(null)(this.series);this.max=function Xm(c,y){let i;if(void 0===y)for(const b of c)null!=b&&(i=b)&&(i=b);else{let b=-1;for(let W of c)null!=(W=y(W,++b,c))&&(i=W)&&(i=W)}return i}(b,W=>W.value),this.data=this.calculateLabelPositions(b),this.tooltipText=this.tooltipText||this.defaultTooltipText}midAngle(i){return i.startAngle+(i.endAngle-i.startAngle)/2}outerArc(){return ef().innerRadius(1.5*this.outerRadius).outerRadius(1.5*this.outerRadius)}calculateLabelPositions(i){const ce=i;ce.forEach(ke=>{ke.pos=this.outerArc().centroid(ke),ke.pos[0]=1.5*this.outerRadius*(this.midAngle(ke)0){const bt=10-Math.abs(tt.pos[1]-Ve.pos[1]);bt>0&&(tt.pos[1]+=Math.sign(tt.pos[0])*bt)}}}return ce}labelVisible(i){return this.showLabels&&i.endAngle-i.startAngle>Math.PI/30}getTooltipTitle(i){return this.tooltipTemplate?void 0:this.tooltipText(i)}labelText(i){return this.labelFormatting?this.labelFormatting(i.data.name):this.label(i)}label(i){return Gd(i.data.name)}defaultTooltipText(i){const b=this.label(i),W=Gd(i.data.value);return`\n ${function _h(c){return c.toLocaleString().replace(/[&'`"<>]/g,y=>({"&":"&","'":"'","`":"`",'"':""","<":"<",">":">"}[y]))}(b)}\n ${W}\n `}color(i){return this.colors.getColor(this.label(i))}trackBy(i,b){return b.data.name}onClick(i){this.select.emit(i)}isActive(i){return!!this.activeEntries&&void 0!==this.activeEntries.find(W=>i.name===W.name&&i.series===W.series)}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275cmp=e.VBU({type:c,selectors:[["g","ngx-charts-pie-series",""]],inputs:{colors:"colors",series:"series",dims:"dims",innerRadius:"innerRadius",outerRadius:"outerRadius",explodeSlices:"explodeSlices",showLabels:"showLabels",gradient:"gradient",activeEntries:"activeEntries",labelFormatting:"labelFormatting",trimLabels:"trimLabels",maxLabelLength:"maxLabelLength",tooltipText:"tooltipText",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dblclick:"dblclick"},features:[e.OA$],attrs:Zv,decls:1,vars:2,consts:[[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-pie-label","",3,"data","radius","color","label","labelTrim","labelTrimSize","max","value","explodeSlices","animations",4,"ngIf"],["ngx-charts-pie-arc","","ngx-tooltip","",3,"select","activate","deactivate","dblclick","startAngle","endAngle","innerRadius","outerRadius","fill","value","gradient","data","max","explodeSlices","isActive","animate","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext"],["ngx-charts-pie-label","",3,"data","radius","color","label","labelTrim","labelTrimSize","max","value","explodeSlices","animations"]],template:function(i,b){1&i&&e.DNE(0,n1,3,19,"g",0),2&i&&e.Y8G("ngForOf",b.data)("ngForTrackBy",b.trackBy)},dependencies:[_y,V1,cn.Sq,cn.bT,w0],encapsulation:2,changeDetection:0}),c})(),Gu=(()=>{class c extends oy{constructor(){super(...arguments),this.activeEntries=[],this.tooltipDisabled=!1,this.label="Total",this.activate=new e.bkB,this.deactivate=new e.bkB,this.margin=[20,20,20,20]}update(){super.update(),this.dims=function py({width:c,height:y,margins:i,showXAxis:b=!1,showYAxis:W=!1,xAxisHeight:ce=0,yAxisWidth:ke=0,showXLabel:Ve=!1,showYLabel:Ze=!1,showLegend:tt=!1,legendType:bt=Cn.Ordinal,legendPosition:Mt=xh.Right,columns:Lt=12}){let Wt=i[3],Zt=c,hi=y-i[0]-i[2];return tt&&Mt===xh.Right&&(Lt-=bt===Cn.Ordinal?2:1),Zt=Zt*Lt/12,Zt=Zt-i[1]-i[3],b&&(hi-=5,hi-=ce,Ve&&(hi-=30)),W&&(Zt-=5,Zt-=ke,Wt+=ke,Wt+=10,Ze&&(Zt-=30,Wt+=30)),Zt=Math.max(0,Zt),hi=Math.max(0,hi),{width:Math.floor(Zt),height:Math.floor(hi),xOffset:Math.floor(Wt)}}({width:4*this.width/12,height:this.height,margins:this.margin}),this.formatDates(),this.domain=this.getDomain(),this.setColors();const i=this.dims.width/2,b=this.margin[0]+this.dims.height/2;this.legendWidth=this.width-this.dims.width-this.margin[1],this.outerRadius=Math.min(this.dims.width,this.dims.height)/2.5,this.innerRadius=.75*this.outerRadius,this.transform=`translate(${i} , ${b})`}getDomain(){return this.results.map(i=>i.label)}onClick(i){this.select.emit(i)}setColors(){this.colors=new k1(this.scheme,Cn.Ordinal,this.domain,this.customColors)}onActivate(i,b=!1){i=this.results.find(ce=>b?ce.label===i.name:ce.name===i.name),!(this.activeEntries.findIndex(ce=>ce.name===i.name&&ce.value===i.value&&ce.series===i.series)>-1)&&(this.activeEntries=[i,...this.activeEntries],this.activate.emit({value:i,entries:this.activeEntries}))}onDeactivate(i,b=!1){i=this.results.find(ce=>b?ce.label===i.name:ce.name===i.name);const W=this.activeEntries.findIndex(ce=>ce.name===i.name&&ce.value===i.value&&ce.series===i.series);this.activeEntries.splice(W,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:i,entries:this.activeEntries})}}return c.\u0275fac=(()=>{let y;return function(b){return(y||(y=e.xGo(c)))(b||c)}})(),c.\u0275cmp=e.VBU({type:c,selectors:[["ngx-charts-advanced-pie-chart"]],contentQueries:function(i,b,W){if(1&i&&e.wni(W,Rw,5),2&i){let ce;e.mGM(ce=e.lsd())&&(b.tooltipTemplate=ce.first)}},inputs:{gradient:"gradient",activeEntries:"activeEntries",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",label:"label",valueFormatting:"valueFormatting",nameFormatting:"nameFormatting",percentageFormatting:"percentageFormatting"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.Vt3],decls:7,vars:37,consts:[[1,"advanced-pie","chart"],[3,"view","showLegend","animations"],[1,"pie","chart"],["ngx-charts-pie-series","",3,"select","activate","deactivate","colors","series","innerRadius","activeEntries","outerRadius","gradient","tooltipDisabled","tooltipTemplate","tooltipText","animations"],[1,"advanced-pie-legend-wrapper"],[3,"select","activate","deactivate","data","colors","width","label","animations","valueFormatting","labelFormatting","percentageFormatting"]],template:function(i,b){1&i&&(e.j41(0,"div")(1,"div",0)(2,"ngx-charts-chart",1),e.qSk(),e.j41(3,"g",2)(4,"g",3),e.bIt("select",function(ce){return b.onClick(ce)})("activate",function(ce){return b.onActivate(ce)})("deactivate",function(ce){return b.onDeactivate(ce)}),e.k0s()()()(),e.joV(),e.j41(5,"div",4)(6,"ngx-charts-advanced-legend",5),e.bIt("select",function(ce){return b.onClick(ce)})("activate",function(ce){return b.onActivate(ce,!0)})("deactivate",function(ce){return b.onDeactivate(ce,!0)}),e.k0s()()()),2&i&&(e.xc7("width",b.width,"px")("height",b.height,"px"),e.R7$(),e.xc7("width",b.dims.width,"px")("height",b.dims.height,"px"),e.R7$(),e.Y8G("view",e.l_i(34,Dg,b.width,b.height))("showLegend",!1)("animations",b.animations),e.R7$(),e.BMQ("transform",b.transform),e.R7$(),e.Y8G("colors",b.colors)("series",b.results)("innerRadius",b.innerRadius)("activeEntries",b.activeEntries)("outerRadius",b.outerRadius)("gradient",b.gradient)("tooltipDisabled",b.tooltipDisabled)("tooltipTemplate",b.tooltipTemplate)("tooltipText",b.tooltipText)("animations",b.animations),e.R7$(),e.xc7("width",b.width-b.dims.width,"px")("height",b.height,"px"),e.R7$(),e.Y8G("data",b.results)("colors",b.colors)("width",b.width-b.dims.width-b.margin[1])("label",b.label)("animations",b.animations)("valueFormatting",b.valueFormatting)("labelFormatting",b.nameFormatting)("percentageFormatting",b.percentageFormatting))},dependencies:[Ng,z1,uy],styles:[".ngx-charts-outer{animation:chartFadeIn linear .6s}@keyframes chartFadeIn{0%{opacity:0}20%{opacity:0}to{opacity:1}}.ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .node,.ngx-charts .link,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .node.active,.ngx-charts .node:hover,.ngx-charts .link.active,.ngx-charts .link:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .node:focus,.ngx-charts .link:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .node.hidden,.ngx-charts .link.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\n",".advanced-pie{display:inline-block;float:left}.advanced-pie-legend-wrapper{display:inline-block}\n"],encapsulation:2,changeDetection:0}),c})(),od=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),H1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra,od,xy]]}),c})(),Sy=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),ky=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),X1=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra,od,E0]]}),c})(),Gg=(()=>{class c{}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[[Ra]]}),c})(),My=(()=>{class c{constructor(){!function Y1(){typeof SVGElement<"u"&&typeof SVGElement.prototype.contains>"u"&&(SVGElement.prototype.contains=HTMLDivElement.prototype.contains)}()}}return c.\u0275fac=function(i){return new(i||c)},c.\u0275mod=e.$C({type:c}),c.\u0275inj=e.G2t({imports:[Ra,M1,E0,N1,B1,jg,Gg,xy,H1,Sy,od,ky,X1]}),c})();var Sf=We(91346),Z1=We(12168),kf=We(38833),$d=We(46247),q1=We(41570);const Q1=()=>({width:"75vw"}),Ey=()=>[10,25,50];function Df(c,y){if(1&c){const i=e.RV6();e.j41(0,"button",13),e.bIt("click",function(){e.eBV(i);const W=e.XpG();return e.Njj(W.refresh())}),e.k0s()}}function J1(c,y){if(1&c){const i=e.RV6();e.j41(0,"div",14),e.EFF(1,"\n "),e.j41(2,"div",15),e.EFF(3,"\n "),e.j41(4,"div",16),e.EFF(5,"\n "),e.j41(6,"div",17),e.EFF(7,"\n "),e.j41(8,"div",15),e.EFF(9,"\n "),e.nrm(10,"div",18),e.nI1(11,"translate"),e.EFF(12,"\n "),e.nrm(13,"div",19),e.EFF(14,"\n "),e.j41(15,"div",20),e.EFF(16,"\n "),e.j41(17,"ngx-charts-advanced-pie-chart",21),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("state",W))}),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"div",20),e.EFF(22,"\n "),e.nrm(23,"div",22),e.nI1(24,"translate"),e.EFF(25,"\n "),e.nrm(26,"div",19),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n\n "),e.j41(33,"div",15),e.EFF(34,"\n "),e.j41(35,"div",16),e.EFF(36,"\n "),e.j41(37,"div",17),e.EFF(38,"\n "),e.j41(39,"div",15),e.EFF(40,"\n "),e.nrm(41,"div",18),e.nI1(42,"translate"),e.EFF(43,"\n "),e.nrm(44,"div",19),e.EFF(45,"\n "),e.j41(46,"div",20),e.EFF(47,"\n "),e.j41(48,"ngx-charts-advanced-pie-chart",23),e.EFF(49,"\n "),e.k0s(),e.EFF(50,"\n "),e.k0s(),e.EFF(51,"\n "),e.j41(52,"div",20),e.EFF(53,"\n "),e.nrm(54,"div",22),e.nI1(55,"translate"),e.EFF(56,"\n "),e.nrm(57,"div",19),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n "),e.k0s(),e.EFF(60,"\n "),e.k0s(),e.EFF(61,"\n "),e.k0s(),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n\n "),e.j41(64,"div",15),e.EFF(65,"\n "),e.j41(66,"div",16),e.EFF(67,"\n "),e.j41(68,"div",17),e.EFF(69,"\n "),e.j41(70,"div",15),e.EFF(71,"\n "),e.nrm(72,"div",18),e.nI1(73,"translate"),e.EFF(74,"\n "),e.nrm(75,"div",19),e.EFF(76,"\n "),e.j41(77,"div",20),e.EFF(78,"\n "),e.nrm(79,"div",24),e.EFF(80,"\n "),e.k0s(),e.EFF(81,"\n "),e.j41(82,"div",20),e.EFF(83,"\n "),e.nrm(84,"div",22),e.nI1(85,"translate"),e.EFF(86,"\n "),e.nrm(87,"div",19),e.EFF(88,"\n "),e.k0s(),e.EFF(89,"\n "),e.k0s(),e.EFF(90,"\n "),e.k0s(),e.EFF(91,"\n "),e.k0s(),e.EFF(92,"\n "),e.k0s(),e.EFF(93,"\n"),e.k0s()}if(2&c){const i=e.XpG();e.R7$(10),e.Y8G("innerHTML",e.bMT(11,21,"dashboard.health.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieState)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeGBROG)("label",i.advancedPieStateLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(24,23,"dashboard.health.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(42,25,"dashboard.traffic.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieSent)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeBG)("label",i.advancedPieSentLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(55,27,"dashboard.traffic.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(73,29,"dashboard.trend.title"),e.npT),e.R7$(7),e.Y8G("chart",i.chart),e.R7$(5),e.Y8G("innerHTML",e.bMT(85,31,"dashboard.trend.comment"),e.npT)}}function eC(c,y){if(1&c){const i=e.RV6();e.j41(0,"div",14),e.EFF(1,"\n "),e.j41(2,"div",15),e.EFF(3,"\n "),e.j41(4,"div",16),e.EFF(5,"\n "),e.j41(6,"div",17),e.EFF(7,"\n "),e.j41(8,"div",15),e.EFF(9,"\n "),e.nrm(10,"div",18),e.nI1(11,"translate"),e.EFF(12,"\n "),e.nrm(13,"div",19),e.EFF(14,"\n "),e.j41(15,"div",20),e.EFF(16,"\n "),e.j41(17,"ngx-charts-advanced-pie-chart",21),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("device",W))}),e.EFF(18,"\n "),e.k0s(),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"div",20),e.EFF(22,"\n "),e.nrm(23,"div",22),e.nI1(24,"translate"),e.EFF(25,"\n "),e.nrm(26,"div",19),e.EFF(27,"\n "),e.k0s(),e.EFF(28,"\n "),e.k0s(),e.EFF(29,"\n "),e.k0s(),e.EFF(30,"\n "),e.k0s(),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n\n "),e.j41(33,"div",15),e.EFF(34,"\n "),e.j41(35,"div",16),e.EFF(36,"\n "),e.j41(37,"div",17),e.EFF(38,"\n "),e.j41(39,"div",15),e.EFF(40,"\n "),e.nrm(41,"div",18),e.nI1(42,"translate"),e.EFF(43,"\n "),e.nrm(44,"div",19),e.EFF(45,"\n "),e.j41(46,"div",20),e.EFF(47,"\n "),e.j41(48,"ngx-charts-advanced-pie-chart",21),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("battery",W))}),e.EFF(49,"\n "),e.k0s(),e.EFF(50,"\n "),e.k0s(),e.EFF(51,"\n "),e.j41(52,"div",20),e.EFF(53,"\n "),e.nrm(54,"div",22),e.nI1(55,"translate"),e.EFF(56,"\n "),e.nrm(57,"div",19),e.EFF(58,"\n "),e.k0s(),e.EFF(59,"\n "),e.k0s(),e.EFF(60,"\n "),e.k0s(),e.EFF(61,"\n "),e.k0s(),e.EFF(62,"\n "),e.k0s(),e.EFF(63,"\n\n "),e.j41(64,"div",15),e.EFF(65,"\n "),e.j41(66,"div",16),e.EFF(67,"\n "),e.j41(68,"div",17),e.EFF(69,"\n "),e.j41(70,"div",15),e.EFF(71,"\n "),e.nrm(72,"div",18),e.nI1(73,"translate"),e.EFF(74,"\n "),e.nrm(75,"div",19),e.EFF(76,"\n "),e.j41(77,"div",20),e.EFF(78,"\n "),e.j41(79,"ngx-charts-advanced-pie-chart",21),e.bIt("select",function(W){e.eBV(i);const ce=e.XpG();return e.Njj(ce.open("certified",W))}),e.EFF(80,"\n "),e.k0s(),e.EFF(81,"\n "),e.k0s(),e.EFF(82,"\n "),e.j41(83,"div",20),e.EFF(84,"\n "),e.nrm(85,"div",22),e.nI1(86,"translate"),e.EFF(87,"\n "),e.nrm(88,"div",19),e.EFF(89,"\n "),e.k0s(),e.EFF(90,"\n "),e.k0s(),e.EFF(91,"\n "),e.k0s(),e.EFF(92,"\n "),e.k0s(),e.EFF(93,"\n "),e.k0s(),e.EFF(94,"\n"),e.k0s()}if(2&c){const i=e.XpG();e.R7$(10),e.Y8G("innerHTML",e.bMT(11,27,"dashboard.device.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieDevice)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemePC)("label",i.advancedPieDeviceLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(24,29,"dashboard.devices.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(42,31,"dashboard.battery.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieBattery)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeROBG)("label",i.advancedPieBatteryLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(55,33,"dashboard.battery.comment"),e.npT),e.R7$(18),e.Y8G("innerHTML",e.bMT(73,35,"dashboard.optimized.title"),e.npT),e.R7$(7),e.Y8G("results",i.advancedPieCertified)("animations",i.animations)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("scheme",i.colorSchemeGO)("label",i.advancedCertifiedLabel)("percentageFormatting",i.percentageFormatting),e.R7$(6),e.Y8G("innerHTML",e.bMT(86,37,"dashboard.optimized.comment"),e.npT)}}function tC(c,y){1&c&&(e.EFF(0,"\n "),e.nrm(1,"div",25),e.EFF(2,"\n "))}function Ay(c,y){1&c&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"th",26),e.EFF(4),e.nI1(5,"translate"),e.nrm(6,"p-sortIcon",27),e.EFF(7,"\n "),e.k0s(),e.EFF(8,"\n "),e.j41(9,"th",28),e.EFF(10),e.nI1(11,"translate"),e.nrm(12,"p-sortIcon",29),e.EFF(13,"\n "),e.k0s(),e.EFF(14,"\n "),e.j41(15,"th",30),e.EFF(16),e.nI1(17,"translate"),e.nrm(18,"p-sortIcon",31),e.EFF(19,"\n "),e.k0s(),e.EFF(20,"\n "),e.j41(21,"th",32),e.EFF(22),e.nI1(23,"translate"),e.nrm(24,"p-sortIcon",33),e.EFF(25,"\n "),e.k0s(),e.EFF(26,"\n "),e.j41(27,"th",34),e.EFF(28),e.nI1(29,"translate"),e.nrm(30,"p-sortIcon",35),e.EFF(31,"\n "),e.k0s(),e.EFF(32,"\n "),e.j41(33,"th",36),e.EFF(34),e.nI1(35,"translate"),e.nrm(36,"p-sortIcon",37),e.EFF(37,"\n "),e.k0s(),e.EFF(38,"\n "),e.j41(39,"th",38),e.EFF(40),e.nI1(41,"translate"),e.nrm(42,"p-sortIcon",39),e.EFF(43,"\n "),e.k0s(),e.EFF(44,"\n "),e.k0s(),e.EFF(45,"\n ")),2&c&&(e.R7$(4),e.SpI("\n ",e.bMT(5,7,"device.byname.shortid.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(11,9,"device.byname.ieee.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(17,11,"device.byname.model.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(23,13,"device.byname.devicename.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(29,15,"device.byname.status.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(35,17,"device.byname.battery.column"),""),e.R7$(6),e.SpI("\n ",e.bMT(41,19,"device.byname.health.column"),""))}function Iy(c,y){if(1&c&&(e.EFF(0,"\n "),e.j41(1,"tr"),e.EFF(2,"\n "),e.j41(3,"td"),e.EFF(4),e.k0s(),e.EFF(5,"\n "),e.j41(6,"td"),e.EFF(7),e.k0s(),e.EFF(8,"\n "),e.j41(9,"td"),e.EFF(10),e.k0s(),e.EFF(11,"\n "),e.j41(12,"td"),e.EFF(13),e.k0s(),e.EFF(14,"\n "),e.j41(15,"td"),e.EFF(16),e.k0s(),e.EFF(17,"\n "),e.j41(18,"td"),e.EFF(19),e.k0s(),e.EFF(20,"\n "),e.j41(21,"td"),e.EFF(22),e.k0s(),e.EFF(23,"\n "),e.k0s(),e.EFF(24,"\n ")),2&c){const i=y.$implicit;e.R7$(4),e.JRh(i._NwkId),e.R7$(3),e.JRh(i.IEEE),e.R7$(3),e.JRh(i.Model),e.R7$(3),e.JRh(i.ZDeviceName),e.R7$(3),e.JRh(i.Status),e.R7$(3),e.JRh(i.Battery),e.R7$(3),e.JRh(i.Health)}}const iC=[fc.childRoutes([{path:"",redirectTo:"/dashboard",pathMatch:"full"},{path:"dashboard",component:(()=>{class c extends Wa.U{apiService;versionService;headerService;translateService;visible=!1;settingsToSave=[];poll=!1;chart;devices;certified;routers;inDbs;healthsLive;healthsDisabled;healthsNotSeen;healthsNotReachable;healthsOthers={};pluginStats;maxLoad={};currentLoad={};devicesOther;certifiedDevices;notCertifiedDevices;devicesToOverlay;battery1;battery2;battery3;battery4;advancedPieLoad;advancedPieSent;advancedPieDevice;advancedPieState=[];advancedPieBattery;advancedPieCertified;advancedPieLoadLabel;advancedPieSentLabel;advancedPieDeviceLabel;advancedPieStateLabel;advancedPieBatteryLabel;advancedCertifiedLabel;getScreenWidth;getScreenHeight;gaugeType="full";gaugeAppendText="";thick=15;animations=!0;gradient=!1;tooltipDisabled=!1;colorShemeState;colorSchemeROBG={domain:["red","orange","green","blue"]};colorSchemeGBROG={domain:["green","blue","red","orange","gray"]};colorSchemeBG={domain:["blue","green"]};colorSchemePC={domain:["purple","cyan"]};colorSchemeGO={domain:["green","orange"]};plugin;constructor(i,b,W,ce){super(),this.apiService=i,this.versionService=b,this.headerService=W,this.translateService=ce}ngOnInit(){this.getScreenWidth=window.innerWidth,this.getScreenHeight=window.innerHeight,this.apiService.getSettings().subscribe(i=>{i.forEach(b=>{this.settingsToSave=this.settingsToSave.concat(b.ListOfSettings)})}),this.subs.sink=this.headerService.polling.subscribe(i=>{this.poll=i,this.subs.add((0,jl.O)(1,vo.c.refresh).pipe((0,lc.n)(()=>this.getStats()),Vl(),(0,hc.u)(),(0,zl.Q)(this.headerService.polling.pipe((0,Oo.p)(b=>!1===b)))).subscribe())}),this.poll||this.getStats().subscribe(),this.getInfos()}onWindowResize(){this.getScreenWidth=window.innerWidth,this.getScreenHeight=window.innerHeight}getInfos(){this.advancedPieLoadLabel=this.translateService.instant("dashboard.trafic.maxload.label"),this.advancedPieSentLabel=this.translateService.instant("dashboard.trafic.label"),this.advancedPieDeviceLabel=this.translateService.instant("dashboard.devices.label"),this.advancedPieStateLabel=this.translateService.instant("dashboard.devices.state.label"),this.advancedPieBatteryLabel=this.translateService.instant("dashboard.devices.battery.label"),this.advancedCertifiedLabel=this.translateService.instant("dashboard.devices.optimized.label")}percentageFormatting(i){return Math.round(i)}createChart(){const i=[],b=[],W=[],ce=this.pluginStats.Trend.sort((Ze,tt)=>{const bt=Ze._TS,Mt=tt._TS;return bt>Mt?1:bt{const tt=new Date,bt=new Date(tt.setSeconds(tt.getSeconds()-ke));ke-=5,i.push({x:bt,y:Ze.Txps}),b.push({x:bt,y:Ze.Rxps}),W.push({x:bt,y:Ze.Load})});const Ve={chart:{type:"line",height:"150"},title:{text:""},legend:{align:"center",verticalAlign:"top",floating:!0},xAxis:{allowDecimals:!1,labels:{formatter:function(){const Ze=new Date(this.value);return Ze.getHours()+(Ze.getMinutes()>9?":"+Ze.getMinutes():":0"+Ze.getMinutes())+(Ze.getSeconds()>9?":"+Ze.getSeconds():":0"+Ze.getSeconds())}},type:"datetime"},yAxis:{title:{text:""},labels:{formatter:function(){return this.value+""}}},tooltip:{pointFormat:"{series.name} {point.y}"},credits:{enabled:!1},plotOptions:{series:{label:{connectorAllowed:!1}}},series:[{name:this.translateService.instant("dashboard.txps"),data:i,type:"line",color:"blue"},{name:this.translateService.instant("dashboard.rxps"),data:b,type:"line",color:"green"},{name:this.translateService.instant("dashboard.load"),data:W,type:"line",color:"orange"}]};this.chart=new Sf.t1(Ve),this.subs.add(this.chart.ref$.subscribe())}open(i,b){"device"===i?this.devicesToOverlay=b.name===this.translateService.instant("dashboard.devices.routers")?this.routers:this.devicesOther:"state"===i?this.devicesToOverlay=b.name===this.translateService.instant("dashboard.devices.live")?this.healthsLive:b.name===this.translateService.instant("dashboard.devices.disabled")?this.healthsDisabled:b.name===this.translateService.instant("dashboard.devices.others")?this.healthsOthers:b.name===this.translateService.instant("dashboard.devices.notReachable")?this.healthsNotReachable:this.healthsNotSeen:"battery"===i?this.devicesToOverlay=b.name===this.translateService.instant("dashboard.devices.battery.inf.15")?this.battery1:b.name===this.translateService.instant("dashboard.devices.battery.inf.35")?this.battery2:b.name===this.translateService.instant("dashboard.devices.battery.inf.75")?this.battery3:this.battery4:"certified"===i&&(this.devicesToOverlay=b.name===this.translateService.instant("dashboard.devices.optimized")?this.certifiedDevices:this.notCertifiedDevices),80*this.getScreenWidth/100>768&&(this.visible=!0)}refresh(){this.getStats().subscribe(),this.versionService.setReload(!0)}getStats(){return(0,As.p)([this.apiService.getPluginStats(),this.apiService.getZDevices(),this.apiService.getPlugin(),this.apiService.getZDeviceName()]).pipe((0,Gl.T)(([i,b,W,ce])=>{this.plugin=W,this.pluginStats=i,this.devices=b||[],this.certified=ce||[],this.createChart(),this.maxLoad.label=this.translateService.instant("dashboard.trafic.maxload"),this.maxLoad.total=i.MaxLoad,this.currentLoad.label=this.translateService.instant("dashboard.trafic.currentload"),this.currentLoad.total=i.CurrentLoad,this.advancedPieLoad=[{name:this.translateService.instant("dashboard.trafic.maxload"),value:i.MaxLoad-i.CurrentLoad},{name:this.translateService.instant("dashboard.trafic.currentload"),value:i.CurrentLoad}],this.advancedPieSent=[{name:this.translateService.instant("dashboard.trafic.send"),value:i.Sent},{name:this.translateService.instant("dashboard.trafic.receive"),value:i.Received}],this.devices.total=this.devices.length,this.devices.label=this.translateService.instant("devices"),this.routers=this.devices.filter(Ve=>"Router"===Ve.LogicalType&&"Disabled"!==Ve.Health),this.devicesOther=this.devices.filter(Ve=>"Router"!==Ve.LogicalType&&"Disabled"!==Ve.Health),this.routers.label=this.translateService.instant("dashboard.devices.routers"),this.routers.total=(this.routers.length/this.devices.total*100).toFixed(0),this.routers.append="%",this.inDbs=this.devices.filter(Ve=>"inDB"===Ve.Status),this.inDbs.label=this.translateService.instant("dashboard.devices.indb"),this.inDbs.total=(this.inDbs.length/this.devices.total*100).toFixed(0),this.inDbs.append="%",this.advancedPieDevice=[{name:this.translateService.instant("dashboard.devices.routers"),value:this.routers.length},{name:this.translateService.instant("dashboard.devices.enddevice"),value:this.devicesOther.length}],this.healthsLive=this.devices.filter(Ve=>"Live"===Ve.Health&&"notDB"!==Ve.Status),this.healthsDisabled=this.devices.filter(Ve=>"Disabled"===Ve.Health||"notDB"===Ve.Status),this.healthsNotReachable=this.devices.filter(Ve=>"Not Reachable"===Ve.Health&&"notDB"!==Ve.Status||"Leave"===Ve.Status),this.healthsNotSeen=this.devices.filter(Ve=>"Not seen last 24hours"===Ve.Health&&"notDB"!==Ve.Status),this.healthsOthers=this.devices.filter(Ve=>"Not seen last 24hours"!==Ve.Health&&"Not Reachable"!==Ve.Health&&"Live"!==Ve.Health&&"notDB"!==Ve.Status&&"Leave"!==Ve.Status&&"Disabled"!==Ve.Health),this.colorShemeState=this.colorSchemeGBROG,this.advancedPieState=[],this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.live"),value:this.healthsLive.length}),this.healthsDisabled.length>0?this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.disabled"),value:this.healthsDisabled.length}):this.colorShemeState.domain=this.colorShemeState.domain.filter(Ve=>"blue"!==Ve),this.healthsNotReachable.length>0?this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.notReachable"),value:this.healthsNotReachable.length}):this.colorShemeState.domain=this.colorShemeState.domain.filter(Ve=>"red"!==Ve),this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.notseen"),value:this.healthsNotSeen.length}),this.advancedPieState.push({name:this.translateService.instant("dashboard.devices.others"),value:this.healthsOthers.length});const ke=this.devices.filter(Ve=>"Battery"===Ve.PowerSource&&"notDB"!==Ve.Status);this.battery1=ke.filter(Ve=>Ve.Battery<=15&&"Disabled"!==Ve.Health),this.battery2=ke.filter(Ve=>Ve.Battery>15&&Ve.Battery<=35&&"Disabled"!==Ve.Health),this.battery3=ke.filter(Ve=>Ve.Battery>35&&Ve.Battery<=75&&"Disabled"!==Ve.Health),this.battery4=ke.filter(Ve=>Ve.Battery>75&&"Disabled"!==Ve.Health),this.advancedPieBattery=[{name:this.translateService.instant("dashboard.devices.battery.inf.15"),value:this.battery1.length},{name:this.translateService.instant("dashboard.devices.battery.inf.35"),value:this.battery2.length},{name:this.translateService.instant("dashboard.devices.battery.inf.75"),value:this.battery3.length},{name:this.translateService.instant("dashboard.devices.battery.sup.75"),value:this.battery4.length}],this.certifiedDevices=this.certified.filter(Ve=>Ve.CertifiedDevice&&"Disabled"!==Ve.Health),this.notCertifiedDevices=this.certified.filter(Ve=>!Ve.CertifiedDevice&&"Disabled"!==Ve.Health),this.advancedPieCertified=[{name:this.translateService.instant("dashboard.devices.optimized"),value:this.certifiedDevices.length},{name:this.translateService.instant("dashboard.devices.not.optimized"),value:this.notCertifiedDevices.length}],this.headerService.setError(i.Error)}))}static \u0275fac=function(b){return new(b||c)(e.rXU(vs.G),e.rXU(Po),e.rXU(pn.d),e.rXU(gr.c$))};static \u0275cmp=e.VBU({type:c,selectors:[["app-dashboard"]],hostBindings:function(b,W){1&b&&e.bIt("resize",function(ke){return W.onWindowResize(ke)},!1,e.tSv)},features:[e.Vt3],decls:40,vars:28,consts:[["dt1",""],[1,"col-12","card"],[1,"card-header"],[1,"fw-bold"],["class","d-none d-md-block btn btn-default btn-primary float-bottom float-end","translate","dashboard.button.refresh",3,"click",4,"ngIf"],["class","row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4",4,"ngIf"],[1,"col-12","card","mt-2"],[1,"card-header","fw-bold"],["header","Header",3,"visibleChange","visible","position"],["pTemplate","header"],[1,"card-title",3,"innerHTML"],["styleClass","p-datatable-sm","responsiveLayout","scroll","stateStorage","local","stateKey","dashboard",3,"rowHover","showCurrentPageReport","currentPageReportTemplate","rowsPerPageOptions","value","rows","paginator","scrollable"],["pTemplate","body"],["translate","dashboard.button.refresh",1,"d-none","d-md-block","btn","btn-default","btn-primary","float-bottom","float-end",3,"click"],[1,"row","row-cols-1","row-cols-md-2","row-cols-lg-3","g-4"],[1,"col"],[1,"card","h-100"],[1,"card-body"],[1,"col-sm",3,"innerHTML"],[1,"col-sm-1"],[1,"row"],[3,"select","results","animations","gradient","tooltipDisabled","scheme","label","percentageFormatting"],[1,"col-sm","border-start","border-3",3,"innerHTML"],[3,"results","animations","gradient","tooltipDisabled","scheme","label","percentageFormatting"],[1,"col-sm",3,"chart"],["translate","dashboard.popup.device.header",1,"col-sm"],["pSortableColumn","_NwkId",2,"width","7rem"],["field","_NwkId"],["pSortableColumn","IEEE",2,"width","5rem"],["field","IEEE"],["pSortableColumn","Model",2,"width","13rem"],["field","Model"],["pSortableColumn","ZDeviceName",2,"width","20rem"],["field","ZDeviceName"],["pSortableColumn","Status",2,"width","7rem"],["field","Status"],["pSortableColumn","Battery",2,"width","7rem"],["field","Battery"],["pSortableColumn","Health",2,"width","6rem"],["field","Health"]],template:function(b,W){if(1&b){const ce=e.RV6();e.j41(0,"div",1),e.EFF(1,"\n "),e.j41(2,"div",2),e.EFF(3,"\n "),e.j41(4,"span",3),e.EFF(5),e.nI1(6,"translate"),e.k0s(),e.EFF(7,"\n "),e.DNE(8,Df,1,0,"button",4),e.EFF(9,"\n "),e.k0s(),e.EFF(10,"\n"),e.k0s(),e.EFF(11,"\n"),e.DNE(12,J1,94,33,"div",5),e.EFF(13,"\n\n"),e.j41(14,"div",6),e.EFF(15,"\n "),e.j41(16,"div",7),e.EFF(17),e.nI1(18,"translate"),e.k0s(),e.EFF(19,"\n"),e.k0s(),e.EFF(20,"\n"),e.DNE(21,eC,95,39,"div",5),e.EFF(22,"\n\n"),e.j41(23,"p-dialog",8),e.mxI("visibleChange",function(Ve){return e.eBV(ce),e.DH7(W.visible,Ve)||(W.visible=Ve),e.Njj(Ve)}),e.EFF(24,"\n "),e.DNE(25,tC,3,0,"ng-template",9),e.EFF(26,"\n "),e.nrm(27,"h5",10),e.nI1(28,"translate"),e.EFF(29,"\n "),e.j41(30,"p-table",11,0),e.nI1(32,"translate"),e.EFF(33,"\n "),e.DNE(34,Ay,46,21,"ng-template",9),e.EFF(35,"\n "),e.DNE(36,Iy,25,7,"ng-template",12),e.EFF(37,"\n "),e.k0s(),e.EFF(38,"\n"),e.k0s(),e.EFF(39,"\n")}2&b&&(e.R7$(5),e.JRh(e.bMT(6,18,"dashboard.trafic.title")),e.R7$(3),e.Y8G("ngIf",!W.poll),e.R7$(4),e.Y8G("ngIf",W.pluginStats),e.R7$(5),e.SpI("\n ",e.bMT(18,20,"dashboard.devices.title"),"\n "),e.R7$(4),e.Y8G("ngIf",W.pluginStats),e.R7$(2),e.Aen(e.lJ4(26,Q1)),e.R50("visible",W.visible),e.Y8G("position","bottom"),e.R7$(4),e.Y8G("innerHTML",e.bMT(28,22,"dashboard.popup.device.subtitle"),e.npT),e.R7$(3),e.FS9("currentPageReportTemplate",e.bMT(32,24,"TOTAL")),e.Y8G("rowHover",!0)("showCurrentPageReport",!0)("rowsPerPageOptions",e.lJ4(27,Ey))("value",W.devicesToOverlay)("rows",10)("paginator",!0)("scrollable",!0))},dependencies:[cn.bT,Gu,gr.Mm,Sf.S6,$d.XI,Et.Ei,$d.Tg,$d.yc,q1.l,gr.D9],styles:[".border-3[_ngcontent-%COMP%]{border-width:3px}.consent-banner[_ngcontent-%COMP%]{position:fixed;bottom:0;left:0;z-index:2147483645;box-sizing:border-box;width:100%;background-color:#f1f6f4}.consent-banner__inner[_ngcontent-%COMP%]{max-width:960px;margin:0 auto;padding:32px 0}.consent-banner__copy[_ngcontent-%COMP%]{margin-bottom:16px}.consent-banner__header[_ngcontent-%COMP%]{margin-bottom:8px;font-family:CeraPRO-Bold,sans-serif,arial;font-weight:400;font-size:16px;line-height:24px}.consent-banner__description[_ngcontent-%COMP%]{font-family:CeraPRO-Regular,sans-serif,arial;font-weight:400;color:#838f93;font-size:16px;line-height:24px}.card[_ngcontent-%COMP%]{--bs-card-border-width: none}"]})}return c})(),data:{title:(0,nr.o6)("dashboard")}}])];let Ly=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({imports:[Mn.iI.forChild(iC),Mn.iI]})}return c})(),nC=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({providers:[{provide:Sf.SV,useFactory:()=>[Z1,kf]}],imports:[Ft,My,Ly,cn.MD,fs.X1,gr.h,Sf.Fr,Vs.G]})}return c})(),sC=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c});static \u0275inj=e.G2t({imports:[cn.MD,gr.h,qo.UN,fs.YN,Mn.iI]})}return c})(),rS=(()=>{class c{static \u0275fac=function(b){return new(b||c)};static \u0275mod=e.$C({type:c,bootstrap:[No]});static \u0275inj=e.G2t({imports:[M.Bb,Ft,Le.q1,V.FQ,gr.h.forRoot(),qo.UN,nr.Ui,Vs.G,sC,nC,ac._B.forRoot({timeOut:5e3,positionClass:"toast-bottom-right",preventDuplicates:!0}),ut]})}return c})();vo.c.production&&(0,e.SmG)(),M.sG().bootstrapModule(rS,{preserveWhitespaces:!0}).catch(c=>console.log(c))},31923:function(ri,Bt,We){var M,e,V;e=typeof window<"u"?window:this,V=function(e){"use strict";var V={};function Le(q,ne,re,ve){q.hasOwnProperty(ne)||(q[ne]=ve.apply(null,re),"function"==typeof CustomEvent&&e.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:ne,module:q[ne]}})))}return Le(V,"Core/Globals.js",[],function(){var q,ne;return(ne=q||(q={})).SVG_NS="http://www.w3.org/2000/svg",ne.product="Highcharts",ne.version="11.4.0",ne.win=void 0!==e?e:{},ne.doc=ne.win.document,ne.svg=ne.doc&&ne.doc.createElementNS&&!!ne.doc.createElementNS(ne.SVG_NS,"svg").createSVGRect,ne.userAgent=ne.win.navigator&&ne.win.navigator.userAgent||"",ne.isChrome=-1!==ne.userAgent.indexOf("Chrome"),ne.isFirefox=-1!==ne.userAgent.indexOf("Firefox"),ne.isMS=/(edge|msie|trident)/i.test(ne.userAgent)&&!ne.win.opera,ne.isSafari=!ne.isChrome&&-1!==ne.userAgent.indexOf("Safari"),ne.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(ne.userAgent),ne.isWebKit=-1!==ne.userAgent.indexOf("AppleWebKit"),ne.deg2rad=2*Math.PI/360,ne.hasBidiBug=ne.isFirefox&&4>parseInt(ne.userAgent.split("Firefox/")[1],10),ne.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ne.noop=function(){},ne.supportsPassiveEvents=function(){let re=!1;if(!ne.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ne.win.addEventListener&&ne.win.removeEventListener&&(ne.win.addEventListener("testPassive",ne.noop,ve),ne.win.removeEventListener("testPassive",ne.noop,ve))}return re}(),ne.charts=[],ne.composed=[],ne.dateFormats={},ne.seriesTypes={},ne.symbolSizes={},ne.chartCount=0,q}),Le(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(q){let ne,{charts:re,doc:ve,win:le}=q;function pe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(T,B){p+=`\n - ${B}: ${T}`,C&&(k+=encodeURI(B)+"="+encodeURI(T))}),k+=p}g(q,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===pe.messages.indexOf(k)&&console.warn(k)}),pe.messages.push(k)}function ue(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function X(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function E(o){return X(o)&&"number"==typeof o.nodeType}function j(o){let n=o&&o.constructor;return!(!X(o,!0)||E(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function P(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!P(r),C=(k,p)=>{P(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function A(o){return te(o)?o:[o]}function I(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(pe||(pe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-T.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){q[n]=function(r){return pe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let v=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ne?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(q[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;q.Point&&o instanceof q.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!q.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((T,B)=>T.order-B.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){K=A(K),T[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=ue(d))),d},inArray:function(o,n,r){return pe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return G(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:ue,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:A,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:v,useSerialIds:function(o){return ne=_(o,ne)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Le(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Le(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Le(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{win:re}=q,{defined:ve,error:le,extend:pe,isNumber:ue,isObject:J,merge:te,objectEach:X,pad:E,pick:j,splat:F,timeUnits:P}=ne,D=q.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,A=q.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class I{constructor(m){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(m)}get(m,w){if(this.variableTimezone||this.timezoneOffset){let G=w.getTime(),O=G-this.getTimezoneOffset(w);w.setTime(O);let f=w["getUTC"+m]();return w.setTime(G),f}return this.useUTC?w["getUTC"+m]():w["get"+m]()}set(m,w,G){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===m||"Seconds"===m||"Minutes"===m&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+m](G);let O=this.getTimezoneOffset(w),f=w.getTime()-O;w.setTime(f),w["setUTC"+m](G);let a=this.getTimezoneOffset(w);return f=w.getTime()+a,w.setTime(f)}return this.useUTC||D&&"FullYear"===m?w["setUTC"+m](G):w["set"+m](G)}update(m={}){let w=j(m.useUTC,!0);this.options=m=te(!0,this.options,m),this.Date=m.Date||re.Date||Date,this.useUTC=w,this.timezoneOffset=w&&m.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!m.getTimezoneOffset&&!m.timezone)}makeTime(m,w,G,O,f,a){let g,v,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),v=this.getTimezoneOffset(g),g+=v,v!==(o=this.getTimezoneOffset(g))?g+=o-v:v-36e5!==this.getTimezoneOffset(g-36e5)||A||(g-=36e5)):g=new this.Date(m,w,j(G,1),j(O,0),j(f,0),j(a,0)).getTime(),g}timezoneOffsetFunction(){let m=this,w=this.options,G=w.getTimezoneOffset;return this.useUTC?w.timezone?O=>{try{let f=`shortOffset,${w.timezone||""}`,[a,g,v,o,n=0]=(I.formatCache[f]=I.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:w.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(v+n/60);if(ue(r))return r}catch{le(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(m.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(m,w,G){if(!ve(w)||isNaN(w))return q.defaultOptions.lang&&q.defaultOptions.lang.invalidDate||"";m=j(m,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(w),a=this.get("Hours",f),g=this.get("Day",f),v=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=q.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return X(pe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:E(v),e:E(v,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:E(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:E(a),k:a,I:E(a%12||12),l:a%12||12,M:E(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:E(this.get("Seconds",f)),L:E(Math.floor(w%1e3),3)},q.dateFormats),function(C,k){for(;-1!==m.indexOf("%"+k);)m=m.replace("%"+k,"function"==typeof C?C.call(O,w):C)}),G?m.substr(0,1).toUpperCase()+m.substr(1):m}resolveDTLFormat(m){return J(m,!0)?m:{main:(m=F(m))[0],from:m[1],to:m[2]}}getTimeTicks(m,w,G,O){let f,a,g,v,o=this,r=[],l={},d=new(0,o.Date)(w),C=m.unitRange,k=m.count||1;if(O=j(O,1),ve(w)){o.set("Milliseconds",d,C>=P.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=P.second&&o.set("Seconds",d,C>=P.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=P.minute&&o.set("Minutes",d,C>=P.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=P.hour&&o.set("Hours",d,C>=P.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=P.day&&o.set("Date",d,C>=P.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=P.month&&(o.set("Month",d,C>=P.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=P.year&&(a-=a%k,o.set("FullYear",d,a)),C===P.week&&(v=o.get("Day",d),o.set("Date",d,o.get("Date",d)-v+O+(v4*P.month||o.getTimezoneOffset(w)!==o.getTimezoneOffset(G));let z=d.getTime();for(f=1;z1?z=o.makeTime(a,p,T,B+f*k):z+=C*k:z=o.makeTime(a,p,T+f*k*(C===P.day?1:7)),f++;r.push(z),C<=P.hour&&r.length<1e4&&r.forEach(function(K){K%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",K)&&(l[K]="day")})}return r.info=pe(m,{higherRanks:l,totalRange:C*k}),r}getDateFormat(m,w,G,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",w),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond",o=v;for(v in P){if(m===P.week&&+this.dateFormat("%w",w)===G&&f.substr(6)===a.substr(6)){v="week";break}if(P[v]>m){v=o;break}if(g[v]&&f.substr(g[v])!==a.substr(g[v]))break;"week"!==v&&(o=v)}return this.resolveDTLFormat(O[v]).main}}return I.formatCache={},I}),Le(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{isTouchDevice:pe,svg:ue}=ne,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ue,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:pe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let X=new ve(te.time);return{defaultOptions:te,defaultTime:X,getOptions:function(){return te},setOptions:function(E){return J(!0,te,E),(E.time||E.global)&&(ne.time?ne.time.update(J(te.global,te.time,E.global,E.time)):ne.time=X),te}}}),Le(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isNumber:re,merge:ve,pInt:le}=ne;class pe{static parse(J){return J?new pe(J):pe.None}constructor(J){let te,X,E,j;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=q.Color;if(F&&F!==pe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(P=>new pe(P[1]));else if("string"==typeof J){if(this.input=J=pe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let P=J.length,D=parseInt(J.substr(1),16);7===P?X=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===P&&(X=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!X)for(E=pe.parsers.length;E--&&!X;)(te=(j=pe.parsers[E]).regex.exec(J))&&(X=j.parse(te))}X&&(this.rgba=X)}get(J){let te=this.input,X=this.rgba;if("object"==typeof te&&void 0!==this.stops){let E=ve(te);return E.stops=[].slice.call(E.stops),this.stops.forEach((j,F)=>{E.stops[F]=[E.stops[F][0],j.get(J)]}),E}return X&&re(X[0])?"rgb"===J||!J&&1===X[3]?"rgb("+X[0]+","+X[1]+","+X[2]+")":"a"===J?`${X[3]}`:"rgba("+X.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function(X){X.brighten(J)});else if(re(J)&&0!==J)for(let X=0;X<3;X++)te[X]+=le(255*J),te[X]<0&&(te[X]=0),te[X]>255&&(te[X]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let X=this.rgba,E=J.rgba;if(!re(X[0])||!re(E[0]))return J.input||"none";let j=1!==E[3]||1!==X[3];return(j?"rgba(":"rgb(")+Math.round(E[0]+(X[0]-E[0])*(1-te))+","+Math.round(E[1]+(X[1]-E[1])*(1-te))+","+Math.round(E[2]+(X[2]-E[2])*(1-te))+(j?","+(E[3]+(X[3]-E[3])*(1-te)):"")+")"}}return pe.names={white:"#ffffff",black:"#000000"},pe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),parseFloat(ue[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),1]}}],pe.None=new pe(""),pe}),Le(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{parse:ve}=q,{win:le}=ne,{isNumber:pe,objectEach:ue}=re;class J{constructor(X,E,j){this.pos=NaN,this.options=E,this.elem=X,this.prop=j}dSetter(){let X=this.paths,E=X&&X[0],j=X&&X[1],F=this.now||0,P=[];if(1!==F&&E&&j)if(E.length===j.length&&F<1)for(let D=0;D=I+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,j=!0,ue(_,function(m){!0!==m&&(j=!1)}),j&&A&&A.call(D),E=!1):(this.pos=P.easing((F-this.startTime)/I),this.now=this.start+(this.end-this.start)*this.pos,this.update(),E=!0),E}initPath(X,E,j){let _,m,w,G,F=X.startX,P=X.endX,D=j.slice(),A=X.isArea,I=A?2:1,O=E&&E.slice();if(!O)return[D,D];function f(g,v){for(;g.length{let G=E(w.options.animation);_=ue(P)&&re(P.defer)?A.defer:Math.max(_,G.duration+G.defer),m=Math.min(A.duration,G.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-m),duration:Math.min(_,m)}},setAnimation:function(F,P){P.renderer.globalAnimation=X(F,P.options.chart.animation,!0)},stop:j}}),Le(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{SVG_NS:re,win:ve}=q,{attr:le,createElement:pe,css:ue,error:J,isFunction:te,isString:X,objectEach:E,splat:j}=ne,{trustedTypes:F}=ve,P=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=P?P.createHTML(""):"",A=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class I{static filterUserAttributes(m){return E(m,(w,G)=>{let O=!0;-1===I.allowedAttributes.indexOf(G)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(G)&&(O=X(w)&&I.allowedReferences.some(f=>0===w.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete m[G]),X(w)&&m[G]&&(m[G]=w.replace(/{let O=G.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(w[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),w},{})}static setElementHTML(m,w){m.innerHTML=I.emptyHTML,w&&new I(w).addToDOM(m)}constructor(m){this.nodes="string"==typeof m?this.parseMarkup(m):m}addToDOM(m){return function w(G,O){let f;return j(G).forEach(function(a){let g,v=a.tagName,o=a.textContent?q.doc.createTextNode(a.textContent):void 0,n=I.bypassHTMLFiltering;if(v)if("#text"===v)g=o;else if(-1!==I.allowedTags.indexOf(v)||n){let l=q.doc.createElementNS("svg"===v?re:O.namespaceURI||re,v),d=a.attributes||{};E(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:I.filterUserAttributes(d)),a.style&&ue(l,a.style),o&&l.appendChild(o),w(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":v});g&&O.appendChild(g),f=g}),f}(this.nodes,m)}parseMarkup(m){let w,G=[];if(m=m.trim().replace(/ style=(["'])/g," data-style=$1"),A)w=(new DOMParser).parseFromString(P?P.createHTML(m):m,"text/html");else{let f=pe("div");f.innerHTML=m,w={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),v={tagName:g};"#text"===g&&(v.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?v.style=I.parseStyle(r.value):n[r.name]=r.value}),v.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(v.children=n)}a.push(v)};return[].forEach.call(w.body.childNodes,f=>O(f,G)),G}}return I.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],I.allowedReferences=["https://","http://","mailto:","/","../","./","#"],I.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],I.emptyHTML=D,I.bypassHTMLFiltering=!1,I}),Le(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne){let{defaultOptions:re,defaultTime:ve}=q,{extend:le,getNestedProperty:pe,isArray:ue,isNumber:J,isObject:te,pick:X,pInt:E}=ne,j={add:(D,A)=>D+A,divide:(D,A)=>0!==A?D/A:"",eq:(D,A)=>D==A,each:function(D){let A=arguments[arguments.length-1];return!!ue(D)&&D.map((I,_)=>F(A.body,le(te(I)?I:{"@this":I},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,A)=>D>=A,gt:(D,A)=>D>A,if:D=>!!D,le:(D,A)=>D<=A,lt:(D,A)=>DD*A,ne:(D,A)=>D!=A,subtract:(D,A)=>D-A,unless:D=>!D};function F(D="",A,I){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,m=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,w=[],G=/f$/,O=/\.([0-9])/,f=re.lang,a=I&&I.time||ve,g=I&&I.numberFormatter||P,v=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:pe(d,A))},r=0;for(;null!==(o=_.exec(D));){let d=m.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:A,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");j[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,T=D.substr(p,o.index-p);void 0===n.body?(n.body=T,n.startInner=o.index+o[0].length):n.elseBody=T,n.find+=T+o[0],k||(w.push(n),n=void 0)}else n.isBlock||w.push(n);if(d&&!n?.isBlock)break}return w.forEach(d=>{let C,k,{body:p,elseBody:T,expression:B,fn:z}=d;if(z){let K=[d],U=B.split(" ");for(k=j[z].length;k--;)K.unshift(v(U[k+1]));C=j[z].apply(A,K),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:T,A))}else{let K=B.split(":");if(C=v(K.shift()||""),K.length&&"number"==typeof C){let U=K.join(":");if(G.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,X(C,""))}),l?F(D,A,I):D}function P(D,A,I,_){let m,w;A=+A;let G=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=A;-1===A?A=Math.min(O,20):J(A)?A&&f[1]&&f[1]<0&&((w=A+ +f[1])>=0?(f[0]=(+f[0]).toExponential(w).split("e")[0],A=w):(f[0]=f[0].split(".")[0]||0,D=A<20?(f[0]*Math.pow(10,f[1])).toFixed(A):0,f[1]=0)):A=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(A,O)-1)).toFixed(A),v=String(E(g)),o=v.length>3?v.length%3:0;return I=X(I,G.decimalPoint),_=X(_,G.thousandsSep),m=(D<0?"-":"")+(o?v.substr(0,o)+_:""),0>+f[1]&&!a?m="0":m+=v.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),A&&(m+=I+g.slice(-A)),f[1]&&0!=+m&&(m+="e"+f[1]),m}return{dateFormat:function(D,A,I){return ve.dateFormat(D,A,I)},format:F,helpers:j,numberFormat:P}}),Le(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(q){var ne,re;let ve;return(re=ne||(ne={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,pe,ue){re.rendererTypes[le]=pe,(!ve||ue)&&(ve=le,q.Renderer=pe)},ne}),Le(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(q){var ne;let{clamp:re,pick:ve,pushUnique:le,stableSort:pe}=q;return(ne||(ne={})).distribute=function ue(J,te,X){let _,m,w,O,f,g,E=J,j=E.reducedLen||te,F=(v,o)=>v.target-o.target,P=[],D=J.length,A=[],I=P.push,G=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>j){for(pe(J,(v,o)=>(o.rank||0)-(v.rank||0)),w=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,m=g?w:D-1;w&&a>j;)O=J[_=Math.floor(m)],le(A,_)&&(a-=O.size),m+=w,g&&m>=J.length&&(w/=2,m=w);A.sort((v,o)=>o-v).forEach(v=>I.apply(P,J.splice(v,1)))}for(pe(J,F),J=J.map(v=>({size:v.size,targets:[v.target],align:ve(v.align,.5)}));G;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,G=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),G=!0)}return I.apply(E,P),_=0,J.some(v=>{let o=0;return(v.targets||[]).some(()=>(E[_].pos=v.pos+o,void 0!==X&&Math.abs(E[_].pos-E[_].target)>X?(E.slice(0,_+1).forEach(n=>delete n.pos),E.reducedLen=(E.reducedLen||te)-.1*te,E.reducedLen>.1*te&&ue(E,te,X),!0):(o+=E[_].size,_++,!1)))}),pe(E,F),E},ne}),Le(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{animate:le,animObject:pe,stop:ue}=q,{deg2rad:J,doc:te,svg:X,SVG_NS:E,win:j}=re,{addEvent:F,attr:P,createElement:D,css:A,defined:I,erase:_,extend:m,fireEvent:w,isArray:G,isFunction:O,isObject:f,isString:a,merge:g,objectEach:v,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let T=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(T)&&(T=parseFloat(T)),T}_defaultSetter(p,T,B){B.setAttribute(T,p)}add(p){let T,B=this.renderer,z=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&B.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(T=this.zIndexSetter()),T||(p?p.element:B.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(p,T){let B=T?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(z,K){return-1===B.indexOf(K)&&z.push(K),z},B?[B]:[]).join(" "))!==B&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,T,B,z=!0){let K,U,se,S,$,H={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=T,(!B||a(B))&&(this.alignTo=se=B||"renderer",_(N,this),N.push(this),B=void 0)):(p=this.alignOptions,T=this.alignByTranslate,se=this.alignTo),B=o(B,x[se],x);let R=p.align,Z=p.verticalAlign;return K=(B.x||0)+(p.x||0),U=(B.y||0)+(p.y||0),"right"===R?S=1:"center"===R&&(S=2),S&&(K+=(B.width-(p.width||0))/S),H[T?"translateX":"x"]=Math.round(K),"bottom"===Z?$=1:"middle"===Z&&($=2),$&&(U+=(B.height-(p.height||0))/$),H[T?"translateY":"y"]=Math.round(U),z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(p){let T={left:"start",center:"middle",right:"end"};T[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",T[p]))}animate(p,T,B){let z=pe(o(T,this.renderer.globalAnimation,!0)),K=z.defer;return te.hidden&&(z.duration=0),0!==z.duration?(B&&(z.complete=B),l(()=>{this.element&&le(this,p,z)},K)):(this.attr(p,void 0,B||z.complete),v(p,function(U,se){z.step&&z.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let T=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(T.style.fill)));let B=p.split(" "),z=B[B.length-1],K=B[0];if(K&&"none"!==K&&re.svg){this.fakeTS=!0,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(H,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(E,"tspan");P(U,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":K,"stroke-linejoin":"round"});let se=T.querySelector("textPath")||T;[].forEach.call(se.childNodes,H=>{let x=H.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let S=0;[].forEach.call(se.querySelectorAll("text tspan"),H=>{S+=Number(H.getAttribute("dy"))});let $=te.createElementNS(E,"tspan");$.textContent="\u200b",P($,{x:Number(T.getAttribute("x")),dy:-S}),U.appendChild($),se.insertBefore(U,se.firstChild)}}attr(p,T,B,z){let se,S,H,K=this.element,U=C.symbolCustomAttribs,$=this;return"string"==typeof p&&void 0!==T&&(se=p,(p={})[se]=T),"string"==typeof p?$=(this[p+"Getter"]||this._defaultGetter).call(this,p,K):(v(p,function(x,N){H=!1,z||ue(this,N),this.symbolName&&-1!==U.indexOf(N)&&(S||(this.symbolAttr(p),S=!0),H=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),H||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,K)},this),this.afterSetters()),B&&B.call(this),$}clip(p){if(p&&!p.clipPath){let T=d()+"-",B=this.renderer.createElement("clipPath").attr({id:T}).add(this.renderer.defs);m(p,{clipPath:B,id:T,count:0}),p.add(B)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,T){let B=Math.round(T=T||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+B,p.y=Math.floor(p.y||this.y||0)+B,p.width=Math.floor((p.width||this.width||0)-2*B),p.height=Math.floor((p.height||this.height||0)-2*B),I(p.strokeWidth)&&(p.strokeWidth=T),p}complexColor(p,T,B){let K,U,se,S,$,H,x,N,R,Z,he,z=this.renderer,Y=[];w(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],$=z.gradients,H=p.stops,R=B.radialReference,G(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!I(se.gradientUnits)&&(S=se,se=g(se,z.getRadialAttr(R,S),{gradientUnits:"userSpaceOnUse"})),v(se,function(ge,_e){"id"!==_e&&Y.push(_e,ge)}),v(H,function(ge){Y.push(ge)}),$[Y=Y.join(",")])Z=$[Y].attr("id");else{se.id=Z=d();let ge=$[Y]=z.createElement(U).attr(se).add(z.defs);ge.radAttr=S,ge.stops=[],H.forEach(function(_e){0===_e[1].indexOf("rgba")?(x=(K=ne.parse(_e[1])).get("rgb"),N=K.get("a")):(x=_e[1],N=1);let Te=z.createElement("stop").attr({offset:_e[0],"stop-color":x,"stop-opacity":N}).add(ge);ge.stops.push(Te)})}he="url("+z.url+"#"+Z+")",B.setAttribute(T,he),B.gradient=Y,p.toString=function(){return he}}})}css(p){let K,T=this.styles,B={},z=this.element,U=!T;if(T&&v(p,function(se,S){T&&T[S]!==se&&(B[S]=se,U=!0)}),U){T&&(p=m(T,B)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&p.width&&(K=this.textWidth=n(p.width)),m(this.styles,p),K&&!X&&this.renderer.forExport&&delete p.width;let se=g(p);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(S=>se&&delete se[S]),se.color&&(se.fill=se.color)),A(z,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let T,B=this["stroke-width"];if("inherit"===B&&(B=1),p=p&&p.toLowerCase()){let z=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(T=z.length;T--;)z[T]=""+n(z[T])*o(B,NaN);p=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,T=p.element||{},B=p.renderer,z=T.ownerSVGElement,K="SPAN"===T.nodeName&&p.parentGroup||void 0;if(T.onclick=T.onmouseout=T.onmouseover=T.onmousemove=T.point=null,ue(p),p.clipPath&&z){let S=p.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function($){$.getAttribute("clip-path").indexOf(S.element.id)>-1&&$.removeAttribute("clip-path")}),p.clipPath=S.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seK&&K.join?(U?z+" ":"")+K.join(" "):(K||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[T]!==p&&(B.setAttribute(T,p),this[T]=p)}fillSetter(p,T,B){"string"==typeof p?B.setAttribute(T,p):p&&this.complexColor(p,T,B)}hrefSetter(p,T,B){B.setAttributeNS("http://www.w3.org/1999/xlink",T,p)}getBBox(p,T){let B,z,K,U,{alignValue:se,element:S,renderer:$,styles:H,textStr:x}=this,{cache:N,cacheKeys:R}=$,Z=S.namespaceURI===this.SVG_NS,Y=o(T,this.rotation,0),he=$.styledMode?S&&C.prototype.getStyle.call(S,"font-size"):H.fontSize;if(I(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",$.rootFontSize,he,Y,this.textWidth,se,H.textOverflow,H.fontWeight].join(",")),U&&!p&&(B=N[U]),!B){if(Z||$.forExport){try{K=this.fakeTS&&function(ge){let _e=S.querySelector(".highcharts-text-outline");_e&&A(_e,{display:ge})},O(K)&&K("none"),B=S.getBBox?m({},S.getBBox()):{width:S.offsetWidth,height:S.offsetHeight,x:0,y:0},O(K)&&K("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();z=B.height,Z&&(B.height=z={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(z)}`]||z),Y&&(B=this.getRotatedBox(B,Y))}if(U&&(""===x||B.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=B}return B}getRotatedBox(p,T){let{x:B,y:z,width:K,height:U}=p,{alignValue:se,translateY:S,rotationOriginX:$=0,rotationOriginY:H=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(S?0:z),R=T*J,Z=(T-90)*J,Y=Math.cos(R),he=Math.sin(R),ge=K*Y,_e=K*he,Te=Math.cos(Z),Oe=Math.sin(Z),[[De,Be],[oe,ee]]=[$,H].map(pt=>[pt-pt*Y,pt*he]),be=B+x*(K-ge)+De+ee+N*Te,xe=be+ge,Ie=xe-U*Te,we=Ie-ge,Ee=z+N-x*_e-Be+oe+N*Oe,Me=Ee+_e,Xe=Me-U*Oe,Je=Xe-_e,lt=Math.min(be,xe,Ie,we),qe=Math.min(Ee,Me,Xe,Je);return{x:lt,y:qe,width:Math.max(be,xe,Ie,we)-lt,height:Math.max(Ee,Me,Xe,Je)-qe}}getStyle(p){return j.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,T){this.onEvents={},this.opacity=1,this.SVG_NS=E,this.element="span"===T||"body"===T?D(T):te.createElementNS(this.SVG_NS,T),this.renderer=p,this.styles={},w(this,"afterInit")}on(p,T){let{onEvents:B}=this;return B[p]&&B[p](),B[p]=F(this.element,p,T),this}opacitySetter(p,T,B){let z=Number(Number(p).toFixed(3));this.opacity=z,B.setAttribute(T,z)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let T=p.parentNode;T&&T.removeChild(p)}setRadialReference(p){let T=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,T&&T.radAttr&&T.animate(this.renderer.getRadialAttr(p,T.radAttr)),this}setTextPath(p,T){T=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},T);let B=this.renderer.url,z=this.text||this,K=z.textPath,{attributes:U,enabled:se}=T;if(p=p||K&&K.path,K&&K.undo(),p&&se){let S=F(z,"afterModifyTree",$=>{if(p&&se){let H=p.attr("id");H||p.attr("id",H=d());let x={x:0,y:0};I(U.dx)&&(x.dx=U.dx,delete U.dx),I(U.dy)&&(x.dy=U.dy,delete U.dy),z.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=$.nodes.slice(0);$.nodes.length=0,$.nodes[0]={tagName:"textPath",attributes:m(U,{"text-anchor":U.textAnchor,href:`${B}#${H}`}),children:N}}});z.textPath={path:p,undo:S}}else z.attr({dx:0,dy:0}),delete z.textPath;return this.added&&(z.textCache="",this.renderer.buildText(z)),this}shadow(p){let{renderer:T}=this,B=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),z=T.shadowDefinition(B);return this.attr({filter:p?`url(${T.url}#${z})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,T,B){this[T]=p,B.setAttribute(T,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let B,p=this.getStyle("stroke-width"),T=0;return/px$/.test(p)?T=n(p):""!==p&&(P(B=te.createElementNS(E,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(B),T=B.getBBox().width,B.parentNode.removeChild(B)),T}symbolAttr(p){let T=this;C.symbolCustomAttribs.forEach(function(B){T[B]=o(p[B],T[B])}),T.attr({d:T.renderer.symbols[T.symbolName](T.x,T.y,T.width,T.height,T)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let T=this.element,B=T.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");T.insertBefore?T.insertBefore(B,T.firstChild):T.appendChild(B),B.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,T){return this.attr({translateX:p,translateY:T})}updateTransform(p="transform"){let{element:T,matrix:B,rotation:z=0,rotationOriginX:K,rotationOriginY:U,scaleX:se,scaleY:S,translateX:$=0,translateY:H=0}=this,x=["translate("+$+","+H+")"];I(B)&&x.push("matrix("+B.join(",")+")"),z&&(x.push("rotate("+z+" "+o(K,T.getAttribute("x"),0)+" "+o(U,T.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(K||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(I(se)||I(S))&&x.push("scale("+o(se,1)+" "+o(S,1)+")"),x.length&&!(this.text||this).textPath&&T.setAttribute(p,x.join(" "))}visibilitySetter(p,T,B){"inherit"===p?B.removeAttribute(T):this[T]!==p&&B.setAttribute(T,p),this[T]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,T){let S,$,H,N,Z,B=this.renderer,z=this.parentGroup,K=(z||B).element||B.box,U=this.element,se=K===B.box,x=!1,R=this.added;if(I(p)?(U.setAttribute("data-z-index",p),this[T]===(p=+p)&&(R=!1)):I(this[T])&&U.removeAttribute("data-z-index"),this[T]=p,R){for((p=this.zIndex)&&z&&(z.handleZ=!0),Z=(S=K.childNodes).length-1;Z>=0&&!x;Z--)N=!I(H=($=S[Z]).getAttribute("data-z-index")),$!==U&&(p<0&&N&&!se&&!Z?(K.insertBefore(U,S[Z]),x=!0):(n(H)<=p||N&&(!I(p)||p>=0))&&(K.insertBefore(U,S[Z+1]),x=!0));x||(K.insertBefore(U,S[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Le(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,extend:ve,isNumber:le,merge:pe,pick:ue,removeEvent:J}=ne;class te extends q{constructor(E,j,F,P,D,A,I,_,m,w){let G;super(E,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=j,this.x=F,this.y=P,this.anchorX=A,this.anchorY=I,this.baseline=m,this.className=w,this.addClass("button"===w?"highcharts-no-tooltip":"highcharts-label"),w&&this.addClass("highcharts-"+w),this.text=E.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((G=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=E.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(E){let j={left:0,center:.5,right:1}[E];j!==this.alignFactor&&(this.alignFactor=j,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(E,j){this.anchorX=E,this.boxAttr(j,Math.round(E)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(E,j){this.anchorY=E,this.boxAttr(j,E-this.ySetting)}boxAttr(E,j){this.box?this.box.attr(E,j):this.deferredAttr[E]=j}css(E){if(E){let j={};E=pe(E),te.textProps.forEach(F=>{void 0!==E[F]&&(j[F]=E[F],delete E[F])}),this.text.css(j),"fontSize"in j||"fontWeight"in j?this.updateTextPadding():("width"in j||"textOverflow"in j)&&this.updateBoxSize()}return q.prototype.css.call(this,E)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),q.prototype.destroy.call(this)}fillSetter(E,j){E&&(this.needsBox=!0),this.fill=E,this.boxAttr(j,E)}getBBox(E,j){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:P=0,translateX:D=0,translateY:A=0,width:I=0}=this,_=ue(this.paddingLeft,F),m=j??(this.rotation||0),w={width:I,height:P,x:D+this.bBox.x-_,y:A+this.bBox.y-F+this.baselineOffset};return m&&(w=this.getRotatedBox(w,m)),w}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(E){this.heightSetting=E}onAdd(){this.text.add(this),this.attr({text:ue(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(E,j){le(E)?E!==this[j]&&(this[j]=E,this.updateTextPadding()):this[j]=void 0}rSetter(E,j){this.boxAttr(j,E)}strokeSetter(E,j){this.stroke=E,this.boxAttr(j,E)}"stroke-widthSetter"(E,j){E&&(this.needsBox=!0),this["stroke-width"]=E,this.boxAttr(j,E)}"text-alignSetter"(E){this.textAlign=E}textSetter(E){void 0!==E&&this.text.attr({text:E}),this.updateTextPadding()}updateBoxSize(){let E,j=this.text,F={},P=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(j.textStr)?te.emptyBBox:j.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*P;let A=this.renderer.fontMetrics(j);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||A).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-A.h)/2),this.needsBox&&!j.textPath){if(!this.box){let I=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();I.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),I.add(this)}E=this.getCrispAdjust(),F.x=E,F.y=(this.baseline?-this.baselineOffset:0)+E,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let E=this.text;if(!E.textPath){this.updateBoxSize();let j=this.baseline?0:this.baselineOffset,F=ue(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==E.x||j!==E.y)&&(E.attr("x",F),E.hasBoxWidthChanged&&(this.bBox=E.getBBox(!0)),void 0!==j&&E.attr("y",j)),E.x=F,E.y=j}}widthSetter(E){this.widthSetting=le(E)?E:void 0}getPaddedWidth(){let E=this.padding,j=ue(this.paddingLeft,E),F=ue(this.paddingRight,E);return(this.widthSetting||this.bBox.width||0)+j+F}xSetter(E){this.x=E,this.alignFactor&&(E-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(E),this.attr("translateX",this.xSetting)}ySetter(E){this.ySetting=this.y=Math.round(E),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Le(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(q){let{defined:ne,isNumber:re,pick:ve}=q;function le(J,te,X,E,j){let F=[];if(j){let P=j.start||0,D=ve(j.r,X),A=ve(j.r,E||X),I=.001>Math.abs((j.end||0)-P-2*Math.PI),_=(j.end||0)-.001,m=j.innerR,w=ve(j.open,I),G=Math.cos(P),O=Math.sin(P),f=Math.cos(_),a=Math.sin(_),g=ve(j.longArc,_-P-Math.PI<.001?0:1),v=["A",D,A,0,g,ve(j.clockwise,1),J+D*f,te+A*a];v.params={start:P,end:_,cx:J,cy:te},F.push(["M",J+D*G,te+A*O],v),ne(m)&&((v=["A",m,m,0,g,ne(j.clockwise)?1-j.clockwise:0,J+m*G,te+m*O]).params={start:_,end:P,cx:J,cy:te},F.push(w?["M",J+m*f,te+m*a]:["L",J+m*f,te+m*a],v)),w||F.push(["Z"])}return F}function pe(J,te,X,E,j){return j&&j.r?ue(J,te,X,E,j):[["M",J,te],["L",J+X,te],["L",J+X,te+E],["L",J,te+E],["Z"]]}function ue(J,te,X,E,j){let F=j?.r||0;return[["M",J+F,te],["L",J+X-F,te],["A",F,F,0,0,1,J+X,te+F],["L",J+X,te+E-F],["A",F,F,0,0,1,J+X-F,te+E],["L",J+F,te+E],["A",F,F,0,0,1,J,te+E-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,X,E,j){let F=Math.min(j&&j.r||0,X,E),P=F+6,D=j&&j.anchorX,A=j&&j.anchorY||0,I=ue(J,te,X,E,{r:F});if(!re(D)||D0&&A0)return I;if(J+D>X-P)if(A>te+P&&Ate+P&&A0){let _=AE&&DP&&I.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",X-F,te]);return I},circle:function(J,te,X,E){return le(J+X/2,te+E/2,X/2,E/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E/2],["L",J+X/2,te+E],["L",J,te+E/2],["Z"]]},rect:pe,roundedRect:ue,square:pe,triangle:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E],["L",J,te+E],["Z"]]},"triangle-down":function(J,te,X,E){return[["M",J,te],["L",J+X,te],["L",J+X/2,te+E],["Z"]]}}}),Le(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{doc:ve,SVG_NS:le,win:pe}=ne,{attr:ue,extend:J,fireEvent:te,isString:X,objectEach:E,pick:j}=re;return class{constructor(F){let P=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!(!P||"ellipsis"!==P.textOverflow),this.noWrap=!(!P||"nowrap"!==P.whiteSpace)}buildSVG(){let F=this.svgElement,P=F.element,D=F.renderer,A=j(F.textStr,"").toString(),I=-1!==A.indexOf("<"),_=P.childNodes,m=!F.added&&D.box,w=[A,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(w!==F.textCache){F.textCache=w,delete F.actualWidth;for(let G=_.length;G--;)P.removeChild(_[G]);if(I||this.ellipsis||this.width||F.textPath||-1!==A.indexOf(" ")&&(!this.noWrap||//g.test(A))){if(""!==A){m&&m.appendChild(P);let G=new q(A);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&-1!==(P.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),m&&m.removeChild(P)}}else P.appendChild(ve.createTextNode(this.unescapeEntities(A)));X(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,P=this.svgElement,D=ue(P.element,"x");for(P.firstLineMetrics=void 0;(F=P.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)P.element.removeChild(F);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(m,w)=>{m.nextSibling&&m.previousSibling&&(0===w&&1===m.previousSibling.nodeType&&(P.firstLineMetrics=P.renderer.fontMetrics(m.previousSibling)),ue(m,{dy:this.getLineHeight(m.nextSibling),x:D}))});let A=this.width||0;if(!A)return;let I=(m,w)=>{let G=m.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),a=this.getLineHeight(w),g=0,v=P.actualWidth;if(this.ellipsis)G&&this.truncate(m,G,void 0,0,Math.max(0,A-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;w.firstChild&&w.firstChild!==m;)n.push(w.firstChild),w.removeChild(w.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(m.textContent||""),m.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(m,void 0,O,0===g&&v||0,A,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),v=P.actualWidth,g++;n.forEach(r=>{w.insertBefore(r,m)}),o.forEach(r=>{w.insertBefore(ve.createTextNode(r),m);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",ue(l,{dy:a,x:D}),w.insertBefore(l,m)})}},_=m=>{[].slice.call(m.childNodes).forEach(w=>{w.nodeType===pe.Node.TEXT_NODE?I(w,m):(-1!==w.className.baseVal.indexOf("highcharts-br")&&(P.actualWidth=0),_(w))})};_(P.element)}getLineHeight(F){let P=F.nodeType===pe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(F){let P=(D,A)=>{let{attributes:I={},children:_,style:m={},tagName:w}=D,G=this.renderer.styledMode;if("b"===w||"strong"===w?G?I.class="highcharts-strong":m.fontWeight="bold":("i"===w||"em"===w)&&(G?I.class="highcharts-emphasized":m.fontStyle="italic"),m&&m.color&&(m.fill=m.color),"br"===w){I.class="highcharts-br",D.textContent="\u200b";let O=F[A+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===w&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==w&&"a"!==w&&(D.tagName="tspan"),J(D,{attributes:I,style:m}),_&&_.filter(O=>"#text"!==O.tagName).forEach(P)};F.forEach(P),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,P,D,A,I,_){let m,w,G=this.svgElement,{rotation:O}=G,f=[],a=D?1:0,g=(P||D||"").length,v=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=A+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(G.rotation=0,A+(w=o(F.textContent.length))>I){for(;a<=g;)v=Math.ceil((a+g)/2),D&&(m=_(D,v)),w=o(v,m&&m.length-1),a===g?a=g+1:w>I?g=v-1:a=v;0===g?F.textContent="":P&&g===P.length-1||(F.textContent=m||_(P||D,v))}D&&D.splice(0,v),G.actualWidth=w,G.rotation=O}unescapeEntities(F,P){return E(this.renderer.escapes,function(D,A){P&&-1!==P.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),A))}),F}}}),Le(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let X,{charts:E,deg2rad:j,doc:F,isFirefox:P,isMS:D,isWebKit:A,noop:I,SVG_NS:_,symbolSizes:m,win:w}=re,{addEvent:G,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:v,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:T,uniqueKey:B}=te;class z{constructor(U,se,S,$,H,x,N){let R,Z,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=Y.element;N||Y.css(this.getStyle($||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(se,S,!1),P&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),Z=U.getBoundingClientRect(),a(U,{left:Math.ceil(Z.left)-Z.left+"px",top:Math.ceil(Z.top)-Z.top+"px"})})(),this.unSubPixelFix=G(w,"resize",R))}definition(U){return new q([U]).addToDOM(this.defs.element)}getReferenceURL(){if((P||A)&&F.getElementsByTagName("base").length){if(!g(X)){let U=B(),se=new q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let S=F.elementFromPoint(6,6);X="hitme"===(S&&S.id),F.body.removeChild(se)}if(X)return T(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),v(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map($=>`${$}-${U[$]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),S=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:S.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:S.offsetX,dy:S.offsetY,"flood-color":S.color,"flood-opacity":Math.min(5*S.opacity,1),stdDeviation:S.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ne.parse(U).rgba.map($=>{let H=$/255;return H<=.03928?H/12.92:Math.pow((H+.055)/1.055,2.4)}),S=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(S+.05)>(S+.05)/.05?"#FFFFFF":"#000000"}button(U,se,S,$,H={},x,N,R,Z,Y){let he,ge,_e,Te=this.label(U,se,S,Z,void 0,void 0,Y,void 0,"button"),Oe=this.styledMode,De=H.states||{},Be=0;delete(H=C(H)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},H.style);delete H.style;let ee=q.filterUserAttributes(H);return Te.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},q.filterUserAttributes(x||De.hover||{}))).style,delete x.style,ge=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},q.filterUserAttributes(N||De.select||{}))).style,delete N.style,_e=(R=C(ee,{style:{color:"#cccccc"}},q.filterUserAttributes(R||De.disabled||{}))).style,delete R.style),G(Te.element,D?"mouseover":"mouseenter",function(){3!==Be&&Te.setState(1)}),G(Te.element,D?"mouseout":"mouseleave",function(){3!==Be&&Te.setState(Be)}),Te.setState=function(be){if(1!==be&&(Te.state=Be=be),Te.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][be||0]),!Oe){Te.attr([ee,x,N,R][be||0]);let xe=[oe,he,ge,_e][be||0];l(xe)&&Te.css(xe)}},!Oe&&(Te.attr(ee).css(o({cursor:"default"},oe)),Y&&Te.text.css({pointerEvents:"none"})),Te.on("touchstart",be=>be.stopPropagation()).on("click",function(be){3!==Be&&$.call(Te,be)})}crispLine(U,se,S="round"){let $=U[0],H=U[1];return g($[1])&&$[1]===H[1]&&($[1]=H[1]=Math[S]($[1])-se%2/2),g($[2])&&$[2]===H[2]&&($[2]=H[2]=Math[S]($[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,S){let $=l(U)?U:void 0===U?{}:{x:U,y:se,r:S},H=this.createElement("circle");return H.xSetter=H.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},H.attr($)}arc(U,se,S,$,H,x){let N;l(U)?(se=(N=U).y,S=N.r,$=N.innerR,H=N.start,x=N.end,U=N.x):N={innerR:$,start:H,end:x};let R=this.symbol("arc",U,se,S,S,N);return R.r=S,R}rect(U,se,S,$,H,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:H,width:Math.max(S||0,0),height:Math.max($||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(Z,Y,he){R.r=Z,O(he,{rx:Z,ry:Z})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,S){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(S,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,S,$,H,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(S)&&(N.y=S),r($)&&(N.width=$),r(H)&&(N.height=H);let R=this.createElement("image").attr(N),Z=function(Y){R.attr({href:U}),x.call(R,Y)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new w.Image;G(Y,"load",Z),Y.src=U,Y.complete&&Z({})}else R.attr({href:U});return R}symbol(U,se,S,$,H,x){let N,R,Z,Y,he=this,ge=/^url\((.*?)\)$/,_e=ge.test(U),Te=!_e&&(this.symbols[U]?U:"circle"),Oe=Te&&this.symbols[Te];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(S||0),$||0,H||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Te||void 0,x:se,y:S,width:$,height:H}),x&&o(N,x);else if(_e){Z=U.match(ge)[1];let De=N=this.image(Z);De.imgwidth=k(x&&x.width,m[Z]&&m[Z].width),De.imgheight=k(x&&x.height,m[Z]&&m[Z].height),Y=Be=>Be.attr({width:Be.width,height:Be.height}),["width","height"].forEach(Be=>{De[`${Be}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:be,element:xe,width:Ie,height:we,imgwidth:Ee,imgheight:Me}=this,Xe="width"===ee?Ee:Me,Je=1;x&&"within"===x.backgroundSize&&Ie&&we&&Ee&&Me?(Je=Math.min(Ie/Ee,we/Me),O(xe,{width:Math.round(Ee*Je),height:Math.round(Me*Je)})):xe&&Xe&&xe.setAttribute(ee,Xe),!be&&Ee&&Me&&this.translate(((Ie||0)-Ee*Je)/2,((we||0)-Me*Je)/2)}}),g(se)&&De.attr({x:se,y:S}),De.isImg=!0,g(De.imgwidth)&&g(De.imgheight)?Y(De):(De.attr({width:0,height:0}),f("img",{onload:function(){let Be=E[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),m[Z]={width:this.width,height:this.height},De.imgwidth=this.width,De.imgheight=this.height,De.element&&Y(De),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Be||Be.hasLoaded||Be.onload()},src:Z}),this.imgCount++)}return N}clipRect(U,se,S,$){return this.rect(U,se,S,$,0)}text(U,se,S,$){let H={};if($&&(this.allowHTML||!this.forExport))return this.html(U,se,S);H.x=Math.round(se||0),S&&(H.y=Math.round(S)),g(U)&&(H.text=U);let x=this.createElement("text").attr(H);return $&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,Z){let Y=Z.getElementsByTagName("tspan"),he=Z.getAttribute(R);for(let _e,ge=0;geU.align())}}return o(z.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ue,draw:I}),ve.registerRendererType("svg",z,!0),z}),Le(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{composed:le}=ne,{attr:pe,css:ue,createElement:J,defined:te,extend:X,pInt:E,pushUnique:j}=ve;function F(I,_,m){let w=this.div?.style||m.style;re.prototype[`${_}Setter`].call(this,I,_,m),w&&(w[_]=I)}let P=(I,_)=>{if(!I.div){let m=pe(I.element,"class"),w=I.css,G=J("div",m?{className:m}:void 0,{position:"absolute",left:`${I.translateX||0}px`,top:`${I.translateY||0}px`,...I.styles,display:I.display,opacity:I.opacity,visibility:I.visibility},I.parentGroup?.div||_);I.classSetter=(O,f,a)=>{a.setAttribute("class",O),G.className=O},I.translateXSetter=I.translateYSetter=(O,f)=>{I[f]=O,G.style["translateX"===f?"left":"top"]=`${O}px`,I.doTransform=!0},I.opacitySetter=I.visibilitySetter=F,I.css=O=>(w.call(I,O),O.cursor&&(G.style.cursor=O.cursor),O.pointerEvents&&(G.style.pointerEvents=O.pointerEvents),I),I.on=function(){return re.prototype.on.apply({element:G,onEvents:I.onEvents},arguments),I},I.div=G}return I.div};class D extends re{static compose(_){j(le,this.compose)&&(_.prototype.html=function(m,w,G){return new D(this,"span").attr({text:m,x:Math.round(w),y:Math.round(G)})})}constructor(_,m){super(_,m),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,m,w){this.xCorr=-_*w,this.yCorr=-m}css(_){let m,{element:w}=this,G="SPAN"===w.tagName&&_&&"width"in _,O=G&&_.width;return G&&(delete _.width,this.textWidth=E(O)||void 0,m=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),X(this.styles,_),ue(w,_),m&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:m,rotation:w,rotationOriginX:G,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:v=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(ue(_,{marginLeft:`${v}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[w,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(ue(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(ue(_,{width:U>se||w?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=m.fontMetrics(_).b,te(w)&&(w!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(w,C,C),this.getSpanCorrection(!te(w)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:T=0,yCorr:B=0}=this;ue(_,{left:`${n+T}px`,top:`${r+B}px`,transformOrigin:`${(G??n)-T-n-C}px ${(O??r)-B-r-C}px`}),this.cTT=d,this.oldRotation=w,this.oldAlign=a}}setSpanRotation(_,m,w){ue(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${m}% ${w}px`})}add(_){let m,w=this.renderer.box.parentNode,G=[];if(this.parentGroup=_,_&&!(m=_.div)){let O=_;for(;O;)G.push(O),O=O.parentGroup;for(let f of G.reverse())m=P(f,w)}return(m||w).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,q.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,m){this[m]=_,this.doTransform=!0}}let A=D.prototype;return A.visibilitySetter=A.opacitySetter=F,A.ySetter=A.rotationSetter=A.rotationOriginXSetter=A.rotationOriginYSetter=A.xSetter,D}),Le(V,"Core/Axis/AxisDefaults.js",[],function(){var q,ne;return(ne=q||(q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ne.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},q}),Le(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(q){var ne;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:pe}=q;return(ne||(ne={})).registerEventOptions=function(ue,J){ue.eventOptions=ue.eventOptions||{},le(J.events,function(te,X){ue.eventOptions[X]!==te&&(ue.eventOptions[X]&&(pe(ue,X,ue.eventOptions[X]),delete ue.eventOptions[X]),ve(te)&&(ue.eventOptions[X]=te,re(ue,X,te,{order:0})))})},ne}),Le(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{deg2rad:ve}=ne,{clamp:le,correctFloat:pe,defined:ue,destroyObjectProperties:J,extend:te,fireEvent:X,isNumber:E,merge:j,objectEach:F,pick:P}=re;return class{constructor(D,A,I,_,m){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=A,this.type=I||"",this.parameters=m||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,X(this,"init"),I||_||this.addLabel()}addLabel(){let l,d,C,D=this,A=D.axis,I=A.options,_=A.chart,m=A.categories,w=A.logarithmic,G=A.names,O=D.pos,f=P(D.options&&D.options.labels,I.labels),a=A.tickPositions,g=O===a[0],v=O===a[a.length-1],o=(!f.step||1===f.step)&&1===A.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(m?P(m[O],G[O],O):O);w&&E(k)&&(k=pe(w.lin2log(k))),A.dateTime&&(n?l=(d=_.time.resolveDTLFormat(I.dateTimeLabelFormats[!I.grid&&n.higherRanks[O]||n.unitName])).main:E(k)&&(l=A.dateTime.getXDateFormat(k,I.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=v;let p={axis:A,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:v,pos:O,tick:D,tickPositionInfo:n,value:k};X(this,"labelFormat",p);let T=K=>f.formatter?f.formatter.call(K,K):f.format?(K.text=A.defaultLabelFormatter.call(K),q.format(f.format,K,_)):A.defaultLabelFormatter.call(K),B=T.call(p,p),z=d&&d.list;D.shortenLabel=z?function(){for(C=0;C0&&_+g*v>O&&(k=Math.round((m-_)/Math.cos(a*ve))):(d=_-g*v,C=_+(1-g)*v,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||A.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(I.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,A){let G,I=this,_=I.label,m=I.axis,w=!1;_&&_.textStr===D?(I.movedLabel=_,w=!0,delete I.label):F(m.ticks,function(O){w||O.isNew||O===I||!O.label||O.label.textStr!==D||(I.movedLabel=O.label,w=!0,O.labelPos=I.movedLabel.xy,delete O.label)}),!w&&(I.labelPos||_)&&(G=I.labelPos||_.xy,I.movedLabel=I.createLabel(D,A,G),I.movedLabel&&I.movedLabel.attr({opacity:0}))}render(D,A,I){let _=this.axis,m=_.horiz,w=this.pos,G=P(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(m,w,G,A),f=O.x,a=O.y,g=_.pos,v=g+_.len,o=m&&f===v||!m&&a===g?-1:1,n=m?f:a;!_.chart.polar&&this.isNew&&(pe(n)v)&&(I=0);let r=P(I,this.label&&this.label.newOpacity,1);I=P(I,1),this.isActive=!0,this.renderGridLine(A,I,o),this.renderMark(O,I,o),this.renderLabel(O,A,r,D),this.isNew=!1,X(this,"afterRender")}renderGridLine(D,A,I){let v,_=this.axis,m=_.options,w={},G=this.pos,O=this.type,f=P(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=m.gridLineWidth,n=m.gridLineColor,r=m.gridLineDashStyle;"minor"===this.type&&(o=m.minorGridLineWidth,n=m.minorGridLineColor,r=m.minorGridLineDashStyle),g||(_.chart.styledMode||(w.stroke=n,w["stroke-width"]=o||0,w.dashstyle=r),O||(w.zIndex=1),D&&(A=0),this.gridLine=g=a.path().attr(w).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(v=_.getPlotLinePath({value:G+f,lineWidth:g.strokeWidth()*I,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:v,opacity:A})}renderMark(D,A,I){let _=this.axis,m=_.options,w=_.chart.renderer,G=this.type,O=_.tickSize(G?G+"Tick":"tick"),f=D.x,a=D.y,g=P(m["minor"!==G?"tickWidth":"minorTickWidth"],!G&&_.isXAxis?1:0),v=m["minor"!==G?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=w.path().addClass("highcharts-"+(G?G+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:v,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*I,_.horiz,w),opacity:A}))}renderLabel(D,A,I,_){let m=this.axis,w=m.horiz,G=m.options,O=this.label,f=G.labels,a=f.step,g=P(this.tickmarkOffset,m.tickmarkOffset),v=D.x,o=D.y,n=!0;O&&E(v)&&(O.xy=D=this.getLabelPosition(v,o,O,w,f,g,_,a),this.isFirst&&!this.isLast&&!G.showFirstLabel||this.isLast&&!this.isFirst&&!G.showLastLabel?n=!1:!w||f.step||f.rotation||A||0===I||this.handleOverflow(D),a&&_%a&&(n=!1),n&&E(D.y)?(D.opacity=I,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,A=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),A.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Le(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{animObject:te}=q,{xAxis:X,yAxis:E}=ne,{defaultOptions:j}=ve,{registerEventOptions:F}=le,{deg2rad:P}=pe,{arrayMax:D,arrayMin:A,clamp:I,correctFloat:_,defined:m,destroyObjectProperties:w,erase:G,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:v,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:T,splat:B,syncTimeout:z}=J,K=(se,S)=>d(S,void 0,void 0,k(se.options.allowDecimals,S<.5||void 0!==se.tickAmount),!!se.tickAmount);f(j,{xAxis:X,yAxis:l(X,E)});class U{constructor(S,$,H){this.init(S,$,H)}init(S,$,H=this.coll){let x="xAxis"===H,N=this.isZAxis||(S.inverted?!x:x);this.chart=S,this.horiz=N,this.isXAxis=x,this.coll=H,a(this,"init",{userOptions:$}),this.opposite=k($.opposite,this.opposite),this.side=k($.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions($);let R=this.options,Z=R.labels,Y=R.type;this.userOptions=$,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===Y||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=m(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,B(S.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===S.axes.indexOf(this)&&(x?S.axes.splice(S.xAxis.length,0,this):S.axes.push(this),v(this,S[this.coll])),S.orderItems(this.coll),this.series=this.series||[],S.inverted&&!this.isZAxis&&x&&!m(this.reversed)&&(this.reversed=!0),this.labelRotation=n(Z.rotation)?Z.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(S){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},j[this.coll],S),a(this,"afterSetOptions",{userOptions:S})}defaultLabelFormatter(){let Te,Oe,S=this.axis,{numberFormatter:$}=this.chart,H=n(this.value)?this.value:NaN,x=S.chart.time,N=S.categories,R=this.dateTimeLabelFormat,Z=j.lang,Y=Z.numericSymbols,he=Z.numericSymbolMagnitude||1e3,ge=S.logarithmic?Math.abs(H):S.tickInterval,_e=Y&&Y.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,H);else if(_e&&Y&&ge>=1e3)for(;_e--&&void 0===Oe;)ge>=(Te=Math.pow(he,_e+1))&&10*H%Te==0&&null!==Y[_e]&&0!==H&&(Oe=$(H/Te,-1)+Y[_e]);return void 0===Oe&&(Oe=Math.abs(H)>=1e4?$(H,-1):$(H,-1,void 0,"")),Oe}getSeriesExtremes(){let S,$=this;a(this,"getSeriesExtremes",null,function(){$.hasVisibleSeries=!1,$.dataMin=$.dataMax=$.threshold=void 0,$.softThreshold=!$.isXAxis,$.series.forEach(H=>{if(H.reserveSpace()){let N,Z,Y,x=H.options,R=x.threshold;if($.hasVisibleSeries=!0,$.positiveValuesOnly&&0>=(R||0)&&(R=void 0),$.isXAxis)(N=H.xData)&&N.length&&(N=$.logarithmic?N.filter(he=>he>0):N,Z=(S=H.getXExtremes(N)).min,Y=S.max,n(Z)||Z instanceof Date||(N=N.filter(n),Z=(S=H.getXExtremes(N)).min,Y=S.max),N.length&&($.dataMin=Math.min(k($.dataMin,Z),Z),$.dataMax=Math.max(k($.dataMax,Y),Y)));else{let he=H.applyExtremes();n(he.dataMin)&&(Z=he.dataMin,$.dataMin=Math.min(k($.dataMin,Z),Z)),n(he.dataMax)&&(Y=he.dataMax,$.dataMax=Math.max(k($.dataMax,Y),Y)),m(R)&&($.threshold=R),(!x.softThreshold||$.positiveValuesOnly)&&($.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(S,$,H,x,N,R){let Z=this.linkedParent||this,Y=x&&Z.old?Z.old.min:Z.min;if(!n(Y))return NaN;let he=Z.minPixelPadding,ge=(Z.isOrdinal||Z.brokenAxis?.hasBreaks||Z.logarithmic&&N)&&Z.lin2val,_e=1,Te=0,Oe=x&&Z.old?Z.old.transA:Z.transA,De=0;if(Oe||(Oe=Z.transA),H&&(_e*=-1,Te=Z.len),Z.reversed&&(_e*=-1,Te-=_e*(Z.sector||Z.len)),$)De=(S=S*_e+Te-he)/Oe+Y,ge&&(De=Z.lin2val(De));else{ge&&(S=Z.val2lin(S));let Be=_e*(S-Y)*Oe;De=(Z.isRadial?Be:_(Be))+Te+_e*he+(n(R)?Oe*R:0)}return De}toPixels(S,$){return this.translate(S,!1,!this.horiz,void 0,!0)+($?0:this.pos)}toValue(S,$){return this.translate(S-($?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(S){let De,Be,oe,ee,be,$=this,H=$.chart,x=$.left,N=$.top,R=S.old,Z=S.value,Y=S.lineWidth,he=R&&H.oldChartHeight||H.chartHeight,ge=R&&H.oldChartWidth||H.chartWidth,_e=$.transB,Te=S.translatedValue,Oe=S.force;function xe(we,Ee,Me){return"pass"!==Oe&&(weMe)&&(Oe?we=I(we,Ee,Me):be=!0),we}let Ie={value:Z,lineWidth:Y,old:R,force:Oe,acrossPanes:S.acrossPanes,translatedValue:Te};return a(this,"getPlotLinePath",Ie,function(we){De=oe=Math.round((Te=I(Te=k(Te,$.translate(Z,void 0,void 0,R)),-1e5,1e5))+_e),Be=ee=Math.round(he-Te-_e),n(Te)?$.horiz?(Be=N,ee=he-$.bottom+(H.scrollablePixelsY||0),De=oe=xe(De,x,x+$.width)):(De=x,oe=ge-$.right+(H.scrollablePixelsX||0),Be=ee=xe(Be,N,N+$.height)):(be=!0,Oe=!1),we.path=be&&!Oe?void 0:H.renderer.crispLine([["M",De,Be],["L",oe,ee]],Y||1)}),Ie.path}getLinearTickPositions(S,$,H){let x,N,R,Z=_(Math.floor($/S)*S),Y=_(Math.ceil(H/S)*S),he=[];if(_(Z+S)===Z&&(R=20),this.single)return[$];for(x=Z;x<=Y&&(he.push(x),(x=_(x+S,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:S,minorTickInterval:$}=this.options;return!0===S?k($,"auto"):!1!==S?$:void 0}getMinorTickPositions(){let he,S=this.options,$=this.tickPositions,H=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,Z=R-N,Y=[];if(Z&&Z/H(ge.xIncrement?ge.xData?.slice(0,2):ge.xData)||[]))||0),this.dataMax-this.dataMin)),n(H)&&n(x)&&n(N)&&H-x=N,R=(N-H+x)/2,Y=[x-R,k(S.min,x-R)],Z&&(Y[2]=$?$.log2lin(this.dataMin):this.dataMin),he=[(x=D(Y))+N,k(S.max,x+N)],Z&&(he[2]=$?$.log2lin(this.dataMax):this.dataMax),(H=A(he))-xx-N),S=g([H]))}return S&&$?Math.min(S,$):S||$}nameToX(S){let N,$=o(this.options.categories),H=$?this.categories:this.names,x=S.options.x;return S.series.requireSorting=!1,m(x)||(x=this.options.uniqueNames&&H?$?H.indexOf(S.name):k(H.keys[S.name],-1):S.series.autoIncrement()),-1===x?!$&&H&&(N=H.length):N=x,void 0!==N?(this.names[N]=S.name,this.names.keys[S.name]=N):S.x&&(N=S.x),N}updateNames(){let S=this,$=this.names;$.length>0&&(Object.keys($.keys).forEach(function(H){delete $.keys[H]}),$.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(H=>{H.xIncrement=null,(!H.points||H.isDirtyData)&&(S.max=Math.max(S.max,H.xData.length-1),H.processData(),H.generatePoints()),H.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=S.nameToX(x))&&R!==x.x&&(x.x=R,H.xData[N]=R)})}))}setAxisTranslation(){let Z,ge,S=this,$=S.max-S.min,H=S.linkedParent,x=!!S.categories,N=S.isXAxis,R=S.axisPointRange||0,Y=0,he=0,_e=S.transA;(N||x||R)&&(Z=S.getClosest(),H?(Y=H.minPointOffset,he=H.pointRangePadding):S.series.forEach(function(Te){let Oe=x?1:N?k(Te.options.pointRange,Z,0):S.axisPointRange||0,De=Te.options.pointPlacement;if(R=Math.max(R,Oe),!S.single||x){let Be=Te.is("xrange")?!N:N;Y=Math.max(Y,Be&&r(De)?0:Oe/2),he=Math.max(he,Be&&"on"===De?0:Oe)}}),ge=S.ordinal&&S.ordinal.slope&&Z?S.ordinal.slope/Z:1,S.minPointOffset=Y*=ge,S.pointRangePadding=he*=ge,S.pointRange=Math.min(R,S.single&&x?1:$),N&&Z&&(S.closestPointRange=Z)),S.translationSlope=S.transA=_e=S.staticScale||S.len/($+he||1),S.transB=S.horiz?S.left:S.bottom,S.minPixelPadding=_e*Y,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:S,min:$}=this;return n(S)&&n($)&&S-$||void 0}setTickInterval(S){let Me,Je,lt,qe,st,{categories:$,chart:H,dataMax:x,dataMin:N,dateTime:R,isXAxis:Z,logarithmic:Y,options:he,softThreshold:ge}=this,_e=n(this.threshold)?this.threshold:void 0,Te=this.minRange||0,{ceiling:Oe,floor:De,linkedTo:Be,softMax:oe,softMin:ee}=he,be=n(Be)&&H[this.coll]?.[Be],xe=he.tickPixelInterval,Ie=he.maxPadding,we=he.minPadding,Ee=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||$||be||this.getTickAmount(),qe=k(this.userMin,he.min),st=k(this.userMax,he.max),be?(this.linkedParent=be,Me=be.getExtremes(),this.min=k(Me.min,Me.dataMin),this.max=k(Me.max,Me.dataMax),he.type!==be.options.type&&O(11,!0,H)):(ge&&m(_e)&&n(x)&&n(N)&&(N>=_e?(Je=_e,we=0):x<=_e&&(lt=_e,Ie=0)),this.min=k(qe,Je,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(Y&&(this.positiveValuesOnly&&!S&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,H),this.min=_(Y.log2lin(this.min),16),this.max=_(Y.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),$||this.axisPointRange||this.stacking?.usePercentage||be||!(Ee=this.max-this.min)||(!m(qe)&&we&&(this.min-=Ee*we),m(st)||!Ie||(this.max+=Ee*Ie)),!n(this.userMin)&&n(De)&&(this.min=Math.max(this.min,De)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),ge&&n(N)&&n(x)){let pt=_e||0;!m(qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Te):pt:!m(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Te):pt)}!H.polar&&this.min>this.max&&(m(he.min)?this.max=this.min:m(he.max)&&(this.min=this.max)),Ee=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?be&&!Xe&&xe===be.options.tickPixelInterval?Xe=be.tickInterval:k(Xe,this.tickAmount?Ee/Math.max(this.tickAmount-1,1):void 0,$?1:Ee*xe/Math.max(this.len,xe)):1,Z&&!S){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Tt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))Y=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)Y=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,S.units),this.min,this.max,S.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)Y=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let ge=this.tickInterval,_e=ge;for(;_e<=2*ge&&(Y=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&Y.length>this.tickAmount);)this.tickInterval=K(this,_e*=1.1)}Y.length>this.len&&(Y=[Y[0],Y[Y.length-1]])[0]===Y[1]&&(Y.length=1),H&&(this.tickPositions=Y,(he=H.apply(this,[this.min,this.max]))&&(Y=he))}this.tickPositions=Y,this.paddedTicks=Y.slice(0),this.trimTicks(Y,R,Z),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&Y.length<2&&!this.categories&&!this.series.some(ge=>ge.is("heatmap")&&"between"===ge.options.pointPlacement)&&(this.min-=.5,this.max+=.5),$||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(S,$,H){let x=S[0],N=S[S.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if($&&x!==-1/0)this.min=x;else for(;this.min-R>S[0];)S.shift();if(H)this.max=N;else for(;this.max+R{let{horiz:Te,options:Oe}=_e;return[Te?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},ge=he(this);H[this.coll].forEach(function(_e){let{series:Te}=_e;Te.length&&Te.some(Oe=>Oe.visible)&&_e!==$&&he(_e)===ge&&(S=!0,x.push(_e))})}if(S&&Z){x.forEach(ge=>{let _e=ge.getThresholdAlignment($);n(_e)&&Y.push(_e)});let he=Y.length>1?Y.reduce((ge,_e)=>ge+_e,0)/Y.length:void 0;x.forEach(ge=>{ge.thresholdAlignment=he})}return S}getThresholdAlignment(S){if((!n(this.dataMin)||this!==S&&this.series.some($=>$.isDirty||$.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let $=I((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&($=1-$),$}}getTickAmount(){let S=this.options,$=S.tickPixelInterval,H=S.tickAmount;m(S.tickInterval)||H||!(this.len<$)||this.isRadial||this.logarithmic||!S.startOnTick||!S.endOnTick||(H=2),!H&&this.alignToOthers()&&(H=Math.ceil(this.len/$)+1),H<4&&(this.finalTickAmt=H,H=5),this.tickAmount=H}adjustTickAmount(){let _e,Te,De,S=this,{finalTickAmt:$,max:H,min:x,options:N,tickPositions:R,tickAmount:Z,thresholdAlignment:Y}=S,he=R?.length,ge=k(S.threshold,S.softThreshold?0:null),Oe=S.tickInterval,Be=()=>R.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(Y)&&(De=Y<.5?Math.ceil(Y*(Z-1)):Math.floor(Y*(Z-1)),N.reversed&&(De=Z-1-De)),S.hasData()&&n(x)&&n(H)){let ee=()=>{S.transA*=(he-1)/(Z-1),S.min=N.startOnTick?R[0]:Math.min(x,R[0]),S.max=N.endOnTick?R[R.length-1]:Math.max(H,R[R.length-1])};if(n(De)&&n(S.threshold)){for(;R[De]!==ge||R.length!==Z||R[0]>x||R[R.length-1]S.threshold?oe():Be();if(Oe>8*S.tickInterval)break;Oe*=2}ee()}else if(he0&&Te<_e-1)&&R.splice(Te,1);S.finalTickAmt=void 0}}}setScale(){let{coll:S,stacking:$}=this,H=!1,x=!1;this.series.forEach(R=>{H=H||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||H||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?($&&"yAxis"===S&&$.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),$&&"xAxis"===S&&$.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):$&&$.cleanStacks(),H&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(S,$,H=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:S,max:$}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,H&&this.chart.redraw(x)})}setAxisSize(){let S=this.chart,$=this.options,H=$.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k($.width,S.plotWidth-H[3]+H[1]),S.plotWidth)),R=this.height=Math.round(p(k($.height,S.plotHeight-H[0]+H[2]),S.plotHeight)),Z=this.top=Math.round(p(k($.top,S.plotTop+H[0]),S.plotHeight,S.plotTop)),Y=this.left=Math.round(p(k($.left,S.plotLeft+H[3]),S.plotWidth,S.plotLeft));this.bottom=S.chartHeight-R-Z,this.right=S.chartWidth-N-Y,this.len=Math.max(x?N:R,0),this.pos=x?Y:Z}getExtremes(){let S=this.logarithmic;return{min:S?_(S.lin2log(this.min)):this.min,max:S?_(S.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(S){let $=this.logarithmic,H=$?$.lin2log(this.min):this.min,x=$?$.lin2log(this.max):this.max;return null===S||S===-1/0?S=H:S===1/0?S=x:H>S?S=H:x15&&$<165?x.align="right":$>195&&$<345&&(x.align="left")}),H.align}tickSize(S){let N,$=this.options,H=k($["tick"===S?"tickWidth":"minorTickWidth"],"tick"===S&&this.isXAxis&&!this.categories?1:0),x=$["tick"===S?"tickLength":"minorTickLength"];H&&x&&("inside"===$[S+"Position"]&&(x=-x),N=[x,H]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let S=this.chart.renderer,$=this.ticks,H=$[Object.keys($)[0]]||{};return this.chart.renderer.fontMetrics(H.label||H.movedLabel||S.box)}unsquish(){let ge,Te,S=this.options.labels,$=this.horiz,H=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/H),N=S.rotation,R=this.labelMetrics().h,Z=Math.max(this.max-this.min,0),Y=function(Oe){let De=Oe/(x||1);return(De=De>1?Math.ceil(De):1)*H>Z&&Oe!==1/0&&x!==1/0&&Z&&(De=Math.ceil(Z/H)),_(De*H)},he=H,_e=Number.MAX_VALUE;if($){if(!S.staggerLines&&(n(N)?Te=[N]:x=-90&&Be<=90)&&(De=(Oe=Y(Math.abs(R/Math.sin(P*Be))))+Math.abs(Be/360))<_e&&(_e=De,ge=Be,he=Oe)}}else he=Y(.75*R);return this.autoRotation=Te,this.labelRotation=k(ge,n(N)?N:0),S.step?H:he}getSlotWidth(S){let $=this.chart,H=this.horiz,x=this.options.labels,N=Math.max(this.tickPositions.length-(this.categories?0:1),1),R=$.margin[3];if(S&&n(S.slotWidth))return S.slotWidth;if(H&&x.step<2)return x.rotation?0:(this.staggerLines||1)*this.len/N;if(!H){let Z=x.style.width;if(void 0!==Z)return parseInt(String(Z),10);if(R)return R-$.spacing[3]}return.33*$.chartWidth}renderUnsquish(){let Oe,De,oe,ee,S=this.chart,$=S.renderer,H=this.tickPositions,x=this.ticks,N=this.options.labels,R=N.style,Z=this.horiz,Y=this.getSlotWidth(),he=Math.max(1,Math.round(Y-2*N.padding)),ge={},_e=this.labelMetrics(),Te=R.textOverflow,Be=0;if(r(N.rotation)||(ge.rotation=N.rotation||0),H.forEach(function(be){let xe=x[be];xe.movedLabel&&xe.replaceMovedLabel(),xe&&xe.label&&xe.label.textPxLength>Be&&(Be=xe.label.textPxLength)}),this.maxLabelLength=Be,this.autoRotation)Be>he&&Be>_e.h?ge.rotation=this.labelRotation:this.labelRotation=0;else if(Y&&(Oe=he,!Te))for(De="clip",ee=H.length;!Z&&ee--;)(oe=x[H[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>Y&&oe.css({width:Y+"px"}),oe.getBBox().height>this.len/H.length-(_e.h-_e.f)&&(oe.specificTextOverflow="ellipsis"));ge.rotation&&(Oe=Be>.5*S.chartHeight?.33*S.chartHeight:Be,Te||(De="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(ge.align=this.labelAlign),H.forEach(function(be){let xe=x[be],Ie=xe&&xe.label,we=R.width,Ee={};Ie&&(Ie.attr(ge),xe.shortenLabel?xe.shortenLabel():Oe&&!we&&"nowrap"!==R.whiteSpace&&(OeN.g(Z).attr({zIndex:he}).addClass(`highcharts-${H.toLowerCase()}${Y} `+(this.isRadial?`highcharts-radial-axis${Y} `:"")+(x.className||"")).add(S);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,xe,Ee,Me,S=this,{chart:$,horiz:H,options:x,side:N,ticks:R,tickPositions:Z,coll:Y}=S,he=$.inverted&&!S.isZAxis?[1,0,3,2][N]:N,ge=S.hasData(),_e=x.title,Te=x.labels,Oe=n(x.crossing),De=$.axisOffset,Be=$.clipOffset,oe=[-1,1,1,-1][N],be=0,Ie=0,we=0;if(S.showAxis=ee=ge||x.showEmpty,S.staggerLines=S.horiz&&Te.staggerLines||void 0,S.createGroups(),ge||S.isLinked?(Z.forEach(function(Xe){S.generateTick(Xe)}),S.renderUnsquish(),S.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===S.labelAlign,k(Te.reserveSpace,!Oe&&null,"center"===S.labelAlign||null,S.reserveSpaceDefault)&&Z.forEach(function(Xe){we=Math.max(R[Xe].getLabelSize(),we)}),S.staggerLines&&(we*=S.staggerLines),S.labelOffset=we*(S.opposite?-1:1)):C(R,function(Xe,Je){Xe.destroy(),delete R[Je]}),_e?.text&&!1!==_e.enabled&&(S.addTitle(ee),ee&&!Oe&&!1!==_e.reserveSpace&&(S.titleOffset=be=S.axisTitle.getBBox()[H?"height":"width"],Ie=m(xe=_e.offset)?0:k(_e.margin,H?5:10))),S.renderLine(),S.offset=oe*k(x.offset,De[N]?De[N]+(x.margin||0):0),S.tickRotCorr=S.tickRotCorr||{x:0,y:0},Me=0===N?-S.labelMetrics().h:2===N?S.tickRotCorr.y:0,Ee=Math.abs(we)+Ie,we&&(Ee-=Me,Ee+=oe*(H?k(Te.y,S.tickRotCorr.y+oe*Te.distance):k(Te.x,oe*Te.distance))),S.axisTitleMargin=k(xe,Ee),S.getMaxLabelDimensions&&(S.maxLabelDimensions=S.getMaxLabelDimensions(R,Z)),"colorAxis"!==Y){let Xe=this.tickSize("tick");De[N]=Math.max(De[N],(S.axisTitleMargin||0)+be+oe*S.offset,Ee,Z&&Z.length&&Xe?Xe[0]+oe*S.offset:0);let Je=!S.axisLine||x.offset?0:2*Math.floor(S.axisLine.strokeWidth()/2);Be[he]=Math.max(Be[he],Je)}a(this,"afterGetOffset")}getLinePath(S){let $=this.chart,H=this.opposite,x=this.offset,N=this.horiz,R=this.left+(H?this.width:0)+x,Z=$.chartHeight-this.bottom-(H?this.height:0)+x;return H&&(S*=-1),$.renderer.crispLine([["M",N?this.left:R,N?Z:this.top],["L",N?$.chartWidth-this.right:R,N?Z:$.chartHeight-this.bottom]],S)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(S){let $=this.horiz,H=this.left,x=this.top,N=this.len,R=this.options.title,Z=$?H:x,Y=this.opposite,he=this.offset,ge=R.x,_e=R.y,Te=this.chart.renderer.fontMetrics(S),Oe=S?Math.max(S.getBBox(!1,0).height-Te.h-1,0):0,De={low:Z+($?0:N),middle:Z+N/2,high:Z+($?N:0)}[R.align],Be=($?x+this.height:H)+($?1:-1)*(Y?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Te.f,-Oe][this.side],oe={x:$?De+ge:Be+(Y?this.width:0)+he+ge,y:$?Be+_e-(Y?this.height:0)+he:De+_e};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(S,$){let H=this.minorTicks;H[S]||(H[S]=new ue(this,S,"minor")),$&&H[S].isNew&&H[S].render(null,!0),H[S].render(null,!1,1)}renderTick(S,$,H){let N=this.ticks;(!this.isLinked||S>=this.min&&S<=this.max||this.grid&&this.grid.isColumn)&&(N[S]||(N[S]=new ue(this,S)),H&&N[S].isNew&&N[S].render($,!0,-1),N[S].render($))}render(){let S,$,H=this,x=H.chart,N=H.logarithmic,Z=H.options,Y=H.isLinked,he=H.tickPositions,ge=H.axisTitle,_e=H.ticks,Te=H.minorTicks,Oe=H.alternateBands,De=Z.stackLabels,Be=Z.alternateGridColor,oe=Z.crossing,ee=H.tickmarkOffset,be=H.axisLine,xe=H.showAxis,Ie=te(x.renderer.globalAnimation);if(H.labelEdge.length=0,H.overlap=!1,[_e,Te,Oe].forEach(function(we){C(we,function(Ee){Ee.isActive=!1})}),n(oe)){let we=this.isXAxis?x.yAxis[0]:x.xAxis[0],Ee=[1,-1,-1,1][this.side];if(we){let Me=we.toPixels(oe,!0);H.horiz&&(Me=we.len-Me),H.offset=Ee*Me}}if(H.hasData()||Y){let we=H.chart.hasRendered&&H.old&&n(H.old.min);H.minorTickInterval&&!H.categories&&H.getMinorTickPositions().forEach(function(Ee){H.renderMinorTick(Ee,we)}),he.length&&(he.forEach(function(Ee,Me){H.renderTick(Ee,Me,we)}),ee&&(0===H.min||H.single)&&(_e[-1]||(_e[-1]=new ue(H,-1,null,!0)),_e[-1].render(-1))),Be&&he.forEach(function(Ee,Me){$=void 0!==he[Me+1]?he[Me+1]+ee:H.max-ee,Me%2==0&&Ee=.5)E=Math.round(E),_=D.getLinearTickPositions(E,j,F);else if(E>=.08){let m,w,G,O,f,a,g;for(m=E>.3?[1,2,4]:E>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],w=Math.floor(j);wj&&(!P||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let m=this.lin2log(j),w=this.lin2log(F),G=P?D.getMinorTickInterval():I.tickInterval;E=ve(E=le("auto"===G?null:G,this.minorAutoInterval,I.tickPixelInterval/(P?5:1)*(w-m)/((P?A/D.tickPositions.length:A)||1))),_=D.getLinearTickPositions(E,m,w).map(this.log2lin),P||(this.minorAutoInterval=E/5)}return P||(D.tickInterval=E),_}lin2log(E){return Math.pow(10,E)}log2lin(E){return Math.log(E)/Math.LN10}}pe.Additions=te}(ne||(ne={})),ne}),Le(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(q){var ne;let{erase:re,extend:ve,isNumber:le}=q;return function(pe){let ue;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,A){let I=this.userOptions,_=new ue(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(I.plotLines||[]).concat(I.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),A){let m=I[A]||[];m.push(D),I[A]=m}this.plotLinesAndBands.push(_)}return _}function X(D){return this.addPlotBandOrLine(D,"plotLines")}function E(D,A,I){let f,g,_=this.getPlotLinePath({value:A,force:!0,acrossPanes:(I=I||this.options).acrossPanes}),m=[],w=this.horiz,G=!le(this.min)||!le(this.max)||Dthis.max&&A>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:I.acrossPanes}),a=1;if(O&&_)for(G&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(K,U=>{m[K].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&P.width>0&&P.height>0&&!l.isFlat?(o=te({align:A&&C&&"center",x:A?!C&&4:10,verticalAlign:!A&&C&&"middle",y:A?C?16:10:C?6:-4,rotation:A&&!C&&90},o),this.renderLabel(o,l,C,w)):n&&n.hide(),this}renderLabel(P,D,A,I){let _=this.axis,w=this.label;w||(this.label=w=_.chart.renderer.text(this.getLabelText(P),0,0,P.useHTML).attr({align:P.textAlign||P.align,rotation:P.rotation,class:"highcharts-plot-"+(A?"band":"line")+"-label"+(P.className||""),zIndex:I}),_.chart.styledMode||w.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},P.style)),w.add());let G=D.xBounds||[D[0][1],D[1][1],A?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],A?D[2][2]:D[0][2]],f=ve(G),a=ve(O);w.align(P,!1,{x:f,y:a,width:re(G)-f,height:re(O)-a}),w.alignValue&&"left"!==w.alignValue||w.css({width:(90===w.rotation?_.height-(w.alignAttr.y-_.top):(P.clip?_.width:_.chart.chartWidth)-(w.alignAttr.x-_.left))+"px"}),w.show(!0)}getLabelText(P){return le(P.formatter)?P.formatter.call(this):P.text}destroy(){ue(this.axis.plotLinesAndBands,this),delete this.axis,pe(this)}}return j}),Le(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{format:ue}=q,{composed:J,doc:te,isSafari:X}=ne,{distribute:E}=re,{addEvent:j,clamp:F,css:P,discardElement:D,extend:A,fireEvent:I,isArray:_,isNumber:m,isString:w,merge:G,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class v{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,T=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-T,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let B=0,z=0;n.forEach(function(K){let U=K.pos(!0);U&&(B+=U[0],z+=U[1])}),B/=n.length,z/=n.length,this.shared&&n.length>1&&r&&(k?B=r.chartX:z=r.chartY),l=[B-T,z-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(w).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,T=ve.getRendererType();this.container=C=ne.doc.createElement("div"),C.className="highcharts-tooltip-container",P(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new T(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:T,ySetter:B}=p;p.xSetter=function(z){T.call(p,n.distance),C&&(C.style.left=z+"px")},p.ySetter=function(z){B.call(p,n.distance),C&&(C.style.top=z+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ne.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let _e,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:T,plotLeft:B,plotTop:z,polar:K}=C,{plotX:U=0,plotY:se=0}=l,S={},$=T&&l.h||0,{height:H,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=be=>be*N.scaleX,Z=be=>be*N.scaleY,Y=be=>{let xe="x"===be;return[be,xe?x:H,xe?n:r].concat(k?[xe?R(n):Z(r),xe?N.left-d+R(U+B):N.top-d+Z(se+z),0,xe?x:H]:[xe?n:r,xe?U+B:se+z,xe?B:z,xe?B+C.plotWidth:z+C.plotHeight])},he=Y("y"),ge=Y("x"),Te=!!l.negative;!K&&C.hoverSeries?.yAxis?.reversed&&(Te=!Te);let Oe=!this.followPointer&&O(l.ttBelow,!K&&!T===Te),De=function(be,xe,Ie,we,Ee,Me,Xe){let Je=k?"y"===be?Z(d):R(d):d,lt=(Ie-we)/2,qe=wexe?pt:pt+$)}},Be=function(be,xe,Ie,we,Ee){if(Eexe-d)return!1;S[be]=Eexe-we/2?xe-we-2:Ee-Ie/2},oe=function(be){[he,ge]=[ge,he],_e=be},ee=()=>{!1!==De.apply(0,he)?!1!==Be.apply(0,ge)||_e||(oe(!0),ee()):_e?S.x=S.y=0:(oe(!0),ee())};return(T&&!K||this.len>1)&&oe(),ee(),S}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),T=C.followPointer||C.len>1;A(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:T?void 0:p?(2*k.anchorX+l)/3:l,anchorY:T?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),T=p[0],B=[],z=d.format,K=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!T.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&T.series.tooltipOptions.followPointer;let S=this.getAnchor(n,r),$=S[0],H=S[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),B.push(R.getLabelConfig())}),(se=T.getLabelConfig()).points=B):se=T.getLabelConfig(),this.len=B.length;let x=w(z)?ue(z,se,l):K.call(se,this),N=T.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=$,Z=H;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,Z=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(Y=>C.isDirectTouch||Y.series.shouldShowTooltip(R,Z)))return void this.hide();{let Y=this.getLabel();(!d.style.width||U)&&Y.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),Y.attr({text:x&&x.join?x.join(""):x}),Y.addClass(this.getClassName(T),!0),U||Y.attr({stroke:d.borderColor||T.color||N.color||"#666666"}),this.updatePosition({plotX:$,plotY:H,negative:T.negative,ttBelow:T.ttBelow,h:S[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}I(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:T,plotTop:B,scrollablePixelsY:z=0,scrollablePixelsX:K,styledMode:U},distance:se,options:S,options:{positioner:$},pointer:H}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof K?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},Z=l.getLabel(),Y=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:ge,top:_e}=H.getChartPosition(),Te=B+N,Oe=0,De=p-z;function Be(we,Ee,Me,Xe,Je=!0){let lt,qe;return Me?(lt=he?0:De,qe=F(we-Xe/2,R.left,R.right-Xe-(l.outside?ge:0))):(lt=Ee-Te,qe=F(qe=Je?we-Xe-se:we+se,Je?qe:R.left,R.right)),{x:qe,y:lt}}w(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(we,Ee,Me){if(!1!==Ee&&""!==Ee){let Xe=r[Me-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Je=Xe.isHeader,lt=Je?l:Xe.series,qe=lt.tt=function(Pt,Gt,ti){let Dt=Pt,{isHeader:It,series:xt}=Gt;if(!Dt){let wt={padding:S.padding,r:S.borderRadius};U||(wt.fill=S.backgroundColor,wt["stroke-width"]=S.borderWidth??1),Dt=Y.label("",0,0,S[It?"headerShape":"shape"],void 0,void 0,S.useHTML).addClass(l.getClassName(Gt,!0,It)).attr(wt).add(Z)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(S.style).attr({stroke:S.borderColor||Gt.color||xt.color||"#333333"}),Dt}(lt.tt,Xe,Ee.toString()),st=qe.getBBox(),Tt=st.width+qe.strokeWidth();Je&&(Oe=st.height,De+=Oe,he&&(Te-=Oe));let{anchorX:pt,anchorY:ht}=function(Pt){let Gt,ti,{isHeader:Dt,plotX:It=0,plotY:xt=0,series:wt}=Pt;if(Dt)Gt=Math.max(T+It,T),ti=B+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(It,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-B+xt,{ignoreX:!0})&&(ti=di.pos+xt)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Pt=st.height+1,Gt=$?$.call(l,Tt,Pt,Xe):Be(pt,ht,Je,Tt);we.push({align:$?0:void 0,anchorX:pt,anchorY:ht,boxWidth:Tt,point:Xe,rank:O(Gt.rank,Je?1:0),size:Pt,target:Gt.y,tt:qe,x:Gt.x})}else qe.isActive=!1}return we},[]);!$&&oe.some(we=>{let{outside:Ee}=l,Me=(Ee?ge:0)+we.anchorX;return MeMe})&&(oe=oe.map(we=>{let{x:Ee,y:Me}=Be(we.anchorX,we.anchorY,we.point.isHeader,we.boxWidth,!1);return A(we,{target:Me,x:Ee})})),l.cleanSplit(),E(oe,De);let ee={left:ge,right:ge};oe.forEach(function(we){let{x:Ee,boxWidth:Me,isHeader:Xe}=we;!Xe&&(l.outside&&ge+Eeee.right&&(ee.right=ge+Ee))}),oe.forEach(function(we){let{x:Ee,anchorX:Me,anchorY:Xe,pos:Je,point:{isHeader:lt}}=we,qe={visibility:void 0===Je?"hidden":"inherit",x:Ee,y:(Je||0)+Te,anchorX:Me,anchorY:Xe};if(l.outside&&Ee0&&(lt||(qe.x=Ee+st,qe.anchorX=Me+st),lt&&(qe.x=(ee.right-ee.left)/2,qe.anchorX=Me+st))}we.tt.attr(qe)});let{container:be,outside:xe,renderer:Ie}=l;if(xe&&be&&Ie){let{width:we,height:Ee,x:Me,y:Xe}=Z.getBBox();Ie.setSize(we+Me,Ee+Xe,!1),be.style.left=ee.left+"px",be.style.top=_e+"px"}X&&Z.attr({opacity:1===Z.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},T=d.xDateFormat,B=d[r?"footerFormat":"headerFormat"];return I(this,"headerFormatter",p,function(z){k&&!T&&m(n.key)&&(T=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&T&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(K){B=B.replace("{point."+K+"}","{point."+K+":"+T+"}")}),l.chart.styledMode&&(B=this.styledModeFormat(B)),z.text=ue(B,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,G(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:T=0,width:B=0}=this.getLabel(),{left:z,top:K,scaleX:U,scaleY:se}=k.getChartPosition(),S=(C.positioner||this.getPosition).call(this,B,T,n),$=(n.plotX||0)+r.plotLeft,H=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(S.x+=z-d,S.y+=K-d),x=(C.borderWidth||0)+2*d+2,p.setSize(B+x,T+x,!1),(1!==U||1!==se)&&(P(l,{transform:`scale(${U}, ${se})`}),$*=U,H*=se),$+=z-S.x,H+=K-S.y),this.move(Math.round(S.x),Math.round(S.y||0),$,H)}}return(pe=v||(v={})).compose=function(o){f(J,"Core.Tooltip")&&j(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new pe(n,n.options.tooltip,this))})},v}),Le(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{animObject:pe}=ne,{defaultOptions:ue}=re,{format:J}=ve,{addEvent:te,erase:X,extend:E,fireEvent:j,getNestedProperty:F,isArray:P,isFunction:D,isNumber:A,isObject:I,pick:_,syncTimeout:m,removeEvent:w,uniqueKey:G}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},v=a.getGraphicalProps();v.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),v.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(E({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let v=this.series,o=v.options.pointValKey||v.pointValKey;return E(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?E(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&v.xAxis&&v.xAxis.hasNames&&(this.x=v.xAxis.nameToX(this)),void 0===this.x&&v?this.x=void 0===g?v.autoIncrement():g:A(a.x)&&v.options.relativeXValue&&(this.x=v.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,v=g.chart,o=g.options.dataSorting,n=v.hoverPoints,r=pe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(w(a),a.destroyElements()),a)delete a[d]};a.legendItem&&v.legend.destroyItem(a),n&&(a.setState(),X(n,a),n.length||(v.hoverPoints=null)),a===v.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),m(l,r.duration)):l(),v.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,v=g.getGraphicalProps(a);v.singular.forEach(function(o){g[o]=g[o].destroy()}),v.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,v){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(v=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),j(o,a,g,v)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,v,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),v=n.length;v--;)o[g=n[v]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,v=a.zoneAxis||"y",n=0;for(o=g[0];this[v]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,v){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,v),this.id??(this.id=G()),this.resolveColor(),a.chart.pointCount++,j(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(a){let l,g=this.series,v=g.options.keys,o=v||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(A(a)||null===a)r[o[0]]=a;else if(P(a))for(!v&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:v,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(A(v)&&A(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-v+d]:[v+d,g+C]}}resolveColor(){let o,n,l,a=this.series,v=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(v||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(v||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,v){return v.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:I(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,v=g.tooltipOptions,o=_(v.valueDecimals,""),n=v.valuePrefix||"",r=v.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,v,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let T=d&&r.hasMockGraphic;d&&(null===r.y?!T:T)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),I(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=I(k.data[n],!0)||I(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(v)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let v=this,o=v.series,n=o.chart;a=_(a,!v.selected),this.selectedStaging=a,v.firePointEvent(a?"select":"unselect",{accumulate:g},function(){v.selected=v.options.selected=a,o.options.data[o.data.indexOf(v)]=v.options,v.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==v&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:v}=this.series.chart;v&&(a=a?v.normalize(a):v.getChartCoordinatesFromPoint(this,g),v.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},v=g.events?.[a];!D(v)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(v)?this.hasImportedEvents&&!v&&this.hcEvents?.[a]&&(w(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,v),this.hasImportedEvents=!0)}setState(a,g){let z,K,U,S,v=this.series,o=this.state,n=v.options.states[a||"normal"]||{},r=ue.plotOptions[v.type].marker&&v.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=v.chart,T=r&&v.markerAttribs,B=v.halo,se=v.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,T&&(z=v.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){K=v.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=K.opacity;v.options.inactiveOtherPoints&&A(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(K,U)}z&&this.graphic.animate(z,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(S=k.symbol||v.symbol,se&&se.currentSymbol!==S&&(se=se.destroy()),z&&(se?se[g?"animate":"attr"]({x:z.x,y:z.y}):S&&(v.stateMarkerGraphic=se=p.renderer.symbol(S,z.x,z.y,z.width,z.height).add(v.markerGroup),se.currentSymbol=S)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(v.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let $=n.halo,H=this.graphic||se,x=H&&H.visibility||"inherit";$&&$.size&&H&&"hidden"!==x&&!this.isCluster?(B||(v.halo=B=p.renderer.path().add(H.parentGroup)),B.show()[g?"animate":"attr"]({d:this.haloPath($.size)}),B.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,v.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),B.point=this,p.styledMode||B.attr(E({fill:this.color||v.color,"fill-opacity":$.opacity},q.filterUserAttributes($.attributes||{})))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide),j(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Le(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{parse:le}=q,{charts:pe,composed:ue}=ne,{addEvent:J,attr:te,css:X,extend:E,find:j,fireEvent:F,isNumber:P,isObject:D,objectEach:A,offset:I,pick:_,pushUnique:m,splat:w}=re;class G{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(v){g=v.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(v){-1===a.indexOf(v)?v.setState("inactive",!0):v.options.inactiveOtherPoints&&v.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ne.chartCount&&(G.unbindDocumentMouseUp&&(G.unbindDocumentMouseUp=G.unbindDocumentMouseUp()),G.unbindDocumentTouchEnd&&(G.unbindDocumentTouchEnd=G.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),A(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,v=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=v.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let K,{chart:a}=this,{mouseDownX:g=0,mouseDownY:v=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,T=n&&f[`${n}Key`],B=f.chartX,z=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(Bl+C&&(B=l+C),zd+k&&(z=d+k),this.hasDragged=Math.sqrt(Math.pow(g-B,2)+Math.pow(v-z,2)),this.hasDragged>10)){K=a.isInsidePlot(g-l,v-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:S}=this.getSelectionMarkerAttrs(B,z);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&K&&!T&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(S),K&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:v}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),v&&f){if(this.hasDragged){let o=this.getSelectionBox(v);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}P(g.index)&&(this.selectionMarker=v.destroy())}g&&P(g.index)&&(X(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let v;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(v,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(v,r)>0)&&(v=r)}),v}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:v}=f.series,o=f.shapeArgs;if(g&&v){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&P(o.x)&&P(o.y)&&(n=o.x,r=o.y),a?{chartX:v.len+v.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+v.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=I(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:v}=f;return v>2&&g>2&&(this.chartPosition.scaleX=a.width/v,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,v,o,n){let C,r=[],l=function(T){return T.visible&&!(!o&&T.directTouch)&&_(T.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(T=>T.stickyTracking&&(k.filter||l)(T));let p=v&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(T){return k.filter?k.filter(T):l(T)&&!T.noSharedTooltip})).forEach(function(T){let B=j(T.points,function(z){return z.x===p.x&&!z.isNull});D(B)&&(T.boosted&&T.boost&&(B=T.boost.getPoint(B)),r.push(B))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,v=this.chart.hoverSeries;this.isDirectTouch=!1,!v||!g||v.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+v.index)&&this.inClass(g,"highcharts-tracker")||v.onMouseOut()}inClass(f,a){let v,g=f;for(;g;){if(v=te(g,"class")){if(-1!==v.indexOf(a))return!0;if(-1!==v.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,v=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=v.pageX-a.left,n=v.pageY-a.top;return E(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,v=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(v.target,"highcharts-tracker")?(F(g.series,"click",E(v,{point:g})),a.hoverPoint&&g.firePointEvent("click",v)):(E(v,this.getCoordinates(v)),a.isInsidePlot(v.chartX-o,v.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",v)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ne.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=pe[_(G.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,v=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(v))&&this.drag(v),!a.openMenu&&(this.inClass(v.target,"highcharts-tracker")||a.isInsidePlot(v.chartX-a.plotLeft,v.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(v))&&(this.inClass(v.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(v))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,v=this.chartPosition,o=this.normalize(f,v);!v||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){pe[_(G.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:v,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),v&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let T=p[0],B=p[1]||T;return{x:T.chartX,y:T.chartY,width:B.chartX-T.chartX,height:B.chartY-T.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,v=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&w(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&w(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),v&&v.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let v=this.chart,n=v.tooltip&&v.tooltip.options.enabled?v.tooltip:void 0,r=!!n&&n.shared,l=a||v.hoverPoint,d=l&&l.series||v.hoverSeries,k=this.getHoverData(l,d,v.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,T=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,B=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==v.hoverPoint||n&&n.isHidden)){if((v.hoverPoints||[]).forEach(function(z){-1===p.indexOf(z)&&z.setState()}),v.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(z){z.setState("hover")}),v.hoverPoint&&v.hoverPoint.firePointEvent("mouseOut"),!l.series)return;v.hoverPoints=p,v.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(B?p:l,f)})}else if(T&&n&&!n.isHidden){let z=n.getAnchor([{}],f);v.isInsidePlot(z[0],z[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:z[0],plotY:z[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(v.container.ownerDocument,"mousemove",z=>pe[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(z)),this.eventsToUnbind.push(this.unDocMouseMove)),v.axes.forEach(function(z){let K,U=_((z.crosshair||{}).snap,!0);!U||(K=v.hoverPoint)&&K.series[z.coll]===z||(K=j(p,se=>se.series&&se.series[z.coll]===z)),K||!U?z.drawCrosshair(f,K):z.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp||(G.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||(G.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ne.charts[_(G.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(G.hoverChartIndex=a.index)}touch(f,a){let g,{chart:v,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),v.isInsidePlot(f.chartX-v.plotLeft,f.chartY-v.plotTop,{visiblePlotOnly:!0})&&!v.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,v=a.zooming.type||"";/touch/.test(f.type)&&(v=_(a.zooming.pinchType,v)),this.zoomX=o=/x/.test(v),this.zoomY=n=/y/.test(v),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=G||(G={})).compose=function(O){m(ue,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},G}),Le(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){var ue;let{animObject:J,setAnimation:te}=q,{format:X}=ne,{composed:E,marginNames:j}=re,{distribute:F}=le,{addEvent:P,createElement:D,css:A,defined:I,discardElement:_,find:m,fireEvent:w,isNumber:G,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:v,syncTimeout:o}=pe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),P(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),P(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),w(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:T,symbol:B}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:z={}}=this,K=z.color,{fillColor:U,fillOpacity:se,lineColor:S,marker:$}=l.options,H=x=>(!d&&(x.fill&&(x.fill=K),x.stroke&&(x.stroke=K)),x);p?.css(O(d?this.itemStyle:z)),T?.attr(H({stroke:S||l.color})),B&&B.attr(H($&&B.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(H({fill:U||l.color,"fill-opacity":U?1:se??.75}))}w(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,z=l.checkbox;if(d&&d.element){let K={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[I(d.translateY)?"animate":"attr"](K,void 0,()=>{w(this,"afterPositionItem",{item:l})})}z&&(z.x=C,z.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let T,B=p.checkbox;B&&(T=l+k+B.y+(this.scrollOffset||0)+3,A(B,{left:d.translateX+p.checkboxOffset+B.x-20+"px",top:T+"px",display:this.proximate||T>l-6&&T1.5*_e?ge.height:_e))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,T=this.itemMarginBottom,B=this.itemMarginTop,z=k?f(d.itemDistance,20):0,K=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>K?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>K&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=B+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=B+this.itemY+T,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=B+p+T,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:z):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!I(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),w(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,B){T.test(p)&&!I(l[B])&&(C[j[B]]=Math.max(C[j[B]],C.legend[(B+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][B]*k[B%2?"x":"y"]+f(k.margin,12)+d[B]+(C.titleOffset[B]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(T){let B,z,U,se,K=k;T.yAxis&&(T.xAxis.options.reversed&&(K=!K),T.points&&(B=m(K?T.points:T.points.slice(0).reverse(),function(S){return G(S.plotY)})),z=this.itemMarginTop+T.legendItem.label.getBBox().height+this.itemMarginBottom,se=T.yAxis.top-d.plotTop,U=T.visible?(B?B.plotY:T.yAxis.height)+(se-.3*z):se+T.yAxis.height,C.push({target:U,size:z,item:T}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},G(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let T,B,z,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),K=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,K||(this.group=K=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(K),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),v(p,(S,$)=>(S.options&&S.options.legendIndex||0)-($.options&&$.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=T=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),B=(this.widthOption||this.offsetWidth)+k,z=this.lastItemY+this.lastLineHeight+this.titleHeight,z=this.handleOverflow(z)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(K)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),B>0&&z>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:B,height:z},se.strokeWidth())),K[T?"show":"hide"](),l.styledMode&&"none"===K.getStyle("display")&&(B=z=0),this.legendWidth=B,this.legendHeight=z,T&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,Z,Y,d=this,C=this.chart,k=C.renderer,p=this.options,T=p.y,B="top"===p.verticalAlign,z=this.padding,K=p.maxHeight,U=p.navigation,se=f(U.animation,!0),S=U.arrowSize||12,$=this.pages,H=this.allItems,x=function(Te){"number"==typeof Te?_e.attr({height:Te}):_e&&(d.clipRect=_e.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Te?"rect("+z+"px,9999px,"+(z+Te)+"px,0)":"auto")},N=function(Te){return d[Te]=k.circle(0,0,1.3*S).translate(S/2,S/2).add(ge),C.styledMode||d[Te].attr("fill","rgba(0,0,0,0.0001)"),d[Te]},he=C.spacingBox.height+(B?-T:T)-z,ge=this.nav,_e=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),K&&(he=Math.min(he,K)),$.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-z,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,H.forEach((Te,Oe)=>{let De=(Y=Te.legendItem||{}).y||0,Be=Math.round(Y.label.getBBox().height),oe=$.length;(!oe||De-$[oe-1]>R&&(Z||De)!==$[oe-1])&&($.push(Z||De),oe++),Y.pageIx=oe-1,Z&&((H[Oe-1].legendItem||{}).pageIx=oe-1),Oe===H.length-1&&De+Be-$[oe-1]>R&&De>$[oe-1]&&($.push(De),Y.pageIx=oe),De!==Z&&(Z=De)}),_e||(_e=d.clipRect=k.clipRect(0,z-2,9999,0),d.contentGroup.clip(_e)),x(R),ge||(this.nav=ge=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,S,S).add(ge),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(ge),this.down=k.symbol("triangle-down",0,0,S,S).add(ge),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):ge&&(x(),this.nav=ge.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,T=this.clipHeight,B=this.options.navigation,z=this.pager,K=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:K,translateY:T+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),z.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?B.inactiveColor:B.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?B.inactiveColor:B.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{w(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},T=k.chart.renderer.boxWrapper,B=l instanceof ve,z="highcharts-legend-"+(B?"point":"series")+"-active",K=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=S=>{k.allItems.forEach($=>{l!==$&&[$].concat($.linkedSeries||[]).forEach(H=>{H.setState(S,!B)})})};for(let S of U)S&&S.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&T.addClass(z),K||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),T.removeClass(z),l.setState()}).on("click",function($){let H="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};T.removeClass(z),$={browserEvent:$},l.firePointEvent?l.firePointEvent(H,$,x):w(l,H,$,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),P(l.checkbox,"click",function(d){w(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(ue=n||(n={})).compose=function(r){a(E,"Core.Legend")&&P(r,"beforeMargins",function(){this.legend=new ue(this,this.options.legend)})},n}),Le(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(q){var ne;let{extend:re,merge:ve,pick:le}=q;return function(pe){function ue(J,te,X){let f,E=this.legendItem=this.legendItem||{},{chart:j,options:F}=this,{baseline:P=0,symbolWidth:D,symbolHeight:A}=J,I=this.symbol||"circle",_=A/2,m=j.renderer,w=E.group,G=P-Math.round(A*(X?.4:.3)),O={},a=F.marker,g=0;if(j.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),E.line=m.path().addClass("highcharts-graph").attr(O).add(w),X&&(E.area=m.path().addClass("highcharts-area").add(w)),O["stroke-linecap"]&&(g=Math.min(E.line.strokeWidth(),D)/2),D){let v=[["M",g,G],["L",D-g,G]];E.line.attr({d:v}),E.area?.attr({d:[...v,["L",D-g,P],["L",g,P]]})}if(a&&!1!==a.enabled&&D){let v=Math.min(le(a.radius,_),_);0===I.indexOf("url")&&(a=ve(a,{width:A,height:A}),v=0),E.symbol=f=m.symbol(I,D/2-v,G-v,2*v,2*v,re({context:"legend"},a)).addClass("highcharts-point").add(w),f.isMarker=!0}}pe.areaMarker=function(J,te){ue.call(this,J,te,!0)},pe.lineMarker=ue,pe.rectangle=function(J,te){let X=te.legendItem||{},j=J.symbolHeight,F=J.options.squareSymbol;X.symbol=this.chart.renderer.rect(F?(J.symbolWidth-j)/2:0,J.baseline-j+1,F?j:J.symbolWidth,j,le(J.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(X.group)}}(ne||(ne={})),ne}),Le(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:q}=this.series.chart;return"number"!=typeof this.y?"":q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Le(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{defaultOptions:pe}=ne,{extend:ue,extendClass:J,merge:te}=ve;return function(X){function E(j,F){let P=pe.plotOptions||{},D=F.defaultOptions,A=F.prototype;return A.type=j,A.pointClass||(A.pointClass=re),!X.seriesTypes[j]&&(D&&(P[j]=D),X.seriesTypes[j]=F,!0)}X.seriesTypes=q.seriesTypes,X.registerSeriesType=E,X.seriesType=function(j,F,P,D,A){let I=pe.plotOptions||{};if(I[j]=te(I[F=F||""],P),delete X.seriesTypes[j],E(j,J(X.seriesTypes[F]||function(){},D)),X.seriesTypes[j].prototype.type=j,A){class _ extends re{}ue(_.prototype,A),X.seriesTypes[j].prototype.pointClass=_}return X.seriesTypes[j]}}(le||(le={})),le}),Le(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,setAnimation:j}=q,{defaultOptions:F}=ne,{registerEventOptions:P}=re,{svg:D,win:A}=ve,{seriesTypes:I}=J,{arrayMax:_,arrayMin:m,clamp:w,correctFloat:G,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:v,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:T,merge:B,objectEach:z,pick:K,removeEvent:U,splat:se,syncTimeout:S}=X;class ${constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let Z=this,Y=x.series;this.eventsToUnbind=[],Z.chart=x,Z.options=Z.setOptions(N);let he=Z.options,ge=!1!==he.visible;Z.linkedSeries=[],Z.bindAxes(),o(Z,{name:he.name,state:"",visible:ge,selected:!0===he.selected}),P(this,he);let _e=he.events;(_e&&_e.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),Z.getColor(),Z.getSymbol(),Z.parallelArrays.forEach(function(Te){Z[Te+"Data"]||(Z[Te+"Data"]=[])}),Z.isCartesian&&(x.hasCartesianSeries=!0),Y.length&&(R=Y[Y.length-1]),Z._i=K(R&&R._i,-1)+1,Z.opacity=Z.options.opacity,x.orderItems("series",C(this,Y)),he.dataSorting&&he.dataSorting.enabled?Z.setDataSortingOptions():Z.points||Z.data||Z.setData(he.data,!1),r(this,"afterInit")}is(x){return I[x]&&this instanceof I[x]}bindAxes(){let x,N=this,R=N.options,Z=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(Y){Z[Y].forEach(function(he){x=he.options,(K(R[Y],0)===he.index||void 0!==R[Y]&&R[Y]===x.id)&&(C(N,he.series),N[Y]=he,he.isDirty=!0)}),N[Y]||N.optionalAxis===Y||v(18,!0,Z)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let Z=x.series,Y=p(N)?function(he){let ge="y"===he&&Z.toYData?Z.toYData(x):x[he];Z[he+"Data"][N]=ge}:function(he){Array.prototype[N].apply(Z[he+"Data"],R)};Z.parallelArrays.forEach(Y)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,Z=N.marker||{};return R&&(Z.enabled&&!R.enabled||Z.symbol!==R.symbol||Z.height!==R.height||Z.width!==R.width)}autoIncrement(x){let ge,_e,N=this.options,R=N.pointIntervalUnit,Z=N.relativeXValue,Y=this.chart.time,he=this.xIncrement;return he=K(he,N.pointStart,0),this.pointInterval=_e=K(this.pointInterval,N.pointInterval,1),Z&&p(x)&&(_e*=x),R&&(ge=new Y.Date(he),"day"===R?Y.set("Date",ge,Y.get("Date",ge)+_e):"month"===R?Y.set("Month",ge,Y.get("Month",ge)+_e):"year"===R&&Y.set("FullYear",ge,Y.get("FullYear",ge)+_e),_e=ge.getTime()-he),Z&&p(x)?he+_e:(this.xIncrement=he+_e,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,Z=R.options.plotOptions,Y=R.userOptions||{},he=B(x),ge=R.styledMode,_e={plotOptions:Z,userOptions:he};r(this,"setOptions",_e);let Te=_e.plotOptions[this.type],Oe=Y.plotOptions||{},De=Oe.series||{},Be=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=_e.userOptions;let ee=B(Te,Z.series,oe,he);this.tooltipOptions=B(F.tooltip,F.plotOptions.series?.tooltip,Be?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=K(he.stickyTracking,oe.stickyTracking,De.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Te.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let be=this.zones=(ee.zones||[]).map(xe=>({...xe}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},ge||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),be.push(N)),be.length&&O(be[be.length-1].value)&&be.push(ge?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return K(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let Z,Y,he=this.chart,ge=`${x}Index`,_e=`${x}Counter`,Te=R?.length||he.options.chart.colorCount;!N&&(O(Y=K("color"===x?this.options.colorIndex:void 0,this[ge]))?Z=Y:(he.series.length||(he[_e]=0),Z=he[_e]%Te,he[_e]+=1),R&&(N=R[Z])),void 0!==Z&&(this[ge]=Z),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,Z,Y,he=x.id,ge=x.x,_e=this.points,Te=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof pe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=De=>!De.touched&&De.index===x.index;if(Te&&Te.matchByName?Oe=De=>!De.touched&&De.name===x.name:this.options.relativeXValue&&(Oe=De=>!De.touched&&De.options.x===x.x),!(R=n(_e,Oe)))return}return R&&void 0!==(Y=R&&R.index)&&(Z=!0),void 0===Y&&p(ge)&&(Y=this.xData.indexOf(ge,N)),-1!==Y&&void 0!==Y&&this.cropped&&(Y=Y>=this.cropStart?Y-this.cropStart:Y),!Z&&p(Y)&&_e[Y]&&_e[Y].touched&&(Y=void 0),Y}updateData(x,N){let Te,Oe,De,Be,R=this.options,Z=R.dataSorting,Y=this.points,he=[],ge=this.requireSorting,_e=x.length===Y.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,be){let xe,Ie=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Ie.id||p(Ie.x)?(-1===(xe=this.findPointIndex(Ie,Be))||void 0===xe?he.push(ee):Y[xe]&&ee!==R.data[xe]?(Y[xe].update(ee,!1,null,!1),Y[xe].touched=!0,ge&&(Be=xe+1)):Y[xe]&&(Y[xe].touched=!0),(!_e||be!==xe||Z&&Z.enabled||this.hasDerivedData)&&(Te=!0)):he.push(ee)},this),Te)for(Oe=Y.length;Oe--;)(De=Y[Oe])&&!De.touched&&De.remove&&De.remove(!1,N);else!_e||Z&&Z.enabled?oe=!1:(x.forEach(function(ee,be){ee===Y[be].y||Y[be].destroyed||Y[be].update(ee,!1,null,!1)}),he.length=0);return Y.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,Z){let we,Ee,Me,qe,Y=this,he=Y.points,ge=he&&he.length||0,_e=Y.options,Te=Y.chart,Oe=_e.dataSorting,De=Y.xAxis,Be=_e.turboThreshold,oe=this.xData,ee=this.yData,be=Y.pointArrayMap,xe=be&&be.length,Ie=_e.keys,Xe=0,Je=1,lt=null;Te.options.chart.allowMutatingData||(_e.data&&delete Y.options.data,Y.userOptions.data&&delete Y.userOptions.data,qe=B(!0,x));let st=(x=qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Te.options.chart.allowMutatingData&&!1!==Z&&st&&ge&&!Y.cropped&&!Y.hasGroupedData&&Y.visible&&!Y.boosted&&(Me=this.updateData(x,R)),!Me){if(Y.xIncrement=null,Y.colorCounter=0,this.parallelArrays.forEach(function(Tt){Y[Tt+"Data"].length=0}),Be&&st>Be)if(p(lt=Y.getFirstValidPoint(x)))for(we=0;we=0?Xe:0,Je=Je>=0?Je:1),1===lt.length&&(Je=0),Xe===Je)for(we=0;we{let ge=d(R,Y),_e=d(R,he);return _ege?1:0}).forEach(function(Y,he){Y.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(Y){let he=Y.options,ge=he.data;he.dataSorting&&he.dataSorting.enabled||!ge||(ge.forEach(function(_e,Te){ge[Te]=Z(Y,_e),x[Te]&&(ge[Te].x=x[Te].x,ge[Te].index=Te)}),Y.setData(ge,!1))}),x}getProcessedData(x){let Te,Oe,Be,oe,ee,N=this,R=N.xAxis,Z=N.options,Y=Z.cropThreshold,he=x||N.getExtremesFromAll||Z.getExtremesFromAll,ge=R?.logarithmic,_e=N.isCartesian,De=0,be=N.xData,xe=N.yData,Ie=!1,we=be.length;R&&(oe=(Be=R.getExtremes()).min,ee=Be.max,Ie=!(!R.categories||R.names.length)),_e&&N.sorted&&!he&&(!Y||we>Y||N.forceCrop)&&(be[we-1]ee?(be=[],xe=[]):N.yData&&(be[0]ee)&&(be=(Te=this.cropData(N.xData,N.yData,oe,ee)).xData,xe=Te.yData,De=Te.start,Oe=!0));let Ee=l([ge?be.map(ge.log2lin):be],()=>N.requireSorting&&!Ie&&v(15,!1,N.chart));return{xData:be,yData:xe,cropped:Oe,cropStart:De,closestPointRange:Ee}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,Z){let he,ge,Y=x.length,_e=0,Te=Y;for(he=0;he=R){_e=Math.max(0,he-1);break}for(ge=he;geZ){Te=ge+1;break}return{xData:x.slice(_e,Te),yData:N.slice(_e,Te),start:_e,end:Te}}generatePoints(){let Be,oe,ee,be,x=this.options,N=this.processedData||x.data,R=this.processedXData,Z=this.processedYData,Y=this.pointClass,he=R.length,ge=this.cropStart||0,_e=this.hasGroupedData,Te=x.keys,Oe=[],De=x.dataGrouping&&x.dataGrouping.groupAll?ge:0,xe=this.data;if(!xe&&!_e){let Ie=[];Ie.length=N.length,xe=this.data=Ie}for(Te&&_e&&(this.options.keys=!1),be=0;be0:oe.length)||!_e),De=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(Y[ee+ge]||Be)>=xe&&(Y[ee-ge]||Be)<=Ie,Oe&&De)if(be=oe.length)for(;be--;)p(oe[be])&&(he[we++]=oe[be]);else he[we++]=oe;let Me={activeYData:he,dataMin:m(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Me}),Me}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,Z=null;for(;null===Z&&R1)&&(he.step=function(Be,oe){De&&De.apply(oe,arguments),"width"===oe.prop&&Te?.element&&Te.attr(Y?"height":"width",Be+99)}),_e.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,Z,Y,he,ge,_e,Te=this.chart,Oe=Te.styledMode,{colorAxis:De,options:Be}=this,oe=Be.marker,ee=this[this.specialGroup||"markerGroup"],be=this.xAxis,xe=K(oe.enabled,!be||!!be.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=Z=Te.renderer.symbol(Ie,_e.x,_e.y,_e.width,_e.height,ge?he:oe).add(ee),this.enabledDataSorting&&Te.hasRendered&&(Z.attr({x:R.startXPos}),Y="animate")),Z&&"animate"===Y&&Z[we?"show":"hide"](we).animate(_e),Z){let Ee=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?De&&Z.css({fill:Ee.fill}):Z[Y](Ee)}Z&&Z.addClass(R.getClassName(),!0)}else Z&&(R.graphic=Z.destroy())}markerAttribs(x,N){let _e,Te,R=this.options,Z=R.marker,Y=x.marker||{},he=Y.symbol||Z.symbol,ge={},Oe=K(Y.radius,Z&&Z.radius);N&&(_e=Z.states[N],Oe=K((Te=Y.states&&Y.states[N])&&Te.radius,_e&&_e.radius,Oe&&Oe+(_e&&_e.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let De=x.pos();return p(Oe)&&De&&(ge.x=De[0]-Oe,ge.y=De[1]-Oe,R.crisp&&(ge.x=Math.floor(ge.x))),Oe&&(ge.width=ge.height=2*Oe),ge}pointAttribs(x,N){let Te,Oe,Be,oe,R=this.options.marker,Z=x&&x.options,Y=Z&&Z.marker||{},he=Z&&Z.color,ge=x&&x.color,_e=x&&x.zone&&x.zone.color,De=this.color,ee=K(Y.lineWidth,R.lineWidth),be=1;return De=he||_e||ge||De,Be=Y.fillColor||R.fillColor||De,oe=Y.lineColor||R.lineColor||De,Te=R.states[N=N||"normal"]||{},ee=K((Oe=Y.states&&Y.states[N]||{}).lineWidth,Te.lineWidth,ee+K(Oe.lineWidthPlus,Te.lineWidthPlus,0)),Be=Oe.fillColor||Te.fillColor||Be,{stroke:oe=Oe.lineColor||Te.lineColor||oe,"stroke-width":ee,fill:Be,opacity:be=K(Oe.opacity,Te.opacity,be)}}destroy(x){let N,R,Z,Y=this,he=Y.chart,ge=/AppleWebKit\/533/.test(A.navigator.userAgent),_e=Y.data||[];for(r(Y,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(Y.axisTypes||[]).forEach(function(Te){(Z=Y[Te])&&Z.series&&(g(Z.series,Y),Z.isDirty=Z.forceRedraw=!0)}),Y.legendItem&&Y.chart.legend.destroyItem(Y),N=_e.length;N--;)(R=_e[N])&&R.destroy&&R.destroy();for(let Te of Y.zones)f(Te,void 0,!0);X.clearTimeout(Y.animationTimeout),z(Y,function(Te,Oe){Te instanceof te&&!Te.survive&&Te[ge&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===Y&&(he.hoverSeries=void 0),g(he.series,Y),he.orderItems("series"),z(Y,function(Te,Oe){x&&"hcEvents"===Oe||delete Y[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:Z,points:Y,xAxis:he,yAxis:ge,zoneAxis:_e}=this,{inverted:Te,renderer:Oe}=N,De=this[`${_e}Axis`],{isXAxis:Be,len:oe=0}=De||{},ee=(R?.strokeWidth()||0)/2+1,be=(xe,Ie=0,we=0)=>{Te&&(we=oe-we);let{translated:Ee=0,lineClip:Me}=xe,Xe=we-Ee;Me?.push(["L",Ie,Math.abs(Xe){Me.forEach((Xe,Je)=>{("M"===Xe[0]||"L"===Xe[0])&&(Me[Je]=[Xe[0],Be?oe-Xe[1]:Xe[1],Be?Xe[2]:oe-Xe[2]])})};if(Z.forEach(Me=>{Me.lineClip=[],Me.translated=w(De.toPixels(K(Me.value,xe),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===_e&&Y.length{let Xe=Me.lineClip||[],Je=Math.round(Me.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:qe}=Me,st=0,Tt=0,pt=he.len,ht=ge.len;Be?(st=Je,pt=Ee):(Tt=Je,ht=Ee);let Pt=[["M",st,Tt],["L",pt,Tt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Pt[0],...Xe,Pt[1],Pt[2],...we,Pt[3],Pt[4]];we=Xe.reverse(),Ee=Je,Te&&(Ie(Gt),x&&Ie(Pt)),lt?(lt.animate({d:Gt}),qe?.animate({d:Pt})):(lt=Me.clip=Oe.path(Gt),x&&(qe=Me.simpleClip=Oe.path(Pt))),R&&Me.graph?.clip(lt),x&&Me.area?.clip(qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,Z,Y){let he=this[x],ge=!he,_e={visibility:R,zIndex:Z||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(_e.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(Y)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(_e)[ge?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,Z=this.chart,Y=Z.inverted&&!Z.polar&&N&&this.invertible&&"series"===x;return Z.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:Z.plotLeft,translateY:R?R.top:Z.plotTop,rotation:Y?90:0,rotationOriginX:Y?(N.len-R.len)/2:0,rotationOriginY:Y?(N.len+R.len)/2:0,scaleX:Y?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:Z}=x,Y=E(R.animation),he=x.visible?"inherit":"hidden",ge=R.zIndex,_e=N.seriesGroup,Te=x.finishedAnimating?0:Y.duration;r(this,"render"),x.plotGroup("group","series",he,ge,_e),x.markerGroup=x.plotGroup("markerGroup","markers",he,ge,_e),!1!==R.clip&&x.setClip(),Te&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Te&&x.animate?.(),Z||(Te&&Y.defer&&(Te+=Y.defer),x.animationTimeout=S(()=>{x.afterAnimate()},Te||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:Z}=this,Y=this.chart.inverted;return this.searchKDTree({clientX:Y?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:Y?Z.len-x.chartX+Z.pos:x.chartY-Z.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,S(function(){N.kdTree=function Z(Y,he,ge){let _e,Te,Oe=Y?.length;if(Oe)return _e=N.kdAxisArray[he%ge],Y.sort((De,Be)=>(De[_e]||0)-(Be[_e]||0)),{point:Y[Te=Math.floor(Oe/2)],left:Z(Y.slice(0,Te),he+1,ge),right:Z(Y.slice(Te+1),he+1,ge)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let Z=this,[Y,he]=this.kdAxisArray,ge=N?"distX":"dist",_e=(Z.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Te=!!Z.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(De,Be,oe,ee){let Ie,we,be=Be.point,xe=Z.kdAxisArray[oe%ee],Ee=be;!function(lt,qe){let st=lt[Y],Tt=qe[Y],pt=O(st)&&O(Tt)?st-Tt:null,ht=lt[he],Pt=qe[he],Gt=O(ht)&&O(Pt)?ht-Pt:0,ti=Te&&qe.marker?.radius||0;qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(De,be);let Me=(De[xe]||0)-(be[xe]||0)+(Te&&be.marker?.radius||0),Xe=Me<0?"left":"right",Je=Me<0?"right":"left";return Be[Xe]&&(Ee=(Ie=Oe(De,Be[Xe],oe+1,ee))[ge]=0&&he<=(Z?Z.len:N.plotHeight)&&Y>=0&&Y<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,Z=[].concat((R?x.areaPath:x.graphPath)||[]),Y=x.chart,he=Y.pointer,ge=Y.renderer,_e=Y.options.tooltip?.snap||0,Te=()=>{N.enableMouseTracking&&Y.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",De=x.tracker;De?De.attr({d:Z}):x.graph&&(x.tracker=De=ge.path(Z).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),Y.styledMode||De.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*_e)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Be=>{Be&&(Be.addClass("highcharts-tracker").on("mouseover",Te).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!Y.styledMode&&Be.css({cursor:N.cursor}),Be.on("touchstart",Te))})),r(this,"afterDrawTracker")}addPoint(x,N,R,Z,Y){let he,ge,_e=this.options,Te=this.data,Oe=this.chart,De=this.xAxis,Be=De&&De.hasNames&&De.names,oe=_e.data,ee=this.xData;N=K(N,!0);let be={series:this};this.pointClass.prototype.applyOptions.apply(be,[x]);let xe=be.x;if(ge=ee.length,this.requireSorting&&xexe;)ge--;this.updateParallelArrays(be,"splice",[ge,0,0]),this.updateParallelArrays(be,ge),Be&&be.name&&(Be[xe]=be.name),oe.splice(ge,0,x),(he||this.processedData)&&(this.data.splice(ge,0,null),this.processData()),"point"===_e.legendType&&this.generatePoints(),R&&(Te[0]&&Te[0].remove?Te[0].remove(!1):(Te.shift(),this.updateParallelArrays(be,"shift"),oe.shift())),!1!==Y&&r(this,"addPoint",{point:be}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(Z)}removePoint(x,N,R){let Z=this,Y=Z.data,he=Y[x],ge=Z.points,_e=Z.chart,Te=function(){ge&&ge.length===Y.length&&ge.splice(x,1),Y.splice(x,1),Z.options.data.splice(x,1),Z.updateParallelArrays(he||{series:Z},"splice",[x,1]),he&&he.destroy(),Z.isDirty=!0,Z.isDirtyData=!0,N&&_e.redraw()};j(R,_e),N=K(N,!0),he?he.firePointEvent("remove",null,Te):Te()}remove(x,N,R,Z){let Y=this,he=Y.chart;function ge(){Y.destroy(Z),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(Z),K(x,!0)&&he.redraw(N)}!1!==R?r(Y,"remove",null,ge):ge()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let De,Be,R=this,Z=R.chart,Y=R.userOptions,he=R.initialType||R.type,ge=Z.options.plotOptions,_e=I[he].prototype,Te=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||Y.type||Z.options.chart.type,be=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Ie=>R.hasOptionChanged(Ie)));ee=ee||he,be&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Ie){oe.push(Ie+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=B(Y,{index:void 0===Y.index?R.index:Y.index,pointStart:ge?.series?.pointStart??Y.pointStart??R.xData?.[0]},!be&&{data:R.options.data},x,Te),be&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Ie){oe[Ie]=R[Ie],delete R[Ie]});let xe=!1;if(I[ee]){if(xe=ee!==R.type,R.remove(!1,!1,!1,!0),xe)if(Z.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,I[ee].prototype);else{let Ie=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Be in _e)R[Be]=void 0;o(R,I[ee].prototype),Ie?R.hcEvents=Ie:delete R.hcEvents}}else v(17,!0,Z,{missingModuleFor:ee});if(oe.forEach(function(Ie){R[Ie]=oe[Ie]}),R.init(Z,x),be&&this.points)for(let Ie of(!1===(De=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(De,Y)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Ie&&Ie.series&&(Ie.resolveColor(),Object.keys(Oe).length&&Ie.destroyElements(Oe),!1===De.showInLegend&&Ie.legendItem&&Z.legend.destroyItem(Ie));R.initialType=he,Z.linkSeries(),Z.setSortedData(),xe&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),K(N,!0)&&Z.redraw(!!be&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],Z=this.chart.options.plotOptions,Y=this.userOptions[x],he=K(Z?.[this.type]?.[x],Z?.series?.[x]);return Y&&!O(he)?R!==Y:R!==K(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,Z=N.hoverPoint;N.hoverSeries=null,Z&&Z.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(Y){Y.setState("",!0)})}setState(x,N){let R=this,Z=R.options,Y=R.graph,he=Z.inactiveOtherPoints,ge=Z.states,_e=K(ge[x||"normal"]&&ge[x||"normal"].animation,R.chart.options.chart.animation),Te=Z.lineWidth,Oe=Z.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(De){De&&(R.state&&De.removeClass("highcharts-series-"+R.state),x&&De.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(ge[x]&&!1===ge[x].enabled)return;if(x&&(Te=ge[x].lineWidth||Te+(ge[x].lineWidthPlus||0),Oe=K(ge[x].opacity,Oe)),Y&&!Y.dashstyle&&p(Te))for(let De of[Y,...this.zones.map(Be=>Be.graph)])De?.animate({"stroke-width":Te},_e);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(De){De&&De.animate({opacity:Oe},_e)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,Z=R.chart,Y=Z.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let ge=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_e=>{R[_e]?.[ge]()}),(Z.hoverSeries===R||Z.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&Z.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&Z.series.forEach(_e=>{_e.options.stacking&&_e.visible&&(_e.isDirty=!0)}),R.linkedSeries.forEach(_e=>{_e.setVisible(x,!1)}),Y&&(Z.isDirtyBox=!0),r(R,ge),!1!==N&&Z.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return $.defaultOptions=ue,$.types=J.seriesTypes,$.registerType=J.registerSeriesType,o($.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),J.series=$,$}),Le(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P){let{animate:D,animObject:A,setAnimation:I}=q,{defaultOptions:_,defaultTime:m}=re,{numberFormat:w}=ve,{registerEventOptions:G}=le,{charts:O,doc:f,marginNames:a,svg:g,win:v}=pe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:T,error:B,extend:z,find:K,fireEvent:U,getStyle:se,isArray:S,isNumber:$,isObject:H,isString:x,merge:N,objectEach:R,pick:Z,pInt:Y,relativeLength:he,removeEvent:ge,splat:_e,syncTimeout:Te,uniqueKey:Oe}=j;class De{static chart(oe,ee,be){return new De(oe,ee,be)}constructor(oe,ee,be){this.sharedClips={};let xe=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=xe.shift()),this.init(xe[0],xe[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:Z(oe.zoomType,ee.type),key:Z(oe.zoomKey,ee.key),pinchType:Z(oe.pinchType,ee.pinchType),singleTouch:Z(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let be=N(_,oe),xe=be.chart;this.userOptions=z({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=be,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new E(oe.time):pe.time,this.numberFormatter=xe.numberFormatter||w,this.styledMode=xe.styledMode,this.hasCartesianSeries=xe.showAxes,this.index=O.length,O.push(this),pe.chartCount++,G(this,xe),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let be=oe.type||this.options.chart.type,xe=o[be];xe||B(17,!0,this,{missingModuleFor:be});let Ie=new xe;return"function"==typeof Ie.init&&Ie.init(this,oe),Ie}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let be=this[oe],xe=this.options[oe]=_e(this.options[oe]).slice(),Ie=this.userOptions[oe]=this.userOptions[oe]?_e(this.userOptions[oe]).slice():[];if(this.hasRendered&&(xe.splice(ee),Ie.splice(ee)),be)for(let we=ee,Ee=be.length;we=Math.max(Xe+we,ht.pos)&&Pt<=Math.min(Xe+we+qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!be.ignoreY&&pt.isInsidePlot){let ht=!xe&&be.axis&&!be.axis.isXAxis&&be.axis||lt&&(xe?lt.xAxis:lt.yAxis)||{pos:Ee,len:1/0},Pt=be.paneCoordinates?ht.pos+Tt:Ee+Tt;Pt>=Math.max(Je+Ee,ht.pos)&&Pt<=Math.min(Je+Ee+qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Je,lt,qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],be=this.series,xe=this.pointer,Ie=this.legend,we=this.userOptions.legend,Ee=this.renderer,Me=Ee.isHidden(),Xe=[],st=this.isDirtyBox,Tt=this.isDirtyLegend;for(Ee.rootFontSize=Ee.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),I(!!this.hasRendered&&oe,this),Me&&this.temporaryDisplay(),this.layOutTitles(!1),qe=be.length;qe--;)if(((pt=be[qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Je=!0;break}if(Je)for(qe=be.length;qe--;)(pt=be[qe]).options.stacking&&(pt.isDirty=!0);be.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),Tt=!0):we&&(we.labelFormatter||we.labelFormat)&&(Tt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),Tt&&Ie&&Ie.options.enabled&&(Ie.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Pt=ht.min+","+ht.max;ht.extKey!==Pt&&(ht.extKey=Pt,Xe.push(function(){U(ht,"afterSetExtremes",z(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),be.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),xe&&xe.reset(!0),Ee.draw(),U(this,"redraw"),U(this,"render"),Me&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function be(Ie){return Ie.id===oe||Ie.options&&Ie.options.id===oe}let xe=K(this.axes,be)||K(this.series,be);for(let Ie=0;!xe&&Ie(ee.getPointsCollection().forEach(be=>{Z(be.selectedStaging,be.selected)&&oe.push(be)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,be){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(be)}applyDescription(oe,ee){let be=this,xe=this.options[oe]=N(this.options[oe],ee),Ie=this[oe];Ie&&ee&&(this[oe]=Ie=Ie.destroy()),xe&&!Ie&&((Ie=this.renderer.text(xe.text,0,0,xe.useHTML).attr({align:xe.align,class:"highcharts-"+oe,zIndex:xe.zIndex||4}).add()).update=function(we,Ee){be.applyDescription(oe,we),be.layOutTitles(Ee)},this.styledMode||Ie.css(z("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},xe.style)),this[oe]=Ie)}layOutTitles(oe=!0){let ee=[0,0,0],be=this.renderer,xe=this.spacingBox;["title","subtitle","caption"].forEach(function(we){let Ee=this[we],Me=this.options[we],Xe=Me.verticalAlign||"top",Je="title"===we?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Ee){Ee.css({width:(Me.width||xe.width+(Me.widthAdjust||0))+"px"});let lt=be.fontMetrics(Ee).b,qe=Math.round(Ee.getBBox(Me.useHTML).height);Ee.align(z({y:"bottom"===Xe?lt:Je+lt,height:qe},Me),!1,"spacingBox"),Me.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Ie=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Ie&&(this.isDirtyBox=this.isDirtyLegend=Ie,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,be=oe.height,xe=this.getContainerBox();this.chartWidth=Math.max(0,ee||xe.width||600),this.chartHeight=Math.max(0,he(be,this.chartWidth)||(xe.height>1?xe.height:400)),this.containerBox=xe}temporaryDisplay(oe){let be,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},be={display:"block",overflow:"hidden"},ee!==this.renderTo&&(be.height=0),d(ee,be),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Ie,oe=this.options,ee=oe.chart,be="data-highcharts-chart",xe=Oe(),we=this.renderTo;we||(this.renderTo=we=ee.renderTo),x(we)&&(this.renderTo=we=f.getElementById(we)),we||B(13,!0,this);let Ee=Y(r(we,be));$(Ee)&&O[Ee]&&O[Ee].hasRendered&&O[Ee].destroy(),r(we,be,this.index),we.innerHTML=F.emptyHTML,ee.skipClone||we.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Me=this.chartHeight,Xe=this.chartWidth;d(we,{overflow:"hidden"}),this.styledMode||(Ie=z({position:"relative",overflow:"hidden",width:Xe+"px",height:Me+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Je=l("div",{id:xe},Ie,we);this.container=Je,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Je,{width:Z(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Je.style.cursor;let lt=ee.renderer||!g?ue.getRendererType(ee.renderer):X;if(this.renderer=new lt(Je,Xe,Me,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),I(void 0,this),this.setClassName(ee.className),this.styledMode)for(let qe in oe.defs)this.renderer.definition(oe.defs[qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:be,titleOffset:xe}=this;this.resetMargins(),xe[0]&&!C(be[0])&&(this.plotTop=Math.max(this.plotTop,xe[0]+ee[0])),xe[2]&&!C(be[2])&&(this.marginBottom=Math.max(this.marginBottom,xe[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(be,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],be=oe.colorAxis,xe=oe.margin,Ie=function(we){we.forEach(function(Ee){Ee.visible&&Ee.getOffset()})};oe.hasCartesianSeries?Ie(oe.axes):be&&be.length&&Ie(be),a.forEach(function(we,Ee){C(xe[Ee])||(oe[we]+=ee[Ee])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,be=ee.containerBox,xe=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&be&&xe.width&&((xe.width!==be.width||xe.height!==be.height)&&(j.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Te(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=xe)}setReflow(){let oe=this,ee=be=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(be)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let be=n(v,"resize",ee);n(this,"destroy",be)}}setSize(oe,ee,be){let xe=this,Ie=xe.renderer;xe.isResizing+=1,I(be,xe);let we=Ie.globalAnimation;xe.oldChartHeight=xe.chartHeight,xe.oldChartWidth=xe.chartWidth,void 0!==oe&&(xe.options.chart.width=oe),void 0!==ee&&(xe.options.chart.height=ee),xe.getChartSize();let{chartWidth:Ee,chartHeight:Me,scrollablePixelsX:Xe=0,scrollablePixelsY:Je=0}=xe;(xe.isDirtyBox||Ee!==xe.oldChartWidth||Me!==xe.oldChartHeight)&&(xe.styledMode||(we?D:d)(xe.container,{width:`${Ee+Xe}px`,height:`${Me+Je}px`},we),xe.setChartSize(!0),Ie.setSize(Ee,Me,we),xe.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),xe.isDirtyLegend=!0,xe.isDirtyBox=!0,xe.layOutTitles(),xe.getMargins(),xe.redraw(we),xe.oldChartHeight=void 0,U(xe,"resize"),setTimeout(()=>{xe&&U(xe,"endResize",void 0,()=>{xe.isResizing-=1})},A(we).duration))}setChartSize(oe){let ee,be,xe,Ie,we=this.inverted,Ee=this.renderer,Me=this.chartWidth,Xe=this.chartHeight,Je=this.options.chart,lt=this.spacing,qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=be=Math.round(this.plotTop),this.plotWidth=xe=Math.max(0,Math.round(Me-ee-this.marginRight)),this.plotHeight=Ie=Math.max(0,Math.round(Xe-be-this.marginBottom)),this.plotSizeX=we?Ie:xe,this.plotSizeY=we?xe:Ie,this.plotBorderWidth=Je.plotBorderWidth||0,this.spacingBox=Ee.spacingBox={x:lt[3],y:lt[0],width:Me-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Ee.plotBox={x:ee,y:be,width:xe,height:Ie};let st=2*Math.floor(this.plotBorderWidth/2),Tt=Math.ceil(Math.max(st,qe[3])/2),pt=Math.ceil(Math.max(st,qe[0])/2);this.clipBox={x:Tt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,qe[1])/2-Tt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Ee.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(be){let xe=ee[be],Ie=H(xe)?xe:[xe,xe,xe,xe];["Top","Right","Bottom","Left"].forEach(function(we,Ee){oe[be][Ee]=Z(ee[be+we],Ie[Ee])})}),a.forEach(function(be,xe){oe[be]=Z(oe.margin[xe],oe.spacing[xe])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,It,xt,oe=this.options.chart,ee=this.renderer,be=this.chartWidth,xe=this.chartHeight,Ie=this.styledMode,we=this.plotBGImage,Ee=oe.backgroundColor,Me=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Je=this.plotLeft,lt=this.plotTop,qe=this.plotWidth,st=this.plotHeight,Tt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Pt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Pt||(this.chartBackground=Pt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Ie?Dt=It=Pt.strokeWidth():(It=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),xt={fill:Ee||"none"},(Dt||Pt["stroke-width"])&&(xt.stroke=oe.borderColor,xt["stroke-width"]=Dt),Pt.attr(xt).shadow(oe.shadow)),Pt[wt]({x:It/2,y:It/2,width:be-It-Dt%2,height:xe-It-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](Tt),!Ie&&(Gt.attr({fill:Me||"none"}).shadow(oe.plotShadow),Xe&&(we?(Xe!==we.attr("href")&&we.attr("href",Xe),we.animate(Tt)):this.plotBGImage=ee.image(Xe,Je,lt,qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Ie||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Je,y:lt,width:qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,be,xe=this,Ie=xe.options.chart,we=xe.options.series;["inverted","angular","polar"].forEach(function(Ee){for(ee=o[Ie.type],be=Ie[Ee]||ee&&ee.prototype[Ee],oe=we&&we.length;!be&&oe--;)(ee=o[we[oe].type])&&ee.prototype[Ee]&&(be=!0);xe[Ee]=be})}linkSeries(oe){let ee=this,be=ee.series;be.forEach(function(xe){xe.linkedSeries.length=0}),be.forEach(function(xe){let{linkedTo:Ie}=xe.options;if(x(Ie)){let we;(we=":previous"===Ie?ee.series[xe.index-1]:ee.get(Ie))&&we.linkedParent!==xe&&(we.linkedSeries.push(xe),xe.linkedParent=we,we.enabledDataSorting&&xe.setDataSortingOptions(),xe.visible=Z(xe.options.visible,we.options.visible,xe.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Me,oe=this.axes,ee=this.colorAxis,be=this.renderer,xe=this.options.chart.axisLayoutRuns||2,Ie=Je=>{Je.forEach(lt=>{lt.visible&<.render()})},we=0,Ee=!0,Xe=0;for(let Je of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Je,{labels:qe}=lt;if(Je.horiz&&Je.visible&&qe.enabled&&Je.series.length&&"colorAxis"!==Je.coll&&!this.polar){we=lt.tickLength,Je.createGroups();let st=new P(Je,0,"",!0),Tt=st.createLabel("x",qe);if(st.destroy(),Tt&&Z(qe.reserveSpace,!$(lt.crossing))&&(we=Tt.getBBox().height+qe.distance+Math.max(lt.offset||0,0)),we){Tt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-we,0);(Ee||Me||xe>1)&&Xe(Xe?1:1.1),Me=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Ie(oe):ee&&ee.length&&Ie(ee),this.seriesGroup||(this.seriesGroup=be.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,be=N(!0,this.options.credits,oe);be.enabled&&!this.credits&&(this.credits=this.renderer.text(be.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){be.href&&(v.location.href=be.href)}).attr({align:be.position.align,zIndex:8}),ee.styledMode||this.credits.css(be.style),this.credits.add().align(be.position),this.credits.update=function(xe){ee.credits=ee.credits.destroy(),ee.addCredits(xe)})}destroy(){let oe,ee=this,be=ee.axes,xe=ee.series,Ie=ee.container,we=Ie&&Ie.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?T(O,ee):O[ee.index]=void 0,pe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),ge(ee),oe=be.length;oe--;)be[oe]=be[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=xe.length;oe--;)xe[oe]=xe[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Ee){let Me=ee[Ee];Me&&Me.destroy&&(ee[Ee]=Me.destroy())}),Ie&&(Ie.innerHTML=F.emptyHTML,ge(Ie),we&&p(Ie)),R(ee,function(Ee,Me){delete ee[Me]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let be=S(ee.series)?ee.series:[];ee.series=[],be.forEach(function(xe){oe.initSeries(xe)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let be=this,xe="object"==typeof ee?ee:{enabled:ee,type:"x"},Ie=xe.type,we=Ie&&be[{x:"xAxis",xy:"axes",y:"yAxis"}[Ie]].filter(Me=>Me.options.panningEnabled&&!Me.options.isInternal),Ee=be.options.chart;Ee?.panning&&(Ee.panning=xe),U(this,"pan",{originalEvent:oe},()=>{be.transform({axes:we,event:oe,to:{x:oe.chartX-(be.mouseDownX||0),y:oe.chartY-(be.mouseDownY||0)},trigger:"pan"}),d(be.container,{cursor:"move"})})}transform(oe){let qe,{axes:ee=this.axes,event:be,from:xe={},reset:Ie,selection:we,to:Ee={},trigger:Me}=oe,{inverted:Xe,resetZoomButton:Je}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(Tt=>Tt.setState()),ee)){let{horiz:Tt,len:pt,minPointOffset:ht=0,options:Pt,reversed:Gt}=st,ti=Tt?"width":"height",Dt=Tt?"x":"y",It=Ee[ti]||st.len,xt=xe[ti]||st.len,wt=10>Math.abs(It)?1:It/xt,Qt=(xe[Dt]||0)+xt/2-st.pos,di=Qt-((Ee[Dt]??st.pos)+It/2-st.pos)/wt,Ni=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Ie&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Ni,vi=st.toValue(di+pt/wt,!0)-(ht*Ni||0),zi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Ie&&"yAxis"===st.coll&&!zi){for(let js of st.series){let On=js.getExtremes(js.getProcessedData(!0).yData,!0);zi??(zi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),$(On.dataMin)&&$(On.dataMax)&&(zi.dataMin=Math.min(On.dataMin,zi.dataMin),zi.dataMax=Math.max(On.dataMax,zi.dataMax))}st.allExtremes=zi}let{dataMin:gs,dataMax:Fn,min:as,max:ms}=z(st.getExtremes(),zi||{}),Ln=gs??Pt.min,fn=Fn??Pt.max,ki=vi-mi,Cs=st.categories?0:Math.min(ki,fn-Ln),Kn=Ln-Cs*(C(Pt.min)?0:Pt.minPadding),In=fn+Cs*(C(Pt.max)?0:Pt.maxPadding),Bs=st.allowZoomOutside||1===wt||"zoom"!==Me&&wt>1,qn=Math.min(Pt.min??Kn,Kn,Bs?as:Kn),Wi=Math.max(Pt.max??In,In,Bs?ms:In);(!st.isOrdinal||1!==wt||Ie)&&(mi=1&&(vi=mi+ki)),vi>Wi&&(vi=Wi,wt>=1&&(mi=vi-ki)),(Ie||st.series.length&&(mi!==as||vi!==ms)&&mi>=qn&&vi<=Wi)&&(we?we[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Me,st.setExtremes(Ie?void 0:mi,Ie?void 0:vi,!1,!1,{move:di,trigger:Me,scale:wt}),!Ie&&(mi>qn||vi{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(qe&&!Je?this.showResetZoom():!qe&&Je&&(this.resetZoomButton=Je.destroy()),this.redraw("zoom"===Me&&(this.options.chart.animation??this.pointCount<100)))),lt}}return z(De.prototype,{callbacks:[],collectionsWithInit:{xAxis:[De.prototype.addAxis,[!0]],yAxis:[De.prototype.addAxis,[!1]],series:[De.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),De}),Le(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{stop:le}=q,{composed:pe}=ne,{addEvent:ue,createElement:J,css:te,defined:X,merge:E,pushUnique:j}=ve;function F(){let A=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!A&&(this.scrollablePlotArea=A=new D(this)),A?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(I,_,m){j(pe,this.compose)&&(ue(I,"afterInit",P),ue(_,"afterSetChartSize",w=>this.afterSetSize(w.target,w)),ue(_,"render",F),ue(m,"show",P))}static afterSetSize(I,_){let m,w,G,{minWidth:O,minHeight:f}=I.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:v,renderer:o}=I;if(!o.forExport&&(O?(I.scrollablePixelsX=m=Math.max(0,O-I.chartWidth),m&&(I.scrollablePlotBox=E(I.plotBox),g.width=I.plotWidth+=m,a[v?"height":"width"]+=m,G=!0)):f&&(I.scrollablePixelsY=w=Math.max(0,f-I.chartHeight),X(w)&&(I.scrollablePlotBox=E(I.plotBox),g.height=I.plotHeight+=w,a[v?"width":"height"]+=w,G=!1)),X(G)&&!_.skipAxes))for(let n of I.axes)n.horiz===G&&(n.setAxisSize(),n.setAxisTranslation())}constructor(I){let _,m=I.options.chart,w=re.getRendererType(),G=m.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};I.scrollablePixelsX&&(f.overflowX="auto"),I.scrollablePixelsY&&(f.overflowY="auto"),this.chart=I;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},I.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),v=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(m.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new w(o,I.chartWidth,I.chartHeight,m.style);this.mask=n.path().attr({fill:m.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(I.renderTo,{overflow:"visible"}),ue(I,"afterShowResetZoom",O),ue(I,"afterApplyDrilldown",O),ue(I,"afterLayOutTitles",O),ue(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=I;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),v.appendChild(I.container)}applyFixed(){let{chart:I,fixedRenderer:_,isDirty:m,scrollingContainer:w}=this,{axisOffset:G,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:v,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=I,{scrollPositionX:d=0,scrollPositionY:C=0}=I.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(m??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(I.container),te(a,{width:`${k}px`,height:`${p}px`}),I.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),I.chartBackground?.attr({width:k,height:p}),te(w,{width:`${O}px`,height:`${f}px`}),X(m)||(w.scrollLeft=r*d,w.scrollTop=l*C);let T=o-G[0]-1,B=v-G[3]-1,z=o+g+G[2]+1,K=v+n+G[1]+1,U=v+n-r,se=o+g-l,S=[["M",0,0]];r?S=[["M",0,T],["L",v-1,T],["L",v-1,z],["L",0,z],["Z"],["M",U,T],["L",O,T],["L",O,z],["L",U,z],["Z"]]:l&&(S=[["M",B,0],["L",B,o-1],["L",K,o-1],["L",K,0],["Z"],["M",B,se],["L",B,f],["L",K,f],["L",K,se],["Z"]]),"adjustHeight"!==I.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let I,{container:_,inverted:m,scrollablePixelsX:w,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(w&&!m?I=".highcharts-yaxis":w&&m||G&&!m?I=".highcharts-xaxis":G&&m&&(I=".highcharts-yaxis"),I&&f.push(`${I}:not(.highcharts-radial-axis)`,`${I}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Le(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{format:ve}=q,{series:le}=ne,{destroyObjectProperties:pe,fireEvent:ue,isNumber:J,pick:te}=re;return class{constructor(X,E,j,F,P){let D=X.chart.inverted,A=X.reversed;this.axis=X;let I=this.isNegative=!!j!=!!A;this.options=E=E||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:E.align||(D?I?"left":"right":"center"),verticalAlign:E.verticalAlign||(D?"middle":I?"bottom":"top"),y:E.y,x:E.x},this.textAlign=E.textAlign||(D?I?"right":"left":"center")}destroy(){pe(this,this.axis)}render(X){let E=this.axis.chart,j=this.options,F=j.format,P=F?ve(F,this,E):j.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=E.renderer.label(P,null,void 0,j.shape,void 0,void 0,j.useHTML,!1,"stack-labels");let D={r:j.borderRadius||0,text:P,padding:te(j.padding,5),visibility:"hidden"};E.styledMode||(D.fill=j.backgroundColor,D.stroke=j.borderColor,D["stroke-width"]=j.borderWidth,this.label.css(j.style||{})),this.label.attr(D),this.label.added||this.label.add(X)}this.label.labelrank=E.plotSizeY,ue(this,"afterRender")}setOffset(X,E,j,F,P,D){let{alignOptions:A,axis:I,label:_,options:m,textAlign:w}=this,G=I.chart,O=this.getStackBox({xOffset:X,width:E,boxBottom:j,boxTop:F,defaultX:P,xAxis:D}),{verticalAlign:f}=A;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,v="justify"===te(m.overflow,"justify");A.x=m.x||0,A.y=m.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:w});O.x-=n,O.y-=r,_.align(A,!1,O),(o=G.isInsidePlot(_.alignAttr.x+A.x+n,_.alignAttr.y+A.y+r))||(v=!1),v&&le.prototype.justifyDataLabel.call(I,_,A,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:m.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[m.textAlign||"center"],rotationOriginY:a.height/2}),te(!v&&m.crop,!0)&&(o=J(_.x)&&J(_.y)&&G.isInsidePlot(_.x-g+(_.width||0),_.y)&&G.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}ue(this,"afterSetOffset",{xOffset:X,width:E})}adjustStackPosition({labelBox:X,verticalAlign:E,textAlign:j}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:X.width/2+X.width/2*F[j],y:X.height/2*F[E]}}getStackBox(X){let E=this.axis,j=E.chart,{boxTop:F,defaultX:P,xOffset:D,width:A,boxBottom:I}=X,_=E.stacking.usePercentage?100:te(F,this.total,0),m=E.toPixels(_),w=X.xAxis||j.xAxis[0],G=te(P,w.translate(this.x))+D,O=Math.abs(m-E.toPixels(I||J(E.min)&&E.logarithmic&&E.logarithmic.lin2log(E.min)||0)),a=this.isNegative;return j.inverted?{x:(a?m:m-O)-j.plotLeft,y:w.height-G-A,width:O,height:A}:{x:G+w.transB-j.plotLeft,y:(a?m-O:m)-j.plotTop,width:A,height:O}}}}),Le(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{getDeferredAnimation:ue}=q,{series:{prototype:J}}=re,{addEvent:te,correctFloat:X,defined:E,destroyObjectProperties:j,fireEvent:F,isArray:P,isNumber:D,objectEach:A,pick:I}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,I(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function m(){let o=this.stacking;if(o){let n=o.stacks;A(n,(r,l)=>{j(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function w(){this.stacking||(this.stacking=new v(this))}function G(o,n,r,l){return!E(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(T=>{let z,K,U,B=C.length;for(;B--;)z=C[B],o=n.getStackIndicator(o,z,n.index,T),K=d[T]?.[z],(U=K?.points[o.key||""])&&p.call(n,U,K,B)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=X(o[0]*l),o[1]=X(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,T,B,z,K=n||this.options.stacking;if(!K||!this.reserveSpace()||({group:"xAxis"}[K]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,S=[],$=se.length,H=this.options,x=H.threshold||0,N=H.startFromThreshold?x:0,R=H.stack,Z=n?`${this.type},${K}`:this.stackKey||"",Y="-"+Z,he=this.negStacks,ge=o.stacking,_e=ge.stacks,Te=ge.oldStacks;for(ge.stacksTouched+=1,T=0;T<$;T++){B=U[T],z=se[T],p=(r=this.getStackIndicator(r,B,this.index)).key||"",_e[k=(l=he&&z<(N?0:x))?Y:Z]||(_e[k]={}),_e[k][B]||(Te[k]?.[B]?(_e[k][B]=Te[k][B],_e[k][B].total=null):_e[k][B]=new ve(o,o.options.stackLabels,!!l,B,R)),d=_e[k][B],null!==z?(d.points[p]=d.points[this.index]=[I(d.cumulative,N)],E(d.cumulative)||(d.base=p),d.touched=ge.stacksTouched,r.index>0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+B+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===K?(C=l?Z:Y,Oe=he&&_e[C]?.[B]?(C=_e[C][B]).total=Math.max(C.total||0,Oe)+Math.abs(z)||0:X(Oe+(Math.abs(z)||0))):"group"===K?(P(z)&&(z=z[0]),null!==z&&Oe++):Oe=X(Oe+(z||0)),d.cumulative="group"===K?(Oe||1)-1:X(I(d.cumulative,N)+(z||0)),d.total=Oe,null!==z&&(d.points[p].push(d.cumulative),S[T]=d.cumulative,d.hasValidPoints=!0)}"percent"===K&&(ge.usePercentage=!0),"group"!==K&&(this.stackedYData=S),ge.oldStacks={}}class v{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{A(n,r=>{r.cumulative=r.total})}))}resetStacks(){A(this.stacks,n=>{A(n,(r,l)=>{D(r.touched)&&r.touched{A(p,T=>{T.render(k)})}),k.animate({opacity:1},C)}}return(pe||(pe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",w),te(o,"destroy",m),l.getStacks=_,d.getStackIndicator=G,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},pe}),Le(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defined:ve,merge:le,isObject:pe}=re;class ue extends q{drawGraph(){let te=this.options,X=(this.gappedPath||this.getGraphPath).call(this),E=this.chart.styledMode;[this,...this.zones].forEach((j,F)=>{let P,D=j.graph,A=D?"animate":"attr",I=j.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:X.xMap,D.animate({d:X})):X.length&&(j.graph=D=this.chart.renderer.path(X).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&j.className||"")).attr({zIndex:1}).add(this.group)),D&&!E&&(P={stroke:!F&&te.lineColor||j.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},I?P.dashstyle=I:"square"!==te.linecap&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),D[A](P).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},pe(te.shadow)?te.shadow:{}))),D&&(D.startX=X.xMap,D.isArea=X.isArea)})}getGraphPath(te,X,E){let A,j=this,F=j.options,P=[],D=[],I=F.step,_=(te=te||j.points).reversed;return _&&te.reverse(),(I={right:1,center:2}[I]||I&&3)&&_&&(I=4-I),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!X&&!E))).forEach(function(m,w){let G,O=m.plotX,f=m.plotY,a=te[w-1],g=m.isNull||"number"!=typeof f;(m.leftCliff||a&&a.rightCliff)&&!E&&(A=!0),g&&!ve(X)&&w>0?A=!F.connectNulls:g&&!X?A=!0:(0===w||A?G=[["M",m.plotX,m.plotY]]:j.getPointSpline?G=[j.getPointSpline(te,m,w)]:I?(G=1===I?[["L",a.plotX,f]]:2===I?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):G=[["L",O,f]],D.push(m.x),I&&(D.push(m.x),2===I&&D.push(m.x)),P.push.apply(P,G),A=!1)}),P.xMap=D,j.graphPath=P,P}}return ue.defaultOptions=le(q.defaultOptions,{legendSymbol:"lineMarker"}),ne.registerSeriesType("line",ue),ue}),Le(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{seriesTypes:{line:re}}=q,{extend:ve,merge:le,objectEach:pe,pick:ue}=ne;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:X,options:E}=this;[this,...this.zones].forEach((j,F)=>{let P={},D=j.fillColor||E.fillColor,A=j.area,I=A?"animate":"attr";A?(A.endX=this.preventGraphAnimation?null:X.xMap,A.animate({d:X})):(P.zIndex=0,(A=j.area=this.chart.renderer.path(X).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(P.fill=D||j.color||this.color,P["fill-opacity"]=D?1:E.fillOpacity??.75,A.css({pointerEvents:this.stickyTracking?"none":"auto"})),A[I](P),A.startX=X.xMap,A.shiftUnit=E.step?2:1})}getGraphPath(X){let E,j,F,P=re.prototype.getGraphPath,D=this.options,A=D.stacking,I=this.yAxis,_=[],m=[],w=this.index,G=I.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(I.getThreshold(D.threshold)),a=ue(D.connectNulls,"percent"===A),g=function(d,C,k){let K,U,p=X[d],T=A&&G[p.x].points[w],B=p[k+"Null"]||0,z=p[k+"Cliff"]||0,se=!0;z||B?(K=(B?T[0]:T[1])+z,U=T[0]+z,se=!!B):!A&&X[C]&&X[C].isNull&&(K=U=O),void 0!==K&&(m.push({plotX:E,plotY:null===K?f:I.getThreshold(K),isNull:se,isCliff:!0}),_.push({plotX:E,plotY:null===U?f:I.getThreshold(U),doCurve:!1}))};X=X||this.points,A&&(X=this.getStackPoints(X));for(let d=0,C=X.length;df.visible);F.forEach(function(f,a){let v,o,g=0;if(I[f]&&!I[f].isNull)j.push(I[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=A[F[a+n]],d=0;if(l){let C=G;for(;C>=0&&C=0&&nO&&j>A?(j=Math.max(O,A),P=2*A-j):ja&&P>A?(P=Math.max(a,A),j=2*A-P):P=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let v=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;m(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==v.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,v=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,T=O.dataMax,B=O.barW=Math.max(C,1+2*v),z=O.translatedThreshold=n.getThreshold(r);f.inverted&&(z-=.5),a.pointPadding&&(B=Math.ceil(B)),le.prototype.translate.apply(O),O.points.forEach(function(K){let H,U=_(K.yBottom,z),se=999+Math.abs(U),S=K.plotX||0,$=E(K.plotY,-se,n.len+se),x=Math.min($,U),N=Math.max($,U)-x,R=C,Z=S+k,Y=B;l&&Math.abs(N)l?U-l:z-(H?l:0)),j(K.options.pointWidth)&&(Z-=Math.round(((R=Y=Math.ceil(K.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(Z=O.adjustForMissingColumns(Z,R,K,d)),K.barX=Z,K.pointWidth=R,K.tooltipPos=f.inverted?[E(n.len+n.pos-f.plotLeft-$,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-Z-Y/2,N]:[o.left-f.plotLeft+Z+Y/2,E($+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],K.shapeType=O.pointClass.prototype.shapeType||"roundedRect",K.shapeArgs=O.crispCol(Z,K.isNull?z:x,Y,K.isNull?0:N)}),P(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},v=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[v]||a[v]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,T=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=I(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[v]||C,p=n[o]||p,k=n.dashStyle||k,T=_(n.opacity,T));let B={fill:d,stroke:C,"stroke-width":p,opacity:T};return k&&(B.dashstyle=k),B}drawPoints(O=this.points){let f,a=this,g=this.chart,v=a.options,o=g.renderer,n=v.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function m(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,T=o.plotX,B=o.plotY,z=r.rotation||0,K=ue(T)&&ue(B)&&C.isInsidePlot(T,Math.round(B),{inverted:k,paneCoordinates:!0,series:this}),U=0===z&&"justify"===P(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&ue(T)&&(o.series.forceDL||p&&!U||K||P(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(T,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),S=o.pos();if(se&&S){let H=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:S[0],y:Math.round(S[1]),width:0,height:0},l||{}),J(r,{width:H.width,height:H.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,K,l),n.align(j(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-H.width),n.alignAttr.y+=R*(x.height-H.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(H.width-x.width)/2,y:n.alignAttr.y+(H.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,H,l,d);else if(P(r.crop,!0)){let{x:Z,y:Y}=n.alignAttr;se=C.isInsidePlot(Z,Y,{paneCoordinates:!0,series:this})&&C.isInsidePlot(Z+H.width-1,Y+H.height-1,{paneCoordinates:!0,series:this})}r.shape&&!z&&n[d?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function w(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,T=C.getContrast(E(p)&&p||E(k)&&k||"#000000"),B=g(r),{animation:z,defer:K}=B[0],U=K?le(l,z,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let S=se.dataLabels||[];A(a(B,se.dlOptions||se.options?.dataLabels)).forEach((H,x)=>{let ge,_e,Te,Oe,ee,N=H.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(be,xe){let Ie=xe.filter;if(Ie){let we=Ie.operator,Ee=be[Ie.property],Me=Ie.value;return">"===we&&Ee>Me||"<"===we&&Ee="===we&&Ee>=Me||"<="===we&&Ee<=Me||"=="===we&&Ee==Me||"==="===we&&Ee===Me||"!="===we&&Ee!=Me||"!=="===we&&Ee!==Me}return!0}(se,H),{backgroundColor:R,borderColor:Z,distance:Y,style:he={}}=H,De={},Be=S[x],oe=!Be;if(N&&(_e=P(H[se.formatPrefix+"Format"],H.format),ge=se.getLabelConfig(),Te=ue(_e)?pe(_e,ge,l):(H[se.formatPrefix+"Formatter"]||H.formatter).call(ge,H),Oe=H.rotation,!l.styledMode&&(he.color=P(H.color,he.color,E(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!ue(Y)&&H.inside||0>D(Y||0)||d.stacking?se.contrastColor:T):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),De={r:H.borderRadius||0,rotation:Oe,padding:H.padding,zIndex:1},l.styledMode||(De.fill="auto"===R?se.color:R,De.stroke="auto"===Z?se.color:Z,De["stroke-width"]=H.borderWidth),F(De,(be,xe)=>{void 0===be&&delete De[xe]})),!Be||N&&ue(Te)&&!!Be.div==!!H.useHTML&&(Be.rotation&&H.rotation||Be.rotation===H.rotation)||(Be=void 0,oe=!0),N&&ue(Te)&&(Be?De.text=Te:(Be=C.label(Te,0,0,H.shape,void 0,void 0,H.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(H.className||"")+(H.useHTML?" highcharts-tracker":"")),Be)){Be.options=H,Be.attr(De),l.styledMode||Be.css(he).shadow(H.shadow);let be=H[se.formatPrefix+"TextPath"]||H.textPath;be&&!H.useHTML&&(Be.setTextPath(se.getDataLabelPath?.(Be)||se.graphic,be),se.dataLabelPath&&!be.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Be.added||Be.add(n),r.alignDataLabel(se,Be,H,void 0,oe),Be.isActive=!0,S[x]&&S[x]!==Be&&S[x].destroy(),S[x]=Be}});let $=S.length;for(;$--;)S[$]&&S[$].isActive?S[$].isActive=!1:(S[$]?.destroy(),S.splice($,1));se.dataLabel=S[0],se.dataLabels=S})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,T=n.verticalAlign,B=o.box?0:o.padding||0,{x:z=0,y:K=0}=n;return(U=(r.x||0)+B)<0&&("right"===p&&z>=0?(n.align="left",n.inside=!0):z-=U,se=!0),(U=(r.x||0)+l.width-B)>k.plotWidth&&("left"===p&&z<=0?(n.align="right",n.inside=!0):z+=k.plotWidth-U,se=!0),(U=r.y+B)<0&&("bottom"===T&&K>=0?(n.verticalAlign="top",n.inside=!0):K-=U,se=!0),(U=(r.y||0)+l.height-B)>k.plotHeight&&("top"===T&&K<=0?(n.verticalAlign="bottom",n.inside=!0):K+=k.plotHeight-U,se=!0),se&&(n.x=z,n.y=K,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if(X(o)&&!X(n))r=o.map(function(d){return j(d,n)});else if(X(n)&&!X(o))r=n.map(function(d){return j(o,d)});else if(X(o)||X(n)){if(X(o)&&X(n))for(l=Math.max(o.length,n.length);l--;)r[l]=j(o[l],n[l])}else r=j(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return A(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function v(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,T=p.reversed,B=((k?n.height:n.width)||0)/2,z=o.pointWidth,K=z?z/2:0;n.startXPos=k?d.x:T?-B-K:p.width-B+K,n.startYPos=k?T?this.yAxis.height-B+K:-B-K:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}I.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=G,n.initDataLabelsGroup=w,n.alignDataLabel=m,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=v,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Le(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{series:ue}=re,{merge:J,pick:te,pushUnique:X}=ve;return function(E){function j(F,P,D,A,I){let _=this.chart.inverted,m=F.series,w=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||0,G=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,G)),a=te(D.inside,!!this.options.stacking);if(O){if(A=J(O),"allow"!==D.overflow||!1!==D.crop){A.y<0&&(A.height+=A.y,A.y=0);let g=A.y+A.height-G;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Le(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{column:ve,line:le}=ne.seriesTypes,{addEvent:pe,extend:ue,merge:J}=re;class te extends le{applyJitter(){let E=this,j=this.options.jitter,F=this.points.length;j&&this.points.forEach(function(P,D){["x","y"].forEach(function(A,I){let _,w,G,O,m="plot"+A.toUpperCase();j[A]&&!P.isNull&&(_=E[A+"Axis"],O=j[A]*_.transA,_&&!_.isLog&&(w=Math.max(0,P[m]-O),G=Math.min(_.len,P[m]+O),P[m]=w+(G-w)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+I*F),"x"===A&&(P.clientX=P.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,q),ue(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),pe(te,"afterTranslate",function(){this.applyJitter()}),ne.registerSeriesType("scatter",te),te}),Le(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve,le;let{deg2rad:pe}=q,{fireEvent:ue,isNumber:J,pick:te,relativeLength:X}=re;return(le=ve||(ve={})).getCenter=function(){let m,O,f,E=this.options,j=this.chart,F=2*(E.slicedOffset||0),P=j.plotWidth-2*F,D=j.plotHeight-2*F,A=E.center,I=Math.min(P,D),_=E.thickness,w=E.size,G=E.innerSize||0;"string"==typeof w&&(w=parseFloat(w)),"string"==typeof G&&(G=parseFloat(G));let a=[te(A[0],"50%"),te(A[1],"50%"),te(w&&w<0?void 0:E.size,"100%"),te(G&&G<0?void 0:E.innerSize||0,"0%")];for(!j.angular||this instanceof ne||(a[3]=0),O=0;O<4;++O)f=a[O],m=O<2||2===O&&/%$/.test(f),a[O]=X(f,[P,D,I,a[2]][O])+(m?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),ue(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(E,j){let F=J(E)?E:0,P=J(j)&&j>F&&j-F<360?j:F+360;return{start:pe*(F+-90),end:pe*(P+-90)}},ve}),Le(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re){let{setAnimation:ve}=q,{addEvent:le,defined:pe,extend:ue,isNumber:J,pick:te,relativeLength:X}=re;class E extends ne{getConnectorPath(F){let P=F.dataLabelPosition,D=F.options||{},A=D.connectorShape;return P&&(this.connectorShapes[A]||A).call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+F,P.r+F,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(F,P,D){super(F,P,D),this.half=0,this.name??(this.name="Slice");let A=I=>{this.slice("select"===I.type)};le(this,"select",A),le(this,"unselect",A)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,P=!0){F!==this.visible&&this.update({visible:F??!this.visible},P,void 0,!1)}slice(F,P,D){let A=this.series;ve(D,A.chart),P=te(P,!0),this.sliced=this.options.sliced=F=pe(F)?F:!this.sliced,A.options.data[A.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ue(E.prototype,{connectorShapes:{fixedOffset:function(j,F,P){let D=F.breakAt,A=F.touchingSliceAt;return[["M",j.x,j.y],P.softConnector?["C",j.x+("left"===j.alignment?-5:5),j.y,2*D.x-A.x,2*D.y-A.y,D.x,D.y]:["L",D.x,D.y],["L",A.x,A.y]]},straight:function(j,F){let P=F.touchingSliceAt;return[["M",j.x,j.y],["L",P.x,P.y]]},crookedLine:function(j,F,P){let{breakAt:D,touchingSliceAt:A}=F,{series:I}=this,[_,m,w]=I.center,G=w/2,{plotLeft:O,plotWidth:f}=I.chart,a="left"===j.alignment,{x:g,y:v}=j,o=D.x;if(P.crookDistance){let r=X(P.crookDistance,1);o=a?_+G+(f+O-_-G)*(1-r):O+(_-G)*r}else o=_+(m-v)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,v]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,v]),n.push(["L",D.x,D.y],["L",A.x,A.y]),n}}}),E}),Le(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Le(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{getStartAndEndRadians:X}=q,{noop:E}=re,{clamp:j,extend:F,fireEvent:P,merge:D,pick:A}=te;class I extends pe{animate(m){let w=this,O=w.startAngleRad;m||w.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:A(f.startR,w.center&&w.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},w.options.animation))})}drawEmpty(){let m,w,G=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(m=this.center[0],w=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(m,w,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(m,w,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let m=this.chart.renderer;this.points.forEach(function(w){w.graphic&&w.hasNewShapeType()&&(w.graphic=w.graphic.destroy()),w.graphic||(w.graphic=m[w.shapeType](w.shapeArgs).add(w.series.group),w.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(m,w,G,O){let f=this.center,a=this.radii?this.radii[G.index]||0:f[2]/2,g=O.dataLabelPosition,v=g?.distance||0,o=Math.asin(j((m-f[1])/(a+v),-1,1));return f[0]+Math.cos(o)*(a+v)*(w?-1:1)+(v>0?(w?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let m,w,G,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let v={};w=g.graphic,!g.isNull&&w?(O=g.shapeArgs,m=g.getTranslate(),a.styledMode||(G=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(w.setRadialReference(f.center).attr(O).attr(m),a.styledMode||w.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(w.setRadialReference(f.center),a.styledMode||D(!0,v,G),D(!0,v,O,m),w.animate(v)),w.attr({visibility:g.visible?"inherit":"hidden"}),w.addClass(g.getClassName(),!0)):w&&(g.graphic=w.destroy())})}sortByAngle(m,w){m.sort(function(G,O){return void 0!==G.angle&&(O.angle-G.angle)*w})}translate(m){P(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,w=this.options,G=w.slicedOffset,O=X(w.startAngle,w.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,v=w.ignoreHiddenPoint,o=g.length,T=0;for(m||(this.center=m=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*G),translateY:Math.round(Math.sin(l)*G)},d=Math.cos(l)*m[2]/2,C=Math.sin(l)*m[2]/2,p.tooltipPos=[m[0]+.7*d,m[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}P(this,"afterTranslate")}updateTotals(){let O,f,m=this.points,w=m.length,G=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!G)?f.y/a*100:0,f.total=a}}return I.defaultOptions=D(pe.defaultOptions,le),F(I.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ne.prototype.drawTracker,getCenter:q.getCenter,getSymbol:E,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ne.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:E,trackerGroups:["group","dataLabelsGroup"]}),ue.registerSeriesType("pie",I),I}),Le(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{composed:ue,noop:J}=ne,{distribute:te}=re,{series:X}=ve,{arrayMax:E,clamp:j,defined:F,pick:P,pushUnique:D,relativeLength:A}=le;return function(I){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,v,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?v:g,a.half,a,o)},justify:function(f,a,g,v){return v[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,v){let o=f.getBBox().width;return a?o+v:g-o-v},alignToConnectors:function(f,a,g,v){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+v:g-o-v}};function m(f,a){let{center:g,options:v}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((v.slicedOffset||0)+(v.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function w(){let B,z,K,f=this,a=f.points,g=f.chart,v=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],T=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),X.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((S,$)=>{let H=l[2]/2,x=S.options,N=A(x?.distance||0,H);0===$&&k[se.half].push(se),!F(x?.style?.width)&&S.getBBox().width>r&&(S.css({width:Math.round(.7*r)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,S)=>{let x,N,Z,H=[],R=0;se.length&&(f.sortByAngle(se,S-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.dataLabelPosition;ge&&ge.distance>0&&(ge.top=Math.max(0,C-d-ge.distance),ge.bottom=Math.min(C+d+ge.distance,g.plotHeight),R=he.getBBox().height||21,Y.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-ge.top+R/2,size:R,rank:Y.y},H.push(Y.distributeBox))})}),te(H,Z=N+R-x,Z/5)),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.options||{},_e=Y.distributeBox,Te=he.dataLabelPosition,Oe=Te?.natural.y||0,De=ge.connectorPadding||0,Be=0,oe=Oe,ee="inherit";if(Te){if(H&&F(_e)&&Te.distance>0&&(void 0===_e.pos?ee="hidden":(K=_e.size,oe=T.radialDistributionY(Y,he))),ge.justify)Be=T.justify(Y,he,d,l);else switch(ge.alignTo){case"connectors":Be=T.alignToConnectors(se,S,v,n);break;case"plotEdges":Be=T.alignToPlotEdges(he,S,v,n);break;default:Be=T.radialDistributionX(f,Y,oe,Oe,he)}if(Te.attribs={visibility:ee,align:Te.alignment},Te.posAttribs={x:Be+(ge.x||0)+({left:De,right:-De}[Te.alignment]||0),y:oe+(ge.y||0)-he.getBBox().height/2},Te.computed.x=Be,Te.computed.y=oe,P(ge.crop,!0)){let be;Be-(z=he.getBBox().width)v-De&&0===S&&(be=Math.round(Be+z-v+De),p[1]=Math.max(be,p[1])),oe-K/2<0?p[0]=Math.max(Math.round(K/2-oe),p[0]):oe+K/2>o&&(p[2]=Math.max(Math.round(oe+K/2-o),p[2])),Te.sideOverflow=be}}})}))}),(0===E(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(S=>{let{connectorColor:$,connectorWidth:H=1}=S.options||{},x=S.dataLabelPosition;if(H){let N;B=S.connector,x&&x.distance>0?(N=!B,B||(S.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||B.attr({"stroke-width":H,stroke:$||se.color||"#666666"}),B[N?"attr":"animate"]({d:se.getConnectorPath(S)}),B.attr({visibility:x.attribs?.visibility})):B&&(S.connector=B.destroy())}})})))}function G(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,v=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==v[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==v[1]?n=j(n,o,a[2]-Math.max(f[0],f[2])):(n=j(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(m.x>=_.x+_.width||m.x+m.width<=_.x||m.y>=_.y+_.height||m.y+m.height<=_.y),I=!1;for(let _=0;_(m.labelrank||0)-(_.labelrank||0));for(let _=0;_{ve(j,F=>{F.label&&X.push(F.label)})});for(let E of te.series||[])if(E.visible&&E.hasDataLabels?.()){let j=F=>{for(let P of F)P.visible&&(P.dataLabels||[]).forEach(D=>{let A=D.options||{};D.labelrank=le(A.labelrank,P.labelrank,P.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,ue(D,te)):X.push(D)})};j(E.nodes||[]),j(E.points)}this.hideOverlappingLabels(X)}return{compose:function(te){let X=te.prototype;X.hideOverlappingLabels||(X.hideOverlappingLabels=pe,ne(te,"render",J))}}}),Le(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defaultOptions:ve}=q,{noop:le}=ne,{addEvent:pe,extend:ue,isObject:J,merge:te,relativeLength:X}=re,E={radius:0,scope:"stack",where:void 0},j=le,F=le;function P(m,w,G,O,f={}){let a=j(m,w,G,O,f),{innerR:g=0,r:v=G,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min(X(f.borderRadius||0,v-g),(v-g)/2,v*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,T,B){let z,K,U,se=p[T],S=p[T+1];if("Z"===S[0]&&(S=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==S[0]?"A"===se[0]&&("M"===S[0]||"L"===S[0])&&(z=S,K=se):(z=se,K=S,U=!0),z&&K&&K.params){let $=K[1],H=K[5],x=K.params,{start:N,end:R,cx:Z,cy:Y}=x,he=H?$-B:$+B,ge=he?Math.asin(B/he):0,_e=H?ge:-ge,Te=Math.cos(ge)*he;U?(x.start=N+_e,z[1]=Z+Te*Math.cos(N),z[2]=Y+Te*Math.sin(N),p.splice(T+1,0,["A",B,B,0,0,1,Z+$*Math.cos(x.start),Y+$*Math.sin(x.start)])):(x.end=R-_e,K[6]=Z+$*Math.cos(x.end),K[7]=Y+$*Math.sin(x.end),p.splice(T+1,0,["A",B,B,0,0,1,Z+Te*Math.cos(R),Y+Te*Math.sin(R)])),K[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:m,yAxis:w}=this,G="percent"===m.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=A(m.borderRadius,J(O)?O:{}),a=w.options.reversed;for(let g of this.points){let{shapeArgs:v}=g;if("roundedRect"===g.shapeType&&v){let{width:o=0,height:n=0,y:r=0}=v,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let T=w.translate(G?100:g.stackTotal,!1,!0,!1,!0),B=w.translate(m.threshold||0,!1,!0,!1,!0),z=this.crispCol(0,Math.min(T,B),0,Math.abs(T-B));l=z.y,d=z.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min(X(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),ue(v,{brBoxHeight:d,brBoxY:l,r:p})}}}}function A(m,w){return J(m)||(m={radius:m||0}),te(E,w,m)}function I(){let m=A(this.options.borderRadius);for(let w of this.points){let G=w.shapeArgs;G&&(G.borderRadius=X(m.radius,(G.r||0)-(G.innerR||0)))}}function _(m,w,G,O,f={}){let a=F(m,w,G,O,f),{r:g=0,brBoxHeight:v=O,brBoxY:o=w}=f,n=w-o,r=o+v-(w+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[m+l,w],T=[m+G-l,w],B=[m+G,w+l],z=[m+G,w+O-d],K=[m+G-d,w+O],U=[m+d,w+O],se=[m,w+O-d],S=[m,w+l],$=(H,x)=>Math.sqrt(Math.pow(H,2)-Math.pow(x,2));if(C){let H=$(l,l-C);p[0]-=H,T[0]+=H,B[1]=S[1]=w+l-C}if(O=ue(P.minWidth,0)&&this.chartHeight>=ue(P.minHeight,0)}).call(this)&&F.push(j._id)}function E(j,F){let I,P=this.options.responsive,D=this.currentResponsive,A=[];!F&&P&&P.rules&&P.rules.forEach(w=>{void 0===w._id&&(w._id=J()),this.matchResponsiveRule(w,A)},this);let _=pe(...A.map(w=>le((P||{}).rules||[],G=>G._id===w)).map(w=>w&&w.chartOptions));_.isResponsiveOptions=!0,A=A.toString()||void 0,A!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,j,!0),A?((I=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:A,mergedOptions:_,undoOptions:I},this.update(_,j,!0)):this.currentResponsive=void 0)}te.compose=function(j){let F=j.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:X,setResponsive:E}),j}}(ne||(ne={})),ne}),Le(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P,D,A,I,_,m,w,G,O,f,a,g,v,o,n,r,l,d,C,k,p,T,B){return q.AST=pe,q.Axis=F,q.Chart=f,q.Color=T,q.DataLabel=d,q.Fx=ve,q.HTMLElement=j,q.Legend=G,q.LegendSymbol=O,q.OverlappingDataLabels=q.OverlappingDataLabels||C,q.PlotLineOrBand=A,q.Point=m,q.Pointer=w,q.RendererRegistry=J,q.Series=o,q.SeriesRegistry=n,q.StackItem=v,q.SVGElement=X,q.SVGRenderer=E,q.Templating=ue,q.Tick=I,q.Time=B,q.Tooltip=_,q.animate=le.animate,q.animObject=le.animObject,q.chart=f.chart,q.color=T.parse,q.dateFormat=ue.dateFormat,q.defaultOptions=re.defaultOptions,q.distribute=te.distribute,q.format=ue.format,q.getDeferredAnimation=le.getDeferredAnimation,q.getOptions=re.getOptions,q.numberFormat=ue.numberFormat,q.seriesType=n.seriesType,q.setAnimation=le.setAnimation,q.setOptions=re.setOptions,q.stop=le.stop,q.time=re.defaultTime,q.timers=ve.timers,k.compose(q.Series,q.SVGElement,q.SVGRenderer),r.compose(q.Series.types.column),d.compose(q.Series),P.compose(q.Axis),j.compose(q.SVGRenderer),G.compose(q.Chart),D.compose(q.Axis),C.compose(q.Chart),l.compose(q.Series.types.pie),A.compose(q.Axis),w.compose(q.Chart),p.compose(q.Chart),a.compose(q.Axis,q.Chart,q.Series),g.compose(q.Axis,q.Chart,q.Series),_.compose(q.Pointer),ne.extend(q,ne),q}),Le(V,"Extensions/ArrowSymbols.js",[],function(){function q(le,pe,ue,J){return[["M",le,pe+J/2],["L",le+ue,pe],["L",le,pe+J/2],["L",le+ue,pe+J]]}function ne(le,pe,ue,J){return q(le,pe,ue/2,J)}function re(le,pe,ue,J){return[["M",le+ue,pe],["L",le,pe+J/2],["L",le+ue,pe+J],["Z"]]}function ve(le,pe,ue,J){return re(le,pe,ue/2,J)}return{compose:function(le){let pe=le.prototype.symbols;pe.arrow=q,pe["arrow-filled"]=re,pe["arrow-filled-half"]=ve,pe["arrow-half"]=ne,pe["triangle-left"]=re,pe["triangle-left-half"]=ve}}}),Le(V,"Gantt/Connection.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,error:ve,merge:le,objectEach:pe}=ne,ue=q.deg2rad,J=Math.max,te=Math.min;return class{constructor(X,E,j){this.init(X,E,j)}init(X,E,j){this.fromPoint=X,this.toPoint=E,this.options=j,this.chart=X.series.chart,this.pathfinder=this.chart.pathfinder}renderPath(X,E){let j=this.chart,F=j.styledMode,P=this.pathfinder,D={},A=this.graphics&&this.graphics.path;P.group||(P.group=j.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(j.seriesGroup)),P.group.translate(j.plotLeft,j.plotTop),A&&A.renderer||(A=j.renderer.path().add(P.group),F||A.attr({opacity:0})),A.attr(E),D.d=X,F||(D.opacity=1),A.animate(D),this.graphics=this.graphics||{},this.graphics.path=A}addMarker(X,E,j){let F,P,D,A,I,_,m,w,G=this.fromPoint.series.chart,O=G.pathfinder,f=G.renderer,a="start"===X?this.fromPoint:this.toPoint,g=a.getPathfinderAnchorPoint(E);E.enabled&&((w="start"===X?j[1]:j[j.length-2])&&"M"===w[0]||"L"===w[0])&&(m={x:w[1],y:w[2]},P=a.getRadiansToVector(m,g),F=a.getMarkerVector(P,E.radius,g),D=-P/ue,E.width&&E.height?(I=E.width,_=E.height):I=_=2*E.radius,this.graphics=this.graphics||{},A={x:F.x-I/2,y:F.y-_/2,width:I,height:_,rotation:D,rotationOriginX:F.x,rotationOriginY:F.y},this.graphics[X]?this.graphics[X].animate(A):(this.graphics[X]=f.symbol(E.symbol).addClass("highcharts-point-connecting-path-"+X+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(A).add(O.group),f.styledMode||this.graphics[X].attr({fill:E.color||this.fromPoint.color,stroke:E.lineColor,"stroke-width":E.lineWidth,opacity:0}).animate({opacity:1},a.series.options.animation)))}getPath(X){let E=this.pathfinder,j=this.chart,F=E.algorithms[X.type],P=E.chartObstacles;return"function"!=typeof F?(ve('"'+X.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(F.requiresObstacles&&!P&&(P=E.chartObstacles=E.getChartObstacles(X),j.options.connectors.algorithmMargin=X.algorithmMargin,E.chartObstacleMetrics=E.getObstacleMetrics(P)),F(this.fromPoint.getPathfinderAnchorPoint(X.startMarker),this.toPoint.getPathfinderAnchorPoint(X.endMarker),le({chartObstacles:P,lineObstacles:E.lineObstacles||[],obstacleMetrics:E.chartObstacleMetrics,hardBounds:{xMin:0,xMax:j.plotWidth,yMin:0,yMax:j.plotHeight},obstacleOptions:{margin:X.algorithmMargin},startDirectionX:E.getAlgorithmStartDirection(X.startMarker)},X)))}render(){let X=this.fromPoint,E=X.series,j=E.chart,F=j.pathfinder,P={},D=le(j.options.connectors,E.options.connectors,X.options.connectors,this.options);!j.styledMode&&(P.stroke=D.lineColor||X.color,P["stroke-width"]=D.lineWidth,D.dashStyle&&(P.dashstyle=D.dashStyle)),P.class="highcharts-point-connecting-path highcharts-color-"+X.colorIndex,re((D=le(P,D)).marker.radius)||(D.marker.radius=te(J(Math.ceil((D.algorithmMargin||8)/2)-1,1),5));let A=this.getPath(D),I=A.path;A.obstacles&&(F.lineObstacles=F.lineObstacles||[],F.lineObstacles=F.lineObstacles.concat(A.obstacles)),this.renderPath(I,P),this.addMarker("start",le(D.marker,D.startMarker),I),this.addMarker("end",le(D.marker,D.endMarker),I)}destroy(){this.graphics&&(pe(this.graphics,function(X){X.destroy()}),delete this.graphics)}}}),Le(V,"Extensions/CurrentDateIndication.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{composed:re}=q,{addEvent:ve,merge:le,pushUnique:pe,wrap:ue}=ne,J={color:"#ccd3ff",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(j,F){return this.axis.chart.time.dateFormat(F||"",j)},rotation:0,style:{fontSize:"0.7em"}}};function te(){let j=this.options,F=j.currentDateIndicator;if(F){let P="object"==typeof F?le(J,F):le(J);P.value=Date.now(),P.className="highcharts-current-date-indicator",j.plotLines||(j.plotLines=[]),j.plotLines.push(P)}}function X(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}function E(j,F){let P=this.options;return P&&P.className&&-1!==P.className.indexOf("highcharts-current-date-indicator")&&P.label&&"function"==typeof P.label.formatter?(P.value=Date.now(),P.label.formatter.call(this,P.value,P.label.format)):j.call(this,F)}return{compose:function(j,F){pe(re,"CurrentDateIndication")&&(ve(j,"afterSetOptions",te),ve(F,"render",X),ue(F.prototype,"getLabelText",E))}}}),Le(V,"Core/Chart/GanttChart.js",[V["Core/Chart/Chart.js"],V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{defaultOptions:le}=ne,{isArray:pe,merge:ue,splat:J}=re;class te extends q{init(E,j){let F,P=E.xAxis,D=E.yAxis;E.xAxis=E.yAxis=void 0;let A=ue(!0,{chart:{type:"gantt"},title:{text:""},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},E,{isGantt:!0});E.xAxis=P,E.yAxis=D,A.xAxis=(pe(E.xAxis)?E.xAxis:[E.xAxis||{},{}]).map((I,_)=>(1===_&&(F=0),ue({grid:{borderColor:"#cccccc",enabled:!0},opposite:le.xAxis?.opposite??I.opposite??!0,linkedTo:F},I,{type:"datetime"}))),A.yAxis=J(E.yAxis||{}).map(I=>ue({grid:{borderColor:"#cccccc",enabled:!0},staticScale:50,reversed:!0,type:I.categories?I.type:"treegrid"},I)),super.init(A,j)}}return(ve=te||(te={})).ganttChart=function(X,E,j){return new ve(X,E,j)},te}),Le(V,"Stock/Navigator/ChartNavigatorComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let re,{isTouchDevice:ve}=q,{addEvent:le,merge:pe,pick:ue}=ne,J=[];function te(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function X(){let A,I,_,m=this.legend,w=this.navigator;if(w){A=m&&m.options,I=w.xAxis,_=w.yAxis;let{scrollbarHeight:G,scrollButtonSize:O}=w;this.inverted?(w.left=w.opposite?this.chartWidth-G-w.height:this.spacing[3]+G,w.top=this.plotTop+O):(w.left=ue(I.left,this.plotLeft+O),w.top=w.navigatorOptions.top||this.chartHeight-w.height-G-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(A&&"bottom"===A.verticalAlign&&"proximate"!==A.layout&&A.enabled&&!A.floating?m.legendHeight+ue(A.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),I&&_&&(this.inverted?I.options.left=_.options.left=w.left:I.options.top=_.options.top=w.top,I.setAxisSize(),_.setAxisSize())}}function E(A){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this),ue(A.redraw,!0)&&this.redraw(A.animation))}function j(){let A=this.options;(A.navigator.enabled||A.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this))}function F(){let A=this.options,I=A.navigator,_=A.rangeSelector;if((I&&I.enabled||_&&_.enabled)&&(!ve&&"x"===this.zooming.type||ve&&"x"===this.zooming.pinchType))return!1}function P(A){let I=A.navigator;if(I&&A.xAxis[0]){let _=A.xAxis[0].getExtremes();I.render(_.min,_.max)}}function D(A){let I=A.options.navigator||{},_=A.options.scrollbar||{};!this.navigator&&!this.scroller&&(I.enabled||_.enabled)&&(pe(!0,this.options.navigator,I),pe(!0,this.options.scrollbar,_),delete A.options.navigator,delete A.options.scrollbar)}return{compose:function(A,I){ne.pushUnique(J,A)&&(re=I,A.prototype.callbacks.push(P),le(A,"afterAddSeries",te),le(A,"afterSetChartSize",X),le(A,"afterUpdate",E),le(A,"beforeRender",j),le(A,"beforeShowResetZoom",F),le(A,"update",D))}}}),Le(V,"Core/Axis/NavigatorAxisComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isTouchDevice:re}=q,{addEvent:ve,correctFloat:le,defined:pe,isNumber:ue,pick:J}=ne;function te(){this.navigatorAxis||(this.navigatorAxis=new E(this))}function X(j){let F,P=this.chart,D=P.options,A=D.navigator,I=this.navigatorAxis,_=P.zooming.pinchType,m=D.rangeSelector,w=P.zooming.type;if(this.isXAxis&&(A?.enabled||m?.enabled))if("y"===w&&"zoom"===j.trigger)F=!1;else if(("zoom"===j.trigger&&"xy"===w||re&&"xy"===_)&&this.options.range){let G=I.previousZoom;pe(j.min)?I.previousZoom=[this.min,this.max]:G&&(j.min=G[0],j.max=G[1],I.previousZoom=void 0)}void 0!==F&&j.preventDefault()}class E{static compose(F){F.keepProps.includes("navigatorAxis")||(F.keepProps.push("navigatorAxis"),ve(F,"init",te),ve(F,"setExtremes",X))}constructor(F){this.axis=F}destroy(){this.axis=void 0}toFixedRange(F,P,D,A){let I=this.axis,_=I.chart,m=J(I.ordinal?.convertOverscroll(I.options.overscroll),0),w=J(D,I.translate(F,!0,!I.horiz)),G=J(A,I.translate(P,!0,!I.horiz)),O=_&&_.fixedRange,f=(I.pointRange||0)/2;if(pe(D)||(w=le(w+f)),pe(A)||(G=le(G-f)),O&&I.dataMin&&I.dataMax){let a=I.dataMax+m;G>=a&&(w=le(a-O),G=le(a)),w<=I.dataMin&&(G=le(I.dataMin+O))}return ue(w)&&ue(G)||(w=G=void 0),{min:w,max:G}}}return E}),Le(V,"Stock/Navigator/NavigatorDefaults.js",[V["Core/Color/Color.js"],V["Core/Series/SeriesRegistry.js"]],function(q,ne){let{parse:re}=q,{seriesTypes:ve}=ne;return{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:re("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===ve.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),Le(V,"Stock/Navigator/NavigatorSymbols.js",[],function(){return{"navigator-handle":function(q,ne,re,ve,le={}){let pe=le.width?le.width/2:re,ue=Math.round(pe/3)+.5;return[["M",-pe-1,.5],["L",pe,.5],["L",pe,(ve=le.height||ve)+.5],["L",-pe-1,ve+.5],["L",-pe-1,.5],["M",-ue,4],["L",-ue,ve-3],["M",ue-1,4],["L",ue-1,ve-3]]}}}),Le(V,"Stock/Utilities/StockUtilities.js",[V["Core/Utilities.js"]],function(q){let{defined:ne}=q;return{setFixedRange:function(re){let ve=this.xAxis[0];this.fixedRange=ne(ve.dataMax)&&ne(ve.dataMin)&&re?Math.min(re,ve.dataMax-ve.dataMin):re}}}),Le(V,"Stock/Navigator/NavigatorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorDefaults.js"],V["Stock/Navigator/NavigatorSymbols.js"],V["Core/Renderer/RendererRegistry.js"],V["Stock/Utilities/StockUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{setOptions:te}=q,{composed:X}=ne,{getRendererType:E}=pe,{setFixedRange:j}=ue,{addEvent:F,extend:P,pushUnique:D}=J;function A(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(I,_,m){re.compose(_),D(X,"Navigator")&&(I.prototype.setFixedRange=j,P(E().prototype.symbols,le),F(m,"afterUpdate",A),te({navigator:ve}))}}}),Le(V,"Core/Axis/ScrollbarAxis.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{composed:ve}=q,{addEvent:le,defined:pe,pick:ue,pushUnique:J}=ne;return function(te){let X;function E(D){let A=ue(D.options&&D.options.min,D.min),I=ue(D.options&&D.options.max,D.max);return{axisMin:A,axisMax:I,scrollMin:pe(D.dataMin)?Math.min(A,D.min,D.dataMin,ue(D.threshold,1/0)):A,scrollMax:pe(D.dataMax)?Math.max(I,D.max,D.dataMax,ue(D.threshold,-1/0)):I}}function j(){let D=this.scrollbar,I=this.horiz?2:D&&!D.options.opposite?3:1;D&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[I]+=D.size+(D.options.margin||0))}function F(){let D=this;D.options&&D.options.scrollbar&&D.options.scrollbar.enabled&&(D.options.scrollbar.vertical=!D.horiz,D.options.startOnTick=D.options.endOnTick=!1,D.scrollbar=new X(D.chart.renderer,D.options.scrollbar,D.chart),le(D.scrollbar,"changed",function(A){let I,_,{axisMin:m,axisMax:w,scrollMin:G,scrollMax:O}=E(D),f=O-G;pe(m)&&pe(w)&&(D.horiz&&!D.reversed||!D.horiz&&D.reversed?(I=G+f*this.to,_=G+f*this.from):(I=G+f*(1-this.from),_=G+f*(1-this.to)),this.shouldUpdateExtremes(A.DOMType)?D.setExtremes(_,I,!0,"mousemove"!==A.DOMType&&"touchmove"!==A.DOMType&&void 0,A):this.setRange(this.from,this.to))}))}function P(){let D,A,I,{scrollMin:_,scrollMax:m}=E(this),w=this.scrollbar,G=this.axisTitleMargin+(this.titleOffset||0),O=this.chart.scrollbarsOffsets,f=this.options.margin||0;if(w&&O){if(this.horiz)this.opposite||(O[1]+=G),w.position(this.left,this.top+this.height+2+O[1]-(this.opposite?f:0),this.width,this.height),this.opposite||(O[1]+=f),D=1;else{let a;this.opposite&&(O[0]+=G),a=w.options.opposite?this.left+this.width+2+O[0]-(this.opposite?0:f):this.opposite?0:f,w.position(a,this.top,this.width,this.height),this.opposite&&(O[0]+=f),D=0}O[D]+=w.size+(w.options.margin||0),isNaN(_)||isNaN(m)||!pe(this.min)||!pe(this.max)||this.min===this.max?w.setRange(0,1):(A=(this.min-_)/(m-_),I=(this.max-_)/(m-_),this.horiz&&!this.reversed||!this.horiz&&this.reversed?w.setRange(A,I):w.setRange(1-I,1-A))}}te.compose=function(D,A){J(ve,"Axis.Scrollbar")&&(X=A,le(D,"afterGetOffset",j),le(D,"afterInit",F),le(D,"afterRender",P))}}(re||(re={})),re}),Le(V,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),Le(V,"Stock/Scrollbar/Scrollbar.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/ScrollbarAxis.js"],V["Stock/Scrollbar/ScrollbarDefaults.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{defaultOptions:pe}=q,{addEvent:ue,correctFloat:J,defined:te,destroyObjectProperties:X,fireEvent:E,merge:j,pick:F,removeEvent:P}=le;class D{static compose(I){re.compose(I,D)}static swapXY(I,_){return _&&I.forEach(m=>{let w,G=m.length;for(let O=0;Othis.calculatedWidth?_.minWidth:0;return{chartX:(I.chartX-this.x-this.xOffset)/(this.barWidth-m),chartY:(I.chartY-this.y-this.yOffset)/(this.barWidth-m)}}destroy(){let I=this,_=I.chart.scroller;I.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(m){I[m]&&I[m].destroy&&(I[m]=I[m].destroy())}),_&&I===_.scrollbar&&(_.scrollbar=null,X(_.scrollbarButtons))}drawScrollbarButton(I){let _=this.renderer,m=this.scrollbarButtons,w=this.options,G=this.size,O=_.g().add(this.group);if(m.push(O),w.buttonsEnabled){let f=_.rect().addClass("highcharts-scrollbar-button").add(O);this.chart.styledMode||f.attr({stroke:w.buttonBorderColor,"stroke-width":w.buttonBorderWidth,fill:w.buttonBackgroundColor}),f.attr(f.crisp({x:-.5,y:-.5,width:G+1,height:G+1,r:w.buttonBorderRadius},f.strokeWidth()));let a=_.path(D.swapXY([["M",G/2+(I?-1:1),G/2-3],["L",G/2+(I?-1:1),G/2+3],["L",G/2+(I?2:-2),G/2]],w.vertical)).addClass("highcharts-scrollbar-arrow").add(m[I]);this.chart.styledMode||a.attr({fill:w.buttonArrowColor})}}init(I,_,m){this.scrollbarButtons=[],this.renderer=I,this.userOptions=_,this.options=j(ve,pe.scrollbar,_),this.options.margin=F(this.options.margin,10),this.chart=m,this.size=F(this.options.size,this.options.height),_.enabled&&(this.render(),this.addEvents())}mouseDownHandler(I){let _=this.chart.pointer?.normalize(I)||I,m=this.cursorToScrollbarPosition(_);this.chartX=m.chartX,this.chartY=m.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(I){let _,m=this.chart.pointer?.normalize(I)||I,w=this.options.vertical?"chartY":"chartX",G=this.initPositions||[];this.grabbedCenter&&(!I.touches||0!==I.touches[0][w])&&(_=this.cursorToScrollbarPosition(m)[w]-this[w],this.hasDragged=!0,this.updatePosition(G[0]+_,G[1]+_),this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:I.type,DOMEvent:I}))}mouseUpHandler(I){this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:I.type,DOMEvent:I}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(I,_,m,w){let{buttonsEnabled:G,margin:O=0,vertical:f}=this.options,a=this.rendered?"animate":"attr",g=w,v=0;this.group.show(),this.x=I,this.y=_+this.trackBorderWidth,this.width=m,this.height=w,this.xOffset=g,this.yOffset=v,f?(this.width=this.yOffset=m=v=this.size,this.xOffset=g=0,this.yOffset=v=G?this.size:0,this.barWidth=w-(G?2*m:0),this.x=I+=O):(this.height=w=this.size,this.xOffset=g=G?this.size:0,this.barWidth=m-(G?2*w:0),this.y=this.y+O),this.group[a]({translateX:I,translateY:this.y}),this.track[a]({width:m,height:w}),this.scrollbarButtons[1][a]({translateX:f?0:m-g,translateY:f?w-v:0})}removeEvents(){this._events.forEach(function(I){P.apply(null,I)}),this._events.length=0}render(){let I=this.renderer,_=this.options,m=this.size,w=this.chart.styledMode,G=I.g("scrollbar").attr({zIndex:_.zIndex}).hide().add();this.group=G,this.track=I.rect().addClass("highcharts-scrollbar-track").attr({r:_.trackBorderRadius||0,height:m,width:m}).add(G),w||this.track.attr({fill:_.trackBackgroundColor,stroke:_.trackBorderColor,"stroke-width":_.trackBorderWidth});let O=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-O%2/2,y:-O%2/2}),this.scrollbarGroup=I.g().add(G),this.scrollbar=I.rect().addClass("highcharts-scrollbar-thumb").attr({height:m-O,width:m-O,r:_.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=I.path(D.swapXY([["M",-3,m/4],["L",-3,2*m/3],["M",0,m/4],["L",0,2*m/3],["M",3,m/4],["L",3,2*m/3]],_.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),w||(this.scrollbar.attr({fill:_.barBackgroundColor,stroke:_.barBorderColor,"stroke-width":_.barBorderWidth}),this.scrollbarRifles.attr({stroke:_.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(I,_){let m,w,G=this.options,O=G.vertical,f=G.minWidth,a=this.barWidth,g=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!te(a))return;let v=a*Math.min(_,1);m=Math.ceil(a*(I=Math.max(I,0))),this.calculatedWidth=w=J(v-m),w=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(I){return F(this.options.liveRedraw,ne.svg&&!ne.isTouchDevice&&!this.chart.boosted)||"mouseup"===I||"touchend"===I||!te(I)}trackClick(I){let _=this.chart.pointer?.normalize(I)||I,m=this.to-this.from;this.options.vertical&&_.chartY>this.y+this.scrollbarTop||!this.options.vertical&&_.chartX>this.x+this.scrollbarLeft?this.updatePosition(this.from+m,this.to+m):this.updatePosition(this.from-m,this.to-m),E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:I})}update(I){this.destroy(),this.init(this.chart.renderer,j(!0,this.options,I),this.chart)}updatePosition(I,_){_>1&&(I=J(1-J(_-I)),_=1),I<0&&(_=J(_-I),I=0),this.from=I,this.to=_}}return D.defaultOptions=ve,pe.scrollbar=j(!0,D.defaultOptions,pe.scrollbar),D}),Le(V,"Stock/Navigator/Navigator.js",[V["Core/Axis/Axis.js"],V["Stock/Navigator/ChartNavigatorComposition.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorComposition.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{defaultOptions:te}=re,{isTouchDevice:X}=ve,{addEvent:E,clamp:j,correctFloat:F,defined:P,destroyObjectProperties:D,erase:A,extend:I,find:_,fireEvent:m,isArray:w,isNumber:G,merge:O,pick:f,removeEvent:a,splat:g}=J;function v(n,...r){let l=[].filter.call(r,G);if(l.length)return Math[n].apply(0,l)}class o{static compose(r,l,d){ne.compose(r,o),pe.compose(r,l,d)}constructor(r){this.scrollbarHeight=0,this.init(r)}drawHandle(r,l,d,C){let k=this.navigatorOptions.handles.height;this.handles[l][C](d?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(r,10)+.5-k)}:{translateX:Math.round(this.left+parseInt(r,10)),translateY:Math.round(this.top+this.height/2-k/2-1)})}drawOutline(r,l,d,C){let x,N,k=this.navigatorOptions.maskInside,p=this.outline.strokeWidth(),T=p/2,B=p%2/2,z=this.scrollButtonSize,K=this.size,U=this.top,se=this.height,S=U-T,$=U+se,H=this.left;d?(x=U+l+B,N=[["M",H+se,U-z-B],["L",H+se,x],["L",H,x],["M",H,l=U+r+B],["L",H+se,l],["L",H+se,U+K+z]],k&&N.push(["M",H+se,x-T],["L",H+se,l+T])):(H-=z,N=[["M",H,S],["L",r+=H+z-B,S],["L",r,$],["M",l+=H+z-B,$],["L",l,S],["L",H+K+2*z,U+T]],k&&N.push(["M",r-T,S],["L",l+T,S])),this.outline[C]({d:N})}drawMasks(r,l,d,C){let k,p,T,B,z=this.left,K=this.top,U=this.height;d?(T=[z,z,z],B=[K,K+r,K+l],p=[U,U,U],k=[r,l-r,this.size-l]):(T=[z,z+r,z+l],B=[K,K,K],p=[r,l-r,this.size-l],k=[U,U,U]),this.shades.forEach((se,S)=>{se[C]({x:T[S],y:B[S],width:p[S],height:k[S]})})}renderElements(){let r=this,l=r.navigatorOptions,d=l.maskInside,C=r.chart,p=C.renderer,T={cursor:C.inverted?"ns-resize":"ew-resize"},B=r.navigatorGroup=p.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();if([!d,d,!d].forEach((z,K)=>{let U=p.rect().addClass("highcharts-navigator-mask"+(1===K?"-inside":"-outside")).add(B);C.styledMode||(U.attr({fill:z?l.maskFill:"rgba(0,0,0,0)"}),1===K&&U.css(T)),r.shades[K]=U}),r.outline=p.path().addClass("highcharts-navigator-outline").add(B),C.styledMode||r.outline.attr({"stroke-width":l.outlineWidth,stroke:l.outlineColor}),l.handles&&l.handles.enabled){let z=l.handles,{height:K,width:U}=z;[0,1].forEach(se=>{r.handles[se]=p.symbol(z.symbols[se],-U/2-1,0,U,K,z),C.inverted&&r.handles[se].attr({rotation:90,rotationOriginX:Math.floor(-U/2),rotationOriginY:(K+U)/2}),r.handles[se].attr({zIndex:7-se}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][se]).add(B),C.styledMode||r.handles[se].attr({fill:z.backgroundColor,stroke:z.borderColor,"stroke-width":z.lineWidth}).css(T)})}}update(r){(this.series||[]).forEach(l=>{l.baseSeries&&delete l.baseSeries.navigatorSeries}),this.destroy(),O(!0,this.chart.options.navigator,r),this.init(this.chart)}render(r,l,d,C){let H,x,N,Z,Y,k=this.chart,p=this.xAxis,T=p.pointRange||0,B=p.navigatorAxis.fake?k.xAxis[0]:p,z=this.navigatorEnabled,K=this.rendered,U=k.inverted,se=k.xAxis[0].minRange,S=k.xAxis[0].options.maxRange,$=this.scrollButtonSize,R=this.scrollbarHeight;if(this.hasDragged&&!P(d))return;if(r=F(r-T/2),l=F(l+T/2),!G(r)||!G(l)){if(!K)return;d=0,C=f(p.width,B.width)}this.left=f(p.left,k.plotLeft+$+(U?k.plotWidth:0));let he=this.size=Z=f(p.len,(U?k.plotHeight:k.plotWidth)-2*$);H=U?R:Z+2*$,d=f(d,p.toPixels(r,!0)),C=f(C,p.toPixels(l,!0)),G(d)&&Math.abs(d)!==1/0||(d=0,C=H);let ge=p.toValue(d,!0),_e=p.toValue(C,!0),Te=Math.abs(F(_e-ge));TeS&&(this.grabbedLeft?d=p.toPixels(_e-S-T,!0):this.grabbedRight&&(C=p.toPixels(ge+S+T,!0))),this.zoomedMax=j(Math.max(d,C),0,he),this.zoomedMin=j(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,C),0,he),this.range=this.zoomedMax-this.zoomedMin,he=Math.round(this.zoomedMax);let Oe=Math.round(this.zoomedMin);z&&(this.navigatorGroup.attr({visibility:"inherit"}),Y=K&&!this.hasDragged?"animate":"attr",this.drawMasks(Oe,he,U,Y),this.drawOutline(Oe,he,U,Y),this.navigatorOptions.handles.enabled&&(this.drawHandle(Oe,0,U,Y),this.drawHandle(he,1,U,Y))),this.scrollbar&&(U?(N=this.top-$,x=this.left-R+(z||!B.opposite?0:(B.titleOffset||0)+B.axisTitleMargin),R=Z+2*$):(N=this.top+(z?this.height:-R),x=this.left-$),this.scrollbar.position(x,N,H,R),this.scrollbar.setRange(this.zoomedMin/(Z||1),this.zoomedMax/(Z||1))),this.rendered=!0,m(this,"afterRender")}addMouseEvents(){let k,p,r=this,l=r.chart,d=l.container,C=[];r.mouseMoveHandler=k=function(T){r.onMouseMove(T)},r.mouseUpHandler=p=function(T){r.onMouseUp(T)},(C=r.getPartsEvents("mousedown")).push(E(l.renderTo,"mousemove",k),E(d.ownerDocument,"mouseup",p),E(l.renderTo,"touchmove",k),E(d.ownerDocument,"touchend",p)),C.concat(r.getPartsEvents("touchstart")),r.eventsToUnbind=C,r.series&&r.series[0]&&C.push(E(r.series[0].xAxis,"foundExtremes",function(){l.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(r){let l=this,d=[];return["shades","handles"].forEach(function(C){l[C].forEach(function(k,p){d.push(E(k.element,r,function(T){l[C+"Mousedown"](T,p)}))})}),d}shadesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let K,U,se,S,C=this.xAxis,k=this.zoomedMin,p=this.size,T=this.range,B=this.left,z=r.chartX;this.chart.inverted&&(z=r.chartY,B=this.top),1===l?(this.grabbedCenter=z,this.fixedWidth=T,this.dragOffset=z-k):(S=z-B-T/2,0===l?S=Math.max(0,S):2===l&&S+T>=p&&(S=p-T,this.reversedExtremes?(S-=T,U=this.getUnionExtremes().dataMin):K=this.getUnionExtremes().dataMax),S!==k&&(this.fixedWidth=T,P((se=C.navigatorAxis.toFixedRange(S,S+T,U,K)).min)&&m(this,"setRange",{min:Math.min(se.min,se.max),max:Math.max(se.min,se.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let d=this.chart,C=d.xAxis[0],k=this.reversedExtremes;0===l?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=k?C.min:C.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=k?C.max:C.min),d.setFixedRange(void 0)}onMouseMove(r){let z,l=this,d=l.chart,C=l.navigatorSize,k=l.range,p=l.dragOffset,T=d.inverted,B=l.left;(!r.touches||0!==r.touches[0].pageX)&&(z=(r=d.pointer?.normalize(r)||r).chartX,T&&(B=l.top,z=r.chartY),l.grabbedLeft?(l.hasDragged=!0,l.render(0,0,z-B,l.otherHandlePos)):l.grabbedRight?(l.hasDragged=!0,l.render(0,0,l.otherHandlePos,z-B)):l.grabbedCenter&&(l.hasDragged=!0,zC+p-k&&(z=C+p-k),l.render(0,0,z-p,z-p+k)),l.hasDragged&&l.scrollbar&&f(l.scrollbar.options.liveRedraw,!X&&!this.chart.boosted)&&(r.DOMType=r.type,setTimeout(function(){l.onMouseUp(r)},0)))}onMouseUp(r){let l,d,C,k,p,T,z=this.xAxis,K=this.scrollbar,U=r.DOMEvent||r,se=this.chart.inverted,S=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!K||!K.hasDragged)||"scrollbar"===r.trigger)&&(C=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?k=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(p=this.fixedExtreme),this.zoomedMax===this.size&&(p=this.reversedExtremes?C.dataMin:C.dataMax),0===this.zoomedMin&&(k=this.reversedExtremes?C.dataMax:C.dataMin),P((T=z.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,k,p)).min)&&m(this,"setRange",{min:Math.min(T.min,T.max),max:Math.max(T.min,T.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:U}})),"mousemove"!==r.DOMType&&"touchmove"!==r.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&G(this.zoomedMin)&&G(this.zoomedMax)&&(d=Math.round(this.zoomedMin),l=Math.round(this.zoomedMax),this.shades&&this.drawMasks(d,l,se,S),this.outline&&this.drawOutline(d,l,se,S),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(d,0,se,S),this.drawHandle(l,1,se,S)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(r){r()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let r=this.baseSeries||[];this.navigatorEnabled&&r[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&r.forEach(function(l){a(l,"updatedData",this.updatedDataHandler)},this),r[0].xAxis&&a(r[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(r){let l=r.options,d=l.navigator||{},C=d.enabled,k=l.scrollbar||{},p=k.enabled,T=C&&d.height||0,B=p&&k.height||0,z=k.buttonsEnabled&&B||0;this.handles=[],this.shades=[],this.chart=r,this.setBaseSeries(),this.height=T,this.scrollbarHeight=B,this.scrollButtonSize=z,this.scrollbarEnabled=p,this.navigatorEnabled=C,this.navigatorOptions=d,this.scrollbarOptions=k,this.opposite=f(d.opposite,!(C||!r.inverted));let K=this,U=K.baseSeries,se=r.xAxis.length,S=r.yAxis.length,$=U&&U[0]&&U[0].xAxis||r.xAxis[0]||{options:{}};if(r.isDirtyBox=!0,K.navigatorEnabled?(K.xAxis=new q(r,O({breaks:$.options.breaks,ordinal:$.options.ordinal,overscroll:$.options.overscroll},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:se,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},r.inverted?{offsets:[z,0,-z,0],width:T}:{offsets:[0,-z,0,z],height:T}),"xAxis"),K.yAxis=new q(r,O(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:S,isInternal:!0,reversed:f(d.yAxis&&d.yAxis.reversed,r.yAxis[0]&&r.yAxis[0].reversed,!1),zoomEnabled:!1},r.inverted?{width:T}:{height:T}),"yAxis"),U||d.series.data?K.updateNavigatorSeries(!1):0===r.series.length&&(K.unbindRedraw=E(r,"beforeRedraw",function(){r.series.length>0&&!K.series&&(K.setBaseSeries(),K.unbindRedraw())})),K.reversedExtremes=r.inverted&&!K.xAxis.reversed||!r.inverted&&K.xAxis.reversed,K.renderElements(),K.addMouseEvents()):(K.xAxis={chart:r,navigatorAxis:{fake:!0},translate:function(H,x){let N=r.xAxis[0],R=N.getExtremes(),Z=N.len-2*z,Y=v("min",N.options.min,R.dataMin),he=v("max",N.options.max,R.dataMax)-Y;return x?H*he/Z+Y:Z*(H-Y)/he},toPixels:function(H){return this.translate(H)},toValue:function(H){return this.translate(H,!0)}},K.xAxis.navigatorAxis.axis=K.xAxis,K.xAxis.navigatorAxis.toFixedRange=le.prototype.toFixedRange.bind(K.xAxis.navigatorAxis)),r.options.scrollbar.enabled){let H=O(r.options.scrollbar,{vertical:r.inverted});!G(H.margin)&&K.navigatorEnabled&&(H.margin=r.inverted?-3:3),r.scrollbar=K.scrollbar=new ue(r.renderer,H,r),E(K.scrollbar,"changed",function(x){let N=K.size,R=N*this.to,Z=N*this.from;K.hasDragged=K.scrollbar.hasDragged,K.render(0,0,Z,R),this.shouldUpdateExtremes(x.DOMType)&&setTimeout(function(){K.onMouseUp(x)})})}K.addBaseSeriesEvents(),K.addChartEvents()}getUnionExtremes(r){let l,d=this.chart.xAxis[0],C=this.xAxis,k=C.options,p=d.options;return r&&null===d.dataMin||(l={dataMin:f(k&&k.min,v("min",p.min,d.dataMin,C.dataMin,C.min)),dataMax:f(k&&k.max,v("max",p.max,d.dataMax,C.dataMax,C.max))}),l}setBaseSeries(r,l){let d=this.chart,C=this.baseSeries=[];r=r||d.options&&d.options.navigator.baseSeries||(d.series.length?_(d.series,k=>!k.options.isInternal).index:0),(d.series||[]).forEach((k,p)=>{!k.options.isInternal&&(k.options.showInNavigator||(p===r||k.options.id===r)&&!1!==k.options.showInNavigator)&&C.push(k)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,l)}updateNavigatorSeries(r,l){let B,z,U,d=this,C=d.chart,k=d.baseSeries,p={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},T=d.series=(d.series||[]).filter(se=>{let S=se.baseSeries;return!(0>k.indexOf(S)&&(S&&(a(S,"updatedData",d.updatedDataHandler),delete S.navigatorSeries),se.chart&&se.destroy(),1))}),K=d.navigatorOptions.series;k&&k.length&&k.forEach(se=>{let S=se.navigatorSeries,$=I({color:se.color,visible:se.visible},w(K)?te.navigator.series:K);if(S&&!1===d.navigatorOptions.adaptToUpdatedData)return;p.name="Navigator "+k.length,U=(B=se.options||{}).navigatorOptions||{},$.dataLabels=g($.dataLabels),(z=O(B,p,$,U)).pointRange=f($.pointRange,U.pointRange,te.plotOptions[z.type||"line"].pointRange);let H=U.data||$.data;d.hasNavigatorData=d.hasNavigatorData||!!H,z.data=H||B.data&&B.data.slice(0),S&&S.options?S.update(z,l):(se.navigatorSeries=C.initSeries(z),C.setSortedData(),se.navigatorSeries.baseSeries=se,T.push(se.navigatorSeries))}),(K.data&&!(k&&k.length)||w(K))&&(d.hasNavigatorData=!1,(K=g(K)).forEach((se,S)=>{p.name="Navigator "+(T.length+1),(z=O(te.navigator.series,{color:C.series[S]&&!C.series[S].options.isInternal&&C.series[S].color||C.options.colors[S]||C.options.colors[0]},p,se)).data=se.data,z.data&&(d.hasNavigatorData=!0,T.push(C.initSeries(z)))})),r&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let r=this,l=r.baseSeries||[];l[0]&&l[0].xAxis&&l[0].eventsToUnbind.push(E(l[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),l.forEach(d=>{d.eventsToUnbind.push(E(d,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),d.eventsToUnbind.push(E(d,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&d.xAxis&&d.eventsToUnbind.push(E(d,"updatedData",this.updatedDataHandler)),d.eventsToUnbind.push(E(d,"remove",function(){this.navigatorSeries&&(A(r.series,this.navigatorSeries),P(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(r){return this.baseSeries.reduce(function(l,d){return Math.min(l,d.xData&&d.xData.length?d.xData[0]:l)},r)}modifyNavigatorAxisExtremes(){let r=this.xAxis;if(void 0!==r.getExtremes){let l=this.getUnionExtremes(!0);l&&(l.dataMin!==r.min||l.dataMax!==r.max)&&(r.min=l.dataMin,r.max=l.dataMax)}}modifyBaseAxisExtremes(){let r,l,d=this.chart.navigator,C=this.getExtremes(),T=C.dataMin,B=C.dataMax,z=C.max-C.min,K=d.stickToMin,U=d.stickToMax,se=f(this.ordinal?.convertOverscroll(this.options.overscroll),0),S=d.series&&d.series[0],$=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(K&&(r=(l=T)+z),U&&(r=B+se,K||(l=Math.max(T,r-z,d.getBaseSeriesMin(S&&S.xData?S.xData[0]:-Number.MAX_VALUE)))),$&&(K||U)&&G(l)&&(this.min=this.userMin=l,this.max=this.userMax=r)),d.stickToMin=d.stickToMax=null}updatedDataHandler(){let r=this.chart.navigator,l=this.navigatorSeries,d=r.reversedExtremes?0===Math.round(r.zoomedMin):Math.round(r.zoomedMax)>=Math.round(r.size);r.stickToMax=f(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,d),r.stickToMin=r.shouldStickToMin(this,r),l&&!r.hasNavigatorData&&(l.options.pointStart=this.xData[0],l.setData(this.options.data,!1,null,!1))}shouldStickToMin(r,l){let d=l.getBaseSeriesMin(r.xData[0]),C=r.xAxis,k=C.max,p=C.min,T=C.options.range;return!(!G(k)||!G(p))&&(T&&k-d>0?k-d{r.destroy&&r.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(r=>{this[r]&&this[r].destroy&&this[r].destroy(),this[r]=null}),[this.handles].forEach(r=>{D(r)})}}return o}),Le(V,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),Le(V,"Stock/RangeSelector/RangeSelectorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorDefaults.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let le,{defaultOptions:pe}=q,{composed:ue}=ne,{addEvent:J,defined:te,extend:X,find:E,isNumber:j,merge:F,pick:P,pushUnique:D}=ve,A=[];function I(){let g,v,o=this.range,n=o.type,r=this.max,l=this.chart.time,d=function(k,p){let T="year"===n?"FullYear":"Month",B=new l.Date(k),z=l.get(T,B);return l.set(T,B,z+p),z===l.get(T,B)&&l.set("Date",B,0),B.getTime()-k};j(o)?(g=r-o,v=o):o&&(g=r+d(r,-(o.count||1)),this.chart&&this.chart.setFixedRange(r-g));let C=P(this.dataMin,Number.MIN_VALUE);return j(g)||(g=C),g<=C&&(g=C,void 0===v&&(v=d(g,o.count)),this.newMax=Math.min(g+v,P(this.dataMax,Number.MAX_VALUE))),j(r)?!j(o)&&o&&o._offsetMin&&(g+=o._offsetMin):g=void 0,g}function _(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new le(this))}function m(){let g=this.axes,v=this.rangeSelector;if(v){j(v.deferredYTDClick)&&(v.clickButton(v.deferredYTDClick),delete v.deferredYTDClick),g.forEach(n=>{n.updateNames(),n.setScale()}),this.getAxisMargins(),v.render();let o=v.options.verticalAlign;v.options.floating||("bottom"===o?this.extraBottomMargin=!0:"middle"===o||(this.extraTopMargin=!0))}}function w(g){let v,o,n,r,l=g.rangeSelector,d=()=>{l&&(v=g.xAxis[0].getExtremes(),o=g.legend,r=l&&l.options.verticalAlign,j(v.min)&&l.render(v.min,v.max),o.display&&"top"===r&&r===o.options.verticalAlign&&(n=F(g.spacingBox),"vertical"===o.options.layout?n.y=g.plotTop:n.y+=l.getHeight(),o.group.placed=!1,o.align(n)))};l&&(E(A,C=>C[0]===g)||A.push([g,[J(g.xAxis[0],"afterSetExtremes",function(C){l&&l.render(C.min,C.max)}),J(g,"redraw",d)]]),d())}function G(){for(let g=0,v=A.length;gn()),void A.splice(g,1)}}function O(){let g=this.rangeSelector;if(g){let v=g.getHeight();this.extraTopMargin&&(this.plotTop+=v),this.extraBottomMargin&&(this.marginBottom+=v)}}function f(){let g=this.rangeSelector;if(g&&!g.options.floating){g.render();let v=g.options.verticalAlign;"bottom"===v?this.extraBottomMargin=!0:"middle"!==v&&(this.extraTopMargin=!0)}}function a(g){let v=g.options.rangeSelector,o=this.extraBottomMargin,n=this.extraTopMargin,r=this.rangeSelector;if(v&&v.enabled&&!te(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new le(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){w(this);let l=v&&v.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===l?this.extraBottomMargin=!0:"middle"===l||(this.extraTopMargin=!0)),(this.extraBottomMargin!==o||this.extraTopMargin!==n)&&(this.isDirtyBox=!0)}}return{compose:function(g,v,o){if(le=o,D(ue,"RangeSelector")){let n=v.prototype;g.prototype.minFromRange=I,J(v,"afterGetContainer",_),J(v,"beforeRender",m),J(v,"destroy",G),J(v,"getMargins",O),J(v,"render",f),J(v,"update",a),n.callbacks.push(w),X(pe,{rangeSelector:re.rangeSelector}),X(pe.lang,re.lang)}}}}),Le(V,"Stock/RangeSelector/RangeSelector.js",[V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorComposition.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{defaultOptions:ue}=ne,{addEvent:J,createElement:te,css:X,defined:E,destroyObjectProperties:j,discardElement:F,extend:P,fireEvent:D,isNumber:A,merge:I,objectEach:_,pad:m,pick:w,pInt:G,splat:O}=pe;class f{static compose(g,v){ve.compose(g,v,f)}constructor(g){this.buttonOptions=f.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.chart=g,this.init(g)}clickButton(g,v){let T,z,U,se,S,$,H,o=this.chart,n=this.buttonOptions[g],r=o.xAxis[0],l=o.scroller&&o.scroller.getUnionExtremes()||r||{},d=n.type,C=n.dataGrouping,k=l.dataMin,p=l.dataMax,B=r&&Math.round(Math.min(r.max,w(p,r.max))),K=n._range,x=!0;if(null!==k&&null!==p){if(this.setSelected(g),C&&(this.forcedDataGrouping=!0,q.prototype.setDataGrouping.call(r||{chart:this.chart},C,!1),this.frozenStates=n.preserveDataGrouping),"month"===d||"year"===d)r?($={range:n,max:B,chart:o,dataMin:k,dataMax:p},T=r.minFromRange.call($),A($.newMax)&&(B=$.newMax),x=!1):K=n;else if(K)B=Math.min((T=Math.max(B-K,k))+K,p),x=!1;else if("ytd"===d){if(!r)return void(this.deferredYTDClick=g);(void 0===p||void 0===k)&&(k=Number.MAX_VALUE,p=Number.MIN_VALUE,o.series.forEach(N=>{let R=N.xData;R&&(k=Math.min(R[0],k),p=Math.max(R[R.length-1],p))}),v=!1),T=U=(H=this.getYTDExtremes(p,k,o.time.useUTC)).min,B=H.max}else"all"===d&&r&&(o.navigator&&o.navigator.baseSeries[0]&&(o.navigator.baseSeries[0].xAxis.options.range=void 0),T=k,B=p);x&&n._offsetMin&&E(T)&&(T+=n._offsetMin),n._offsetMax&&E(B)&&(B+=n._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=g+1),r?(r.setExtremes(T,B,w(v,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:n}),o.setFixedRange(n._range)):(S=(z=O(o.options.xAxis)[0]).range,z.range=K,se=z.min,z.min=U,J(o,"load",function(){o.setFixedRange(n._range),z.range=S,z.min=se})),D(this,"afterBtnClick")}}setSelected(g){this.selected=this.options.selected=g}init(g){let v=this,o=g.options.rangeSelector,n=o.buttons||v.defaultButtons.slice(),r=o.selected,l=function(){let d=v.minInput,C=v.maxInput;d&&d.blur&&D(d,"blur"),C&&C.blur&&D(C,"blur")};v.chart=g,v.options=o,v.buttons=[],v.buttonOptions=n,this.eventsToUnbind=[],this.eventsToUnbind.push(J(g.container,"mousedown",l)),this.eventsToUnbind.push(J(g,"resize",l)),n.forEach(v.computeButtonRange),void 0!==r&&n[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(J(g,"load",function(){g.xAxis&&g.xAxis[0]&&J(g.xAxis[0],"setExtremes",function(d){A(this.max)&&A(this.min)&&this.max-this.min!==g.fixedRange&&"rangeSelectorButton"!==d.trigger&&"updatedData"!==d.trigger&&v.forcedDataGrouping&&!v.frozenStates&&this.setDataGrouping(!1,!1)})}))}updateButtonStates(){let g=this,v=this.chart,o=this.dropdown,n=v.xAxis[0],r=Math.round(n.max-n.min),l=!n.hasVisibleSeries,d=864e5,C=v.scroller&&v.scroller.getUnionExtremes()||n,k=C.dataMin,p=C.dataMax,T=g.getYTDExtremes(p,k,v.time.useUTC),B=T.min,z=T.max,K=g.selected,U=g.options.allButtonsEnabled,se=g.buttons,S=A(K),$=!1;g.buttonOptions.forEach((H,x)=>{let N=H._range,R=H.type,Z=H.count||1,Y=se[x],he=H._offsetMax-H._offsetMin,ge=x===K,_e=N>p-k,Te=NN&&(oe=!0)}else("month"===R||"year"===R)&&r+36e5>={month:28,year:365}[R]*d*Z-he&&r-36e5<={month:31,year:366}[R]*d*Z+he?oe=!0:"ytd"===R?(oe=z-B+he===r,De=!ge):"all"===R&&(oe=n.max-n.min>=p-k,Be=!ge&&S&&oe);let ee=!U&&!($&&"all"===R)&&(_e||Te||Be||l);ee?Oe=3:($&&"all"===R||ge&&oe||oe&&!S&&!De||ge&&g.frozenStates)&&(S=!0,Oe=2),Y.state!==Oe&&(Y.setState(Oe),o&&(o.options[x+1].disabled=ee,2===Oe&&(o.selectedIndex=x+1)),0===Oe&&K===x?g.setSelected():(2===Oe&&!E(K)||$)&&g.setSelected(x))})}computeButtonRange(g){let v=g.type,o=g.count||1,n={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};n[v]?g._range=n[v]*o:("month"===v||"year"===v)&&(g._range=24*{month:30,year:365}[v]*36e5*o),g._offsetMin=w(g.offsetMin,0),g._offsetMax=w(g.offsetMax,0),g._range+=g._offsetMax-g._offsetMin}getInputValue(g){let v="min"===g?this.minInput:this.maxInput,n=this.chart.time;return v?("text"===v.type&&this.chart.options.rangeSelector.inputDateParser||this.defaultInputDateParser)(v.value,n.useUTC,n):0}setInputValue(g,v){let o=this.options,n=this.chart.time,r="min"===g?this.minInput:this.maxInput,l="min"===g?this.minDateBox:this.maxDateBox;if(r){let d=r.getAttribute("data-hc-time"),C=E(d)?Number(d):void 0;if(E(v)){let k=C;E(k)&&r.setAttribute("data-hc-time-previous",k),r.setAttribute("data-hc-time",v),C=v}r.value=n.dateFormat(this.inputTypeFormats[r.type]||o.inputEditDateFormat,C),l&&l.attr({text:n.dateFormat(o.inputDateFormat,C)})}}setInputExtremes(g,v,o){let n="min"===g?this.minInput:this.maxInput;if(n){let r=this.inputTypeFormats[n.type],l=this.chart.time;if(r){let d=l.dateFormat(r,v);n.min!==d&&(n.min=d);let C=l.dateFormat(r,o);n.max!==C&&(n.max=C)}}}showInput(g){let v="min"===g?this.minDateBox:this.maxDateBox,o="min"===g?this.minInput:this.maxInput;if(o&&v&&this.inputGroup){let n="text"===o.type,{translateX:r=0,translateY:l=0}=this.inputGroup,{x:d=0,width:C=0,height:k=0}=v,{inputBoxWidth:p}=this.options;X(o,{width:n?C+(p?-2:20)+"px":"auto",height:k-2+"px",border:"2px solid silver"}),X(o,n&&p?{left:r+d+"px",top:l+"px"}:{left:Math.min(Math.round(d+r-(o.offsetWidth-C)/2),this.chart.chartWidth-o.offsetWidth)+"px",top:l-(o.offsetHeight-k)/2+"px"})}}hideInput(g){let v="min"===g?this.minInput:this.maxInput;v&&X(v,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(g,v,o){let n=g.split("/").join("-").split(" ").join("T");if(-1===n.indexOf("T")&&(n+="T00:00"),v)n+="Z";else{let l;if(re.isSafari&&(!((l=n).length>6)||l.lastIndexOf("-")!==l.length-6&&l.lastIndexOf("+")!==l.length-6)){let d=new Date(n).getTimezoneOffset()/60;n+=d<=0?`+${m(-d)}:00`:`-${m(d)}:00`}}let r=Date.parse(n);if(!A(r)){let l=g.split("-");r=Date.UTC(G(l[0]),G(l[1])-1,G(l[2]))}return o&&v&&A(r)&&(r+=o.getTimezoneOffset(r)),r}drawInput(g){let{chart:v,div:o,inputGroup:n}=this,r=this,l=v.renderer.style||{},d=v.renderer,C=v.options.rangeSelector,p="min"===g;function T(){let{maxInput:S,minInput:$}=r,H=v.xAxis[0],x=v.scroller&&v.scroller.getUnionExtremes()||H,N=x.dataMin,R=x.dataMax,Z=r.getInputValue(g);Z!==Number(U.getAttribute("data-hc-time-previous"))&&A(Z)&&(U.setAttribute("data-hc-time-previous",Z),p&&S&&A(N)?Z>Number(S.getAttribute("data-hc-time"))?Z=void 0:ZR&&(Z=R)),void 0!==Z&&H.setExtremes(p?Z:H.min,p?H.max:Z,void 0,void 0,{trigger:"rangeSelectorInput"}))}let B=ue.lang[p?"rangeSelectorFrom":"rangeSelectorTo"]||"",z=d.label(B,0).addClass("highcharts-range-label").attr({padding:B?2:0,height:B?C.inputBoxHeight:0}).add(n),K=d.label("",0).addClass("highcharts-range-input").attr({padding:2,width:C.inputBoxWidth,height:C.inputBoxHeight,"text-align":"center"}).on("click",function(){r.showInput(g),r[g+"Input"].focus()});v.styledMode||K.attr({stroke:C.inputBoxBorderColor,"stroke-width":1}),K.add(n);let U=te("input",{name:g,className:"highcharts-range-selector"},void 0,o);U.setAttribute("type",function(S){if(-1!==S.indexOf("%L"))return"text";let $=["a","A","d","e","w","b","B","m","o","y","Y"].some(x=>-1!==S.indexOf("%"+x)),H=["H","k","I","l","M","S"].some(x=>-1!==S.indexOf("%"+x));return $&&H?"datetime-local":$?"date":H?"time":"text"}(C.inputDateFormat||"%e %b %Y")),v.styledMode||(z.css(I(l,C.labelStyle)),K.css(I({color:"#333333"},l,C.inputStyle)),X(U,P({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:l.fontSize,fontFamily:l.fontFamily,top:"-9999em"},C.inputStyle))),U.onfocus=()=>{r.showInput(g)},U.onblur=()=>{U===re.doc.activeElement&&T(),r.hideInput(g),r.setInputValue(g),U.blur()};let se=!1;return U.onchange=()=>{se||(T(),r.hideInput(g),U.blur())},U.onkeypress=S=>{13===S.keyCode&&T()},U.onkeydown=S=>{se=!0,(38===S.keyCode||40===S.keyCode)&&T()},U.onkeyup=()=>{se=!1},{dateBox:K,input:U,label:z}}getPosition(){let g=this.chart,v=g.options.rangeSelector,o="top"===v.verticalAlign?g.plotTop-g.axisOffset[0]:0;return{buttonTop:o+v.buttonPosition.y,inputTop:o+v.inputPosition.y-10}}getYTDExtremes(g,v,o){let n=this.chart.time,r=new n.Date(g),l=n.get("FullYear",r),d=Math.max(v,o?n.Date.UTC(l,0,1):+new n.Date(l,0,1)),C=r.getTime();return{max:Math.min(g||C,C),min:d}}render(g,v){let o=this.chart,n=o.renderer,r=o.container,l=o.options,d=l.rangeSelector,C=w(l.chart.style&&l.chart.style.zIndex,0)+1,k=d.inputEnabled;if(!1!==d.enabled){if(!this.rendered&&(this.group=n.g("range-selector-group").attr({zIndex:7}).add(),this.div=te("div",void 0,{position:"relative",height:0,zIndex:C}),this.buttonOptions.length&&this.renderButtons(),r.parentNode&&r.parentNode.insertBefore(this.div,r),k)){this.inputGroup=n.g("input-group").add(this.group);let T=this.drawInput("min");this.minDateBox=T.dateBox,this.minLabel=T.label,this.minInput=T.input;let B=this.drawInput("max");this.maxDateBox=B.dateBox,this.maxLabel=B.label,this.maxInput=B.input}if(k){this.setInputValue("min",g),this.setInputValue("max",v);let T=o.scroller&&o.scroller.getUnionExtremes()||o.xAxis[0]||{};if(E(T.dataMin)&&E(T.dataMax)){let B=o.xAxis[0].minRange||0;this.setInputExtremes("min",T.dataMin,Math.min(T.dataMax,this.getInputValue("max"))-B),this.setInputExtremes("max",Math.max(T.dataMin,this.getInputValue("min"))+B,T.dataMax)}if(this.inputGroup){let B=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(z=>{if(z){let{width:K}=z.getBBox();K&&(z.attr({x:B}),B+=K+d.inputSpacing)}})}}this.alignElements(),this.rendered=!0}}renderButtons(){let{buttons:g,chart:v,options:o}=this,n=ue.lang,r=v.renderer,l=I(o.buttonTheme),d=l&&l.states,C=l.width||28;delete l.width,delete l.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group);let k=this.dropdown=te("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);J(k,"touchstart",()=>{k.style.fontSize="16px"}),[[re.isMS?"mouseover":"mouseenter"],[re.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(([p,T])=>{J(k,p,()=>{let B=g[this.currentButtonIndex()];B&&D(B.element,T||p)})}),this.zoomText=r.label(n&&n.rangeSelectorZoom||"",0).attr({padding:o.buttonTheme.padding,height:o.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(o.labelStyle),l["stroke-width"]=w(l["stroke-width"],0)),te("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,k),this.buttonOptions.forEach((p,T)=>{te("option",{textContent:p.title||p.text},void 0,k),g[T]=r.button(p.text,0,0,B=>{let z,K=p.events&&p.events.click;K&&(z=K.call(p,B)),!1!==z&&this.clickButton(T),this.isActive=!0},l,d&&d.hover,d&&d.select,d&&d.disabled).attr({"text-align":"center",width:C}).add(this.buttonGroup),p.title&&g[T].attr("title",p.title)})}alignElements(){let{buttonGroup:g,buttons:v,chart:o,group:n,inputGroup:r,options:l,zoomText:d}=this,C=o.options,k=C.exporting&&!1!==C.exporting.enabled&&C.navigation&&C.navigation.buttonOptions,{buttonPosition:p,inputPosition:T,verticalAlign:B}=l,z=(U,se)=>k&&this.titleCollision(o)&&"top"===B&&"right"===se.align&&se.y-U.getBBox().height-12<(k.y||0)+(k.height||0)+o.spacing[0]?-40:0,K=o.plotLeft;if(n&&p&&T){let U=p.x-o.spacing[3];if(g){if(this.positionButtons(),!this.initialButtonGroupWidth){let Y=0;d&&(Y+=d.getBBox().width+5),v.forEach((he,ge)=>{Y+=he.width||0,ge!==v.length-1&&(Y+=l.buttonSpacing)}),this.initialButtonGroupWidth=Y}K-=o.spacing[3],this.updateButtonStates();let Z=z(g,p);this.alignButtonGroup(Z),n.placed=g.placed=o.hasLoaded}let se=0;r&&(se=z(r,T),"left"===T.align?U=K:"right"===T.align&&(U=-Math.max(o.axisOffset[1],-se)),r.align({y:T.y,width:r.getBBox().width,align:T.align,x:T.x+U-2},!0,o.spacingBox),r.placed=o.hasLoaded),this.handleCollision(se),n.align({verticalAlign:B},!0,o.spacingBox);let S=n.alignAttr.translateY,$=n.getBBox().height+20,H=0;if("bottom"===B){let Z=o.legend&&o.legend.options;H=S-($=$+(Z&&"bottom"===Z.verticalAlign&&Z.enabled&&!Z.floating?o.legend.legendHeight+w(Z.margin,10):0)-20)-(l.floating?0:l.y)-(o.titleOffset?o.titleOffset[2]:0)-10}"top"===B?(l.floating&&(H=0),o.titleOffset&&o.titleOffset[0]&&(H=o.titleOffset[0]),H+=o.margin[0]-o.spacing[0]||0):"middle"===B&&(T.y===p.y?H=S:(T.y||p.y)&&(T.y<0||p.y<0?H-=Math.min(T.y,p.y):H=S-$)),n.translate(l.x,l.y+Math.floor(H));let{minInput:x,maxInput:N,dropdown:R}=this;l.inputEnabled&&x&&N&&(x.style.marginTop=n.translateY+"px",N.style.marginTop=n.translateY+"px"),R&&(R.style.marginTop=n.translateY+"px")}}alignButtonGroup(g,v){let{chart:o,options:n,buttonGroup:r}=this,{buttonPosition:l}=n,d=o.plotLeft-o.spacing[3],C=l.x-o.spacing[3];"right"===l.align?C+=g-d:"center"===l.align&&(C-=d/2),r&&r.align({y:l.y,width:w(v,this.initialButtonGroupWidth),align:l.align,x:C},!0,o.spacingBox)}positionButtons(){let{buttons:g,chart:v,options:o,zoomText:n}=this,r=v.hasLoaded?"animate":"attr",{buttonPosition:l}=o,d=v.plotLeft,C=d;n&&"hidden"!==n.visibility&&(n[r]({x:w(d+l.x,d)}),C+=l.x+n.getBBox().width+5);for(let k=0,p=this.buttonOptions.length;k{let T=0;return this.buttons.forEach(B=>{let z=B.getBBox();z.width>T&&(T=z.width)}),T},k=T=>{if(n&&o){let B=n.alignAttr.translateX+n.alignOptions.x-g+n.getBBox().x+2,z=n.alignOptions.width,K=o.alignAttr.translateX+o.getBBox().x;return K+T>B&&B+z>K&&r.y{n&&o&&n.attr({translateX:n.alignAttr.translateX+(v.axisOffset[1]>=-g?0:-g),translateY:n.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===l)return this.collapseButtons(g),void(k(C())&&p());"never"===l&&this.expandButtons()}n&&o?d.align===r.align||k(this.initialButtonGroupWidth+20)?"responsive"===l?(this.collapseButtons(g),k(C())&&p()):p():"responsive"===l&&this.expandButtons():o&&"responsive"===l&&(this.initialButtonGroupWidth>v.plotWidth?this.collapseButtons(g):this.expandButtons())}collapseButtons(g){let{buttons:v,buttonOptions:o,chart:n,dropdown:r,options:l,zoomText:d}=this;if(!0===this.isCollapsed)return;this.isCollapsed=!0;let C=n.userOptions.rangeSelector&&n.userOptions.rangeSelector.buttonTheme||{},k=B=>({text:B?`${B} \u25be`:"\u25be",width:"auto",paddingLeft:w(l.buttonTheme.paddingLeft,C.padding,8),paddingRight:w(l.buttonTheme.paddingRight,C.padding,8)});d&&d.hide();let p=!1;o.forEach((B,z)=>{let K=v[z];2!==K.state?K.hide():(K.show(),K.attr(k(B.text)),p=!0)}),p||(r&&(r.selectedIndex=0),v[0].show(),v[0].attr(k(this.zoomText&&this.zoomText.textStr)));let{align:T}=l.buttonPosition;this.positionButtons(),("right"===T||"center"===T)&&this.alignButtonGroup(g,v[this.currentButtonIndex()].getBBox().width),this.showDropdown()}expandButtons(){let{buttons:g,buttonOptions:v,options:o,zoomText:n}=this;this.hideDropdown(),!1!==this.isCollapsed&&(this.isCollapsed=!1,n&&n.show(),v.forEach((r,l)=>{let d=g[l];d.show(),d.attr({text:r.text,width:o.buttonTheme.width||28,paddingLeft:w(o.buttonTheme.paddingLeft,"unset"),paddingRight:w(o.buttonTheme.paddingRight,"unset")}),d.state<2&&d.setState(0)}),this.positionButtons())}currentButtonIndex(){let{dropdown:g}=this;return g&&g.selectedIndex>0?g.selectedIndex-1:0}showDropdown(){let{buttonGroup:g,buttons:v,chart:o,dropdown:n}=this;if(g&&n){let{translateX:r=0,translateY:l=0}=g,d=v[this.currentButtonIndex()].getBBox();X(n,{left:o.plotLeft+r+"px",top:l+.5+"px",width:d.width+"px",height:d.height+"px"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:g}=this;g&&(X(g,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let g=this.options,v=this.group,r=g.y,l=g.buttonPosition.y,d=g.inputPosition.y,C=0;if(g.height)return g.height;this.alignElements(),C=v?v.getBBox(!0).height+13+r:0;let k=Math.min(d,l);return(d<0&&l<0||d>0&&l>0)&&(C+=Math.abs(k)),C}titleCollision(g){return!(g.options.title.text||g.options.subtitle.text)}update(g){let v=this.chart;I(!0,v.options.rangeSelector,g),this.destroy(),this.init(v),this.render()}destroy(){let g=this,v=g.minInput,o=g.maxInput;g.eventsToUnbind&&(g.eventsToUnbind.forEach(n=>n()),g.eventsToUnbind=void 0),j(g.buttons),v&&(v.onfocus=v.onblur=v.onchange=null),o&&(o.onfocus=o.onblur=o.onchange=null),_(g,function(n,r){n&&"chart"!==r&&(n instanceof le?n.destroy():n instanceof e.HTMLElement&&F(n)),n!==f.prototype[r]&&(g[r]=null)},this)}}return P(f.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),f}),Le(V,"Series/PathUtilities.js",[],function(){function q(ne,re){let ve=[];for(let le=0;le>1].xMin)>0)I=m+1;else{if(!(w<0))return m;_=m-1}return I>0?I-1:0}function J(F,P){let D=ue(F,P.x+1)+1;for(;D--;){var A;if(F[D].xMax>=P.x&&P.x<=(A=F[D]).xMax&&P.x>=A.xMin&&P.y<=A.yMax&&P.y>=A.yMin)return D}return-1}function te(F){let P=[];if(F.length){P.push(["M",F[0].start.x,F[0].start.y]);for(let D=0;Dpe(P.y-F.y))?"x":"y";function v(l,d,C,k,p){let T={x:l.x,y:l.y};return T[d]=C[k||d]+(p||0),T}function o(l,d,C){let k=pe(d[C]-l[C+"Min"])>pe(d[C]-l[C+"Max"]);return v(d,C,l,C+(k?"Max":"Min"),k?1:-1)}m>-1?(w={start:f=o(I[m],P,G),end:P},g=f):g=P,_>-1&&(f=o(O=I[_],F,G),A.push({start:F,end:f}),f[G]>=F[G]==f[G]>=g[G]&&(a=F[G="y"===G?"x":"y"]pe(P.y-F.y)),I=A?"x":"y",_=[],m=D.obstacleMetrics,w=ve(F.x,P.x)-m.maxWidth-10,G=le(F.x,P.x)+m.maxWidth+10,O=ve(F.y,P.y)-m.maxHeight-10,f=le(F.y,P.y)+m.maxHeight+10,o=!1,n=D.chartObstacles,r=ue(n,G),l=ue(n,w);function d(k,p,T){let B,z,K,U,se=k.x0&&n[S].xMin<=z.x||se<0&&n[S].xMax>=B.x);){if(n[S].xMin<=z.x&&n[S].xMax>=B.x&&n[S].yMin<=K.y&&n[S].yMax>=U.y)return T?{y:k.y,x:k.x=K[se+"Max"],x=k[se+"Min"]<=K[se+"Min"],N=k[se+"Max"]>=U[se+"Max"],R=k[se+"Min"]<=U[se+"Min"],Z=pe(k[se+"Min"]-p[se]),Y=pe(k[se+"Max"]-p[se]),he=10>pe(Z-Y)?p[se]-1&&(v=function(k,p,T){let B=ve(k.xMax-p.x,p.x-k.xMin)-1;)g=P[I]-F[I]<0,(v={x:P.x,y:P.y})[I]=n[r][g?I+"Max":I+"Min"]+(g?1:-1),_.push({end:P,start:v}),P=v;return{path:te(a=(a=function k(p,T,B){let z,K,U,se,S,$,H;if(p.x===T.x&&p.y===T.y)return[];let x=B?"x":"y",N=D.obstacleOptions.margin,R={soft:{xMin:w,xMax:G,yMin:O,yMax:f},hard:D.hardBounds};return(S=J(n,p))>-1?(se=C(S=n[S],p,T,B,R),X(S,D.hardBounds),H=B?{y:p.y,x:S[se?"xMax":"xMin"]+(se?1:-1)}:{x:p.x,y:S[se?"yMax":"yMin"]+(se?1:-1)},($=J(n,H))>-1&&(X($=n[$],D.hardBounds),H[x]=se?le(S[x+"Max"]-N+1,($[x+"Min"]+S[x+"Max"])/2):ve(S[x+"Min"]+N-1,($[x+"Max"]+S[x+"Min"])/2),p.x===H.x&&p.y===H.y?(o&&(H[x]=se?le(S[x+"Max"],$[x+"Max"])+1:ve(S[x+"Min"],$[x+"Min"])-1),o=!o):o=!1),K=[{start:p,end:H}]):(z=d(p,{x:B?T.x:p.x,y:B?p.y:T.y},B),K=[{start:p,end:{x:z.x,y:z.y}}],z[B?"x":"y"]!==T[B?"x":"y"]&&(se=C(z.obstacle,z,T,!B,R),X(z.obstacle,D.hardBounds),U={x:B?z.x:z.obstacle[se?"xMax":"xMin"]+(se?1:-1),y:B?z.obstacle[se?"yMax":"yMin"]+(se?1:-1):z.y},K=K.concat(k({x:z.x,y:z.y},U,B=!B)))),K.concat(k(K[K.length-1].end,T,!B))}(F,P,A)).concat(_.reverse())),obstacles:a}}return E.requiresObstacles=!0,j.requiresObstacles=!0,{fastAvoid:j,straight:function(F,P){return{path:[["M",F.x,F.y],["L",P.x,P.y]],obstacles:[{start:F,end:P}]}},simpleConnect:E}}),Le(V,"Gantt/ConnectorsDefaults.js",[],function(){return{connectors:{type:"straight",radius:0,lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}}}),Le(V,"Gantt/PathfinderComposition.js",[V["Gantt/ConnectorsDefaults.js"],V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{setOptions:le}=ne,{defined:pe,error:ue,merge:J}=re;function te(X){let E=X.shapeArgs;if(E)return{xMin:E.x||0,xMax:(E.x||0)+(E.width||0),yMin:E.y||0,yMax:(E.y||0)+(E.height||0)};let j=X.graphic&&X.graphic.getBBox();return j?{xMin:X.plotX-j.width/2,xMax:X.plotX+j.width/2,yMin:X.plotY-j.height/2,yMax:X.plotY+j.height/2}:null}return function(X){function E(P){let D,A,I=te(this);switch(P.align){case"right":D="xMax";break;case"left":D="xMin"}switch(P.verticalAlign){case"top":A="yMin";break;case"bottom":A="yMax"}return{x:D?I[D]:(I.xMin+I.xMax)/2,y:A?I[A]:(I.yMin+I.yMax)/2}}function j(P,D){let A;return!pe(D)&&(A=te(this))&&(D={x:(A.xMin+A.xMax)/2,y:(A.yMin+A.yMax)/2}),Math.atan2(D.y-P.y,P.x-D.x)}function F(P,D,A){let I=2*Math.PI,_=te(this),m=_.xMax-_.xMin,w=_.yMax-_.yMin,G=Math.atan2(w,m),O=m/2,f=w/2,a=_.xMin+O,g=_.yMin+f,v={x:a,y:g},o=P,n=1,r=!1,l=1,d=1;for(;o<-Math.PI;)o+=I;for(;o>Math.PI;)o-=I;return n=Math.tan(o),o>-G&&o<=G?(d=-1,r=!0):o>G&&o<=Math.PI-G?d=-1:o>Math.PI-G||o<=-(Math.PI-G)?(l=-1,r=!0):l=-1,r?(v.x+=l*O,v.y+=d*O*n):(v.x+=w/(2*n)*l,v.y+=d*f),A.x!==a&&(v.x=A.x),A.y!==g&&(v.y=A.y),{x:v.x+D*Math.cos(o),y:v.y-D*Math.sin(o)}}X.compose=function(P,D,A){let I=A.prototype;I.getPathfinderAnchorPoint||(P.prototype.callbacks.push(function(_){!1!==_.options.connectors.enabled&&((_.options.pathfinder||_.series.reduce(function(m,w){return w.options&&J(!0,w.options.connectors=w.options.connectors||{},w.options.pathfinder),m||w.options&&w.options.pathfinder},!1))&&(J(!0,_.options.connectors=_.options.connectors||{},_.options.pathfinder),ue('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')),this.pathfinder=new D(this),this.pathfinder.update(!0))}),I.getMarkerVector=F,I.getPathfinderAnchorPoint=E,I.getRadiansToVector=j,le(q))}}(ve||(ve={})),ve}),Le(V,"Gantt/Pathfinder.js",[V["Gantt/Connection.js"],V["Gantt/PathfinderAlgorithms.js"],V["Gantt/PathfinderComposition.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{addEvent:pe,defined:ue,pick:J,splat:te}=le,X=Math.max,E=Math.min;class j{static compose(P,D){re.compose(P,j,D)}constructor(P){this.init(P)}init(P){this.chart=P,this.connections=[],pe(P,"redraw",function(){this.pathfinder.update()})}update(P){let D=this.chart,A=this,I=A.connections;A.connections=[],D.series.forEach(function(_){_.visible&&!_.options.isInternal&&_.points.forEach(function(m){let w,G=m.options;G&&G.dependency&&(G.connect=G.dependency);let O=m.options?.connect&&te(m.options.connect);m.visible&&!1!==m.isInside&&O&&O.forEach(function(f){(w=D.get("string"==typeof f?f:f.to))instanceof ve&&w.series.visible&&w.visible&&!1!==w.isInside&&A.connections.push(new q(m,w,"string"==typeof f?{}:f))})})});for(let m,w,_=0,G=I.length,O=A.connections.length;_o.yMin-r&&v.yMin-ro.xMin-r&&v.xMin-ro.xMax?v.xMin-o.xMax:o.xMin-v.xMax:1/0,k=d?v.yMin>o.yMax?v.yMin-o.yMax:o.yMin-v.yMax:1/0;return d&&l?r?g(v,o,Math.floor(r/2)):1/0:E(C,k)}(m[f],m[a]))<80&&O.push(w);return O.push(80),X(Math.floor(O.sort(function(f,a){return f-a})[Math.floor(O.length/10)]/2-1),1)}(I),I.forEach(function(m){m.xMin-=_,m.xMax+=_,m.yMin-=_,m.yMax+=_})),I}getObstacleMetrics(P){let I,_,D=0,A=0,m=P.length;for(;m--;)I=P[m].xMax-P[m].xMin,_=P[m].yMax-P[m].yMin,D=1&&(te.plotHeight=j,te.redrawTrigger="adjustHeight",te.setSize(void 0,te.chartHeight+F,X)),J.series.forEach(function(P){let D=P.sharedClipKey&&te.sharedClips[P.sharedClipKey];D&&D.attr(te.inverted?{width:te.plotHeight}:{height:te.plotHeight})})}}this.initiatedScale=!0}this.redrawTrigger=null}return{compose:function(J,te){let X=te.prototype;X.adjustHeight||(ne(J,"afterSetOptions",pe),X.adjustHeight=ue,ne(te,"render",X.adjustHeight))}}}),Le(V,"masters/modules/static-scale.src.js",[V["Core/Globals.js"],V["Extensions/StaticScale.js"]],function(q,ne){return ne.compose(q.Axis,q.Chart),q}),Le(V,"Series/XRange/XRangeSeriesDefaults.js",[V["Core/Utilities.js"]],function(q){let{correctFloat:ne,isNumber:re,isObject:ve}=q;return{colorByPoint:!0,dataLabels:{formatter:function(){let le=this.point.partialFill;if(ve(le)&&(le=le.amount),re(le)&&le>0)return ne(100*le)+"%"},inside:!0,verticalAlign:"middle",style:{whiteSpace:"nowrap"}},tooltip:{headerFormat:'{point.x} - {point.x2}
',pointFormat:'\u25cf {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}}),Le(V,"Series/XRange/XRangePoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{column:{prototype:{pointClass:re}}}=q.seriesTypes,{extend:ve}=ne;class le extends re{static getColorByCategory(ue,J){let te=ue.options.colors||ue.chart.options.colors,E=J.y%(te?te.length:ue.chart.options.chart.colorCount);return{colorIndex:E,color:te&&te[E]}}resolveColor(){let ue=this.series;if(ue.options.colorByPoint&&!this.options.color){let J=le.getColorByCategory(ue,this);ue.chart.styledMode||(this.color=J.color),this.options.colorIndex||(this.colorIndex=J.colorIndex)}else this.color=this.options.color||ue.color}constructor(ue,J){super(ue,J),this.y||(this.y=0)}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}getLabelConfig(){let ue=super.getLabelConfig.call(this),J=this.series.yAxis.categories;return ue.x2=this.x2,ue.yCategory=this.yCategory=J&&J[this.y],ue.key=this.category||this.name,ue}isValid(){return"number"==typeof this.x&&"number"==typeof this.x2}}return ve(le.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]}),le}),Le(V,"Series/XRange/XRangeSeries.js",[V["Core/Globals.js"],V["Core/Color/Color.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"],V["Series/XRange/XRangeSeriesDefaults.js"],V["Series/XRange/XRangePoint.js"]],function(q,ne,re,ve,le,pe){let{composed:ue,noop:J}=q,{parse:te}=ne,{column:X}=re.seriesTypes,{addEvent:E,clamp:j,defined:F,extend:P,find:D,isNumber:A,isObject:I,merge:_,pick:m,pushUnique:w,relativeLength:G}=ve;function O(){let a,g;if(this.isXAxis){for(let v of(a=m(this.dataMax,-Number.MAX_VALUE),this.series))if(v.x2Data)for(let o of v.x2Data)o&&o>a&&(a=o,g=!0);g&&(this.dataMax=a)}}class f extends X{static compose(g){w(ue,"Series.XRange")&&E(g,"afterGetSeriesExtremes",O)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){let g=()=>{for(let o of this.chart.series){let n=o.xAxis;o.xAxis=o.yAxis,o.yAxis=n}};g();let v=super.getColumnMetrics();return g(),v}cropData(g,v,o,n){let r=super.cropData(this.x2Data,v,o,n);return r.xData=g.slice(r.start,r.end),r}findPointIndex(g){let v,{cropStart:o,points:n}=this,{id:r}=g;if(r){let l=D(n,d=>d.id===r);v=l?l.index:void 0}if(void 0===v){let l=D(n,d=>d.x===g.x&&d.x2===g.x2&&!d.touched);v=l?l.index:void 0}return this.cropped&&A(v)&&A(o)&&v>=o&&(v-=o),v}alignDataLabel(g){let v=g.plotX;g.plotX=m(g.dlBox&&g.dlBox.centerX,g.plotX),g.dataLabel&&g.shapeArgs?.width&&g.dataLabel.css({width:`${g.shapeArgs.width}px`}),super.alignDataLabel.apply(this,arguments),g.plotX=v}translatePoint(g){let $,H,R,Z,Y,he,v=this.xAxis,o=this.yAxis,n=this.columnMetrics,r=this.options,l=r.minPointLength||0,d=(g.shapeArgs&&g.shapeArgs.width||0)/2,C=this.pointXOffset=n.offset,k=m(g.x2,g.x+(g.len||0)),p=r.borderRadius,T=this.chart.plotTop,B=this.chart.plotLeft,z=g.plotX,K=v.translate(k,0,0,0,1),U=Math.abs(K-z),se=this.chart.inverted,S=m(r.borderWidth,1)%2/2,x=n.offset,N=Math.round(n.width);l&&(($=l-U)<0&&($=0),z-=$/2,K+=$/2),z=Math.max(z,-10),K=j(K,-10,v.len+10),F(g.options.pointWidth)&&(x-=(Math.ceil(g.options.pointWidth)-N)/2,N=Math.ceil(g.options.pointWidth)),r.pointPlacement&&A(g.plotY)&&o.categories&&(g.plotY=o.translate(g.y,0,1,0,1,r.pointPlacement));let ge=Math.floor(Math.min(z,K))+S,_e=Math.floor(Math.max(z,K))+S-ge,Te=Math.min(G("object"==typeof p?p.radius:p||0,N),Math.min(_e,N)/2),Oe={x:ge,y:Math.floor(g.plotY+x)+S,width:_e,height:N,r:Te};g.shapeArgs=Oe,se?g.tooltipPos[1]+=C+d:g.tooltipPos[0]-=d+C-Oe.width/2,Z=(R=Oe.x)+Oe.width,R<0||Z>v.len?(R=j(R,0,v.len),Y=(Z=j(Z,0,v.len))-R,g.dlBox=_(Oe,{x:R,width:Z-R,centerX:Y?Y/2:null})):g.dlBox=null;let De=g.tooltipPos,Be=se?1:0,oe=se?0:1,ee=this.columnMetrics?this.columnMetrics.offset:-n.width/2;se?De[Be]+=Oe.width/2:De[Be]=j(De[Be]+(v.reversed?-1:0)*Oe.width,v.left-B,v.left+v.len-B-1),De[oe]=j(De[oe]+(se?-1:1)*ee,o.top-T,o.top+o.len-T-1),(H=g.partialFill)&&(I(H)&&(H=H.amount),A(H)||(H=0),g.partShapeArgs=_(Oe),he=Math.max(Math.round(U*H+g.plotX-z),0),g.clipRectArgs={x:v.reversed?Oe.x+U-he:Oe.x,y:Oe.y,width:he,height:Oe.height})}translate(){for(let g of(super.translate.apply(this,arguments),this.points))this.translatePoint(g)}drawPoint(g,v){let o=this.options,n=this.chart.renderer,r=g.shapeType,l=g.shapeArgs,d=g.partShapeArgs,C=g.clipRectArgs,k=g.state,p=o.states[k||"normal"]||{},T=void 0===k?"attr":v,B=this.pointAttribs(g,k),z=m(this.chart.options.chart.animation,p.animation),K=g.graphic,U=g.partialFill;if(g.isNull||!1===g.visible)K&&(g.graphic=K.destroy());else if(K?K.rect[v](l):(g.graphic=K=n.g("point").addClass(g.getClassName()).add(g.group||this.group),K.rect=n[r](_(l)).addClass(g.getClassName()).addClass("highcharts-partfill-original").add(K)),d&&(K.partRect?(K.partRect[v](_(d)),K.partialClipRect[v](_(C))):(K.partialClipRect=n.clipRect(C.x,C.y,C.width,C.height),K.partRect=n[r](d).addClass("highcharts-partfill-overlay").add(K).clip(K.partialClipRect))),!this.chart.styledMode&&(K.rect[v](B,z).shadow(o.shadow),d)){I(U)||(U={}),I(o.partialFill)&&(U=_(o.partialFill,U));let se=U.fill||te(B.fill).brighten(-.3).get()||te(g.color||this.color).brighten(-.3).get();B.fill=se,K.partRect[T](B,z).shadow(o.shadow)}}drawPoints(){let g=this.getAnimationVerb();for(let v of this.points)this.drawPoint(v,g)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(g){let v=g.shapeArgs,o=g.plotX,n=g.plotY;return v?void 0!==o&&void 0!==n&&n>=0&&n<=this.yAxis.len&&(v.x||0)+(v.width||0)>=0&&o<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}return f.defaultOptions=_(X.defaultOptions,le),P(f.prototype,{pointClass:pe,pointArrayMap:["x2","y"],getExtremesFromAll:!0,parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:re.series.prototype.animate,autoIncrement:J,buildKDTree:J}),re.registerSeriesType("xrange",f),f}),Le(V,"masters/modules/xrange.src.js",[V["Core/Globals.js"],V["Series/XRange/XRangeSeries.js"]],function(q,ne){return ne.compose(q.Axis),q}),Le(V,"Series/Gantt/GanttPoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{xrange:{prototype:{pointClass:re}}}=q.seriesTypes,{pick:ve}=ne;class le extends re{static setGanttPointAliases(ue){function J(te,X){void 0!==X&&(ue[te]=X)}J("x",ve(ue.start,ue.x)),J("x2",ve(ue.end,ue.x2)),J("partialFill",ve(ue.completed,ue.partialFill))}applyOptions(ue,J){let te=super.applyOptions(ue,J);return le.setGanttPointAliases(te),te}isValid(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)}}return le}),Le(V,"Series/Gantt/GanttSeriesDefaults.js",[V["Core/Utilities.js"]],function(q){let{isNumber:ne}=q;return{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){let re=this.series,ve=re.xAxis,le=re.tooltipOptions.dateTimeLabelFormats,pe=ve.options.startOfWeek,ue=re.tooltipOptions,J=this.options.milestone,te=ue.xDateFormat,X=""+(this.name||this.yCategory)+"";if(ue.pointFormat)return this.tooltipFormatter(ue.pointFormat);!te&&ne(this.start)&&(te=re.chart.time.getDateFormat(ve.closestPointRange,this.start,pe,le||{}));let E=re.chart.time.dateFormat(te,this.start),j=re.chart.time.dateFormat(te,this.end);return X+="
",X+=J?E+"
":"Start: "+E+"
End: "+j+"
",X}},connectors:{type:"simpleConnect",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}}),Le(V,"Core/Axis/BrokenAxis.js",[V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{addEvent:ve,find:le,fireEvent:pe,isArray:ue,isNumber:J,pick:te}=ne;return function(X){function E(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function j(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function F(){let w=this.brokenAxis;if(w?.hasBreaks){let G=this.tickPositions,O=this.tickPositions.info,f=[];for(let a=0;ad.to||f>d.from&&ad.from&&ad.from&&a>d.to&&a0){let v,o;for("value"!==this.options.gapUnit&&(a*=this.basePointRange),G&&G>a&&G>=this.basePointRange&&(a=G);g--;)if(o&&!1!==o.visible||(o=O[g+1]),v=O[g],!1!==o.visible&&!1!==v.visible){if(o.x-v.x>a){let n=(v.x+o.x)/2;O.splice(g+1,0,{isNull:!0,x:n}),f.stacking&&this.options.stacking&&((f.stacking.stacks[this.stackKey][n]=new q(f,f.options.stackLabels,!1,n,this.stack)).total=0)}o=v}}return this.getGraphPath(O)}X.compose=function(w,G){if(!w.keepProps.includes("brokenAxis")){w.keepProps.push("brokenAxis"),ve(w,"init",P),ve(w,"afterInit",E),ve(w,"afterSetTickPositions",F),ve(w,"afterSetOptions",j);let O=G.prototype;O.drawBreaks=I,O.gappedPath=_,ve(G,"afterGeneratePoints",D),ve(G,"afterRender",A)}return w};class m{static isInBreak(G,O){let f=G.repeat||1/0,a=G.from,g=G.to-G.from,v=O>=a?(O-a)%f:f-(a-O)%f;return G.inclusive?v<=g:v=a);v++)(g.to=G)break;if(m.isInBreak(g,G)){a-=G-g.from;break}}return a}constructor(G){this.hasBreaks=!1,this.axis=G}findBreakAt(G,O){return le(O,function(f){return f.fromk;)T-=C;for(;T{se.getOffset()})}K&&B.apply(this)}function w(B){if(!0===(this.options.grid||{}).enabled){let{axisTitle:z,height:K,horiz:U,left:se,offset:S,opposite:$,options:H,top:x,width:N}=this,R=this.tickSize(),Z=z&&z.getBBox().width,Y=H.title.x,he=H.title.y,ge=P(H.title.margin,U?5:10),_e=z?this.chart.renderer.fontMetrics(z).f:0,Te=(U?x+K:se)+(U?1:-1)*($?-1:1)*(R?R[0]/2:0)+(this.side===ve.bottom?_e:0);B.titlePosition.x=U?se-(Z||0)/2-ge+Y:Te+($?N:0)+S+Y,B.titlePosition.y=U?Te-($?K:0)+($?_e:-_e)/2+S+he:x-ge+he}}function G(){let{chart:B,options:{grid:z={}},userOptions:K}=this;if(z.enabled&&function(U){let se=U.options;se.labels.align=P(se.labels.align,"center"),U.categories||(se.showLastLabel=!1),U.labelRotation=0,se.labels.rotation=0,se.minTickInterval=1}(this),z.columns){let U=this.grid.columns=[],se=this.grid.columnIndex=0;for(;++se$.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let $,H,x=this.tickmarkOffset,N=this.tickPositions[this.tickPositions.length-1],R=this.tickPositions[0];for(;($=this.hiddenLabels.pop())&&$.element;)$.show();for(;(H=this.hiddenMarks.pop())&&H.element;)H.show();($=this.ticks[R].label)&&(U-R>x?this.hiddenLabels.push($.hide()):$.show()),($=this.ticks[N].label)&&(N-se>x?this.hiddenLabels.push($.hide()):$.show());let Z=this.ticks[N].mark;Z&&N-se0&&this.ticks[N].isLast&&this.hiddenMarks.push(Z.hide())}}}function f(){let B=this.tickPositions&&this.tickPositions.info,z=this.options,U=this.userOptions.labels||{};(z.grid||{}).enabled&&(this.horiz?(this.series.forEach(se=>{se.options.pointRange=0}),B&&z.dateTimeLabelFormats&&z.labels&&!J(U.align)&&(!1===z.dateTimeLabelFormats[B.unitName].range||B.count>1)&&(z.labels.align="left",J(U.x)||(z.labels.x=3))):"treegrid"!==this.options.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function a(B){let z,K=this.options,U=B.userOptions,se=K&&I(K.grid)?K.grid:{};!0===se.enabled&&(z=F(!0,{className:"highcharts-grid-axis "+(U.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"0.9em"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0,style:{textOverflow:"ellipsis"}},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},U),"xAxis"!==this.coll||(J(U.linkedTo)&&!J(U.tickPixelInterval)&&(z.tickPixelInterval=350),!(!J(U.tickPixelInterval)&&J(U.linkedTo))||J(U.tickPositioner)||J(U.tickInterval)||J(U.units)||(z.tickPositioner=function(S,$){let H=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(H){let N,x=z.units||[],R=1,Z="year";for(let ge=0;geB.setScale())}function o(B){let{horiz:z,maxLabelDimensions:K,options:{grid:U={}}}=this;if(U.enabled&&K){let se=2*this.options.labels.distance,S=z?U.cellHeight||se+K.height:se+K.width;E(B.tickSize)?B.tickSize[0]=S:B.tickSize=[S,0]}}function n(){this.axes.forEach(B=>{(B.grid&&B.grid.columns||[]).forEach(z=>{z.setAxisSize(),z.setAxisTranslation()})})}function r(B){let{grid:z}=this;(z.columns||[]).forEach(K=>K.destroy(B.keepEvents)),z.columns=void 0}function l(B){let z=B.userOptions||{},K=z.grid||{};K.enabled&&J(K.borderColor)&&(z.tickColor=z.lineColor=K.borderColor),this.grid||(this.grid=new T(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function d(B){let z=this.label,K=this.axis,U=K.reversed,se=K.chart,S=K.options.grid||{},$=K.options.labels,H=$.align,x=ve[K.side],N=B.tickmarkOffset,R=K.tickPositions,Z=this.pos-N,Y=j(R[B.index+1])?R[B.index+1]-N:(K.max||0)+N,he=K.tickSize("tick"),ge=he?he[0]:0,_e=he?he[1]/2:0;if(!0===S.enabled){let Te,Oe,De,Be;if("top"===x?Oe=(Te=K.top+K.offset)-ge:"bottom"===x?Te=(Oe=se.chartHeight-K.bottom+K.offset)+ge:(Te=K.top+K.len-(K.translate(U?Y:Z)||0),Oe=K.top+K.len-(K.translate(U?Z:Y)||0)),"right"===x?Be=(De=se.chartWidth-K.right+K.offset)+ge:"left"===x?De=(Be=K.left+K.offset)-ge:(De=Math.round(K.left+(K.translate(U?Y:Z)||0))-_e,Be=Math.min(Math.round(K.left+(K.translate(U?Z:Y)||0))-_e,K.left+K.len)),this.slotWidth=Be-De,B.pos.x="left"===H?De:"right"===H?Be:De+(Be-De)/2,B.pos.y=Oe+(Te-Oe)/2,z){let oe=se.renderer.fontMetrics(z),ee=z.getBBox().height;if($.useHTML)B.pos.y+=oe.b+-ee/2;else{let be=Math.round(ee/oe.h);B.pos.y+=(oe.b-(oe.h-oe.f))/2+-(be-1)*oe.h/2}}B.pos.x+=K.horiz&&$.x||0}}function C(B){let{axis:z,value:K}=B;if(z.options.grid&&z.options.grid.enabled){let U,se=z.tickPositions,S=(z.linkedParent||z).series[0],$=K===se[0],H=K===se[se.length-1],x=S&&X(S.options.data,function(N){return N[z.isXAxis?"x":"y"]===K});x&&S.is("gantt")&&(U=F(x),ne.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(U)),B.isFirst=$,B.isLast=H,B.point=U}}function k(){let B=this.options,z=B.grid||{},K=this.categories,U=this.tickPositions,se=U[0],S=U[1],$=U[U.length-1],H=U[U.length-2],R=this.linkedParent&&this.linkedParent.min||this.min,Z=this.linkedParent&&this.linkedParent.max||this.max,Y=this.tickInterval,he=j(R)&&R>=se+Y&&RR,_e=j(Z)&&$>Z&&$-YH;!0===z.enabled&&!K&&(this.isXAxis||this.isLinked)&&((ge||he)&&!B.startOnTick&&(U[0]=R),(_e||Te)&&!B.endOnTick&&(U[U.length-1]=Z))}function p(B){let{options:{grid:K={}}}=this;return!0===K.enabled&&this.categories?this.tickInterval:B.apply(this,Array.prototype.slice.call(arguments,1))}(le=ve||(ve={}))[le.top=0]="top",le[le.right=1]="right",le[le.bottom=2]="bottom",le[le.left=3]="left";class T{constructor(z){this.axis=z}isOuterAxis(){let z=this.axis,K=z.chart,U=z.grid.columnIndex,se=z.linkedParent?.grid.columns||z.grid.columns||[],S=U?z.linkedParent:z,$=-1,H=0;return 3===z.side&&!K.inverted&&se.length?!z.linkedParent:((K[z.coll]||[]).forEach((x,N)=>{x.side!==z.side||x.options.isInternal||(H=N,x!==S||($=N))}),H===$&&(!j(U)||se.length===U))}renderBorder(z){let K=this.axis,U=K.chart.renderer,se=K.options,S=U.path(z).addClass("highcharts-axis-line").add(K.axisGroup);return U.styledMode||S.attr({stroke:se.lineColor,"stroke-width":se.lineWidth,zIndex:7}),S}}return pe.E=function(B){return this.dateFormat("%a",B,!0).charAt(0)},pe.W=function(B){let z=this,K=new this.Date(B);["Hours","Milliseconds","Minutes","Seconds"].forEach(function($){z.set($,K,0)});let U=(this.get("Day",K)+6)%7,se=new this.Date(K.valueOf());this.set("Date",se,this.get("Date",K)-U+3);let S=new this.Date(this.get("FullYear",se),0,1);return 4!==this.get("Day",S)&&(this.set("Month",K,0),this.set("Date",K,1+(11-this.get("Day",S))%7)),(1+Math.floor((se.valueOf()-S.valueOf())/6048e5)).toString()},{compose:function(B,z,K){return B.keepProps.includes("grid")||(B.keepProps.push("grid"),B.prototype.getMaxLabelDimensions=_,A(B.prototype,"unsquish",p),A(B.prototype,"getOffset",m),ue(B,"init",l),ue(B,"afterGetTitlePosition",w),ue(B,"afterInit",G),ue(B,"afterRender",O),ue(B,"afterSetAxisTranslation",f),ue(B,"afterSetOptions",a),ue(B,"afterSetOptions",g),ue(B,"afterSetScale",v),ue(B,"afterTickSize",o),ue(B,"trimTicks",k),ue(B,"destroy",r),ue(z,"afterSetChartSize",n),ue(K,"afterGetLabelPosition",d),ue(K,"labelFormat",C)),B}}}),Le(V,"Gantt/Tree.js",[V["Core/Utilities.js"]],function(q){let{extend:ne,isNumber:re,pick:ve}=q;function le(pe,ue,J,te,X,E){let I,_,j=E&&E.after,F=E&&E.before,P={data:te,depth:J-1,id:pe,level:J,parent:ue||""},D=0,A=0;"function"==typeof F&&F(P,E);let m=(X[pe]||[]).map(w=>{let G=le(w.id,pe,J+1,w,X,E),O=w.start||NaN,f=!0===w.milestone?O:w.end||NaN;return I=!re(I)||O_?f:_,D=D+1+G.descendants,A=Math.max(G.height+1,A),G});return te&&(te.start=ve(te.start,I),te.end=ve(te.end,_)),ne(P,{children:m,descendants:D,height:A}),"function"==typeof j&&j(P,E),P}return{getNode:le,getTree:function(pe,ue){return le("",null,1,null,function(J){let te=[],X=J.reduce((E,j)=>{let{parent:F="",id:P}=j;return void 0===E[F]&&(E[F]=[]),E[F].push(j),P&&te.push(P),E},{});return Object.keys(X).forEach(E=>{if(""!==E&&-1===te.indexOf(E)){let j=X[E].map(function(F){let{...P}=F;return P});X[""].push(...j),delete X[E]}}),X}(pe),ue)}}}),Le(V,"Core/Axis/TreeGrid/TreeGridTick.js",[V["Core/Utilities.js"]],function(q){let{addEvent:ne,removeEvent:re,isObject:ve,isNumber:le,pick:pe,wrap:ue}=q;function J(){this.treeGrid||(this.treeGrid=new E(this))}function te(j,F,P,D,A,I,_,m,w){let G,O,f,a=pe(this.options&&this.options.labels,I),g=this.pos,v=this.axis,o="treegrid"===v.options.type,n=j.apply(this,[F,P,D,A,a,_,m,w]);if(o){let{width:r=0,padding:l=(v.linkedParent?0:5)}=a&&ve(a.symbol,!0)?a.symbol:{},d=a&&le(a.indentation)?a.indentation:0;f=(O=(G=v.treeGrid.mapOfPosToGridNode)&&G[g])&&O.depth||1,n.x+=r+2*l+(f-1)*d}return n}function X(j){let F,P,D,{pos:A,axis:I,label:_,treeGrid:m,options:w}=this,G=m?.labelIcon,O=_?.element,{treeGrid:f,options:a,chart:g,tickPositions:v}=I,o=f.mapOfPosToGridNode,n=pe(w?.labels,a?.labels),r=n&&ve(n.symbol,!0)?n.symbol:{},l=o&&o[A],{descendants:d,depth:C}=l||{},k=l&&d&&d>0,p="treegrid"===a.type&&O,T=v.indexOf(A)>-1,B="highcharts-treegrid-node-",z=B+"level-",K=g.styledMode;p&&l&&_.removeClass(RegExp(z+".*")).addClass(z+C),j.apply(this,Array.prototype.slice.call(arguments,1)),p&&k?(F=f.isCollapsed(l),function(U,se){let S=U.treeGrid,$=!S.labelIcon,H=se.renderer,x=se.xy,N=se.options,R=N.width||0,Z=N.height||0,he={x:x.x-R/2-(N.padding??U.axis.linkedParent?0:5),y:x.y-Z/2},ge=se.collapsed?90:180,_e=se.show&&le(he.y),Te=S.labelIcon;Te||(S.labelIcon=Te=H.path(H.symbols[N.type](N.x||0,N.y||0,R,Z)).addClass("highcharts-label-icon").add(se.group)),Te[_e?"show":"hide"](),H.styledMode||Te.attr({cursor:"pointer",fill:pe(se.color,"#666666"),"stroke-width":1,stroke:N.lineColor,strokeWidth:N.lineWidth||0}),Te[$?"attr":"animate"]({translateX:he.x,translateY:he.y,rotation:ge})}(this,{color:!K&&_.styles.color||"",collapsed:F,group:_.parentGroup,options:r,renderer:_.renderer,show:T,xy:_.xy}),P=B+(F?"collapsed":"expanded"),D=B+(F?"expanded":"collapsed"),_.addClass(P).removeClass(D),K||_.css({cursor:"pointer"}),[_,G].forEach(U=>{U&&!U.attachedTreeGridEvents&&(ne(U.element,"mouseover",function(){_.addClass("highcharts-treegrid-node-active"),_.renderer.styledMode||_.css({textDecoration:"underline"})}),ne(U.element,"mouseout",function(){!function(se,S){let $=ve(S.style)?S.style:{};se.removeClass("highcharts-treegrid-node-active"),se.renderer.styledMode||se.css({textDecoration:$.textDecoration||"none"})}(_,n)}),ne(U.element,"click",function(){m.toggleCollapse()}),U.attachedTreeGridEvents=!0)})):G&&(re(O),_?.css({cursor:"default"}),G.destroy())}class E{static compose(F){let P=F.prototype;P.toggleCollapse||(ne(F,"init",J),ue(P,"getLabelPosition",te),ue(P,"renderLabel",X),P.collapse=function(D){this.treeGrid.collapse(D)},P.expand=function(D){this.treeGrid.expand(D)},P.toggleCollapse=function(D){this.treeGrid.toggleCollapse(D)})}constructor(F){this.tick=F}collapse(F){let P=this.tick,D=P.axis,A=D.brokenAxis;if(A&&D.treeGrid.mapOfPosToGridNode){let m=D.treeGrid.collapse(D.treeGrid.mapOfPosToGridNode[P.pos]);A.setBreaks(m,pe(F,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(F){let{pos:P,axis:D}=this.tick,{treeGrid:A,brokenAxis:I}=D,_=A.mapOfPosToGridNode;if(I&&_){let w=A.expand(_[P]);I.setBreaks(w,pe(F,!0))}}toggleCollapse(F){let P=this.tick,D=P.axis,A=D.brokenAxis;if(A&&D.treeGrid.mapOfPosToGridNode){let m=D.treeGrid.toggleCollapse(D.treeGrid.mapOfPosToGridNode[P.pos]);A.setBreaks(m,pe(F,!0))}}}return E}),Le(V,"Series/TreeUtilities.js",[V["Core/Color/Color.js"],V["Core/Utilities.js"]],function(q,ne){let{extend:re,isArray:ve,isNumber:le,isObject:pe,merge:ue,pick:J,relativeLength:te}=ne;return{getColor:function(X,E){let j,F,P,D,A,I,_=E.index,w=E.parentColor,G=E.parentColorIndex,O=E.series,f=E.colors,a=E.siblings;return X&&(j=O.points[X.i],F=E.mapOptionsToLevel[X.level]||{},j&&F.colorByPoint&&(D=j.index%(f?f.length:O.chart.options.chart.colorCount),P=f&&f[D]),O.chart.styledMode||(A=J(j&&j.options.color,F&&F.color,P,w&&(o=>{let n=F&&F.colorVariation;return n&&"brightness"===n.key&&_&&a?q.parse(o).brighten(n.to*(_/a)).get():o})(w),O.color)),I=J(j&&j.options.colorIndex,F&&F.colorIndex,D,G,E.colorIndex)),{color:A,colorIndex:I}},getLevelOptions:function(X){let j,F,P,D,A,I,E={};if(pe(X))for(D=le(X.from)?X.from:1,I=X.levels,F={},j=pe(X.defaults)?X.defaults:{},ve(I)&&(F=I.reduce((_,m)=>{let w,G,O;return pe(m)&&le(m.level)&&(G=J((O=ue({},m)).levelIsConstant,j.levelIsConstant),delete O.levelIsConstant,delete O.level,pe(_[w=m.level+(G?0:D-1)])?ue(!0,_[w],O):_[w]=O),_},{})),A=le(X.to)?X.to:1,P=0;P<=A;P++)E[P]=ue({},j,pe(F[P])?F[P]:{});return E},getNodeWidth:function(X,E){let{chart:j,options:F}=X,{nodeDistance:P=0,nodeWidth:D=0}=F,{plotSizeX:A=1}=j;if("auto"===D){if("string"==typeof P&&/%$/.test(P))return A/(E+parseFloat(P)/100*(E-1));let I=Number(P);return(A+I)/(E||1)-I}return te(D,A)},setTreeValues:function X(E,j){let F=j.before,P=j.idRoot,I=j.points[E.i],_=I&&I.options||{},m=[],w=0;E.levelDynamic=E.level-(!1!==j.levelIsConstant?0:j.mapIdToNode[P].level),E.name=J(I&&I.name,""),E.visible=P===E.id||!0===j.visible,"function"==typeof F&&(E=F(E,j)),E.children.forEach((O,f)=>{let a=re({},j);re(a,{index:f,siblings:E.children.length,visible:E.visible}),O=X(O,a),m.push(O),O.visible&&(w+=O.val)});let G=J(_.value,w);return E.visible=G>=0&&(w>0||E.visible),E.children=m,E.childrenTotal=w,E.isLeaf=E.visible&&!w,E.val=G,E},updateRootId:function(X){let E,j;return pe(X)&&(j=pe(X.options)?X.options:{},E=J(X.rootNode,j.rootId,""),pe(X.userOptions)&&(X.userOptions.rootId=E),X.rootNode=E),E}}}),Le(V,"Core/Axis/TreeGrid/TreeGridAxis.js",[V["Core/Axis/BrokenAxis.js"],V["Core/Axis/GridAxis.js"],V["Gantt/Tree.js"],V["Core/Axis/TreeGrid/TreeGridTick.js"],V["Series/TreeUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let ue,{getLevelOptions:J}=le,{addEvent:te,find:X,fireEvent:E,isArray:j,isObject:F,isString:P,merge:D,pick:A,removeEvent:I,wrap:_}=pe;function m(o,n){let r=o.collapseEnd||0,l=o.collapseStart||0;return r>=n&&(l-=.5),{from:l,to:r,showPoints:!1}}function w(o,n,r){let l=[],d=[],C={},k="boolean"==typeof n&&n,p={},T=-1,B=re.getTree(o,{after:function(z){let K=p[z.pos],U=0,se=0;K.children.forEach(function(S){se+=(S.descendants||0)+1,U=Math.max((S.height||0)+1,U)}),K.descendants=se,K.height=U,K.collapsed&&d.push(K)},before:function(z){let K,U,se=F(z.data,!0)?z.data:{},S=P(se.name)?se.name:"",$=C[z.parent],H=F($,!0)?p[$.pos]:null;k&&F(H,!0)&&(K=X(H.children,function(x){return x.name===S}))?(U=K.pos,K.nodes.push(z)):U=T++,!p[U]&&(p[U]=K={depth:H?H.depth+1:0,name:S,id:se.id,nodes:[z],children:[],pos:U},-1!==U&&l.push(S),F(H,!0)&&H.children.push(K)),P(z.id)&&(C[z.id]=z),K&&!0===se.collapsed&&(K.collapsed=!0),z.pos=U}});return{categories:l,mapOfIdToNode:C,mapOfPosToGridNode:p=function(z,K){let U=function(se,S,$){let x=S+(-1===S?0:K-1),N=(x-S)/2,R=S+N;return se.nodes.forEach(function(Z){let Y=Z.data;F(Y,!0)&&(Y.y=S+(Y.seriesIndex||0),delete Y.seriesIndex),Z.pos=R}),$[R]=se,se.pos=R,se.tickmarkOffset=N+.5,se.collapseStart=x+.5,se.children.forEach(function(Z){U(Z,x+1,$),x=(Z.collapseEnd||0)-.5}),se.collapseEnd=x+.5,$};return U(z[-1],-1,{})}(p,r),collapsedNodes:d,tree:B}}function G(o){o.target.axes.filter(function(n){return"treegrid"===n.options.type}).forEach(function(n){let T,B,r=n.options||{},l=r.labels,d=r.uniqueNames,C=r.max,k=!n.treeGrid.mapOfPosToGridNode||n.series.some(function(z){return!z.hasRendered||z.isDirtyData||z.isDirty}),p=0;if(k){if(T=n.series.reduce(function(z,K){return K.visible&&((K.options.data||[]).forEach(function(U){K.options.keys&&K.options.keys.length&&(U=K.pointClass.prototype.optionsToObject.call({series:K},U),K.pointClass.setGanttPointAliases(U)),F(U,!0)&&(U.seriesIndex=p,z.push(U))}),!0===d&&p++),z},[]),C&&T.length=0&&U.indexOf(se.x2)>=0&&(U=se)}),F(U,!0)?D(U):U});z.visible&&z.setData(K,!1)}),n.treeGrid.mapOptionsToLevel=J({defaults:l,from:1,levels:l&&l.levels,to:n.treeGrid.tree&&n.treeGrid.tree.height}),"beforeRender"===o.type&&(n.treeGrid.collapsedNodes=B.collapsedNodes)}})}function O(o,n){let k,p,T,d=this.ticks,C=d[n];"treegrid"===this.options.type&&this.treeGrid.mapOfPosToGridNode?((k=(this.treeGrid.mapOptionsToLevel||{})[(T=this.treeGrid.mapOfPosToGridNode[n]).depth])&&(p={labels:k}),!C&&ue?d[n]=C=new ue(this,n,void 0,void 0,{category:T.name,tickmarkOffset:T.tickmarkOffset,options:p}):(C.parameters.category=T.name,C.options=p,C.addLabel())):o.apply(this,Array.prototype.slice.call(arguments,1))}function f(o,n,r,l){let d=this,C="treegrid"===r.type;d.treeGrid||(d.treeGrid=new v(d)),C&&(te(n,"beforeRender",G),te(n,"beforeRedraw",G),te(n,"addSeries",function(k){if(k.options.data){let p=w(k.options.data,r.uniqueNames||!1,1);d.treeGrid.collapsedNodes=(d.treeGrid.collapsedNodes||[]).concat(p.collapsedNodes)}}),te(d,"foundExtremes",function(){d.treeGrid.collapsedNodes&&d.treeGrid.collapsedNodes.forEach(function(k){let p=d.treeGrid.collapse(k);d.brokenAxis&&(d.brokenAxis.setBreaks(p,!1),d.treeGrid.collapsedNodes&&(d.treeGrid.collapsedNodes=d.treeGrid.collapsedNodes.filter(T=>k.collapseStart!==T.collapseStart||k.collapseEnd!==T.collapseEnd)))})}),te(d,"afterBreaks",function(){"yAxis"===d.coll&&!d.staticScale&&d.chart.options.chart.height&&(d.isDirty=!0)}),r=D({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10}},uniqueNames:!1},r,{reversed:!0})),o.apply(d,[n,r,l]),C&&(d.hasNames=!0,d.options.showLastLabel=!0)}function a(o){let n=this.options,r="number"==typeof n.linkedTo?this.chart[this.coll]?.[n.linkedTo]:void 0;if("treegrid"===n.type){if(this.min=A(this.userMin,n.min,this.dataMin),this.max=A(this.userMax,n.max,this.dataMax),E(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],r){let l=r.getExtremes();this.min=A(l.min,l.dataMin),this.max=A(l.max,l.dataMax),this.tickPositions=r.tickPositions}this.linkedParent=r}else o.apply(this,Array.prototype.slice.call(arguments,1))}function g(o){let n=this;"treegrid"===n.options.type&&n.visible&&n.tickPositions.forEach(function(r){let l=n.ticks[r];l.label&&l.label.attachedTreeGridEvents&&(I(l.label.element),l.label.attachedTreeGridEvents=!1)}),o.apply(n,Array.prototype.slice.call(arguments,1))}class v{static compose(n,r,l,d){if(!n.keepProps.includes("treeGrid")){let C=n.prototype;n.keepProps.push("treeGrid"),_(C,"generateTick",O),_(C,"init",f),_(C,"setTickInterval",a),_(C,"redraw",g),C.utils={getNode:re.getNode},ue||(ue=d)}return ne.compose(n,r,d),q.compose(n,l),ve.compose(d),n}constructor(n){this.axis=n}setCollapsedStatus(n){let r=this.axis,l=r.chart;r.series.forEach(function(d){let C=d.options.data;if(n.id&&C){let k=l.get(n.id),p=C[d.data.indexOf(k)];k&&p&&(k.collapsed=n.collapsed,p.collapsed=n.collapsed)}})}collapse(n){let r=this.axis,l=r.options.breaks||[],d=m(n,r.max);return l.push(d),n.collapsed=!0,r.treeGrid.setCollapsedStatus(n),l}expand(n){let r=this.axis,l=r.options.breaks||[],d=m(n,r.max);return n.collapsed=!1,r.treeGrid.setCollapsedStatus(n),l.reduce(function(C,k){return(k.to!==d.to||k.from!==d.from)&&C.push(k),C},[])}getTickPositions(){let n=this.axis,r=Math.floor(n.min/n.tickInterval)*n.tickInterval,l=Math.ceil(n.max/n.tickInterval)*n.tickInterval;return Object.keys(n.treeGrid.mapOfPosToGridNode||{}).reduce(function(d,C){let k=+C;return k>=r&&k<=l&&!(n.brokenAxis&&n.brokenAxis.isInAnyBreak(k))&&d.push(k),d},[])}isCollapsed(n){let r=this.axis,l=r.options.breaks||[],d=m(n,r.max);return l.some(function(C){return C.from===d.from&&C.to===d.to})}toggleCollapse(n){return this.isCollapsed(n)?this.expand(n):this.collapse(n)}}return v}),Le(V,"Series/Gantt/GanttSeries.js",[V["Series/Gantt/GanttPoint.js"],V["Series/Gantt/GanttSeriesDefaults.js"],V["Gantt/Pathfinder.js"],V["Core/Series/SeriesRegistry.js"],V["Extensions/StaticScale.js"],V["Core/Axis/TreeGrid/TreeGridAxis.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue){let{series:J,seriesTypes:{xrange:te}}=ve,{extend:X,isNumber:E,merge:j}=ue;class F extends te{static compose(D,A,I,_){te.compose(D),A&&(le.compose(D,A),I)&&(re.compose(A,I.prototype.pointClass),_&&pe.compose(D,A,I,_))}drawPoint(D,A){let a,I=this.options,_=this.chart.renderer,m=D.shapeArgs,G=D.selected&&"select",O=I.stacking&&!I.borderRadius,f=D.graphic;D.options.milestone?E(D.plotY)&&null!==D.y&&!1!==D.visible?(a=_.symbols.diamond(m.x||0,m.y||0,m.width||0,m.height||0),f?f[A]({d:a}):D.graphic=f=_.path(a).addClass(D.getClassName(),!0).add(D.group||this.group),this.chart.styledMode||D.graphic.attr(this.pointAttribs(D,G)).shadow(I.shadow,null,O)):f&&(D.graphic=f.destroy()):super.drawPoint(D,A)}translatePoint(D){let A,I;super.translatePoint(D),D.options.milestone&&(I=(A=D.shapeArgs).height||0,D.shapeArgs={x:(A.x||0)-I/2,y:A.y,width:I,height:I})}}return F.defaultOptions=j(te.defaultOptions,ne),X(F.prototype,{pointArrayMap:["start","end","y"],pointClass:q,setData:J.prototype.setData}),ve.registerSeriesType("gantt",F),F}),Le(V,"masters/modules/gantt.src.js",[V["Core/Globals.js"],V["Extensions/ArrowSymbols.js"],V["Gantt/Connection.js"],V["Extensions/CurrentDateIndication.js"],V["Core/Chart/GanttChart.js"],V["Stock/Navigator/Navigator.js"],V["Stock/RangeSelector/RangeSelector.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Series/Gantt/GanttSeries.js"]],function(q,ne,re,ve,le,pe,ue,J,te){return q.Connection=q.Connection||re,q.GanttChart=q.GanttChart||le,q.Navigator=q.Navigator||pe,q.RangeSelector=q.RangeSelector||ue,q.Scrollbar=q.Scrollbar||J,q.ganttChart=q.GanttChart.ganttChart,ne.compose(q.SVGRenderer),ve.compose(q.Axis,q.PlotLineOrBand),te.compose(q.Axis,q.Chart,q.Series,q.Tick),q.Navigator.compose(q.Chart,q.Axis,q.Series),q.RangeSelector.compose(q.Axis,q.Chart),q.Scrollbar.compose(q.Axis),q}),Le(V,"masters/highcharts-gantt.src.js",[V["masters/highcharts.src.js"]],function(q){return q.product="Highcharts Gantt",q}),V["masters/highcharts-gantt.src.js"]._modules=V,V["masters/highcharts-gantt.src.js"]},ri.exports?(V.default=V,ri.exports=e&&e.document?V(e):V):void 0!==(M=function(){return V(e)}.call(Bt,We,Bt,ri))&&(ri.exports=M)},12168:(ri,Bt,We)=>{var M,e,V;V=function(V){"use strict";var Le=V?V._modules:{};function q(ne,re,ve,le){ne.hasOwnProperty(re)||(ne[re]=le.apply(null,ve),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:re,module:ne[re]}})))}q(Le,"Extensions/Pane/PaneComposition.js",[Le["Core/Utilities.js"]],function(ne){const{addEvent:re,correctFloat:ve,defined:le,pick:pe}=ne;function ue(P){const D=this;let A;return P&&D.pane.forEach(I=>{te(P.chartX-D.plotLeft,P.chartY-D.plotTop,I.center)&&(A=I)}),A}function te(P,D,A,I,_){let m=!0;const w=A[0],G=A[1],O=Math.sqrt(Math.pow(P-w,2)+Math.pow(D-G,2));if(le(I)&&le(_)){const f=Math.atan2(ve(D-G,8),ve(P-w,8));_!==I&&(m=I>_?f>=I&&f<=Math.PI||f<=_&&f>=-Math.PI:f>=I&&f<=ve(_,8))}return O<=Math.ceil(A[2]/2)&&m}function X(P){this.polar&&(P.options.inverted&&([P.x,P.y]=[P.y,P.x]),P.isInsidePlot=this.pane.some(A=>te(P.x,P.y,A.center,A.axis&&A.axis.normalizedStartAngleRad,A.axis&&A.axis.normalizedEndAngleRad)))}function E(P){const D=this.chart;P.hoverPoint&&P.hoverPoint.plotX&&P.hoverPoint.plotY&&D.hoverPane&&!te(P.hoverPoint.plotX,P.hoverPoint.plotY,D.hoverPane.center)&&(P.hoverPoint=void 0)}function j(P){const D=this.chart;D.polar?(D.hoverPane=D.getHoverPane(P),P.filter=function(A){return A.visible&&!(!P.shared&&A.directTouch)&&pe(A.options.enableMouseTracking,!0)&&(!D.hoverPane||A.xAxis.pane===D.hoverPane)}):D.hoverPane=void 0}return{compose:function J(P,D){const A=P.prototype;A.getHoverPane||(A.collectionsWithUpdate.push("pane"),A.getHoverPane=ue,re(P,"afterIsInsidePlot",X),re(D,"afterGetHoverData",E),re(D,"beforeGetHoverData",j))}}}),q(Le,"Extensions/Pane/PaneDefaults.js",[],function(){return{pane:{center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0},background:{shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}}}),q(Le,"Extensions/Pane/Pane.js",[Le["Series/CenteredUtilities.js"],Le["Extensions/Pane/PaneComposition.js"],Le["Extensions/Pane/PaneDefaults.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{extend:pe,merge:ue,splat:J}=le;class te{constructor(E,j){this.coll="pane",this.init(E,j)}init(E,j){this.chart=j,this.background=[],j.pane.push(this),this.setOptions(E)}setOptions(E){this.options=E=ue(ve.pane,this.chart.angular?{background:{}}:void 0,E)}render(){const E=this.options;this.group||(this.group=this.chart.renderer.g("pane-group").attr({zIndex:E.zIndex||0}).add()),this.updateCenter();let F=this.options.background;if(F){F=J(F);const P=Math.max(F.length,this.background.length||0);for(let D=0;Dd,v.y=v.high,v._plotY=v.plotY,v.plotY=l,O[g]=v.dataLabel,v.dataLabel=v.dataLabelUpper,v.below=o,a?n.align||(n.align=o?"right":"left"):n.verticalAlign||(n.verticalAlign=o?"top":"bottom")}for(this.options.dataLabels=n,J.drawDataLabels&&J.drawDataLabels.apply(this,arguments),g=G;g--;)v=w[g],v&&(v.dataLabelUpper=v.dataLabel,v.dataLabel=O[g],delete v.dataLabels,v.y=v.low,v.plotY=v._plotY)}if(r.enabled||this.hasDataLabels?.()){for(g=G;g--;)if(v=w[g],v){const{plotHigh:l=0,plotLow:d=0}=v;o=r.inside?ld,v.below=!o,a?r.align||(r.align=o?"left":"right"):r.verticalAlign||(r.verticalAlign=o?"bottom":"top")}this.options.dataLabels=r,J.drawDataLabels&&J.drawDataLabels.apply(this,arguments)}if(n.enabled)for(g=G;g--;)v=w[g],v&&(v.dataLabels=[v.dataLabelUpper,v.dataLabel].filter(function(l){return!!l}));this.options.dataLabels=f}}alignDataLabel(){te.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){const w=this,G={marker:w.options.marker,symbol:w.symbol};if(w.options.lowMarker){const{options:{marker:O,lowMarker:f}}=w;w.options.marker=A(O,f),f.symbol&&(w.symbol=f.symbol)}return G}restoreMarkerSettings(w){this.options.marker=w.marker,this.symbol=w.symbol}drawPoints(){const w=this,G=w.points.length;let O,f;const a=w.modifyMarkerSettings();for(J.drawPoints.apply(w,arguments),w.restoreMarkerSettings(a),O=0;O=0&&f.plotY<=w.yAxis.len&&f.plotX>=0&&f.plotX<=w.xAxis.len),O++;for(J.drawPoints.apply(w,arguments),O=0;O\u25cf {series.name}: {point.low} - {point.high}
'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),X(_,"afterTranslate",function(){"low,high"===this.pointArrayMap.join(",")&&this.points.forEach(m=>{const w=m.high,G=m.plotY;m.isNull?m.plotY=void 0:(m.plotLow=G,m.plotHigh=P(w)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(w):w,!1,!0,void 0,!0):void 0,this.dataModify&&(m.yBottom=m.plotHigh))})},{order:0}),X(_,"afterTranslate",function(){this.points.forEach(m=>{if(this.chart.polar)this.highToXY(m),m.plotLow=m.plotY,m.tooltipPos=[((m.plotHighX||0)+(m.plotLowX||0))/2,((m.plotHigh||0)+(m.plotLow||0))/2];else{const w=m.pos(!1,m.plotLow),G=m.pos(!1,m.plotHigh);w&&G&&(w[0]=(w[0]+G[0])/2,w[1]=(w[1]+G[1])/2),m.tooltipPos=w}})},{order:3}),j(_.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:ne,pointValKey:"low",setStackedPoints:pe}),ve.registerSeriesType("arearange",_),_}),q(Le,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[Le["Series/AreaRange/AreaRangeSeries.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{spline:{prototype:le}}=re.seriesTypes,{merge:pe,extend:ue}=ve;class J extends ne{}return J.defaultOptions=pe(ne.defaultOptions),ue(J.prototype,{getPointSpline:le.getPointSpline}),re.registerSeriesType("areasplinerange",J),J}),q(Le,"Series/BoxPlot/BoxPlotSeriesDefaults.js",[],function(){return{threshold:null,tooltip:{pointFormat:'\u25cf {series.name}
Maximum: {point.high}
Upper quartile: {point.q3}
Median: {point.median}
Lower quartile: {point.q1}
Minimum: {point.low}
'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}}),q(Le,"Series/BoxPlot/BoxPlotSeries.js",[Le["Series/BoxPlot/BoxPlotSeriesDefaults.js"],Le["Series/Column/ColumnSeries.js"],Le["Core/Globals.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe){const{noop:ue}=ve,{extend:J,merge:te,pick:X}=pe;class E extends re{pointAttribs(){return{}}translate(){const F=this,P=F.yAxis,D=F.pointArrayMap;super.translate.apply(F),F.points.forEach(function(A){D.forEach(function(I){null!==A[I]&&(A[I+"Plot"]=P.translate(A[I],0,1,0,1))}),A.plotHigh=A.highPlot})}drawPoints(){const F=this,P=F.points,D=F.options,A=F.chart,I=A.renderer,_=!1!==F.doQuartiles,m=F.options.whiskerLength;let w,G,O,f,a,v,r,l,d,C,k,p,o=0;for(const T of P){r=T.graphic;const B=r?"animate":"attr",z=T.shapeArgs,K={},U={},se={},S={},$=T.color||F.color;if(typeof T.plotY<"u"){let H;l=Math.round(z.width),d=Math.floor(z.x),C=d+l,k=Math.round(l/2),w=Math.floor(_?T.q1Plot:T.lowPlot),G=Math.floor(_?T.q3Plot:T.lowPlot),O=Math.floor(T.highPlot),f=Math.floor(T.lowPlot),r||(T.graphic=r=I.g("point").add(F.group),T.stem=I.path().addClass("highcharts-boxplot-stem").add(r),m&&(T.whiskers=I.path().addClass("highcharts-boxplot-whisker").add(r)),_&&(T.box=I.path(void 0).addClass("highcharts-boxplot-box").add(r)),T.medianShape=I.path(void 0).addClass("highcharts-boxplot-median").add(r)),A.styledMode||(U.stroke=T.stemColor||D.stemColor||$,U["stroke-width"]=X(T.stemWidth,D.stemWidth,D.lineWidth),U.dashstyle=T.stemDashStyle||D.stemDashStyle||D.dashStyle,T.stem.attr(U),m&&(se.stroke=T.whiskerColor||D.whiskerColor||$,se["stroke-width"]=X(T.whiskerWidth,D.whiskerWidth,D.lineWidth),se.dashstyle=T.whiskerDashStyle||D.whiskerDashStyle||D.dashStyle,T.whiskers.attr(se)),_&&(K.fill=T.fillColor||D.fillColor||$,K.stroke=D.lineColor||$,K["stroke-width"]=D.lineWidth||0,K.dashstyle=T.boxDashStyle||D.boxDashStyle||D.dashStyle,T.box.attr(K)),S.stroke=T.medianColor||D.medianColor||$,S["stroke-width"]=X(T.medianWidth,D.medianWidth,D.lineWidth),S.dashstyle=T.medianDashStyle||D.medianDashStyle||D.dashStyle,T.medianShape.attr(S)),v=T.stem.strokeWidth()%2/2,o=d+k+v,H=[["M",o,G],["L",o,O],["M",o,w],["L",o,f]],T.stem[B]({d:H}),_&&(v=T.box.strokeWidth()%2/2,w=Math.floor(w)+v,G=Math.floor(G)+v,d+=v,C+=v,H=[["M",d,G],["L",d,w],["L",C,w],["L",C,G],["L",d,G],["Z"]],T.box[B]({d:H})),m&&(v=T.whiskers.strokeWidth()%2/2,O+=v,f+=v,p=/%$/.test(m)?k*parseFloat(m)/100:m/2,H=[["M",o-p,O],["L",o+p,O],["M",o-p,f],["L",o+p,f]],T.whiskers[B]({d:H})),a=Math.round(T.medianPlot),v=T.medianShape.strokeWidth()%2/2,a+=v,H=[["M",d,a],["L",C,a]],T.medianShape[B]({d:H})}}}toYData(F){return[F.low,F.q1,F.median,F.q3,F.high]}}return E.defaultOptions=te(re.defaultOptions,ne),J(E.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:ue,setStackedPoints:ue}),le.registerSeriesType("boxplot",E),E}),q(Le,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),q(Le,"Series/Bubble/BubbleLegendItem.js",[Le["Core/Color/Color.js"],Le["Core/Templating.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{parse:pe}=ne,{noop:ue}=ve,{arrayMax:J,arrayMin:te,isNumber:X,merge:E,pick:j,stableSort:F}=le;return class P{constructor(A,I){this.setState=ue,this.init(A,I)}init(A,I){this.options=A,this.visible=!0,this.chart=I.chart,this.legend=I}addToLegend(A){A.splice(this.options.legendIndex,0,this)}drawLegendSymbol(A){const I=j(A.options.itemDistance,20),_=this.legendItem||{},m=this.options,w=m.ranges,G=m.connectorDistance;let O;if(!w||!w.length||!X(w[0].value))return void(A.options.bubbleLegend.autoRanges=!0);F(w,function(v,o){return o.value-v.value}),this.ranges=w,this.setOptions(),this.render();const f=this.getMaxLabelSize(),a=this.ranges[0].radius,g=2*a;O=G-a+f.width,O=O>0?O:0,this.maxLabel=f,this.movementX="left"===m.labels.align?O:0,_.labelWidth=g+O+I,_.labelHeight=g+f.height/2}setOptions(){const A=this.ranges,I=this.options,_=this.chart.series[I.seriesIndex],m=this.legend.baseline,w={zIndex:I.zIndex,"stroke-width":I.borderWidth},G={zIndex:I.zIndex,"stroke-width":I.connectorWidth},O={align:this.legend.options.rtl||"left"===I.labels.align?"right":"left",zIndex:I.zIndex},f=_.options.marker.fillOpacity,a=this.chart.styledMode;A.forEach(function(g,v){a||(w.stroke=j(g.borderColor,I.borderColor,_.color),w.fill=j(g.color,I.color,1!==f?pe(_.color).setOpacity(f).get("rgba"):_.color),G.stroke=j(g.connectorColor,I.connectorColor,_.color)),A[v].radius=this.getRangeRadius(g.value),A[v]=E(A[v],{center:A[0].radius-A[v].radius+m}),a||E(!0,A[v],{bubbleAttribs:E(w),connectorAttribs:E(G),labelAttribs:O})},this)}getRangeRadius(A){const I=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,I.ranges[I.ranges.length-1].value,I.ranges[0].value,I.minSize,I.maxSize,A)}render(){const A=this.legendItem||{},I=this.chart.renderer,_=this.options.zThreshold;this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),A.symbol=I.g("bubble-legend"),A.label=I.g("bubble-legend-item").css(this.legend.itemStyle||{}),A.symbol.translateX=0,A.symbol.translateY=0,A.symbol.add(A.label),A.label.add(A.group);for(const m of this.ranges)m.value>=_&&this.renderRange(m);this.hideOverlappingLabels()}renderRange(A){const I=this.ranges[0],_=this.legend,m=this.options,w=m.labels,G=this.chart,O=G.series[m.seriesIndex],f=G.renderer,a=this.symbols,g=a.labels,v=A.center,o=Math.abs(A.radius),n=m.connectorDistance||0,r=w.align,C=m.connectorWidth,k=I.radius||0,p=v-o-m.borderWidth/2+C/2,T=(p%1?1:.5)-(C%2?0:.5),B=f.styledMode;let z=_.options.rtl||"left"===r?-n:n;"center"===r&&(z=0,m.connectorDistance=0,A.labelAttribs.align="center"),a.bubbleItems.push(f.circle(k,v+T,o).attr(B?{}:A.bubbleAttribs).addClass((B?"highcharts-color-"+O.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(m.className||"")).add(this.legendItem.symbol)),a.connectors.push(f.path(f.crispLine([["M",k,p],["L",k+z,p]],m.connectorWidth)).attr(B?{}:A.connectorAttribs).addClass((B?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(m.connectorClassName||"")).add(this.legendItem.symbol));const K=f.text(this.formatLabel(A)).attr(B?{}:A.labelAttribs).css(B?{}:w.style).addClass("highcharts-bubble-legend-labels "+(m.labels.className||"")).add(this.legendItem.symbol),U={x:k+z+m.labels.x,y:p+m.labels.y+.4*K.getBBox().height};K.attr(U),g.push(K),K.placed=!0,K.alignAttr=U}getMaxLabelSize(){let I,_;return this.symbols.labels.forEach(function(m){_=m.getBBox(!0),I=I?_.width>I.width?_:I:_}),I||{}}formatLabel(A){const I=this.options,_=I.labels.formatter,m=I.labels.format,{numberFormatter:w}=this.chart;return m?re.format(m,A):_?_.call(A):w(A.value,1)}hideOverlappingLabels(){const _=this.symbols;!this.options.labels.allowOverlap&&_&&(this.chart.hideOverlappingLabels(_.labels),_.labels.forEach(function(m,w){m.newOpacity?m.newOpacity!==m.oldOpacity&&_.connectors[w].show():_.connectors[w].hide()}))}getRanges(){const A=this.legend.bubbleLegend,_=A.options.ranges;let m,w,G=Number.MAX_VALUE,O=-Number.MAX_VALUE;return A.chart.series.forEach(function(f){f.isBubble&&!f.ignoreSeries&&(w=f.zData.filter(X),w.length&&(G=j(f.options.zMin,Math.min(G,Math.max(te(w),!1===f.options.displayNegative?f.options.zThreshold:-Number.MAX_VALUE))),O=j(f.options.zMax,Math.max(O,J(w)))))}),m=G===O?[{value:O}]:[{value:G},{value:(G+O)/2},{value:O,autoRanges:!0}],_.length&&_[0].radius&&m.reverse(),m.forEach(function(f,a){_&&_[a]&&(m[a]=E(_[a],f))}),m}predictBubbleSizes(){const A=this.chart,I=A.legend.options,_=I.floating,m="horizontal"===I.layout,w=m?A.legend.lastLineHeight:0,G=A.plotSizeX,O=A.plotSizeY,f=A.series[this.options.seriesIndex],a=f.getPxExtremes(),g=Math.ceil(a.minPxSize),v=Math.ceil(a.maxPxSize),o=Math.min(O,G);let n,r=f.options.maxSize;return _||!/%$/.test(r)?n=v:(r=parseFloat(r),n=(o+w)*r/100/(r/100+1),(m&&O-n>=G||!m&&G-n>=O)&&(n=v)),[g,Math.ceil(n)]}updateRanges(A,I){const _=this.legend.options.bubbleLegend;_.minSize=A,_.maxSize=I,_.ranges=this.getRanges()}correctSizes(){const A=this.legend,m=this.chart.series[this.options.seriesIndex].getPxExtremes(),G=this.options.maxSize;Math.abs(Math.ceil(m.maxPxSize)-G)>1&&(this.updateRanges(this.options.minSize,m.maxPxSize),A.render())}}}),q(Le,"Series/Bubble/BubbleLegendComposition.js",[Le["Series/Bubble/BubbleLegendDefaults.js"],Le["Series/Bubble/BubbleLegendItem.js"],Le["Core/Defaults.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe){const{setOptions:ue}=ve,{composed:J}=le,{addEvent:te,objectEach:X,pushUnique:E,wrap:j}=pe;function F(G,O,f){const a=this,g=a.legend,v=D(a)>=0;let o,n,r;g&&g.options.enabled&&g.bubbleLegend&&g.options.bubbleLegend.autoRanges&&v?(o=g.bubbleLegend.options,n=g.bubbleLegend.predictBubbleSizes(),g.bubbleLegend.updateRanges(n[0],n[1]),o.placed||(g.group.placed=!1,g.allItems.forEach(l=>{r=l.legendItem||{},r.group&&(r.group.translateY=void 0)})),g.render(),a.getMargins(),a.axes.forEach(function(l){l.visible&&l.render(),o.placed||(l.setScale(),l.updateNames(),X(l.ticks,function(d){d.isNew=!0,d.isNewLabel=!0}))}),o.placed=!0,a.getMargins(),G.call(a,O,f),g.bubbleLegend.correctSizes(),m(g,A(g))):(G.call(a,O,f),g&&g.options.enabled&&g.bubbleLegend&&(g.render(),m(g,A(g))))}function D(G){const O=G.series;let f=0;for(;fg.height&&(g.height=O[r].itemHeight);g.step=n}return f}function I(G){const O=this,f=O.bubbleLegend,a=O.options,g=a.bubbleLegend,v=D(O.chart);f&&f.ranges&&f.ranges.length&&(g.ranges.length&&(g.autoRanges=!!g.ranges[0].autoRanges),O.destroyItem(f)),v>=0&&a.enabled&&g.enabled&&(g.seriesIndex=v,O.bubbleLegend=new re(g,O),O.bubbleLegend.addToLegend(G.allItems))}function _(G){if(G.defaultPrevented)return!1;const O=this,f=O.chart,a=O.visible,g=O.chart.legend;let v;g&&g.bubbleLegend&&(O.visible=!a,O.ignoreSeries=a,v=D(f)>=0,g.bubbleLegend.visible!==v&&(g.update({bubbleLegend:{enabled:v}}),g.bubbleLegend.visible=v),O.visible=a)}function m(G,O){const a=G.options.rtl;let g,v,o,n,r=0;G.allItems.forEach((l,d)=>{n=l.legendItem||{},n.group&&(g=n.group.translateX||0,v=n.y||0,o=l.movementX,(o||a&&l.ranges)&&(o=a?g-l.options.maxSize/2:g+o,n.group.attr({translateX:o})),d>O[r].step&&r++,n.group.attr({translateY:Math.round(v+O[r].height/2)}),n.y=v+O[r].height/2)})}return{compose:function P(G,O,f){E(J,"Series.BubbleLegend")&&(ue({legend:{bubbleLegend:ne}}),j(G.prototype,"drawChartBox",F),te(O,"afterGetAllItems",I),te(f,"legendItemClick",_))}}}),q(Le,"Series/Bubble/BubblePoint.js",[Le["Core/Series/Point.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{seriesTypes:{scatter:{prototype:{pointClass:le}}}}=re,{extend:pe}=ve;class ue extends le{haloPath(te){return ne.prototype.haloPath.call(this,0===te?0:(this.marker&&this.marker.radius||0)+te)}}return pe(ue.prototype,{ttBelow:!1}),ue}),q(Le,"Series/Bubble/BubbleSeries.js",[Le["Series/Bubble/BubbleLegendComposition.js"],Le["Series/Bubble/BubblePoint.js"],Le["Core/Color/Color.js"],Le["Core/Globals.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe,ue){const{parse:J}=ve,{composed:te,noop:X}=le,{series:E,seriesTypes:{column:{prototype:j},scatter:F}}=pe,{addEvent:P,arrayMax:D,arrayMin:A,clamp:I,extend:_,isNumber:m,merge:w,pick:G,pushUnique:O}=ue;function f(){const g=this.len,{coll:v,isXAxis:o,min:n}=this,r=o?"xData":"yData",l=(this.max||0)-(n||0);let p,d=0,C=g,k=g/l;"xAxis"!==v&&"yAxis"!==v||(this.series.forEach(T=>{if(T.bubblePadding&&T.reserveSpace()){this.allowZoomOutside=!0,p=!0;const B=T[r];if(o&&((T.onPoint||T).getRadii(0,0,T),T.onPoint&&(T.radii=T.onPoint.radii)),l>0){let z=B.length;for(;z--;)if(m(B[z])&&this.dataMin<=B[z]&&B[z]<=this.max){const K=T.radii&&T.radii[z]||0;d=Math.min((B[z]-n)*k-K,d),C=Math.max((B[z]-n)*k+K,C)}}}}),p&&l>0&&!this.logarithmic&&(C-=g,k*=(g+Math.max(0,d)-Math.min(C,g))/g,[["min","userMin",d],["max","userMax",C]].forEach(T=>{typeof G(this.options[T[0]],this[T[1]])>"u"&&(this[T[0]]+=T[2]/k)})))}class a extends F{static compose(v,o,n,r){ne.compose(o,n,r),O(te,"Series.Bubble")&&P(v,"foundExtremes",f)}animate(v){!v&&this.points.length{if(K.bubblePadding&&K.reserveSpace()){const U=(K.onPoint||K).getZExtremes();U&&(T=Math.min(G(T,U.zMin),U.zMin),B=Math.max(G(B,U.zMax),U.zMax),z=!0)}}),z?(C={zMin:T,zMax:B},this.chart.bubbleZExtremes=C):C={zMin:0,zMax:0}}for(l=0,r=v.length;l0&&(B=(l-v)/T)}return k&&B>=0&&(B=Math.sqrt(B)),Math.ceil(n+B*(r-n))/2}hasData(){return!!this.processedXData.length}pointAttribs(v,o){const r=this.options.marker.fillOpacity,l=E.prototype.pointAttribs.call(this,v,o);return 1!==r&&(l.fill=J(l.fill).setOpacity(r).get("rgba")),l}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){const{data:v,options:o,radii:n}=this,{minPxSize:r}=this.getPxExtremes();let l=v.length;for(;l--;){const d=v[l],C=n?n[l]:0;"z"===this.zoneAxis&&(d.negative=(d.z||0)<(o.zThreshold||0)),m(C)&&C>=r/2?(d.marker=_(d.marker,{radius:C,width:2*C,height:2*C}),d.dlBox={x:d.plotX-C,y:d.plotY-C,width:2*C,height:2*C}):(d.shapeArgs=d.plotY=d.dlBox=void 0,d.isInside=!1)}}getPxExtremes(){const v=Math.min(this.chart.plotWidth,this.chart.plotHeight),o=l=>{let d;return"string"==typeof l&&(d=/%$/.test(l),l=parseInt(l,10)),d?v*l/100:l},n=o(G(this.options.minSize,8));return{minPxSize:n,maxPxSize:Math.max(o(G(this.options.maxSize,"20%")),n)}}getZExtremes(){const v=this.options,o=(this.zData||[]).filter(m);if(o.length){const n=G(v.zMin,I(A(o),!1===v.displayNegative?v.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),r=G(v.zMax,D(o));if(m(n)&&m(r))return{zMin:n,zMax:r}}}}return a.defaultOptions=w(F.defaultOptions,{dataLabels:{formatter:function(){const{numberFormatter:g}=this.series.chart,{z:v}=this.point;return m(v)?g(v,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),_(a.prototype,{alignDataLabel:j.alignDataLabel,applyZones:X,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:re,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),P(a,"updatedData",g=>{delete g.target.chart.bubbleZExtremes}),P(a,"remove",g=>{delete g.target.chart.bubbleZExtremes}),pe.registerSeriesType("bubble",a),a}),q(Le,"Series/ColumnRange/ColumnRangePoint.js",[Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re){const{seriesTypes:{column:{prototype:{pointClass:{prototype:ve}}},arearange:{prototype:{pointClass:le}}}}=ne,{extend:pe,isNumber:ue}=re;class J extends le{isValid(){return ue(this.low)}}return pe(J.prototype,{setState:ve.setState}),J}),q(Le,"Series/ColumnRange/ColumnRangeSeries.js",[Le["Series/ColumnRange/ColumnRangePoint.js"],Le["Core/Globals.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{noop:pe}=re,{seriesTypes:{arearange:ue,column:J,column:{prototype:te}}}=ve,{addEvent:X,clamp:E,extend:j,isNumber:F,merge:P,pick:D}=le;class I extends ue{setOptions(){return P(!0,arguments[0],{stacking:void 0}),ue.prototype.setOptions.apply(this,arguments)}translate(){return te.translate.apply(this)}pointAttribs(){return te.pointAttribs.apply(this,arguments)}translate3dPoints(){return te.translate3dPoints.apply(this,arguments)}translate3dShapes(){return te.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){const m=this.yAxis,w=this.xAxis,G=w.startAngleRad,O=this.chart,f=this.xAxis.isRadial,a=Math.max(O.chartWidth,O.chartHeight)+999;let g,v,o,n;function r(l){return E(l,-a,a)}this.points.forEach(l=>{const d=l.shapeArgs||{},C=this.options.minPointLength,k=l.plotY,p=m.translate(l.high,0,1,0,1);if(F(p)&&F(k))if(l.plotHigh=r(p),l.plotLow=r(k),n=l.plotHigh,g=D(l.rectPlotY,l.plotY)-l.plotHigh,Math.abs(g)\u25cf {series.name}: {point.low} - {point.high}
'},whiskerWidth:null}}),q(Le,"Series/ErrorBar/ErrorBarSeries.js",[Le["Series/BoxPlot/BoxPlotSeries.js"],Le["Series/Column/ColumnSeries.js"],Le["Series/ErrorBar/ErrorBarSeriesDefaults.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe){const{arearange:ue}=le.seriesTypes,{addEvent:J,merge:te,extend:X}=pe;class E extends ne{getColumnMetrics(){const F=this;return F.linkedParent&&F.linkedParent.columnMetrics||re.prototype.getColumnMetrics.call(F)}drawDataLabels(){const F=this,P=F.pointValKey;if(ue){ue.prototype.drawDataLabels.call(F);for(const D of F.points)D.y=D[P]}}toYData(F){return[F.low,F.high]}}return E.defaultOptions=te(ne.defaultOptions,ve),J(E,"afterTranslate",function(){for(const j of this.points)j.plotLow=j.plotY},{order:0}),X(E.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),le.registerSeriesType("errorbar",E),E}),q(Le,"Series/Gauge/GaugePoint.js",[Le["Core/Series/SeriesRegistry.js"]],function(ne){const{series:{prototype:{pointClass:re}}}=ne;return class ve extends re{setState(pe){this.state=pe}}}),q(Le,"Series/Gauge/GaugeSeries.js",[Le["Series/Gauge/GaugePoint.js"],Le["Core/Globals.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{noop:pe}=re,{series:ue,seriesTypes:{column:J}}=ve,{clamp:te,isNumber:X,extend:E,merge:j,pick:F,pInt:P,defined:D}=le;class A extends ue{translate(){const _=this,m=_.yAxis,w=_.options,G=m.center;_.generatePoints(),_.points.forEach(O=>{const f=j(w.dial,O.dial),a=P(f.radius)*G[2]/200,g=P(f.baseLength)*a/100,v=P(f.rearLength)*a/100,o=f.baseWidth,n=f.topWidth;let r=w.overshoot,l=m.startAngleRad+m.translate(O.y,void 0,void 0,void 0,!0);(X(r)||!1===w.wrap)&&(r=X(r)?r/180*Math.PI:0,l=te(l,m.startAngleRad-r,m.endAngleRad+r)),l=180*l/Math.PI,O.shapeType="path",O.shapeArgs={d:f.path||[["M",-v,-o/2],["L",g,-o/2],["L",a,-n/2],["L",a,n/2],["L",g,o/2],["L",-v,o/2],["Z"]],translateX:G[0],translateY:G[1],rotation:l},O.plotX=G[0],O.plotY=G[1],D(O.y)&&m.max-m.min&&(O.percentage=(O.y-m.min)/(m.max-m.min)*100)})}drawPoints(){const _=this,m=_.chart,w=_.yAxis.center,G=_.pivot,O=_.options,f=O.pivot,a=m.renderer;_.points.forEach(g=>{const v=g.graphic,o=g.shapeArgs,n=o.d,r=j(O.dial,g.dial);v?(v.animate(o),o.d=n):g.graphic=a[g.shapeType](o).addClass("highcharts-dial").add(_.group),m.styledMode||g.graphic[v?"animate":"attr"]({stroke:r.borderColor,"stroke-width":r.borderWidth,fill:r.backgroundColor})}),G?G.animate({translateX:w[0],translateY:w[1]}):f&&(_.pivot=a.circle(0,0,f.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(w[0],w[1]).add(_.group),m.styledMode||_.pivot.attr({fill:f.backgroundColor,stroke:f.borderColor,"stroke-width":f.borderWidth}))}animate(_){const m=this;_||m.points.forEach(w=>{const G=w.graphic;G&&(G.attr({rotation:180*m.yAxis.startAngleRad/Math.PI}),G.animate({rotation:w.shapeArgs.rotation},m.options.animation))})}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),ue.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(_,m){ue.prototype.setData.call(this,_,!1),this.processData(),this.generatePoints(),F(m,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return A.defaultOptions=j(ue.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1}),E(A.prototype,{angular:!0,directTouch:!0,drawGraph:pe,drawTracker:J.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:ne,trackerGroups:["group","dataLabelsGroup"]}),ve.registerSeriesType("gauge",A),A}),q(Le,"Series/DragNodesComposition.js",[Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re){const{composed:ve}=ne,{addEvent:le,pushUnique:pe}=re;function J(){const P=this;let D,A,I;P.container&&(D=le(P.container,"mousedown",_=>{const m=P.hoverPoint;m&&m.series&&m.series.hasDraggableNodes&&m.series.options.draggable&&(m.series.onMouseDown(m,_),A=le(P.container,"mousemove",w=>m&&m.series&&m.series.onMouseMove(m,w)),I=le(P.container.ownerDocument,"mouseup",w=>(A(),I(),m&&m.series&&m.series.onMouseUp(m,w))))})),le(P,"destroy",function(){D()})}return{compose:function ue(P){pe(ve,"DragNodes")&&le(P,"load",J)},onMouseDown:function te(P,D){const A=this.chart.pointer?.normalize(D)||D;P.fixedPosition={chartX:A.chartX,chartY:A.chartY,plotX:P.plotX,plotY:P.plotY},P.inDragMode=!0},onMouseMove:function X(P,D){if(P.fixedPosition&&P.inDragMode){const I=this.chart,_=I.pointer?.normalize(D)||D,m=P.fixedPosition.chartX-_.chartX,w=P.fixedPosition.chartY-_.chartY,G=I.graphLayoutsLookup;let O,f;(Math.abs(m)>5||Math.abs(w)>5)&&(O=P.fixedPosition.plotX-m,f=P.fixedPosition.plotY-w,I.isInsidePlot(O,f)&&(P.plotX=O,P.plotY=f,P.hasDragged=!0,this.redrawHalo(P),G.forEach(a=>{a.restartSimulation()})))}},onMouseUp:function E(P){P.fixedPosition&&(P.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),P.inDragMode=P.hasDragged=!1,this.options.fixedDraggable||delete P.fixedPosition)},redrawHalo:function j(P){P&&this.halo&&this.halo.attr({d:P.haloPath(this.options.states.hover.halo.size)})}}}),q(Le,"Series/GraphLayoutComposition.js",[Le["Core/Animation/AnimationUtilities.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{setAnimation:le}=ne,{composed:pe}=re,{addEvent:ue,pushUnique:J}=ve;function j(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(I=>{I.updateSimulation()}),this.redraw())}function F(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(I=>{I.updateSimulation(!1)}),this.redraw())}function P(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(I=>{I.stop()})}function D(){let I,_=!1;const m=w=>{w.maxIterations--&&isFinite(w.temperature)&&!w.isStable()&&!w.enableSimulation&&(w.beforeStep&&w.beforeStep(),w.step(),I=!1,_=!0)};if(this.graphLayoutsLookup){for(le(!1,this),this.graphLayoutsLookup.forEach(w=>w.start());!I;)I=!0,this.graphLayoutsLookup.forEach(m);_&&this.series.forEach(w=>{w&&w.layout&&w.render()})}}return{compose:function E(I){J(pe,"GraphLayout")&&(ue(I,"afterPrint",j),ue(I,"beforePrint",F),ue(I,"predraw",P),ue(I,"render",D))},integrations:{},layouts:{}}}),q(Le,"Series/PackedBubble/PackedBubblePoint.js",[Le["Core/Chart/Chart.js"],Le["Core/Series/Point.js"],Le["Core/Series/SeriesRegistry.js"]],function(ne,re,ve){const{seriesTypes:{bubble:{prototype:{pointClass:le}}}}=ve;return class pe extends le{destroy(){return this.series.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),re.prototype.destroy.apply(this,arguments)}firePointEvent(){const te=this.series.options;if(this.isParentNode&&te.parentNode){const X=te.allowPointSelect;te.allowPointSelect=te.parentNode.allowPointSelect,re.prototype.firePointEvent.apply(this,arguments),te.allowPointSelect=X}else re.prototype.firePointEvent.apply(this,arguments)}select(){const X=this.series.chart;this.isParentNode?(X.getSelectedPoints=X.getSelectedParentNodes,re.prototype.select.apply(this,arguments),X.getSelectedPoints=ne.prototype.getSelectedPoints):re.prototype.select.apply(this,arguments)}}}),q(Le,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[Le["Core/Utilities.js"]],function(ne){const{isNumber:re}=ne;return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){const{numberFormatter:le}=this.series.chart,{value:pe}=this.point;return re(pe)?le(pe,-1):""},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}}),q(Le,"Series/Networkgraph/VerletIntegration.js",[],function(){return{attractive:function ne(X,E,j){const F=X.getMass(),P=-j.x*E*this.diffTemperature,D=-j.y*E*this.diffTemperature;X.fromNode.fixedPosition||(X.fromNode.plotX-=P*F.fromNode/X.fromNode.degree,X.fromNode.plotY-=D*F.fromNode/X.fromNode.degree),X.toNode.fixedPosition||(X.toNode.plotX+=P*F.toNode/X.toNode.degree,X.toNode.plotY+=D*F.toNode/X.toNode.degree)},attractiveForceFunction:function re(X,E){return(E-X)/X},barycenter:function ve(){let X=this.options.gravitationalConstant,E=this.barycenter.xFactor,j=this.barycenter.yFactor;E=(E-(this.box.left+this.box.width)/2)*X,j=(j-(this.box.top+this.box.height)/2)*X,this.nodes.forEach(function(F){F.fixedPosition||(F.plotX-=E/F.mass/F.degree,F.plotY-=j/F.mass/F.degree)})},getK:function le(X){return Math.pow(X.box.width*X.box.height/X.nodes.length,.5)},integrate:function pe(X,E){let j=-X.options.friction,F=X.options.maxSpeed,A=(E.plotX+E.dispX-E.prevX)*j,I=(E.plotY+E.dispY-E.prevY)*j,_=Math.abs,m=_(A)/(A||1),w=_(I)/(I||1);A=m*Math.min(F,Math.abs(A)),I=w*Math.min(F,Math.abs(I)),E.prevX=E.plotX+E.dispX,E.prevY=E.plotY+E.dispY,E.plotX+=A,E.plotY+=I,E.temperature=X.vectorLength({x:A,y:I})},repulsive:function ue(X,E,j){const F=E*this.diffTemperature/X.mass/X.degree;X.fixedPosition||(X.plotX+=j.x*F,X.plotY+=j.y*F)},repulsiveForceFunction:function J(X,E){return(E-X)/X*(E>X?1:0)}}}),q(Le,"Series/PackedBubble/PackedBubbleIntegration.js",[Le["Core/Globals.js"],Le["Series/Networkgraph/VerletIntegration.js"]],function(ne,re){const{noop:ve}=ne;return{barycenter:function le(){const te=this,X=te.options.gravitationalConstant,E=te.box,j=te.nodes;let F,P;for(const D of j)te.options.splitSeries&&!D.isParentNode?(F=D.series.parentNode.plotX,P=D.series.parentNode.plotY):(F=E.width/2,P=E.height/2),D.fixedPosition||(D.plotX-=(D.plotX-F)*X/(D.mass*Math.sqrt(j.length)),D.plotY-=(D.plotY-P)*X/(D.mass*Math.sqrt(j.length)))},getK:ve,integrate:re.integrate,repulsive:function pe(te,X,E,j){const F=X*this.diffTemperature/te.mass/te.degree,P=E.x*F,D=E.y*F;te.fixedPosition||(te.plotX+=P,te.plotY+=D),j.fixedPosition||(j.plotX-=P,j.plotY-=D)},repulsiveForceFunction:function ue(te,X,E,j){return Math.min(te,(E.marker.radius+j.marker.radius)/2)}}}),q(Le,"Series/Networkgraph/EulerIntegration.js",[],function(){return{attractive:function ne(X,E,j,F){const P=X.getMass(),D=j.x/F*E,A=j.y/F*E;X.fromNode.fixedPosition||(X.fromNode.dispX-=D*P.fromNode/X.fromNode.degree,X.fromNode.dispY-=A*P.fromNode/X.fromNode.degree),X.toNode.fixedPosition||(X.toNode.dispX+=D*P.toNode/X.toNode.degree,X.toNode.dispY+=A*P.toNode/X.toNode.degree)},attractiveForceFunction:function re(X,E){return X*X/E},barycenter:function ve(){const X=this.options.gravitationalConstant,E=this.barycenter.xFactor,j=this.barycenter.yFactor;this.nodes.forEach(function(F){if(!F.fixedPosition){const P=F.getDegree(),D=P*(1+P/2);F.dispX+=(E-F.plotX)*X*D/F.degree,F.dispY+=(j-F.plotY)*X*D/F.degree}})},getK:function le(X){return Math.pow(X.box.width*X.box.height/X.nodes.length,.3)},integrate:function pe(X,E){let j;E.dispX+=E.dispX*X.options.friction,E.dispY+=E.dispY*X.options.friction,j=E.temperature=X.vectorLength({x:E.dispX,y:E.dispY}),0!==j&&(E.plotX+=E.dispX/j*Math.min(Math.abs(E.dispX),X.temperature),E.plotY+=E.dispY/j*Math.min(Math.abs(E.dispY),X.temperature))},repulsive:function ue(X,E,j,F){X.dispX+=j.x/F*E/X.degree,X.dispY+=j.y/F*E/X.degree},repulsiveForceFunction:function J(X,E){return E*E/X}}}),q(Le,"Series/Networkgraph/QuadTreeNode.js",[],function(){class ne{constructor(ve){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=ve,this.boxSize=Math.min(ve.width,ve.height)}divideBox(){const ve=this.box.width/2,le=this.box.height/2;this.nodes[0]=new ne({left:this.box.left,top:this.box.top,width:ve,height:le}),this.nodes[1]=new ne({left:this.box.left+ve,top:this.box.top,width:ve,height:le}),this.nodes[2]=new ne({left:this.box.left+ve,top:this.box.top+le,width:ve,height:le}),this.nodes[3]=new ne({left:this.box.left,top:this.box.top+le,width:ve,height:le})}getBoxPosition(ve){const pe=ve.plotYthis.step())):(this.simulation=!1,this.series.forEach(_=>{j(_,"afterSimulation")}))}}stop(){this.simulation&&J.cancelAnimationFrame(this.simulation)}setArea(A,I,_,m){this.box={left:A,top:I,width:_,height:m}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(A,I){for(const _ of A)-1===I.indexOf(_)&&I.push(_)}removeElementFromCollection(A,I){const _=I.indexOf(A);-1!==_&&I.splice(_,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(A){this.maxIterations=F(A,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(A){this.initialRendering=A}createQuadTree(){this.quadTree=new le(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){const A=this.options.initialPositions;if(E(A)){A.call(this);for(const I of this.nodes)X(I.prevX)||(I.prevX=I.plotX),X(I.prevY)||(I.prevY=I.plotY),I.dispX=0,I.dispY=0}else"circle"===A?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){const A=this.box,I=this.nodes,m=2*Math.PI/(I.length+1),w=I.filter(function(v){return 0===v.linksTo.length}),G={},O=this.options.initialPositionRadius,f=v=>{for(const o of v.linksFrom||[])G[o.toNode.id]||(G[o.toNode.id]=!0,a.push(o.toNode),f(o.toNode))};let g,a=[];for(const v of w)a.push(v),f(v);if(a.length)for(const v of I)-1===a.indexOf(v)&&a.push(v);else a=I;for(let v=0,o=a.length;v{let O=G*G/Math.PI;return O-=Math.floor(O),O};let w;for(let G=0,O=I.length;Gthis.barnesHutApproximation(A,I));else{let A,I,_;for(const m of this.nodes)for(const w of this.nodes)m!==w&&!m.fixedPosition&&(_=this.getDistXY(m,w),I=this.vectorLength(_),0!==I&&(A=this.repulsiveForce(I,this.k),this.force("repulsive",m,A*w.mass,_,I)))}}attractiveForces(){let A,I,_;for(const m of this.links)m.fromNode&&m.toNode&&(A=this.getDistXY(m.fromNode,m.toNode),I=this.vectorLength(A),0!==I&&(_=this.attractiveForce(I,this.k),this.force("attractive",m,_,A,I)))}applyLimits(){const A=this.nodes;for(const I of A){if(I.fixedPosition)return;this.integration.integrate(this,I),this.applyLimitBox(I,this.box),I.dispX=0,I.dispY=0}}applyLimitBox(A,I){const _=A.radius;A.plotX=te(A.plotX,I.left+_,I.width-_),A.plotY=te(A.plotY,I.top+_,I.height-_)}coolDown(A,I,_){return A-I*_}isStable(){return Math.abs(this.systemTemperature-this.prevSystemTemperature)<1e-5||this.temperature<=0}getSystemTemperature(){let A=0;for(const I of this.nodes)A+=I.temperature;return A}vectorLength(A){return Math.sqrt(A.x*A.x+A.y*A.y)}getDistR(A,I){const _=this.getDistXY(A,I);return this.vectorLength(_)}getDistXY(A,I){const _=A.plotX-I.plotX,m=A.plotY-I.plotY;return{x:_,y:m,absX:Math.abs(_),absY:Math.abs(m)}}}return P}),q(Le,"Series/PackedBubble/PackedBubbleLayout.js",[Le["Series/GraphLayoutComposition.js"],Le["Series/PackedBubble/PackedBubbleIntegration.js"],Le["Series/Networkgraph/ReingoldFruchtermanLayout.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{addEvent:pe,pick:ue}=le;function J(){const j=[];return this.series.forEach(F=>{F.parentNode&&F.parentNode.selected&&j.push(F.parentNode)}),j}function te(){this.allDataPoints&&delete this.allDataPoints}class X extends ve{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(j){ve.compose(j),ne.integrations.packedbubble=re,ne.layouts.packedbubble=X;const F=j.prototype;F.getSelectedParentNodes||(pe(j,"beforeRedraw",te),F.getSelectedParentNodes=J)}beforeStep(){this.options.marker&&this.series.forEach(j=>{j&&j.calculateParentRadius()})}isStable(){const j=Math.abs(this.prevSystemTemperature-this.systemTemperature),F=10*this.systemTemperature/Math.sqrt(this.nodes.length);return Math.abs(F)<1&&j<1e-5||this.temperature<=0}setCircularPositions(){const j=this,F=j.box,P=j.nodes,A=2*Math.PI/(P.length+1),I=j.options.initialPositionRadius;let _,m,w=0;for(const G of P)j.options.splitSeries&&!G.isParentNode?(_=G.series.parentNode.plotX,m=G.series.parentNode.plotY):(_=F.width/2,m=F.height/2),G.plotX=G.prevX=ue(G.plotX,_+I*Math.cos(G.index||w*A)),G.plotY=G.prevY=ue(G.plotY,m+I*Math.sin(G.index||w*A)),G.dispX=0,G.dispY=0,w++}repulsiveForces(){const j=this,F=j.options.bubblePadding;let P,D,A;j.nodes.forEach(I=>{I.degree=I.mass,I.neighbours=0,j.nodes.forEach(_=>{P=0,I!==_&&!I.fixedPosition&&(j.options.seriesInteraction||I.series===_.series)&&(A=j.getDistXY(I,_),D=j.vectorLength(A)-(I.marker.radius+_.marker.radius+F),D<0&&(I.degree+=.01,I.neighbours++,P=j.repulsiveForce(-D/Math.sqrt(I.neighbours),j.k,I,_)),j.force("repulsive",I,P*_.mass,A,_,D))})})}applyLimitBox(j,F){const P=this;let A,I;P.options.splitSeries&&!j.isParentNode&&P.options.parentNodeLimit&&(A=P.getDistXY(j,j.series.parentNode),I=j.series.parentNodeRadius-j.marker.radius-P.vectorLength(A),I<0&&I>-2*j.marker.radius&&(j.plotX-=.01*A.x,j.plotY-=.01*A.y)),super.applyLimitBox(j,F)}}return ne.layouts.packedbubble=X,X}),q(Le,"Series/SimulationSeriesUtilities.js",[Le["Core/Utilities.js"],Le["Core/Animation/AnimationUtilities.js"]],function(ne,re){const{merge:ve,syncTimeout:le}=ne,{animObject:pe}=re;return{initDataLabels:function J(){const X=this,E=X.options.dataLabels;if(!X.dataLabelsGroup){const j=this.initDataLabelsGroup();return!X.chart.styledMode&&E?.style&&j.css(E.style),j.attr({opacity:0}),X.visible&&j.show(),j}return X.dataLabelsGroup.attr(ve({opacity:1},this.getPlotBox("data-labels"))),X.dataLabelsGroup},initDataLabelsDefer:function ue(){const X=this.options.dataLabels;X?.defer&&this.options.layoutAlgorithm?.enableSimulation?le(()=>{this.deferDataLabels=!1},X?pe(X.animation).defer:0):this.deferDataLabels=!1}}}),q(Le,"Series/PackedBubble/PackedBubbleSeries.js",[Le["Core/Color/Color.js"],Le["Series/DragNodesComposition.js"],Le["Series/GraphLayoutComposition.js"],Le["Core/Globals.js"],Le["Series/PackedBubble/PackedBubblePoint.js"],Le["Series/PackedBubble/PackedBubbleSeriesDefaults.js"],Le["Series/PackedBubble/PackedBubbleLayout.js"],Le["Core/Series/SeriesRegistry.js"],Le["Series/SimulationSeriesUtilities.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe,ue,J,te,X,E){const{parse:j}=ne,{noop:F}=le,{series:{prototype:P},seriesTypes:{bubble:D}}=te,{initDataLabels:A,initDataLabelsDefer:I}=X,{addEvent:_,clamp:m,defined:w,extend:G,fireEvent:O,isArray:f,isNumber:a,merge:g,pick:v}=E;class o extends D{constructor(){super(...arguments),this.parentNodeMass=0,this.deferDataLabels=!0}static compose(r,l,d,C){D.compose(r,l,d,C),re.compose(l),J.compose(l)}accumulateAllPoints(){const r=this.chart,l=[];let d;for(const C of r.series)if(C.is("packedbubble")&&C.reserveSpace()){d=C.yData||[];for(let k=0;k{T.mass=2,T.degree=1,T.collisionNmb=1}),p.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),p.addElementsToCollection([this],p.series),p.addElementsToCollection(this.points,p.nodes)}addSeriesLayout(){const r=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},l=r.type||"packedbubble",d=this.chart.graphLayoutsStorage,C=this.chart.graphLayoutsLookup,k=g(r,r.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation});let p=d[l+"-series"];p||(d[l+"-series"]=p=new ve.layouts[l],p.init(k),C.splice(p.index,0,p)),this.parentNodeLayout=p,this.createParentNodes()}calculateParentRadius(){const r=this.seriesBox();this.parentNodeRadius=m(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,r?Math.max(Math.sqrt(Math.pow(r.width,2)+Math.pow(r.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20),this.parentNode&&(this.parentNode.marker.radius=this.parentNode.radius=this.parentNodeRadius)}calculateZExtremes(){let d=this.options.zMin,C=this.options.zMax,k=1/0,p=-1/0;return d&&C||(this.chart.series.forEach(T=>{T.yData.forEach(B=>{w(B)&&(B>p&&(p=B),B{this.parentNodeMass+=Math.PI*Math.pow(B.marker.radius,2)}),this.calculateParentRadius(),d.nodes.forEach(B=>{B.seriesIndex===this.index&&(k=!0)}),d.setArea(0,0,l.plotWidth,l.plotHeight),k||(p||(p=new r(this,{mass:this.parentNodeRadius/2,marker:T,dataLabels:{inside:!1},states:{normal:{marker:T},hover:{marker:T}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(p.plotX=this.parentNode.plotX,p.plotY=this.parentNode.plotY),this.parentNode=p,d.addElementsToCollection([this],d.series),d.addElementsToCollection([p],d.nodes))}deferLayout(){const r=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),r.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(r=>{r.removeElementFromCollection(this,r.series)},this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),P.destroy.apply(this,arguments)}drawDataLabels(){this.deferDataLabels||(P.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",P.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){if(!this.layout||!this.layout.options.splitSeries)return;const r=this.chart,l=this.layout.options.parentNodeOptions.marker,d={fill:l.fillColor||j(this.color).brighten(.4).get(),opacity:l.fillOpacity,stroke:l.lineColor||this.color,"stroke-width":v(l.lineWidth,this.options.lineWidth)};let C={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,r.seriesGroup),this.group?.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&w(this.parentNode.plotX)&&w(this.parentNode.plotY)&&w(this.parentNodeRadius)&&(C=g({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},d),this.parentNode.graphic||(this.graph=this.parentNode.graphic=r.renderer.symbol(d.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(C))}drawTracker(){const r=this.parentNode;let l;super.drawTracker(),r&&(l=f(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),l.forEach(d=>{(d.div||d.element).point=r}))}getPointRadius(){const r=this.chart,C=this.options,k=C.useSimulation,p=Math.min(r.plotWidth,r.plotHeight),T={},B=[],z=r.allDataPoints||[],K=z.length;let U,se,S,$;["minSize","maxSize"].forEach(x=>{const N=parseInt(C[x],10),R=/%$/.test(C[x]);T[x]=R?p*N/100:N*Math.sqrt(K)}),r.minRadius=U=T.minSize/Math.sqrt(K),r.maxRadius=se=T.maxSize/Math.sqrt(K);const H=k?this.calculateZExtremes():[U,se];z.forEach((x,N)=>{S=k?m(x[2],H[0],H[1]):x[2],$=this.getRadius(H[0],H[1],U,se,S),0===$&&($=null),z[N][2]=$,B.push($)}),this.radii=B}init(){return P.init.apply(this,arguments),I.call(this),this.eventsToUnbind.push(_(this,"updatedData",function(){this.chart.series.forEach(r=>{r.type===this.type&&(r.isDirty=!0)},this)})),this}onMouseUp(r){const l=r;if(l.fixedPosition&&!l.removed){const d=this.layout,C=this.parentNodeLayout;let k,p;C&&d.options.dragBetweenSeries&&C.nodes.forEach(T=>{l&&l.marker&&T!==l.series.parentNode&&(k=d.getDistXY(l,T),p=d.vectorLength(k)-T.marker.radius-l.marker.radius,p<0&&(T.series.addPoint(g(l.options,{plotX:l.plotX,plotY:l.plotY}),!1),d.removeElementFromCollection(l,d.nodes),l.remove()))}),re.onMouseUp.apply(this,arguments)}}placeBubbles(r){const l=this.checkOverlap,d=this.positionBubble,C=[];let B,K,k=1,p=0,T=0,z=[];const U=r.sort((se,S)=>S[2]-se[2]);if(U.length){if(C.push([[0,0,U[0][2],U[0][3],U[0][4]]]),U.length>1)for(C.push([[0,0-U[1][2]-U[0][2],U[1][2],U[1][3],U[1][4]]]),K=2;K1&&C[k-1][T+1]&&l(B,C[k-1][T+1])?(T++,C[k].push(d(C[k][p],C[k-1][T],U[K])),p++):(p++,C[k].push(B));this.chart.stages=C,this.chart.rawPositions=[].concat.apply([],C),this.resizeRadius(),z=this.chart.rawPositions}return z}pointAttribs(r,l){const d=this.options;let k=d.marker;r&&r.isParentNode&&d.layoutAlgorithm&&d.layoutAlgorithm.parentNodeOptions&&(k=d.layoutAlgorithm.parentNodeOptions.marker);const p=k.fillOpacity,T=P.pointAttribs.call(this,r,l);return 1!==p&&(T["fill-opacity"]=p),T}positionBubble(r,l,d){const C=Math.sqrt,k=Math.asin,p=Math.acos,T=Math.pow,B=Math.abs,z=C(T(r[0]-l[0],2)+T(r[1]-l[1],2)),K=p((T(z,2)+T(d[2]+l[2],2)-T(d[2]+r[2],2))/(2*(d[2]+l[2])*z)),U=k(B(r[0]-l[0])/z),$=(r[1]-l[1]<0?0:Math.PI)+K+U*((r[0]-l[0])*(r[1]-l[1])<0?1:-1),H=Math.cos($),x=Math.sin($);return[l[0]+(l[2]+d[2])*x,l[1]-(l[2]+d[2])*H,d[2],d[3],d[4]]}render(){const r=[];P.render.apply(this,arguments),this.options.dataLabels.allowOverlap||(this.data.forEach(l=>{f(l.dataLabels)&&l.dataLabels.forEach(d=>{r.push(d)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(r))}resizeRadius(){const r=this.chart,l=r.rawPositions,d=Math.min,C=Math.max,k=r.plotLeft,p=r.plotTop,T=r.plotHeight,B=r.plotWidth;let z,K,U,se,S;z=U=Number.POSITIVE_INFINITY,K=se=Number.NEGATIVE_INFINITY;for(const N of l)S=N[2],z=d(z,N[0]-S),K=C(K,N[0]+S),U=d(U,N[1]-S),se=C(se,N[1]+S);const $=[K-z,se-U],x=d.apply([],[(B-k)/$[0],(T-p)/$[1]]);if(Math.abs(x-1)>1e-10){for(const N of l)N[2]*=x;this.placeBubbles(l)}else r.diffY=T/2+p-U-(se-U)/2,r.diffX=B/2+k-z-(K-z)/2}seriesBox(){const r=this.chart,d=Math.max,C=Math.min,k=[r.plotLeft,r.plotLeft+r.plotWidth,r.plotTop,r.plotTop+r.plotHeight];let p;return this.data.forEach(T=>{w(T.plotX)&&w(T.plotY)&&T.marker.radius&&(p=T.marker.radius,k[0]=C(k[0],T.plotX-p),k[1]=d(k[1],T.plotX+p),k[2]=C(k[2],T.plotY-p),k[3]=d(k[3],T.plotY+p))}),a(k.width/k.height)?k:null}setVisible(){const r=this;P.setVisible.apply(r,arguments),r.parentNodeLayout&&r.graph?r.visible?(r.graph.show(),r.parentNode.dataLabel&&r.parentNode.dataLabel.show()):(r.graph.hide(),r.parentNodeLayout.removeElementFromCollection(r.parentNode,r.parentNodeLayout.nodes),r.parentNode.dataLabel&&r.parentNode.dataLabel.hide()):r.layout&&(r.visible?r.layout.addElementsToCollection(r.points,r.layout.nodes):r.points.forEach(l=>{r.layout.removeElementFromCollection(l,r.layout.nodes)}))}translate(){const r=this.chart,l=this.data,d=this.index,C=this.options.useSimulation;let k,p,T;this.processedXData=this.xData,this.generatePoints(),w(r.allDataPoints)||(r.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),C?T=r.allDataPoints:(T=this.placeBubbles(r.allDataPoints),this.options.draggable=!1);for(const B of T)B[3]===d&&(k=l[B[4]],p=v(B[2],void 0),C||(k.plotX=B[0]-r.plotLeft+r.diffX,k.plotY=B[1]-r.plotTop+r.diffY),a(p)&&(k.marker=G(k.marker,{radius:p,width:2*p,height:2*p}),k.radius=p));C&&this.deferLayout(),O(this,"afterTranslate")}}return o.defaultOptions=g(D.defaultOptions,ue),G(o.prototype,{pointClass:pe,axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],hasDraggableNodes:!0,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],initDataLabels:A,alignDataLabel:P.alignDataLabel,indexateNodes:F,onMouseDown:re.onMouseDown,onMouseMove:re.onMouseMove,redrawHalo:re.redrawHalo,searchPoint:F}),te.registerSeriesType("packedbubble",o),o}),q(Le,"Series/Polygon/PolygonSeriesDefaults.js",[],function(){return{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}}),q(Le,"Series/Polygon/PolygonSeries.js",[Le["Core/Globals.js"],Le["Series/Polygon/PolygonSeriesDefaults.js"],Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le){const{noop:pe}=ne,{area:ue,line:J,scatter:te}=ve.seriesTypes,{extend:X,merge:E}=le;class j extends te{getGraphPath(){const P=J.prototype.getGraphPath.call(this);let D=P.length+1;for(;D--;)(D===P.length||"M"===P[D][0])&&D>0&&P.splice(D,0,["Z"]);return this.areaPath=P,P}drawGraph(){this.options.fillColor=this.color,ue.prototype.drawGraph.call(this)}}return j.defaultOptions=E(te.defaultOptions,re),X(j.prototype,{type:"polygon",drawTracker:J.prototype.drawTracker,setStackedPoints:pe}),ve.registerSeriesType("polygon",j),j}),q(Le,"Core/Axis/RadialAxis.js",[Le["Core/Defaults.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{defaultOptions:le}=ne,{composed:pe,noop:ue}=re,{addEvent:J,correctFloat:te,defined:X,extend:E,fireEvent:j,isObject:F,merge:P,pick:D,pushUnique:A,relativeLength:I,wrap:_}=ve;var m;return function(w){const G={gridLineWidth:1,labels:{align:void 0,x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},O={endOnTick:!1,gridLineWidth:0,labels:{align:"center",distance:-25,x:0,y:void 0},lineWidth:1,minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickPosition:"inside",tickWidth:2,title:{rotation:0,text:""},zIndex:2},f={gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}};function a(){this.autoConnect=this.isCircular&&typeof D(this.userMax,this.options.max)>"u"&&te(this.endAngleRad-this.startAngleRad)===te(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=(this.categories?1:this.pointRange)||this.closestPointRange||0)}function v(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&!0!==this.options.labels.allowOverlap)return this.tickPositions.map(ge=>this.ticks[ge]&&this.ticks[ge].label).filter(ge=>!!ge)}}function o(){return ue}function n(ge,_e,Te){const Oe=this.pane.center;let Be,oe,ee,be,De=ge.value;return this.isCircular?(X(De)?ge.point&&(Be=ge.point.shapeArgs||{},Be.start&&(De=this.chart.inverted?this.translate(ge.point.rectPlotY,!0):ge.point.x)):(ee=ge.chartX||0,be=ge.chartY||0,De=this.translate(Math.atan2(be-Te,ee-_e)-this.startAngleRad,!0)),oe=this.getPosition(De),ee=oe.x,be=oe.y):(X(De)||(ee=ge.chartX,be=ge.chartY),X(ee)&&X(be)&&(Te=Oe[1]+this.chart.plotTop,De=this.translate(Math.min(Math.sqrt(Math.pow(ee-_e,2)+Math.pow(be-Te,2)),Oe[2]/2)-Oe[3]/2,!0))),[De,ee||0,be||0]}function r(ge,_e,Te){const Oe=this.pane.center,De=this.chart,Be=this.left||0,oe=this.top||0;let ee,xe,be=D(_e,Oe[2]/2-this.offset);return typeof Te>"u"&&(Te=this.horiz?0:this.center&&-this.center[3]/2),Te&&(be+=Te),this.isCircular||typeof _e<"u"?(xe=this.chart.renderer.symbols.arc(Be+Oe[0],oe+Oe[1],be,be,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}),xe.xBounds=[Be+Oe[0]],xe.yBounds=[oe+Oe[1]-be]):(ee=this.postTranslate(this.angleRad,be),xe=[["M",this.center[0]+De.plotLeft,this.center[1]+De.plotTop],["L",ee.x,ee.y]]),xe}function l(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function d(ge,_e,Te){const Oe=this.chart,De=Pt=>{if("string"==typeof Pt){let Gt=parseInt(Pt,10);return we.test(Pt)&&(Gt=Gt*ee/100),Gt}return Pt},Be=this.center,oe=this.startAngleRad,ee=Be[2]/2,be=Math.min(this.offset,0),xe=this.left||0,Ie=this.top||0,we=/%$/,Ee=this.isCircular;let Me,Xe,Je,lt,qe,st,Tt=D(De(Te.outerRadius),ee),pt=De(Te.innerRadius),ht=D(De(Te.thickness),10);if("polygon"===this.options.gridLineInterpolation)st=this.getPlotLinePath({value:ge}).concat(this.getPlotLinePath({value:_e,reverse:!0}));else{ge=Math.max(ge,this.min),_e=Math.min(_e,this.max);const Pt=this.translate(ge),Gt=this.translate(_e);Ee||(Tt=Pt||0,pt=Gt||0),"circle"!==Te.shape&&Ee?(Me=oe+(Pt||0),Xe=oe+(Gt||0)):(Me=-Math.PI/2,Xe=1.5*Math.PI,qe=!0),Tt-=be,ht-=be,st=Oe.renderer.symbols.arc(xe+Be[0],Ie+Be[1],Tt,Tt,{start:Math.min(Me,Xe),end:Math.max(Me,Xe),innerR:D(pt,Tt-ht),open:qe}),Ee&&(Je=(Xe+Me)/2,lt=xe+Be[0]+Be[2]/2*Math.cos(Je),st.xBounds=Je>-Math.PI/2&&Je-Math.PI&&Je<0||Je>Math.PI?-10:10)}return st}function C(ge){const _e=this.pane.center,Te=this.chart,Oe=Te.inverted,De=ge.reverse,Be=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},oe=Be.innerRadius||"0%",ee=Be.outerRadius||"100%",be=_e[0]+Te.plotLeft,xe=_e[1]+Te.plotTop,Ie=this.height,we=ge.isCrosshair,Ee=_e[3]/2;let Xe,Je,lt,qe,st,Tt,pt,ht,Pt,Me=ge.value;const Gt=this.getPosition(Me);let ti=Gt.x,Dt=Gt.y;if(we&&(ht=this.getCrosshairPosition(ge,be,xe),Me=ht[0],ti=ht[1],Dt=ht[2]),this.isCircular)Je=Math.sqrt(Math.pow(ti-be,2)+Math.pow(Dt-xe,2)),lt="string"==typeof oe?I(oe,1):oe/Je,qe="string"==typeof ee?I(ee,1):ee/Je,_e&&Ee&&(Xe=Ee/Je,ltIe)&&(Me=0),"circle"===this.options.gridLineInterpolation)Pt=this.getLinePath(0,Me,Ee);else if(Pt=[],Te[Oe?"yAxis":"xAxis"].forEach(It=>{It.pane===this.pane&&(st=It)}),st){pt=st.tickPositions,st.autoConnect&&(pt=pt.concat([pt[0]])),De&&(pt=pt.slice().reverse()),Me&&(Me+=Ee);for(let It=0;ItMath.PI&&(be-=Be),xe>Math.PI&&(xe-=Be),this.normalizedStartAngleRad=be,this.normalizedEndAngleRad=xe}}function K(ge){this.isRadial&&(ge.align=void 0,ge.preventDefault())}function U(){if(this.chart&&this.chart.labelCollectors){const ge=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;ge>=0&&this.chart.labelCollectors.splice(ge,1)}}function se(ge){const _e=this.chart,Te=_e.angular,Oe=_e.polar,De=this.isXAxis,Be=this.coll,oe=Te&&De,be=this.pane=_e.pane&&_e.pane[ge.userOptions.pane||0];let xe;"colorAxis"!==Be?(Te?(oe?function B(ge){ge.isHidden=!0,ge.createLabelCollector=o,ge.getOffset=ue,ge.redraw=N,ge.render=N,ge.setScale=ue,ge.setCategories=ue,ge.setTitle=ue}(this):T(this),xe=!De):Oe&&(T(this),xe=this.horiz),Te||Oe?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&_e.labelCollectors.push(this.labelCollector)):this.isRadial=!1,be&&xe&&(be.axis=this),this.isCircular=xe):this.isRadial=!1}function S(){this.isRadial&&this.beforeSetTickPositions()}function $(ge){const _e=this.label;if(!_e)return;const Te=this.axis,Oe=_e.getBBox(),De=Te.options.labels,Be=(Te.translate(this.pos)+Te.startAngleRad+Math.PI/2)/Math.PI*180%360,oe=Math.round(Be),ee=X(De.y)?0:.3*-Oe.height;let xe,be=De.y,Ie=20,we=De.align,Ee="end",Me=oe<0?oe+360:oe,Xe=Me,Je=0,lt=0;Te.isRadial&&(xe=Te.getPosition(this.pos,Te.center[2]/2+I(D(De.distance,-25),Te.center[2]/2,-Te.center[2]/2)),"auto"===De.rotation?_e.attr({rotation:Be}):X(be)||(be=Te.chart.renderer.fontMetrics(_e).b-Oe.height/2),X(we)||(Te.isCircular?(Oe.width>Te.len*Te.tickInterval/(Te.max-Te.min)&&(Ie=0),we=Be>Ie&&Be<180-Ie?"left":Be>180+Ie&&Be<360-Ie?"right":"center"):we="center",_e.attr({align:we})),"auto"===we&&2===Te.tickPositions.length&&Te.isCircular&&(Me>90&&Me<180?Me=180-Me:Me>270&&Me<=360&&(Me=540-Me),Xe>180&&Xe<=360&&(Xe=360-Xe),(Te.pane.options.startAngle===oe||Te.pane.options.startAngle===oe+360||Te.pane.options.startAngle===oe-360)&&(Ee="start"),we=oe>=-90&&oe<=90||oe>=-360&&oe<=-270||oe>=270&&oe<=360?"start"===Ee?"right":"left":"start"===Ee?"left":"right",Xe>70&&Xe<110&&(we="center"),Me<15||Me>=180&&Me<195?Je=.3*Oe.height:Me>=15&&Me<=35?Je="start"===Ee?0:.75*Oe.height:Me>=195&&Me<=215?Je="start"===Ee?.75*Oe.height:0:Me>35&&Me<=90?Je="start"===Ee?.25*-Oe.height:Oe.height:Me>215&&Me<=270&&(Je="start"===Ee?Oe.height:.25*-Oe.height),Xe<15?lt="start"===Ee?.15*-Oe.height:.15*Oe.height:Xe>165&&Xe<=180&&(lt="start"===Ee?.15*Oe.height:.15*-Oe.height),_e.attr({align:we}),_e.translate(lt,Je+ee)),ge.pos.x=xe.x+(De.x||0),ge.pos.y=xe.y+(be||0))}function H(ge){this.axis.getPosition&&E(ge.pos,this.axis.getPosition(this.pos))}function x(ge,_e){const Te=this.chart,Oe=this.center;return ge=this.startAngleRad+ge,{x:Te.plotLeft+Oe[0]+Math.cos(ge)*_e,y:Te.plotTop+Oe[1]+Math.sin(ge)*_e}}function N(){this.isDirty=!1}function R(){let _e,Te;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),_e=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(Te=this.postTranslate(this.angleRad,_e[3]/2),_e[0]=Te.x-this.chart.plotLeft,_e[1]=Te.y-this.chart.plotTop),this.len=this.width=this.height=(_e[2]-_e[3])*D(this.sector,1)/2)}function Z(){this.constructor.prototype.setAxisTranslation.call(this),this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)}function Y(ge){const{coll:_e}=this,{angular:Te,inverted:Oe,polar:De}=this.chart;let Be={};Te?this.isXAxis||(Be=P(le.yAxis,O)):De&&(Be=this.horiz?P(le.xAxis,G):P("xAxis"===_e?le.xAxis:le.yAxis,f)),Oe&&"yAxis"===_e&&(Be.stackLabels=F(le.yAxis,!0)?le.yAxis.stackLabels:{},Be.reversedStacks=!0);const oe=this.options=P(Be,ge);oe.plotBands||(oe.plotBands=[]),j(this,"afterSetOptions")}function he(ge,_e,Te,Oe,De,Be,oe){const ee=this.axis;let be,xe;return ee.isRadial?(be=ee.getPosition(this.pos,ee.center[2]/2+Oe),xe=["M",_e,Te,"L",be.x,be.y]):xe=ge.call(this,_e,Te,Oe,De,Be,oe),xe}w.compose=function g(ge,_e){return A(pe,"Axis.Radial")&&(J(ge,"afterInit",z),J(ge,"autoLabelAlign",K),J(ge,"destroy",U),J(ge,"init",se),J(ge,"initialAxisTranslation",S),J(_e,"afterGetLabelPosition",$),J(_e,"afterGetPosition",H),_(_e.prototype,"getMarkPath",he)),ge}}(m||(m={})),m}),q(Le,"Series/PolarComposition.js",[Le["Core/Animation/AnimationUtilities.js"],Le["Core/Globals.js"],Le["Core/Series/Series.js"],Le["Extensions/Pane/Pane.js"],Le["Core/Axis/RadialAxis.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe,ue){const{animObject:J}=ne,{composed:te}=re,{addEvent:X,defined:E,find:j,isNumber:F,merge:P,pick:D,pushUnique:A,relativeLength:I,splat:_,uniqueKey:m,wrap:w}=ue;function f(H,x,N,R){const he=R?1:0;let ge,_e,Te,Oe,De,Be;ge=x>=0&&x<=H.length-1?x:x<0?H.length-1+x:0;const oe=ge-1<0?H.length-(1+he):ge-1,be=H[oe],xe=H[ge+1>H.length-1?he:ge+1],Xe=H[ge].plotX,Je=H[ge].plotY;_e=(1.5*Xe+be.plotX)/2.5,Te=(1.5*Je+be.plotY)/2.5,Oe=(1.5*Xe+xe.plotX)/2.5,De=(1.5*Je+xe.plotY)/2.5;const lt=Math.sqrt(Math.pow(_e-Xe,2)+Math.pow(Te-Je,2)),qe=Math.sqrt(Math.pow(Oe-Xe,2)+Math.pow(De-Je,2)),st=Math.atan2(Te-Je,_e-Xe),Tt=Math.atan2(De-Je,Oe-Xe);Be=Math.PI/2+(st+Tt)/2,Math.abs(st-Be)>Math.PI/2&&(Be-=Math.PI),_e=Xe+Math.cos(Be)*lt,Te=Je+Math.sin(Be)*lt,Oe=Xe+Math.cos(Math.PI+Be)*qe,De=Je+Math.sin(Math.PI+Be)*qe;const pt={rightContX:Oe,rightContY:De,leftContX:_e,leftContY:Te,plotX:Xe,plotY:Je};return N&&(pt.prevPointCont=f(H,oe,!1,R)),pt}function a(){(this.pane||[]).forEach(H=>{H.render()})}function g(H){const x=H.args[0].xAxis,N=H.args[0].yAxis,R=H.args[0].chart;x&&N&&("polygon"===N.gridLineInterpolation?(x.startOnTick=!0,x.endOnTick=!0):"polygon"===x.gridLineInterpolation&&R.inverted&&(N.startOnTick=!0,N.endOnTick=!0))}function v(){this.pane||(this.pane=[]),this.options.pane=_(this.options.pane),this.options.pane.forEach(H=>{new le(H,this)},this)}function o(H){const x=H.args.marker,N=this.chart.xAxis[0],R=this.chart.yAxis[0],Z=this.chart.inverted,Y=Z?R:N,he=Z?N:R;if(this.chart.polar){H.preventDefault();const ge=(x.attr?x.attr("start"):x.start)-Y.startAngleRad,_e=x.attr?x.attr("r"):x.r,Te=(x.attr?x.attr("end"):x.end)-Y.startAngleRad,Oe=x.attr?x.attr("innerR"):x.innerR;H.result.x=ge+Y.pos,H.result.width=Te-ge,H.result.y=he.len+he.pos-_e,H.result.height=_e-Oe}}function n(H){const x=this.chart;if(x.polar&&x.hoverPane&&x.hoverPane.axis){H.preventDefault();const N=x.hoverPane.center,R=x.mouseDownX||0,Z=x.mouseDownY||0,Y=H.args.chartY,he=H.args.chartX,ge=2*Math.PI,_e=x.hoverPane.axis.startAngleRad,Te=x.hoverPane.axis.endAngleRad,Oe=x.inverted?x.xAxis[0]:x.yAxis[0],De={};let Be="arc";if(De.x=N[0]+x.plotLeft,De.y=N[1]+x.plotTop,this.zoomHor){const oe=_e>0?Te-_e:Math.abs(_e)+Math.abs(Te);let ee=Math.atan2(Z-x.plotTop-N[1],R-x.plotLeft-N[0])-_e,be=Math.atan2(Y-x.plotTop-N[1],he-x.plotLeft-N[0])-_e;De.r=N[2]/2,De.innerR=N[3]/2,ee<=0&&(ee+=ge),be<=0&&(be+=ge),beTe+(ge-oe)/2&&(be=ee,ee=_e<=0?_e:0);const xe=De.start=Math.max(ee+_e,_e),Ie=De.end=Math.min(be+_e,Te);if("polygon"===Oe.options.gridLineInterpolation){const we=x.hoverPane.axis,Ee=xe-we.startAngleRad+we.pos,Me=Ie-xe;let Xe=Oe.getPlotLinePath({value:Oe.max}),Je=we.toValue(Ee),lt=we.toValue(Ee+Me);if(JeN[2]/2&&(be=N[2]/2),eex.max?(Z[Y].isNull=!0,Z[Y].plotY=NaN):Z[Y].isNull=Z[Y].isValid&&!Z[Y].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!H.eventsToUnbind.push(X(H,"afterRender",function(){let he;R.polar&&!1!==this.options.clip&&(he=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:he[0],y:he[1],r:he[2]/2,innerR:he[3]/2}):this.clipCircle=function G(H,x,N,R,Z){const Y=m(),he=H.createElement("clipPath").attr({id:Y}).add(H.defs),ge=Z?H.arc(x,N,R,Z,0,2*Math.PI).add(he):H.circle(x,N,R).add(he);return ge.id=Y,ge.clipPath=he,ge}(R.renderer,he[0],he[1],he[2]/2,he[3]/2),this.group.clip(this.clipCircle),this.setClip=re.noop)})))}}function d(H){const x=this,N=x.chart,R=x.xAxis,Y=R.pane&&R.pane.center,_e=N.inverted?{clientX:H.chartX-x.yAxis.pos,plotY:H.chartY-R.pos}:{clientX:180+Math.atan2(H.chartX-(Y&&Y[0]||0)-N.plotLeft,H.chartY-(Y&&Y[1]||0)-N.plotTop)*(-180/Math.PI)};return x.searchKDTree(_e)}function C(H,x,N,R){const Z=R.tickInterval,Y=R.tickPositions;let he=j(Y,_e=>_e>=N),ge=j([...Y].reverse(),_e=>_e<=x);return E(he)||(he=Y[Y.length-1]),E(ge)||(ge=Y[0],he+=Z,H[0][0]="L",H.unshift(H[H.length-3])),(H=H.slice(Y.indexOf(ge),Y.indexOf(he)+1))[0][0]="M",H}function k(H,x){return j(this.pane||[],N=>N.options.id===x)||H.call(this,x)}function p(H,x,N,R,Z,Y){const he=this.chart,ge=D(R.inside,!!this.options.stacking);let _e,Te,Oe;he.polar?(_e=x.rectPlotX/Math.PI*180,he.inverted?(this.forceDL=he.isInsidePlot(x.plotX,x.plotY),ge&&x.shapeArgs?(Te=x.shapeArgs,Oe=this.yAxis.postTranslate(((Te.start||0)+(Te.end||0))/2-this.xAxis.startAngleRad,x.barX+x.pointWidth/2),Z=P(Z,{x:Oe.x-he.plotLeft,y:Oe.y-he.plotTop})):x.tooltipPos&&(Z=P(Z,{x:x.tooltipPos[0],y:x.tooltipPos[1]})),R.align=D(R.align,"center"),R.verticalAlign=D(R.verticalAlign,"middle")):R=function O(H,x){let N,R;return null===x.align&&(N=H>20&&H<160?"left":H>200&&H<340?"right":"center",x.align=N),null===x.verticalAlign&&(R=H<45||H>315?"bottom":H>135&&H<225?"top":"middle",x.verticalAlign=R),x}(_e,R),ve.prototype.alignDataLabel.call(this,x,N,R,Z,Y),this.isRadialBar&&x.shapeArgs&&x.shapeArgs.start===x.shapeArgs.end?N.hide():N.show()):H.call(this,x,N,R,Z,Y)}function T(){const H=this,x=H.options,N=x.stacking,R=H.chart,Z=H.xAxis,Y=H.yAxis,he=Y.reversed,ge=Y.center,_e=Z.startAngleRad,Oe=Z.endAngleRad-_e;let oe,ee,be,xe,Ie,Me,Xe,Je,lt,qe,st,Tt,pt,De=x.threshold,Be=0,we=0,Ee=0;if(Z.isRadial)for(oe=H.points,be=oe.length,xe=Y.translate(Y.min),Ie=Y.translate(Y.max),De=x.threshold||0,R.inverted&&F(De)&&(Be=Y.translate(De),E(Be)&&(Be<0?Be=0:Be>Oe&&(Be=Oe),H.translatedThreshold=Be+_e));be--;){if(ee=oe[be],st=ee.barX,Xe=ee.x,Je=ee.y,ee.shapeType="arc",R.inverted){ee.plotY=Y.translate(Je),N&&Y.stacking?(qe=Y.stacking.stacks[(Je<0?"-":"")+H.stackKey],H.visible&&qe&&qe[Xe]&&(ee.isNull||(lt=qe[Xe].points[H.getStackIndicator(void 0,Xe,H.index).key],we=Y.translate(lt[0]),Ee=Y.translate(lt[1]),E(we)&&(we=ue.clamp(we,0,Oe))))):(we=Be,Ee=ee.plotY),we>Ee&&(Ee=[we,we=Ee][0]),he?Ee>xe?Ee=xe:wexe||EeIe?Ee=Ie:(EeIe)&&(we=Ee=0),Y.min>Y.max&&(we=Ee=he?Oe:0),we+=_e,Ee+=_e,ge&&(ee.barX=st+=ge[3]/2),Tt=Math.max(st,0),pt=Math.max(st+ee.pointWidth,0);const ht=x.borderRadius,Gt=I(("object"==typeof ht?ht.radius:ht)||0,pt-Tt);ee.shapeArgs={x:ge[0],y:ge[1],r:pt,innerR:Tt,start:we,end:Ee,borderRadius:Gt},ee.opacity=we===Ee?0:void 0,ee.plotY=(E(H.translatedThreshold)&&(wege[1])}}function B(H,x){const N=this;let R,Z;if(this.chart.polar){x=x||this.points;for(let he=0;he{typeof he.polarPlotY>"u"&&N.polar.toXY(he)})}const Y=H.apply(this,[].slice.call(arguments,1));return Z&&x.pop(),Y}function z(H,x){const N=this.chart;let R={xAxis:[],yAxis:[]};return N.polar?N.axes.forEach(Z=>{if("colorAxis"===Z.coll)return;const Y=Z.isXAxis,he=Z.center,ge=x.chartX-he[0]-N.plotLeft,_e=x.chartY-he[1]-N.plotTop;R[Y?"xAxis":"yAxis"].push({axis:Z,value:Z.translate(Y?Math.PI-Math.atan2(ge,_e):Math.sqrt(Math.pow(ge,2)+Math.pow(_e,2)),!0)})}):R=H.call(this,x),R}function K(H,x){this.chart.polar||H.call(this,x)}function U(H,x){const N=this,R=this.chart,Z=this.group,Y=this.markerGroup,he=this.xAxis&&this.xAxis.center,ge=R.plotLeft,_e=R.plotTop;let Oe,De,Be,oe,ee,be,Te=this.options.animation;R.polar?N.isRadialBar?x||(N.startAngleRad=D(N.translatedThreshold,N.xAxis.startAngleRad),re.seriesTypes.pie.prototype.animate.call(N,x)):(Te=J(Te),N.is("column")?x||(De=he[3]/2,N.points.forEach(xe=>{Be=xe.graphic,oe=xe.shapeArgs,ee=oe&&oe.r,be=oe&&oe.innerR,Be&&oe&&(Be.attr({r:De,innerR:De}),Be.animate({r:ee,innerR:be},N.options.animation))})):x?(Oe={translateX:he[0]+ge,translateY:he[1]+_e,scaleX:.001,scaleY:.001},Z.attr(Oe),Y&&Y.attr(Oe)):(Oe={translateX:ge,translateY:_e,scaleX:1,scaleY:1},Z.animate(Oe,Te),Y&&Y.animate(Oe,Te))):H.call(this,x)}function se(H,x,N,R){let Z,Y;if(this.chart.polar)if(R){Y=f(x,R,!0,this.connectEnds);const he=Y.prevPointCont&&Y.prevPointCont.rightContX,ge=Y.prevPointCont&&Y.prevPointCont.rightContY;Z=["C",F(he)?he:Y.plotX,F(ge)?ge:Y.plotY,F(Y.leftContX)?Y.leftContX:Y.plotX,F(Y.leftContY)?Y.leftContY:Y.plotY,Y.plotX,Y.plotY]}else Z=["M",N.plotX,N.plotY];else Z=H.call(this,x,N,R);return Z}function S(H,x,N=this.plotY){if(!this.destroyed){const{plotX:R,series:Z}=this,{chart:Y}=Z;return Y.polar&&F(R)&&F(N)?[R+(x?Y.plotLeft:0),N+(x?Y.plotTop:0)]:H.call(this,x,N)}}class ${static compose(x,N,R,Z,Y,he,ge,_e,Te,Oe){if(le.compose(N,R),pe.compose(x,Y),A(te,"Polar")){const De=N.prototype,Be=he.prototype,oe=R.prototype,ee=Z.prototype;if(X(N,"afterDrawChartBox",a),X(N,"getAxes",v),X(N,"init",g),w(De,"get",k),w(oe,"getCoordinates",z),w(oe,"pinch",K),X(R,"getSelectionMarkerAttrs",n),X(R,"getSelectionBox",o),X(Z,"afterInit",r),X(Z,"afterTranslate",l,{order:2}),X(Z,"afterColumnTranslate",T,{order:4}),w(ee,"animate",U),w(Be,"pos",S),_e){const be=_e.prototype;w(be,"alignDataLabel",p),w(be,"animate",U)}if(Te&&w(Te.prototype,"getGraphPath",B),Oe){const be=Oe.prototype;w(be,"getPointSpline",se),ge&&(ge.prototype.getPointSpline=be.getPointSpline)}}}constructor(x){this.series=x}arc(x,N,R,Z){const Y=this.series,he=Y.xAxis.center,ge=Y.yAxis.len,_e=he[3]/2;let Te=ge-N+_e,Oe=ge-D(x,ge)+_e;return Y.yAxis.reversed&&(Te<0&&(Te=_e),Oe<0&&(Oe=_e)),{x:he[0],y:he[1],r:Te,innerR:Oe,start:R,end:Z}}toXY(x){const N=this.series,R=N.chart,Z=N.xAxis,Y=N.yAxis,he=x.plotX,ge=R.inverted,_e=x.y;let De,Te=x.plotY,Oe=ge?he:Y.len-Te;if(ge&&N&&!N.isRadialBar&&(x.plotY=Te=F(_e)?Y.translate(_e):0),x.rectPlotX=he,x.rectPlotY=Te,Y.center&&(Oe+=Y.center[3]/2),F(Te)){const Be=ge?Y.postTranslate(Te,Oe):Z.postTranslate(he,Oe);x.plotX=x.polarPlotX=Be.x-R.plotLeft,x.plotY=x.polarPlotY=Be.y-R.plotTop}N.kdByAngle?(De=(he/Math.PI*180+Z.pane.options.startAngle)%360,De<0&&(De+=360),x.clientX=De):x.clientX=x.plotX}}return $}),q(Le,"Core/Axis/WaterfallAxis.js",[Le["Core/Globals.js"],Le["Core/Axis/Stacking/StackItem.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{composed:le}=ne,{addEvent:pe,objectEach:ue,pushUnique:J}=ve;var te;return function(X){function j(){const _=this.waterfall.stacks;_&&(_.changed=!1,delete _.alreadyChanged)}function F(){const I=this,_=I.options.stackLabels;_&&_.enabled&&I.waterfall.stacks&&I.waterfall.renderStackTotals()}function P(){const I=this;I.waterfall||(I.waterfall=new A(I))}function D(){const I=this.axes,_=this.series;for(const m of _)if(m.options.stacking){for(const w of I)w.isXAxis||(w.waterfall.stacks.changed=!0);break}}X.compose=function E(I,_){J(le,"Axis.Waterfall")&&(pe(I,"init",P),pe(I,"afterBuildStacks",j),pe(I,"afterRender",F),pe(_,"beforeRedraw",D))};class A{constructor(_){this.axis=_,this.stacks={changed:!1}}renderStackTotals(){const _=this.axis,m=_.waterfall.stacks,w=_.stacking&&_.stacking.stackTotalGroup,G=new re(_,_.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=G,w&&ue(m,O=>{ue(O,(f,a)=>{G.total=f.stackTotal,G.x=+a,f.label&&(G.label=f.label),re.prototype.render.call(G,w),f.label=G.label,delete G.label})}),G.total=null}}X.Composition=A}(te||(te={})),te}),q(Le,"Series/Waterfall/WaterfallPoint.js",[Le["Series/Column/ColumnSeries.js"],Le["Core/Series/Point.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{isNumber:le}=ve;return class pe extends ne.prototype.pointClass{getClassName(){let J=re.prototype.getClassName.call(this);return this.isSum?J+=" highcharts-sum":this.isIntermediateSum&&(J+=" highcharts-intermediate-sum"),J}isValid(){return le(this.y)||this.isSum||!!this.isIntermediateSum}}}),q(Le,"Series/Waterfall/WaterfallSeriesDefaults.js",[],function(){return{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}}),q(Le,"Series/Waterfall/WaterfallSeries.js",[Le["Core/Series/SeriesRegistry.js"],Le["Core/Utilities.js"],Le["Core/Axis/WaterfallAxis.js"],Le["Series/Waterfall/WaterfallPoint.js"],Le["Series/Waterfall/WaterfallSeriesDefaults.js"]],function(ne,re,ve,le,pe){const{column:ue,line:J}=ne.seriesTypes,{addEvent:te,arrayMax:X,arrayMin:E,correctFloat:j,extend:F,isNumber:P,merge:D,objectEach:A,pick:I}=re;function _(w,G){return Object.hasOwnProperty.call(w,G)}class m extends ue{generatePoints(){ue.prototype.generatePoints.apply(this);for(let G=0,O=this.points.length;G0?f:void 0);const a=ue.prototype.pointAttribs.call(this,G,O);return delete a.dashstyle,a}getGraphPath(){return[["M",0,0]]}getCrispPath(){const G=this.data.filter(l=>P(l.y)),O=this.yAxis,f=G.length,a=Math.round(this.graph.strokeWidth())%2/2,g=Math.round(this.borderWidth)%2/2,v=this.xAxis.reversed,o=this.yAxis.reversed,n=this.options.stacking,r=[];for(let l=1;l0?-p.height:0;if(T&&p&&d){let K;K=n?Math.round(O.translate(T[l-1].connectorThreshold,!1,!0,!1,!0)+(o?B:0))-a:p.y+C.minPointLengthOffset+g-a,r.push(["M",(p.x||0)+(v?0:p.width||0),K],["L",(d.x||0)+(v&&d.width||0),K])}if(p&&r.length&&(!n&&k<0&&!o||k>0&&o)){const z=r[r.length-2];z&&"number"==typeof z[2]&&(z[2]+=p.height||0);const K=r[r.length-1];K&&"number"==typeof K[2]&&(K[2]+=p.height||0)}}return r}drawGraph(){J.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(G){const O=this,f=O.options,a=G.waterfall?.stacks,g=f.threshold||0,v=O.stackKey,o=O.xData,n=o.length;let d,T,B,z,K,U,se,S,$,r=g,l=r,C=0,k=0,p=0;const H=(x,N,R,Z)=>{if(d){if(T)for(;R=0?d.posTotal+=U:d.negTotal+=U,K=f.data[N],B=d.absolutePos=d.posTotal,z=d.absoluteNeg=d.negTotal,d.stackTotal=B+z,T=d.stackState.length,K&&K.isIntermediateSum?(H(p,k,0,p),p=k,k=g,r^=l,l^=r,r^=l):K&&K.isSum?(H(g,C,T,0),r=g):(H(r,U,0,C),K&&(C+=U,k+=U)),d.stateIndex++,d.threshold=r,r+=d.stackTotal;a.changed=!1,a.alreadyChanged||(a.alreadyChanged=[]),a.alreadyChanged.push(v)}}getExtremes(){const G=this.options.stacking;let O,f,a,g;return G?(O=this.yAxis,f=O.waterfall.stacks,a=this.stackedYNeg=[],g=this.stackedYPos=[],A(f[this.stackKey],"overlap"===G?function(v){a.push(E(v.stackState)),g.push(X(v.stackState))}:function(v){a.push(v.negTotal+v.threshold),g.push(v.posTotal+v.threshold)}),{dataMin:E(a),dataMax:X(g)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}return m.defaultOptions=D(ue.defaultOptions,pe),m.compose=ve.compose,F(m.prototype,{pointValKey:"y",showLine:!0,pointClass:le}),te(m,"afterColumnTranslate",function(){const w=this,{options:G,points:O,yAxis:f}=w,a=I(G.minPointLength,5),g=a/2,v=G.threshold||0,o=G.stacking,n=f.waterfall.stacks[w.stackKey];let d,C,k,p,r=v,l=v;for(let T=0;T=0?C:C-S,_(H,"absolutePos")&&delete H.absolutePos,_(H,"absoluteNeg")&&delete H.absoluteNeg):(S>=0?(C=H.threshold+H.posTotal,H.posTotal-=S,d=C):(C=H.threshold+H.negTotal,H.negTotal-=S,d=C-S),H.posTotal||P(H.absolutePos)&&_(H,"absolutePos")&&(H.posTotal=H.absolutePos,delete H.absolutePos),H.negTotal||P(H.absoluteNeg)&&_(H,"absoluteNeg")&&(H.negTotal=H.absoluteNeg,delete H.absoluteNeg)),B.isSum||(H.connectorThreshold=H.threshold+H.stackTotal),f.reversed?(k=S>=0?d-S:d+S,p=d):(k=d,p=d-S),B.below=k<=v,U.y=f.translate(k,!1,!0,!1,!0),U.height=Math.abs(U.y-f.translate(p,!1,!0,!1,!0));const x=f.waterfall.dummyStackItem;x&&(x.x=T,x.label=n[T].label,x.setOffset(w.pointXOffset||0,w.barW||0,w.stackedYNeg[T],w.stackedYPos[T],void 0,this.xAxis))}}else d=Math.max(l,l+S)+se[0],U.y=f.translate(d,!1,!0,!1,!0),B.isSum?(U.y=f.translate(se[1],!1,!0,!1,!0),U.height=Math.min(f.translate(se[0],!1,!0,!1,!0),f.len)-U.y,B.below=se[1]<=v):B.isIntermediateSum?(S>=0?(k=se[1]+r,p=r):(k=r,p=se[1]+r),f.reversed&&(k^=p,p^=k,k^=p),U.y=f.translate(k,!1,!0,!1,!0),U.height=Math.abs(U.y-Math.min(f.translate(p,!1,!0,!1,!0),f.len)),r+=se[1],B.below=k<=v):(U.height=z>0?f.translate(l,!1,!0,!1,!0)-U.y:f.translate(l,!1,!0,!1,!0)-f.translate(l-z,!1,!0,!1,!0),l+=z,B.below=lparseInt(ne.userAgent.split("Firefox/")[1],10),ne.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ne.noop=function(){},ne.supportsPassiveEvents=function(){let re=!1;if(!ne.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ne.win.addEventListener&&ne.win.removeEventListener&&(ne.win.addEventListener("testPassive",ne.noop,ve),ne.win.removeEventListener("testPassive",ne.noop,ve))}return re}(),ne.charts=[],ne.composed=[],ne.dateFormats={},ne.seriesTypes={},ne.symbolSizes={},ne.chartCount=0,q}),Le(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(q){let ne,{charts:re,doc:ve,win:le}=q;function pe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(T,B){p+=`\n - ${B}: ${T}`,C&&(k+=encodeURI(B)+"="+encodeURI(T))}),k+=p}g(q,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===pe.messages.indexOf(k)&&console.warn(k)}),pe.messages.push(k)}function ue(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function X(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function E(o){return X(o)&&"number"==typeof o.nodeType}function j(o){let n=o&&o.constructor;return!(!X(o,!0)||E(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function P(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!P(r),C=(k,p)=>{P(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function A(o){return te(o)?o:[o]}function I(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(pe||(pe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-T.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){q[n]=function(r){return pe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let v=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ne?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(q[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;q.Point&&o instanceof q.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!q.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((T,B)=>T.order-B.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){K=A(K),T[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=ue(d))),d},inArray:function(o,n,r){return pe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return G(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:ue,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:A,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:v,useSerialIds:function(o){return ne=_(o,ne)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Le(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Le(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Le(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{win:re}=q,{defined:ve,error:le,extend:pe,isNumber:ue,isObject:J,merge:te,objectEach:X,pad:E,pick:j,splat:F,timeUnits:P}=ne,D=q.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,A=q.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class I{constructor(m){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(m)}get(m,w){if(this.variableTimezone||this.timezoneOffset){let G=w.getTime(),O=G-this.getTimezoneOffset(w);w.setTime(O);let f=w["getUTC"+m]();return w.setTime(G),f}return this.useUTC?w["getUTC"+m]():w["get"+m]()}set(m,w,G){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===m||"Seconds"===m||"Minutes"===m&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+m](G);let O=this.getTimezoneOffset(w),f=w.getTime()-O;w.setTime(f),w["setUTC"+m](G);let a=this.getTimezoneOffset(w);return f=w.getTime()+a,w.setTime(f)}return this.useUTC||D&&"FullYear"===m?w["setUTC"+m](G):w["set"+m](G)}update(m={}){let w=j(m.useUTC,!0);this.options=m=te(!0,this.options,m),this.Date=m.Date||re.Date||Date,this.useUTC=w,this.timezoneOffset=w&&m.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!m.getTimezoneOffset&&!m.timezone)}makeTime(m,w,G,O,f,a){let g,v,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),v=this.getTimezoneOffset(g),g+=v,v!==(o=this.getTimezoneOffset(g))?g+=o-v:v-36e5!==this.getTimezoneOffset(g-36e5)||A||(g-=36e5)):g=new this.Date(m,w,j(G,1),j(O,0),j(f,0),j(a,0)).getTime(),g}timezoneOffsetFunction(){let m=this,w=this.options,G=w.getTimezoneOffset;return this.useUTC?w.timezone?O=>{try{let f=`shortOffset,${w.timezone||""}`,[a,g,v,o,n=0]=(I.formatCache[f]=I.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:w.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(v+n/60);if(ue(r))return r}catch{le(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(m.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(m,w,G){if(!ve(w)||isNaN(w))return q.defaultOptions.lang&&q.defaultOptions.lang.invalidDate||"";m=j(m,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(w),a=this.get("Hours",f),g=this.get("Day",f),v=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=q.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return X(pe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:E(v),e:E(v,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:E(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:E(a),k:a,I:E(a%12||12),l:a%12||12,M:E(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:E(this.get("Seconds",f)),L:E(Math.floor(w%1e3),3)},q.dateFormats),function(C,k){for(;-1!==m.indexOf("%"+k);)m=m.replace("%"+k,"function"==typeof C?C.call(O,w):C)}),G?m.substr(0,1).toUpperCase()+m.substr(1):m}resolveDTLFormat(m){return J(m,!0)?m:{main:(m=F(m))[0],from:m[1],to:m[2]}}getTimeTicks(m,w,G,O){let f,a,g,v,o=this,r=[],l={},d=new(0,o.Date)(w),C=m.unitRange,k=m.count||1;if(O=j(O,1),ve(w)){o.set("Milliseconds",d,C>=P.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=P.second&&o.set("Seconds",d,C>=P.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=P.minute&&o.set("Minutes",d,C>=P.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=P.hour&&o.set("Hours",d,C>=P.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=P.day&&o.set("Date",d,C>=P.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=P.month&&(o.set("Month",d,C>=P.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=P.year&&(a-=a%k,o.set("FullYear",d,a)),C===P.week&&(v=o.get("Day",d),o.set("Date",d,o.get("Date",d)-v+O+(v4*P.month||o.getTimezoneOffset(w)!==o.getTimezoneOffset(G));let z=d.getTime();for(f=1;z1?z=o.makeTime(a,p,T,B+f*k):z+=C*k:z=o.makeTime(a,p,T+f*k*(C===P.day?1:7)),f++;r.push(z),C<=P.hour&&r.length<1e4&&r.forEach(function(K){K%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",K)&&(l[K]="day")})}return r.info=pe(m,{higherRanks:l,totalRange:C*k}),r}getDateFormat(m,w,G,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",w),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond",o=v;for(v in P){if(m===P.week&&+this.dateFormat("%w",w)===G&&f.substr(6)===a.substr(6)){v="week";break}if(P[v]>m){v=o;break}if(g[v]&&f.substr(g[v])!==a.substr(g[v]))break;"week"!==v&&(o=v)}return this.resolveDTLFormat(O[v]).main}}return I.formatCache={},I}),Le(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{isTouchDevice:pe,svg:ue}=ne,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ue,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:pe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let X=new ve(te.time);return{defaultOptions:te,defaultTime:X,getOptions:function(){return te},setOptions:function(E){return J(!0,te,E),(E.time||E.global)&&(ne.time?ne.time.update(J(te.global,te.time,E.global,E.time)):ne.time=X),te}}}),Le(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isNumber:re,merge:ve,pInt:le}=ne;class pe{static parse(J){return J?new pe(J):pe.None}constructor(J){let te,X,E,j;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=q.Color;if(F&&F!==pe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(P=>new pe(P[1]));else if("string"==typeof J){if(this.input=J=pe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let P=J.length,D=parseInt(J.substr(1),16);7===P?X=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===P&&(X=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!X)for(E=pe.parsers.length;E--&&!X;)(te=(j=pe.parsers[E]).regex.exec(J))&&(X=j.parse(te))}X&&(this.rgba=X)}get(J){let te=this.input,X=this.rgba;if("object"==typeof te&&void 0!==this.stops){let E=ve(te);return E.stops=[].slice.call(E.stops),this.stops.forEach((j,F)=>{E.stops[F]=[E.stops[F][0],j.get(J)]}),E}return X&&re(X[0])?"rgb"===J||!J&&1===X[3]?"rgb("+X[0]+","+X[1]+","+X[2]+")":"a"===J?`${X[3]}`:"rgba("+X.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function(X){X.brighten(J)});else if(re(J)&&0!==J)for(let X=0;X<3;X++)te[X]+=le(255*J),te[X]<0&&(te[X]=0),te[X]>255&&(te[X]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let X=this.rgba,E=J.rgba;if(!re(X[0])||!re(E[0]))return J.input||"none";let j=1!==E[3]||1!==X[3];return(j?"rgba(":"rgb(")+Math.round(E[0]+(X[0]-E[0])*(1-te))+","+Math.round(E[1]+(X[1]-E[1])*(1-te))+","+Math.round(E[2]+(X[2]-E[2])*(1-te))+(j?","+(E[3]+(X[3]-E[3])*(1-te)):"")+")"}}return pe.names={white:"#ffffff",black:"#000000"},pe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),parseFloat(ue[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),1]}}],pe.None=new pe(""),pe}),Le(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{parse:ve}=q,{win:le}=ne,{isNumber:pe,objectEach:ue}=re;class J{constructor(X,E,j){this.pos=NaN,this.options=E,this.elem=X,this.prop=j}dSetter(){let X=this.paths,E=X&&X[0],j=X&&X[1],F=this.now||0,P=[];if(1!==F&&E&&j)if(E.length===j.length&&F<1)for(let D=0;D=I+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,j=!0,ue(_,function(m){!0!==m&&(j=!1)}),j&&A&&A.call(D),E=!1):(this.pos=P.easing((F-this.startTime)/I),this.now=this.start+(this.end-this.start)*this.pos,this.update(),E=!0),E}initPath(X,E,j){let _,m,w,G,F=X.startX,P=X.endX,D=j.slice(),A=X.isArea,I=A?2:1,O=E&&E.slice();if(!O)return[D,D];function f(g,v){for(;g.length{let G=E(w.options.animation);_=ue(P)&&re(P.defer)?A.defer:Math.max(_,G.duration+G.defer),m=Math.min(A.duration,G.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-m),duration:Math.min(_,m)}},setAnimation:function(F,P){P.renderer.globalAnimation=X(F,P.options.chart.animation,!0)},stop:j}}),Le(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{SVG_NS:re,win:ve}=q,{attr:le,createElement:pe,css:ue,error:J,isFunction:te,isString:X,objectEach:E,splat:j}=ne,{trustedTypes:F}=ve,P=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=P?P.createHTML(""):"",A=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class I{static filterUserAttributes(m){return E(m,(w,G)=>{let O=!0;-1===I.allowedAttributes.indexOf(G)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(G)&&(O=X(w)&&I.allowedReferences.some(f=>0===w.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete m[G]),X(w)&&m[G]&&(m[G]=w.replace(/{let O=G.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(w[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),w},{})}static setElementHTML(m,w){m.innerHTML=I.emptyHTML,w&&new I(w).addToDOM(m)}constructor(m){this.nodes="string"==typeof m?this.parseMarkup(m):m}addToDOM(m){return function w(G,O){let f;return j(G).forEach(function(a){let g,v=a.tagName,o=a.textContent?q.doc.createTextNode(a.textContent):void 0,n=I.bypassHTMLFiltering;if(v)if("#text"===v)g=o;else if(-1!==I.allowedTags.indexOf(v)||n){let l=q.doc.createElementNS("svg"===v?re:O.namespaceURI||re,v),d=a.attributes||{};E(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:I.filterUserAttributes(d)),a.style&&ue(l,a.style),o&&l.appendChild(o),w(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":v});g&&O.appendChild(g),f=g}),f}(this.nodes,m)}parseMarkup(m){let w,G=[];if(m=m.trim().replace(/ style=(["'])/g," data-style=$1"),A)w=(new DOMParser).parseFromString(P?P.createHTML(m):m,"text/html");else{let f=pe("div");f.innerHTML=m,w={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),v={tagName:g};"#text"===g&&(v.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?v.style=I.parseStyle(r.value):n[r.name]=r.value}),v.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(v.children=n)}a.push(v)};return[].forEach.call(w.body.childNodes,f=>O(f,G)),G}}return I.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],I.allowedReferences=["https://","http://","mailto:","/","../","./","#"],I.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],I.emptyHTML=D,I.bypassHTMLFiltering=!1,I}),Le(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne){let{defaultOptions:re,defaultTime:ve}=q,{extend:le,getNestedProperty:pe,isArray:ue,isNumber:J,isObject:te,pick:X,pInt:E}=ne,j={add:(D,A)=>D+A,divide:(D,A)=>0!==A?D/A:"",eq:(D,A)=>D==A,each:function(D){let A=arguments[arguments.length-1];return!!ue(D)&&D.map((I,_)=>F(A.body,le(te(I)?I:{"@this":I},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,A)=>D>=A,gt:(D,A)=>D>A,if:D=>!!D,le:(D,A)=>D<=A,lt:(D,A)=>DD*A,ne:(D,A)=>D!=A,subtract:(D,A)=>D-A,unless:D=>!D};function F(D="",A,I){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,m=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,w=[],G=/f$/,O=/\.([0-9])/,f=re.lang,a=I&&I.time||ve,g=I&&I.numberFormatter||P,v=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:pe(d,A))},r=0;for(;null!==(o=_.exec(D));){let d=m.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:A,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");j[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,T=D.substr(p,o.index-p);void 0===n.body?(n.body=T,n.startInner=o.index+o[0].length):n.elseBody=T,n.find+=T+o[0],k||(w.push(n),n=void 0)}else n.isBlock||w.push(n);if(d&&!n?.isBlock)break}return w.forEach(d=>{let C,k,{body:p,elseBody:T,expression:B,fn:z}=d;if(z){let K=[d],U=B.split(" ");for(k=j[z].length;k--;)K.unshift(v(U[k+1]));C=j[z].apply(A,K),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:T,A))}else{let K=B.split(":");if(C=v(K.shift()||""),K.length&&"number"==typeof C){let U=K.join(":");if(G.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,X(C,""))}),l?F(D,A,I):D}function P(D,A,I,_){let m,w;A=+A;let G=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=A;-1===A?A=Math.min(O,20):J(A)?A&&f[1]&&f[1]<0&&((w=A+ +f[1])>=0?(f[0]=(+f[0]).toExponential(w).split("e")[0],A=w):(f[0]=f[0].split(".")[0]||0,D=A<20?(f[0]*Math.pow(10,f[1])).toFixed(A):0,f[1]=0)):A=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(A,O)-1)).toFixed(A),v=String(E(g)),o=v.length>3?v.length%3:0;return I=X(I,G.decimalPoint),_=X(_,G.thousandsSep),m=(D<0?"-":"")+(o?v.substr(0,o)+_:""),0>+f[1]&&!a?m="0":m+=v.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),A&&(m+=I+g.slice(-A)),f[1]&&0!=+m&&(m+="e"+f[1]),m}return{dateFormat:function(D,A,I){return ve.dateFormat(D,A,I)},format:F,helpers:j,numberFormat:P}}),Le(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(q){var ne,re;let ve;return(re=ne||(ne={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,pe,ue){re.rendererTypes[le]=pe,(!ve||ue)&&(ve=le,q.Renderer=pe)},ne}),Le(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(q){var ne;let{clamp:re,pick:ve,pushUnique:le,stableSort:pe}=q;return(ne||(ne={})).distribute=function ue(J,te,X){let _,m,w,O,f,g,E=J,j=E.reducedLen||te,F=(v,o)=>v.target-o.target,P=[],D=J.length,A=[],I=P.push,G=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>j){for(pe(J,(v,o)=>(o.rank||0)-(v.rank||0)),w=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,m=g?w:D-1;w&&a>j;)O=J[_=Math.floor(m)],le(A,_)&&(a-=O.size),m+=w,g&&m>=J.length&&(w/=2,m=w);A.sort((v,o)=>o-v).forEach(v=>I.apply(P,J.splice(v,1)))}for(pe(J,F),J=J.map(v=>({size:v.size,targets:[v.target],align:ve(v.align,.5)}));G;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,G=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),G=!0)}return I.apply(E,P),_=0,J.some(v=>{let o=0;return(v.targets||[]).some(()=>(E[_].pos=v.pos+o,void 0!==X&&Math.abs(E[_].pos-E[_].target)>X?(E.slice(0,_+1).forEach(n=>delete n.pos),E.reducedLen=(E.reducedLen||te)-.1*te,E.reducedLen>.1*te&&ue(E,te,X),!0):(o+=E[_].size,_++,!1)))}),pe(E,F),E},ne}),Le(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{animate:le,animObject:pe,stop:ue}=q,{deg2rad:J,doc:te,svg:X,SVG_NS:E,win:j}=re,{addEvent:F,attr:P,createElement:D,css:A,defined:I,erase:_,extend:m,fireEvent:w,isArray:G,isFunction:O,isObject:f,isString:a,merge:g,objectEach:v,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let T=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(T)&&(T=parseFloat(T)),T}_defaultSetter(p,T,B){B.setAttribute(T,p)}add(p){let T,B=this.renderer,z=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&B.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(T=this.zIndexSetter()),T||(p?p.element:B.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(p,T){let B=T?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(z,K){return-1===B.indexOf(K)&&z.push(K),z},B?[B]:[]).join(" "))!==B&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,T,B,z=!0){let K,U,se,S,$,H={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=T,(!B||a(B))&&(this.alignTo=se=B||"renderer",_(N,this),N.push(this),B=void 0)):(p=this.alignOptions,T=this.alignByTranslate,se=this.alignTo),B=o(B,x[se],x);let R=p.align,Z=p.verticalAlign;return K=(B.x||0)+(p.x||0),U=(B.y||0)+(p.y||0),"right"===R?S=1:"center"===R&&(S=2),S&&(K+=(B.width-(p.width||0))/S),H[T?"translateX":"x"]=Math.round(K),"bottom"===Z?$=1:"middle"===Z&&($=2),$&&(U+=(B.height-(p.height||0))/$),H[T?"translateY":"y"]=Math.round(U),z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(p){let T={left:"start",center:"middle",right:"end"};T[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",T[p]))}animate(p,T,B){let z=pe(o(T,this.renderer.globalAnimation,!0)),K=z.defer;return te.hidden&&(z.duration=0),0!==z.duration?(B&&(z.complete=B),l(()=>{this.element&&le(this,p,z)},K)):(this.attr(p,void 0,B||z.complete),v(p,function(U,se){z.step&&z.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let T=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(T.style.fill)));let B=p.split(" "),z=B[B.length-1],K=B[0];if(K&&"none"!==K&&re.svg){this.fakeTS=!0,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(H,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(E,"tspan");P(U,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":K,"stroke-linejoin":"round"});let se=T.querySelector("textPath")||T;[].forEach.call(se.childNodes,H=>{let x=H.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let S=0;[].forEach.call(se.querySelectorAll("text tspan"),H=>{S+=Number(H.getAttribute("dy"))});let $=te.createElementNS(E,"tspan");$.textContent="\u200b",P($,{x:Number(T.getAttribute("x")),dy:-S}),U.appendChild($),se.insertBefore(U,se.firstChild)}}attr(p,T,B,z){let se,S,H,K=this.element,U=C.symbolCustomAttribs,$=this;return"string"==typeof p&&void 0!==T&&(se=p,(p={})[se]=T),"string"==typeof p?$=(this[p+"Getter"]||this._defaultGetter).call(this,p,K):(v(p,function(x,N){H=!1,z||ue(this,N),this.symbolName&&-1!==U.indexOf(N)&&(S||(this.symbolAttr(p),S=!0),H=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),H||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,K)},this),this.afterSetters()),B&&B.call(this),$}clip(p){if(p&&!p.clipPath){let T=d()+"-",B=this.renderer.createElement("clipPath").attr({id:T}).add(this.renderer.defs);m(p,{clipPath:B,id:T,count:0}),p.add(B)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,T){let B=Math.round(T=T||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+B,p.y=Math.floor(p.y||this.y||0)+B,p.width=Math.floor((p.width||this.width||0)-2*B),p.height=Math.floor((p.height||this.height||0)-2*B),I(p.strokeWidth)&&(p.strokeWidth=T),p}complexColor(p,T,B){let K,U,se,S,$,H,x,N,R,Z,he,z=this.renderer,Y=[];w(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],$=z.gradients,H=p.stops,R=B.radialReference,G(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!I(se.gradientUnits)&&(S=se,se=g(se,z.getRadialAttr(R,S),{gradientUnits:"userSpaceOnUse"})),v(se,function(ge,_e){"id"!==_e&&Y.push(_e,ge)}),v(H,function(ge){Y.push(ge)}),$[Y=Y.join(",")])Z=$[Y].attr("id");else{se.id=Z=d();let ge=$[Y]=z.createElement(U).attr(se).add(z.defs);ge.radAttr=S,ge.stops=[],H.forEach(function(_e){0===_e[1].indexOf("rgba")?(x=(K=ne.parse(_e[1])).get("rgb"),N=K.get("a")):(x=_e[1],N=1);let Te=z.createElement("stop").attr({offset:_e[0],"stop-color":x,"stop-opacity":N}).add(ge);ge.stops.push(Te)})}he="url("+z.url+"#"+Z+")",B.setAttribute(T,he),B.gradient=Y,p.toString=function(){return he}}})}css(p){let K,T=this.styles,B={},z=this.element,U=!T;if(T&&v(p,function(se,S){T&&T[S]!==se&&(B[S]=se,U=!0)}),U){T&&(p=m(T,B)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&p.width&&(K=this.textWidth=n(p.width)),m(this.styles,p),K&&!X&&this.renderer.forExport&&delete p.width;let se=g(p);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(S=>se&&delete se[S]),se.color&&(se.fill=se.color)),A(z,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let T,B=this["stroke-width"];if("inherit"===B&&(B=1),p=p&&p.toLowerCase()){let z=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(T=z.length;T--;)z[T]=""+n(z[T])*o(B,NaN);p=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,T=p.element||{},B=p.renderer,z=T.ownerSVGElement,K="SPAN"===T.nodeName&&p.parentGroup||void 0;if(T.onclick=T.onmouseout=T.onmouseover=T.onmousemove=T.point=null,ue(p),p.clipPath&&z){let S=p.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function($){$.getAttribute("clip-path").indexOf(S.element.id)>-1&&$.removeAttribute("clip-path")}),p.clipPath=S.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seK&&K.join?(U?z+" ":"")+K.join(" "):(K||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[T]!==p&&(B.setAttribute(T,p),this[T]=p)}fillSetter(p,T,B){"string"==typeof p?B.setAttribute(T,p):p&&this.complexColor(p,T,B)}hrefSetter(p,T,B){B.setAttributeNS("http://www.w3.org/1999/xlink",T,p)}getBBox(p,T){let B,z,K,U,{alignValue:se,element:S,renderer:$,styles:H,textStr:x}=this,{cache:N,cacheKeys:R}=$,Z=S.namespaceURI===this.SVG_NS,Y=o(T,this.rotation,0),he=$.styledMode?S&&C.prototype.getStyle.call(S,"font-size"):H.fontSize;if(I(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",$.rootFontSize,he,Y,this.textWidth,se,H.textOverflow,H.fontWeight].join(",")),U&&!p&&(B=N[U]),!B){if(Z||$.forExport){try{K=this.fakeTS&&function(ge){let _e=S.querySelector(".highcharts-text-outline");_e&&A(_e,{display:ge})},O(K)&&K("none"),B=S.getBBox?m({},S.getBBox()):{width:S.offsetWidth,height:S.offsetHeight,x:0,y:0},O(K)&&K("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();z=B.height,Z&&(B.height=z={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(z)}`]||z),Y&&(B=this.getRotatedBox(B,Y))}if(U&&(""===x||B.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=B}return B}getRotatedBox(p,T){let{x:B,y:z,width:K,height:U}=p,{alignValue:se,translateY:S,rotationOriginX:$=0,rotationOriginY:H=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(S?0:z),R=T*J,Z=(T-90)*J,Y=Math.cos(R),he=Math.sin(R),ge=K*Y,_e=K*he,Te=Math.cos(Z),Oe=Math.sin(Z),[[De,Be],[oe,ee]]=[$,H].map(pt=>[pt-pt*Y,pt*he]),be=B+x*(K-ge)+De+ee+N*Te,xe=be+ge,Ie=xe-U*Te,we=Ie-ge,Ee=z+N-x*_e-Be+oe+N*Oe,Me=Ee+_e,Xe=Me-U*Oe,Je=Xe-_e,lt=Math.min(be,xe,Ie,we),qe=Math.min(Ee,Me,Xe,Je);return{x:lt,y:qe,width:Math.max(be,xe,Ie,we)-lt,height:Math.max(Ee,Me,Xe,Je)-qe}}getStyle(p){return j.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,T){this.onEvents={},this.opacity=1,this.SVG_NS=E,this.element="span"===T||"body"===T?D(T):te.createElementNS(this.SVG_NS,T),this.renderer=p,this.styles={},w(this,"afterInit")}on(p,T){let{onEvents:B}=this;return B[p]&&B[p](),B[p]=F(this.element,p,T),this}opacitySetter(p,T,B){let z=Number(Number(p).toFixed(3));this.opacity=z,B.setAttribute(T,z)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let T=p.parentNode;T&&T.removeChild(p)}setRadialReference(p){let T=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,T&&T.radAttr&&T.animate(this.renderer.getRadialAttr(p,T.radAttr)),this}setTextPath(p,T){T=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},T);let B=this.renderer.url,z=this.text||this,K=z.textPath,{attributes:U,enabled:se}=T;if(p=p||K&&K.path,K&&K.undo(),p&&se){let S=F(z,"afterModifyTree",$=>{if(p&&se){let H=p.attr("id");H||p.attr("id",H=d());let x={x:0,y:0};I(U.dx)&&(x.dx=U.dx,delete U.dx),I(U.dy)&&(x.dy=U.dy,delete U.dy),z.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=$.nodes.slice(0);$.nodes.length=0,$.nodes[0]={tagName:"textPath",attributes:m(U,{"text-anchor":U.textAnchor,href:`${B}#${H}`}),children:N}}});z.textPath={path:p,undo:S}}else z.attr({dx:0,dy:0}),delete z.textPath;return this.added&&(z.textCache="",this.renderer.buildText(z)),this}shadow(p){let{renderer:T}=this,B=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),z=T.shadowDefinition(B);return this.attr({filter:p?`url(${T.url}#${z})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,T,B){this[T]=p,B.setAttribute(T,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let B,p=this.getStyle("stroke-width"),T=0;return/px$/.test(p)?T=n(p):""!==p&&(P(B=te.createElementNS(E,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(B),T=B.getBBox().width,B.parentNode.removeChild(B)),T}symbolAttr(p){let T=this;C.symbolCustomAttribs.forEach(function(B){T[B]=o(p[B],T[B])}),T.attr({d:T.renderer.symbols[T.symbolName](T.x,T.y,T.width,T.height,T)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let T=this.element,B=T.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");T.insertBefore?T.insertBefore(B,T.firstChild):T.appendChild(B),B.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,T){return this.attr({translateX:p,translateY:T})}updateTransform(p="transform"){let{element:T,matrix:B,rotation:z=0,rotationOriginX:K,rotationOriginY:U,scaleX:se,scaleY:S,translateX:$=0,translateY:H=0}=this,x=["translate("+$+","+H+")"];I(B)&&x.push("matrix("+B.join(",")+")"),z&&(x.push("rotate("+z+" "+o(K,T.getAttribute("x"),0)+" "+o(U,T.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(K||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(I(se)||I(S))&&x.push("scale("+o(se,1)+" "+o(S,1)+")"),x.length&&!(this.text||this).textPath&&T.setAttribute(p,x.join(" "))}visibilitySetter(p,T,B){"inherit"===p?B.removeAttribute(T):this[T]!==p&&B.setAttribute(T,p),this[T]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,T){let S,$,H,N,Z,B=this.renderer,z=this.parentGroup,K=(z||B).element||B.box,U=this.element,se=K===B.box,x=!1,R=this.added;if(I(p)?(U.setAttribute("data-z-index",p),this[T]===(p=+p)&&(R=!1)):I(this[T])&&U.removeAttribute("data-z-index"),this[T]=p,R){for((p=this.zIndex)&&z&&(z.handleZ=!0),Z=(S=K.childNodes).length-1;Z>=0&&!x;Z--)N=!I(H=($=S[Z]).getAttribute("data-z-index")),$!==U&&(p<0&&N&&!se&&!Z?(K.insertBefore(U,S[Z]),x=!0):(n(H)<=p||N&&(!I(p)||p>=0))&&(K.insertBefore(U,S[Z+1]),x=!0));x||(K.insertBefore(U,S[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Le(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,extend:ve,isNumber:le,merge:pe,pick:ue,removeEvent:J}=ne;class te extends q{constructor(E,j,F,P,D,A,I,_,m,w){let G;super(E,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=j,this.x=F,this.y=P,this.anchorX=A,this.anchorY=I,this.baseline=m,this.className=w,this.addClass("button"===w?"highcharts-no-tooltip":"highcharts-label"),w&&this.addClass("highcharts-"+w),this.text=E.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((G=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=E.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(E){let j={left:0,center:.5,right:1}[E];j!==this.alignFactor&&(this.alignFactor=j,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(E,j){this.anchorX=E,this.boxAttr(j,Math.round(E)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(E,j){this.anchorY=E,this.boxAttr(j,E-this.ySetting)}boxAttr(E,j){this.box?this.box.attr(E,j):this.deferredAttr[E]=j}css(E){if(E){let j={};E=pe(E),te.textProps.forEach(F=>{void 0!==E[F]&&(j[F]=E[F],delete E[F])}),this.text.css(j),"fontSize"in j||"fontWeight"in j?this.updateTextPadding():("width"in j||"textOverflow"in j)&&this.updateBoxSize()}return q.prototype.css.call(this,E)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),q.prototype.destroy.call(this)}fillSetter(E,j){E&&(this.needsBox=!0),this.fill=E,this.boxAttr(j,E)}getBBox(E,j){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:P=0,translateX:D=0,translateY:A=0,width:I=0}=this,_=ue(this.paddingLeft,F),m=j??(this.rotation||0),w={width:I,height:P,x:D+this.bBox.x-_,y:A+this.bBox.y-F+this.baselineOffset};return m&&(w=this.getRotatedBox(w,m)),w}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(E){this.heightSetting=E}onAdd(){this.text.add(this),this.attr({text:ue(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(E,j){le(E)?E!==this[j]&&(this[j]=E,this.updateTextPadding()):this[j]=void 0}rSetter(E,j){this.boxAttr(j,E)}strokeSetter(E,j){this.stroke=E,this.boxAttr(j,E)}"stroke-widthSetter"(E,j){E&&(this.needsBox=!0),this["stroke-width"]=E,this.boxAttr(j,E)}"text-alignSetter"(E){this.textAlign=E}textSetter(E){void 0!==E&&this.text.attr({text:E}),this.updateTextPadding()}updateBoxSize(){let E,j=this.text,F={},P=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(j.textStr)?te.emptyBBox:j.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*P;let A=this.renderer.fontMetrics(j);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||A).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-A.h)/2),this.needsBox&&!j.textPath){if(!this.box){let I=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();I.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),I.add(this)}E=this.getCrispAdjust(),F.x=E,F.y=(this.baseline?-this.baselineOffset:0)+E,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let E=this.text;if(!E.textPath){this.updateBoxSize();let j=this.baseline?0:this.baselineOffset,F=ue(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==E.x||j!==E.y)&&(E.attr("x",F),E.hasBoxWidthChanged&&(this.bBox=E.getBBox(!0)),void 0!==j&&E.attr("y",j)),E.x=F,E.y=j}}widthSetter(E){this.widthSetting=le(E)?E:void 0}getPaddedWidth(){let E=this.padding,j=ue(this.paddingLeft,E),F=ue(this.paddingRight,E);return(this.widthSetting||this.bBox.width||0)+j+F}xSetter(E){this.x=E,this.alignFactor&&(E-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(E),this.attr("translateX",this.xSetting)}ySetter(E){this.ySetting=this.y=Math.round(E),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Le(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(q){let{defined:ne,isNumber:re,pick:ve}=q;function le(J,te,X,E,j){let F=[];if(j){let P=j.start||0,D=ve(j.r,X),A=ve(j.r,E||X),I=.001>Math.abs((j.end||0)-P-2*Math.PI),_=(j.end||0)-.001,m=j.innerR,w=ve(j.open,I),G=Math.cos(P),O=Math.sin(P),f=Math.cos(_),a=Math.sin(_),g=ve(j.longArc,_-P-Math.PI<.001?0:1),v=["A",D,A,0,g,ve(j.clockwise,1),J+D*f,te+A*a];v.params={start:P,end:_,cx:J,cy:te},F.push(["M",J+D*G,te+A*O],v),ne(m)&&((v=["A",m,m,0,g,ne(j.clockwise)?1-j.clockwise:0,J+m*G,te+m*O]).params={start:_,end:P,cx:J,cy:te},F.push(w?["M",J+m*f,te+m*a]:["L",J+m*f,te+m*a],v)),w||F.push(["Z"])}return F}function pe(J,te,X,E,j){return j&&j.r?ue(J,te,X,E,j):[["M",J,te],["L",J+X,te],["L",J+X,te+E],["L",J,te+E],["Z"]]}function ue(J,te,X,E,j){let F=j?.r||0;return[["M",J+F,te],["L",J+X-F,te],["A",F,F,0,0,1,J+X,te+F],["L",J+X,te+E-F],["A",F,F,0,0,1,J+X-F,te+E],["L",J+F,te+E],["A",F,F,0,0,1,J,te+E-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,X,E,j){let F=Math.min(j&&j.r||0,X,E),P=F+6,D=j&&j.anchorX,A=j&&j.anchorY||0,I=ue(J,te,X,E,{r:F});if(!re(D)||D0&&A0)return I;if(J+D>X-P)if(A>te+P&&Ate+P&&A0){let _=AE&&DP&&I.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",X-F,te]);return I},circle:function(J,te,X,E){return le(J+X/2,te+E/2,X/2,E/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E/2],["L",J+X/2,te+E],["L",J,te+E/2],["Z"]]},rect:pe,roundedRect:ue,square:pe,triangle:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E],["L",J,te+E],["Z"]]},"triangle-down":function(J,te,X,E){return[["M",J,te],["L",J+X,te],["L",J+X/2,te+E],["Z"]]}}}),Le(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{doc:ve,SVG_NS:le,win:pe}=ne,{attr:ue,extend:J,fireEvent:te,isString:X,objectEach:E,pick:j}=re;return class{constructor(F){let P=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!(!P||"ellipsis"!==P.textOverflow),this.noWrap=!(!P||"nowrap"!==P.whiteSpace)}buildSVG(){let F=this.svgElement,P=F.element,D=F.renderer,A=j(F.textStr,"").toString(),I=-1!==A.indexOf("<"),_=P.childNodes,m=!F.added&&D.box,w=[A,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(w!==F.textCache){F.textCache=w,delete F.actualWidth;for(let G=_.length;G--;)P.removeChild(_[G]);if(I||this.ellipsis||this.width||F.textPath||-1!==A.indexOf(" ")&&(!this.noWrap||//g.test(A))){if(""!==A){m&&m.appendChild(P);let G=new q(A);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&-1!==(P.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),m&&m.removeChild(P)}}else P.appendChild(ve.createTextNode(this.unescapeEntities(A)));X(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,P=this.svgElement,D=ue(P.element,"x");for(P.firstLineMetrics=void 0;(F=P.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)P.element.removeChild(F);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(m,w)=>{m.nextSibling&&m.previousSibling&&(0===w&&1===m.previousSibling.nodeType&&(P.firstLineMetrics=P.renderer.fontMetrics(m.previousSibling)),ue(m,{dy:this.getLineHeight(m.nextSibling),x:D}))});let A=this.width||0;if(!A)return;let I=(m,w)=>{let G=m.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),a=this.getLineHeight(w),g=0,v=P.actualWidth;if(this.ellipsis)G&&this.truncate(m,G,void 0,0,Math.max(0,A-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;w.firstChild&&w.firstChild!==m;)n.push(w.firstChild),w.removeChild(w.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(m.textContent||""),m.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(m,void 0,O,0===g&&v||0,A,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),v=P.actualWidth,g++;n.forEach(r=>{w.insertBefore(r,m)}),o.forEach(r=>{w.insertBefore(ve.createTextNode(r),m);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",ue(l,{dy:a,x:D}),w.insertBefore(l,m)})}},_=m=>{[].slice.call(m.childNodes).forEach(w=>{w.nodeType===pe.Node.TEXT_NODE?I(w,m):(-1!==w.className.baseVal.indexOf("highcharts-br")&&(P.actualWidth=0),_(w))})};_(P.element)}getLineHeight(F){let P=F.nodeType===pe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(F){let P=(D,A)=>{let{attributes:I={},children:_,style:m={},tagName:w}=D,G=this.renderer.styledMode;if("b"===w||"strong"===w?G?I.class="highcharts-strong":m.fontWeight="bold":("i"===w||"em"===w)&&(G?I.class="highcharts-emphasized":m.fontStyle="italic"),m&&m.color&&(m.fill=m.color),"br"===w){I.class="highcharts-br",D.textContent="\u200b";let O=F[A+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===w&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==w&&"a"!==w&&(D.tagName="tspan"),J(D,{attributes:I,style:m}),_&&_.filter(O=>"#text"!==O.tagName).forEach(P)};F.forEach(P),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,P,D,A,I,_){let m,w,G=this.svgElement,{rotation:O}=G,f=[],a=D?1:0,g=(P||D||"").length,v=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=A+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(G.rotation=0,A+(w=o(F.textContent.length))>I){for(;a<=g;)v=Math.ceil((a+g)/2),D&&(m=_(D,v)),w=o(v,m&&m.length-1),a===g?a=g+1:w>I?g=v-1:a=v;0===g?F.textContent="":P&&g===P.length-1||(F.textContent=m||_(P||D,v))}D&&D.splice(0,v),G.actualWidth=w,G.rotation=O}unescapeEntities(F,P){return E(this.renderer.escapes,function(D,A){P&&-1!==P.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),A))}),F}}}),Le(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let X,{charts:E,deg2rad:j,doc:F,isFirefox:P,isMS:D,isWebKit:A,noop:I,SVG_NS:_,symbolSizes:m,win:w}=re,{addEvent:G,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:v,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:T,uniqueKey:B}=te;class z{constructor(U,se,S,$,H,x,N){let R,Z,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=Y.element;N||Y.css(this.getStyle($||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(se,S,!1),P&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),Z=U.getBoundingClientRect(),a(U,{left:Math.ceil(Z.left)-Z.left+"px",top:Math.ceil(Z.top)-Z.top+"px"})})(),this.unSubPixelFix=G(w,"resize",R))}definition(U){return new q([U]).addToDOM(this.defs.element)}getReferenceURL(){if((P||A)&&F.getElementsByTagName("base").length){if(!g(X)){let U=B(),se=new q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let S=F.elementFromPoint(6,6);X="hitme"===(S&&S.id),F.body.removeChild(se)}if(X)return T(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),v(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map($=>`${$}-${U[$]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),S=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:S.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:S.offsetX,dy:S.offsetY,"flood-color":S.color,"flood-opacity":Math.min(5*S.opacity,1),stdDeviation:S.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ne.parse(U).rgba.map($=>{let H=$/255;return H<=.03928?H/12.92:Math.pow((H+.055)/1.055,2.4)}),S=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(S+.05)>(S+.05)/.05?"#FFFFFF":"#000000"}button(U,se,S,$,H={},x,N,R,Z,Y){let he,ge,_e,Te=this.label(U,se,S,Z,void 0,void 0,Y,void 0,"button"),Oe=this.styledMode,De=H.states||{},Be=0;delete(H=C(H)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},H.style);delete H.style;let ee=q.filterUserAttributes(H);return Te.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},q.filterUserAttributes(x||De.hover||{}))).style,delete x.style,ge=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},q.filterUserAttributes(N||De.select||{}))).style,delete N.style,_e=(R=C(ee,{style:{color:"#cccccc"}},q.filterUserAttributes(R||De.disabled||{}))).style,delete R.style),G(Te.element,D?"mouseover":"mouseenter",function(){3!==Be&&Te.setState(1)}),G(Te.element,D?"mouseout":"mouseleave",function(){3!==Be&&Te.setState(Be)}),Te.setState=function(be){if(1!==be&&(Te.state=Be=be),Te.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][be||0]),!Oe){Te.attr([ee,x,N,R][be||0]);let xe=[oe,he,ge,_e][be||0];l(xe)&&Te.css(xe)}},!Oe&&(Te.attr(ee).css(o({cursor:"default"},oe)),Y&&Te.text.css({pointerEvents:"none"})),Te.on("touchstart",be=>be.stopPropagation()).on("click",function(be){3!==Be&&$.call(Te,be)})}crispLine(U,se,S="round"){let $=U[0],H=U[1];return g($[1])&&$[1]===H[1]&&($[1]=H[1]=Math[S]($[1])-se%2/2),g($[2])&&$[2]===H[2]&&($[2]=H[2]=Math[S]($[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,S){let $=l(U)?U:void 0===U?{}:{x:U,y:se,r:S},H=this.createElement("circle");return H.xSetter=H.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},H.attr($)}arc(U,se,S,$,H,x){let N;l(U)?(se=(N=U).y,S=N.r,$=N.innerR,H=N.start,x=N.end,U=N.x):N={innerR:$,start:H,end:x};let R=this.symbol("arc",U,se,S,S,N);return R.r=S,R}rect(U,se,S,$,H,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:H,width:Math.max(S||0,0),height:Math.max($||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(Z,Y,he){R.r=Z,O(he,{rx:Z,ry:Z})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,S){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(S,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,S,$,H,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(S)&&(N.y=S),r($)&&(N.width=$),r(H)&&(N.height=H);let R=this.createElement("image").attr(N),Z=function(Y){R.attr({href:U}),x.call(R,Y)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new w.Image;G(Y,"load",Z),Y.src=U,Y.complete&&Z({})}else R.attr({href:U});return R}symbol(U,se,S,$,H,x){let N,R,Z,Y,he=this,ge=/^url\((.*?)\)$/,_e=ge.test(U),Te=!_e&&(this.symbols[U]?U:"circle"),Oe=Te&&this.symbols[Te];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(S||0),$||0,H||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Te||void 0,x:se,y:S,width:$,height:H}),x&&o(N,x);else if(_e){Z=U.match(ge)[1];let De=N=this.image(Z);De.imgwidth=k(x&&x.width,m[Z]&&m[Z].width),De.imgheight=k(x&&x.height,m[Z]&&m[Z].height),Y=Be=>Be.attr({width:Be.width,height:Be.height}),["width","height"].forEach(Be=>{De[`${Be}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:be,element:xe,width:Ie,height:we,imgwidth:Ee,imgheight:Me}=this,Xe="width"===ee?Ee:Me,Je=1;x&&"within"===x.backgroundSize&&Ie&&we&&Ee&&Me?(Je=Math.min(Ie/Ee,we/Me),O(xe,{width:Math.round(Ee*Je),height:Math.round(Me*Je)})):xe&&Xe&&xe.setAttribute(ee,Xe),!be&&Ee&&Me&&this.translate(((Ie||0)-Ee*Je)/2,((we||0)-Me*Je)/2)}}),g(se)&&De.attr({x:se,y:S}),De.isImg=!0,g(De.imgwidth)&&g(De.imgheight)?Y(De):(De.attr({width:0,height:0}),f("img",{onload:function(){let Be=E[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),m[Z]={width:this.width,height:this.height},De.imgwidth=this.width,De.imgheight=this.height,De.element&&Y(De),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Be||Be.hasLoaded||Be.onload()},src:Z}),this.imgCount++)}return N}clipRect(U,se,S,$){return this.rect(U,se,S,$,0)}text(U,se,S,$){let H={};if($&&(this.allowHTML||!this.forExport))return this.html(U,se,S);H.x=Math.round(se||0),S&&(H.y=Math.round(S)),g(U)&&(H.text=U);let x=this.createElement("text").attr(H);return $&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,Z){let Y=Z.getElementsByTagName("tspan"),he=Z.getAttribute(R);for(let _e,ge=0;geU.align())}}return o(z.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ue,draw:I}),ve.registerRendererType("svg",z,!0),z}),Le(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{composed:le}=ne,{attr:pe,css:ue,createElement:J,defined:te,extend:X,pInt:E,pushUnique:j}=ve;function F(I,_,m){let w=this.div?.style||m.style;re.prototype[`${_}Setter`].call(this,I,_,m),w&&(w[_]=I)}let P=(I,_)=>{if(!I.div){let m=pe(I.element,"class"),w=I.css,G=J("div",m?{className:m}:void 0,{position:"absolute",left:`${I.translateX||0}px`,top:`${I.translateY||0}px`,...I.styles,display:I.display,opacity:I.opacity,visibility:I.visibility},I.parentGroup?.div||_);I.classSetter=(O,f,a)=>{a.setAttribute("class",O),G.className=O},I.translateXSetter=I.translateYSetter=(O,f)=>{I[f]=O,G.style["translateX"===f?"left":"top"]=`${O}px`,I.doTransform=!0},I.opacitySetter=I.visibilitySetter=F,I.css=O=>(w.call(I,O),O.cursor&&(G.style.cursor=O.cursor),O.pointerEvents&&(G.style.pointerEvents=O.pointerEvents),I),I.on=function(){return re.prototype.on.apply({element:G,onEvents:I.onEvents},arguments),I},I.div=G}return I.div};class D extends re{static compose(_){j(le,this.compose)&&(_.prototype.html=function(m,w,G){return new D(this,"span").attr({text:m,x:Math.round(w),y:Math.round(G)})})}constructor(_,m){super(_,m),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,m,w){this.xCorr=-_*w,this.yCorr=-m}css(_){let m,{element:w}=this,G="SPAN"===w.tagName&&_&&"width"in _,O=G&&_.width;return G&&(delete _.width,this.textWidth=E(O)||void 0,m=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),X(this.styles,_),ue(w,_),m&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:m,rotation:w,rotationOriginX:G,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:v=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(ue(_,{marginLeft:`${v}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[w,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(ue(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(ue(_,{width:U>se||w?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=m.fontMetrics(_).b,te(w)&&(w!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(w,C,C),this.getSpanCorrection(!te(w)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:T=0,yCorr:B=0}=this;ue(_,{left:`${n+T}px`,top:`${r+B}px`,transformOrigin:`${(G??n)-T-n-C}px ${(O??r)-B-r-C}px`}),this.cTT=d,this.oldRotation=w,this.oldAlign=a}}setSpanRotation(_,m,w){ue(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${m}% ${w}px`})}add(_){let m,w=this.renderer.box.parentNode,G=[];if(this.parentGroup=_,_&&!(m=_.div)){let O=_;for(;O;)G.push(O),O=O.parentGroup;for(let f of G.reverse())m=P(f,w)}return(m||w).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,q.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,m){this[m]=_,this.doTransform=!0}}let A=D.prototype;return A.visibilitySetter=A.opacitySetter=F,A.ySetter=A.rotationSetter=A.rotationOriginXSetter=A.rotationOriginYSetter=A.xSetter,D}),Le(V,"Core/Axis/AxisDefaults.js",[],function(){var q,ne;return(ne=q||(q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ne.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},q}),Le(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(q){var ne;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:pe}=q;return(ne||(ne={})).registerEventOptions=function(ue,J){ue.eventOptions=ue.eventOptions||{},le(J.events,function(te,X){ue.eventOptions[X]!==te&&(ue.eventOptions[X]&&(pe(ue,X,ue.eventOptions[X]),delete ue.eventOptions[X]),ve(te)&&(ue.eventOptions[X]=te,re(ue,X,te,{order:0})))})},ne}),Le(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{deg2rad:ve}=ne,{clamp:le,correctFloat:pe,defined:ue,destroyObjectProperties:J,extend:te,fireEvent:X,isNumber:E,merge:j,objectEach:F,pick:P}=re;return class{constructor(D,A,I,_,m){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=A,this.type=I||"",this.parameters=m||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,X(this,"init"),I||_||this.addLabel()}addLabel(){let l,d,C,D=this,A=D.axis,I=A.options,_=A.chart,m=A.categories,w=A.logarithmic,G=A.names,O=D.pos,f=P(D.options&&D.options.labels,I.labels),a=A.tickPositions,g=O===a[0],v=O===a[a.length-1],o=(!f.step||1===f.step)&&1===A.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(m?P(m[O],G[O],O):O);w&&E(k)&&(k=pe(w.lin2log(k))),A.dateTime&&(n?l=(d=_.time.resolveDTLFormat(I.dateTimeLabelFormats[!I.grid&&n.higherRanks[O]||n.unitName])).main:E(k)&&(l=A.dateTime.getXDateFormat(k,I.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=v;let p={axis:A,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:v,pos:O,tick:D,tickPositionInfo:n,value:k};X(this,"labelFormat",p);let T=K=>f.formatter?f.formatter.call(K,K):f.format?(K.text=A.defaultLabelFormatter.call(K),q.format(f.format,K,_)):A.defaultLabelFormatter.call(K),B=T.call(p,p),z=d&&d.list;D.shortenLabel=z?function(){for(C=0;C0&&_+g*v>O&&(k=Math.round((m-_)/Math.cos(a*ve))):(d=_-g*v,C=_+(1-g)*v,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||A.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(I.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,A){let G,I=this,_=I.label,m=I.axis,w=!1;_&&_.textStr===D?(I.movedLabel=_,w=!0,delete I.label):F(m.ticks,function(O){w||O.isNew||O===I||!O.label||O.label.textStr!==D||(I.movedLabel=O.label,w=!0,O.labelPos=I.movedLabel.xy,delete O.label)}),!w&&(I.labelPos||_)&&(G=I.labelPos||_.xy,I.movedLabel=I.createLabel(D,A,G),I.movedLabel&&I.movedLabel.attr({opacity:0}))}render(D,A,I){let _=this.axis,m=_.horiz,w=this.pos,G=P(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(m,w,G,A),f=O.x,a=O.y,g=_.pos,v=g+_.len,o=m&&f===v||!m&&a===g?-1:1,n=m?f:a;!_.chart.polar&&this.isNew&&(pe(n)v)&&(I=0);let r=P(I,this.label&&this.label.newOpacity,1);I=P(I,1),this.isActive=!0,this.renderGridLine(A,I,o),this.renderMark(O,I,o),this.renderLabel(O,A,r,D),this.isNew=!1,X(this,"afterRender")}renderGridLine(D,A,I){let v,_=this.axis,m=_.options,w={},G=this.pos,O=this.type,f=P(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=m.gridLineWidth,n=m.gridLineColor,r=m.gridLineDashStyle;"minor"===this.type&&(o=m.minorGridLineWidth,n=m.minorGridLineColor,r=m.minorGridLineDashStyle),g||(_.chart.styledMode||(w.stroke=n,w["stroke-width"]=o||0,w.dashstyle=r),O||(w.zIndex=1),D&&(A=0),this.gridLine=g=a.path().attr(w).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(v=_.getPlotLinePath({value:G+f,lineWidth:g.strokeWidth()*I,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:v,opacity:A})}renderMark(D,A,I){let _=this.axis,m=_.options,w=_.chart.renderer,G=this.type,O=_.tickSize(G?G+"Tick":"tick"),f=D.x,a=D.y,g=P(m["minor"!==G?"tickWidth":"minorTickWidth"],!G&&_.isXAxis?1:0),v=m["minor"!==G?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=w.path().addClass("highcharts-"+(G?G+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:v,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*I,_.horiz,w),opacity:A}))}renderLabel(D,A,I,_){let m=this.axis,w=m.horiz,G=m.options,O=this.label,f=G.labels,a=f.step,g=P(this.tickmarkOffset,m.tickmarkOffset),v=D.x,o=D.y,n=!0;O&&E(v)&&(O.xy=D=this.getLabelPosition(v,o,O,w,f,g,_,a),this.isFirst&&!this.isLast&&!G.showFirstLabel||this.isLast&&!this.isFirst&&!G.showLastLabel?n=!1:!w||f.step||f.rotation||A||0===I||this.handleOverflow(D),a&&_%a&&(n=!1),n&&E(D.y)?(D.opacity=I,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,A=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),A.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Le(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{animObject:te}=q,{xAxis:X,yAxis:E}=ne,{defaultOptions:j}=ve,{registerEventOptions:F}=le,{deg2rad:P}=pe,{arrayMax:D,arrayMin:A,clamp:I,correctFloat:_,defined:m,destroyObjectProperties:w,erase:G,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:v,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:T,splat:B,syncTimeout:z}=J,K=(se,S)=>d(S,void 0,void 0,k(se.options.allowDecimals,S<.5||void 0!==se.tickAmount),!!se.tickAmount);f(j,{xAxis:X,yAxis:l(X,E)});class U{constructor(S,$,H){this.init(S,$,H)}init(S,$,H=this.coll){let x="xAxis"===H,N=this.isZAxis||(S.inverted?!x:x);this.chart=S,this.horiz=N,this.isXAxis=x,this.coll=H,a(this,"init",{userOptions:$}),this.opposite=k($.opposite,this.opposite),this.side=k($.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions($);let R=this.options,Z=R.labels,Y=R.type;this.userOptions=$,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===Y||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=m(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,B(S.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===S.axes.indexOf(this)&&(x?S.axes.splice(S.xAxis.length,0,this):S.axes.push(this),v(this,S[this.coll])),S.orderItems(this.coll),this.series=this.series||[],S.inverted&&!this.isZAxis&&x&&!m(this.reversed)&&(this.reversed=!0),this.labelRotation=n(Z.rotation)?Z.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(S){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},j[this.coll],S),a(this,"afterSetOptions",{userOptions:S})}defaultLabelFormatter(){let Te,Oe,S=this.axis,{numberFormatter:$}=this.chart,H=n(this.value)?this.value:NaN,x=S.chart.time,N=S.categories,R=this.dateTimeLabelFormat,Z=j.lang,Y=Z.numericSymbols,he=Z.numericSymbolMagnitude||1e3,ge=S.logarithmic?Math.abs(H):S.tickInterval,_e=Y&&Y.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,H);else if(_e&&Y&&ge>=1e3)for(;_e--&&void 0===Oe;)ge>=(Te=Math.pow(he,_e+1))&&10*H%Te==0&&null!==Y[_e]&&0!==H&&(Oe=$(H/Te,-1)+Y[_e]);return void 0===Oe&&(Oe=Math.abs(H)>=1e4?$(H,-1):$(H,-1,void 0,"")),Oe}getSeriesExtremes(){let S,$=this;a(this,"getSeriesExtremes",null,function(){$.hasVisibleSeries=!1,$.dataMin=$.dataMax=$.threshold=void 0,$.softThreshold=!$.isXAxis,$.series.forEach(H=>{if(H.reserveSpace()){let N,Z,Y,x=H.options,R=x.threshold;if($.hasVisibleSeries=!0,$.positiveValuesOnly&&0>=(R||0)&&(R=void 0),$.isXAxis)(N=H.xData)&&N.length&&(N=$.logarithmic?N.filter(he=>he>0):N,Z=(S=H.getXExtremes(N)).min,Y=S.max,n(Z)||Z instanceof Date||(N=N.filter(n),Z=(S=H.getXExtremes(N)).min,Y=S.max),N.length&&($.dataMin=Math.min(k($.dataMin,Z),Z),$.dataMax=Math.max(k($.dataMax,Y),Y)));else{let he=H.applyExtremes();n(he.dataMin)&&(Z=he.dataMin,$.dataMin=Math.min(k($.dataMin,Z),Z)),n(he.dataMax)&&(Y=he.dataMax,$.dataMax=Math.max(k($.dataMax,Y),Y)),m(R)&&($.threshold=R),(!x.softThreshold||$.positiveValuesOnly)&&($.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(S,$,H,x,N,R){let Z=this.linkedParent||this,Y=x&&Z.old?Z.old.min:Z.min;if(!n(Y))return NaN;let he=Z.minPixelPadding,ge=(Z.isOrdinal||Z.brokenAxis?.hasBreaks||Z.logarithmic&&N)&&Z.lin2val,_e=1,Te=0,Oe=x&&Z.old?Z.old.transA:Z.transA,De=0;if(Oe||(Oe=Z.transA),H&&(_e*=-1,Te=Z.len),Z.reversed&&(_e*=-1,Te-=_e*(Z.sector||Z.len)),$)De=(S=S*_e+Te-he)/Oe+Y,ge&&(De=Z.lin2val(De));else{ge&&(S=Z.val2lin(S));let Be=_e*(S-Y)*Oe;De=(Z.isRadial?Be:_(Be))+Te+_e*he+(n(R)?Oe*R:0)}return De}toPixels(S,$){return this.translate(S,!1,!this.horiz,void 0,!0)+($?0:this.pos)}toValue(S,$){return this.translate(S-($?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(S){let De,Be,oe,ee,be,$=this,H=$.chart,x=$.left,N=$.top,R=S.old,Z=S.value,Y=S.lineWidth,he=R&&H.oldChartHeight||H.chartHeight,ge=R&&H.oldChartWidth||H.chartWidth,_e=$.transB,Te=S.translatedValue,Oe=S.force;function xe(we,Ee,Me){return"pass"!==Oe&&(weMe)&&(Oe?we=I(we,Ee,Me):be=!0),we}let Ie={value:Z,lineWidth:Y,old:R,force:Oe,acrossPanes:S.acrossPanes,translatedValue:Te};return a(this,"getPlotLinePath",Ie,function(we){De=oe=Math.round((Te=I(Te=k(Te,$.translate(Z,void 0,void 0,R)),-1e5,1e5))+_e),Be=ee=Math.round(he-Te-_e),n(Te)?$.horiz?(Be=N,ee=he-$.bottom+(H.scrollablePixelsY||0),De=oe=xe(De,x,x+$.width)):(De=x,oe=ge-$.right+(H.scrollablePixelsX||0),Be=ee=xe(Be,N,N+$.height)):(be=!0,Oe=!1),we.path=be&&!Oe?void 0:H.renderer.crispLine([["M",De,Be],["L",oe,ee]],Y||1)}),Ie.path}getLinearTickPositions(S,$,H){let x,N,R,Z=_(Math.floor($/S)*S),Y=_(Math.ceil(H/S)*S),he=[];if(_(Z+S)===Z&&(R=20),this.single)return[$];for(x=Z;x<=Y&&(he.push(x),(x=_(x+S,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:S,minorTickInterval:$}=this.options;return!0===S?k($,"auto"):!1!==S?$:void 0}getMinorTickPositions(){let he,S=this.options,$=this.tickPositions,H=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,Z=R-N,Y=[];if(Z&&Z/H(ge.xIncrement?ge.xData?.slice(0,2):ge.xData)||[]))||0),this.dataMax-this.dataMin)),n(H)&&n(x)&&n(N)&&H-x=N,R=(N-H+x)/2,Y=[x-R,k(S.min,x-R)],Z&&(Y[2]=$?$.log2lin(this.dataMin):this.dataMin),he=[(x=D(Y))+N,k(S.max,x+N)],Z&&(he[2]=$?$.log2lin(this.dataMax):this.dataMax),(H=A(he))-xx-N),S=g([H]))}return S&&$?Math.min(S,$):S||$}nameToX(S){let N,$=o(this.options.categories),H=$?this.categories:this.names,x=S.options.x;return S.series.requireSorting=!1,m(x)||(x=this.options.uniqueNames&&H?$?H.indexOf(S.name):k(H.keys[S.name],-1):S.series.autoIncrement()),-1===x?!$&&H&&(N=H.length):N=x,void 0!==N?(this.names[N]=S.name,this.names.keys[S.name]=N):S.x&&(N=S.x),N}updateNames(){let S=this,$=this.names;$.length>0&&(Object.keys($.keys).forEach(function(H){delete $.keys[H]}),$.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(H=>{H.xIncrement=null,(!H.points||H.isDirtyData)&&(S.max=Math.max(S.max,H.xData.length-1),H.processData(),H.generatePoints()),H.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=S.nameToX(x))&&R!==x.x&&(x.x=R,H.xData[N]=R)})}))}setAxisTranslation(){let Z,ge,S=this,$=S.max-S.min,H=S.linkedParent,x=!!S.categories,N=S.isXAxis,R=S.axisPointRange||0,Y=0,he=0,_e=S.transA;(N||x||R)&&(Z=S.getClosest(),H?(Y=H.minPointOffset,he=H.pointRangePadding):S.series.forEach(function(Te){let Oe=x?1:N?k(Te.options.pointRange,Z,0):S.axisPointRange||0,De=Te.options.pointPlacement;if(R=Math.max(R,Oe),!S.single||x){let Be=Te.is("xrange")?!N:N;Y=Math.max(Y,Be&&r(De)?0:Oe/2),he=Math.max(he,Be&&"on"===De?0:Oe)}}),ge=S.ordinal&&S.ordinal.slope&&Z?S.ordinal.slope/Z:1,S.minPointOffset=Y*=ge,S.pointRangePadding=he*=ge,S.pointRange=Math.min(R,S.single&&x?1:$),N&&Z&&(S.closestPointRange=Z)),S.translationSlope=S.transA=_e=S.staticScale||S.len/($+he||1),S.transB=S.horiz?S.left:S.bottom,S.minPixelPadding=_e*Y,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:S,min:$}=this;return n(S)&&n($)&&S-$||void 0}setTickInterval(S){let Me,Je,lt,qe,st,{categories:$,chart:H,dataMax:x,dataMin:N,dateTime:R,isXAxis:Z,logarithmic:Y,options:he,softThreshold:ge}=this,_e=n(this.threshold)?this.threshold:void 0,Te=this.minRange||0,{ceiling:Oe,floor:De,linkedTo:Be,softMax:oe,softMin:ee}=he,be=n(Be)&&H[this.coll]?.[Be],xe=he.tickPixelInterval,Ie=he.maxPadding,we=he.minPadding,Ee=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||$||be||this.getTickAmount(),qe=k(this.userMin,he.min),st=k(this.userMax,he.max),be?(this.linkedParent=be,Me=be.getExtremes(),this.min=k(Me.min,Me.dataMin),this.max=k(Me.max,Me.dataMax),he.type!==be.options.type&&O(11,!0,H)):(ge&&m(_e)&&n(x)&&n(N)&&(N>=_e?(Je=_e,we=0):x<=_e&&(lt=_e,Ie=0)),this.min=k(qe,Je,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(Y&&(this.positiveValuesOnly&&!S&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,H),this.min=_(Y.log2lin(this.min),16),this.max=_(Y.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),$||this.axisPointRange||this.stacking?.usePercentage||be||!(Ee=this.max-this.min)||(!m(qe)&&we&&(this.min-=Ee*we),m(st)||!Ie||(this.max+=Ee*Ie)),!n(this.userMin)&&n(De)&&(this.min=Math.max(this.min,De)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),ge&&n(N)&&n(x)){let pt=_e||0;!m(qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Te):pt:!m(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Te):pt)}!H.polar&&this.min>this.max&&(m(he.min)?this.max=this.min:m(he.max)&&(this.min=this.max)),Ee=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?be&&!Xe&&xe===be.options.tickPixelInterval?Xe=be.tickInterval:k(Xe,this.tickAmount?Ee/Math.max(this.tickAmount-1,1):void 0,$?1:Ee*xe/Math.max(this.len,xe)):1,Z&&!S){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Tt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))Y=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)Y=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,S.units),this.min,this.max,S.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)Y=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let ge=this.tickInterval,_e=ge;for(;_e<=2*ge&&(Y=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&Y.length>this.tickAmount);)this.tickInterval=K(this,_e*=1.1)}Y.length>this.len&&(Y=[Y[0],Y[Y.length-1]])[0]===Y[1]&&(Y.length=1),H&&(this.tickPositions=Y,(he=H.apply(this,[this.min,this.max]))&&(Y=he))}this.tickPositions=Y,this.paddedTicks=Y.slice(0),this.trimTicks(Y,R,Z),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&Y.length<2&&!this.categories&&!this.series.some(ge=>ge.is("heatmap")&&"between"===ge.options.pointPlacement)&&(this.min-=.5,this.max+=.5),$||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(S,$,H){let x=S[0],N=S[S.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if($&&x!==-1/0)this.min=x;else for(;this.min-R>S[0];)S.shift();if(H)this.max=N;else for(;this.max+R{let{horiz:Te,options:Oe}=_e;return[Te?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},ge=he(this);H[this.coll].forEach(function(_e){let{series:Te}=_e;Te.length&&Te.some(Oe=>Oe.visible)&&_e!==$&&he(_e)===ge&&(S=!0,x.push(_e))})}if(S&&Z){x.forEach(ge=>{let _e=ge.getThresholdAlignment($);n(_e)&&Y.push(_e)});let he=Y.length>1?Y.reduce((ge,_e)=>ge+_e,0)/Y.length:void 0;x.forEach(ge=>{ge.thresholdAlignment=he})}return S}getThresholdAlignment(S){if((!n(this.dataMin)||this!==S&&this.series.some($=>$.isDirty||$.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let $=I((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&($=1-$),$}}getTickAmount(){let S=this.options,$=S.tickPixelInterval,H=S.tickAmount;m(S.tickInterval)||H||!(this.len<$)||this.isRadial||this.logarithmic||!S.startOnTick||!S.endOnTick||(H=2),!H&&this.alignToOthers()&&(H=Math.ceil(this.len/$)+1),H<4&&(this.finalTickAmt=H,H=5),this.tickAmount=H}adjustTickAmount(){let _e,Te,De,S=this,{finalTickAmt:$,max:H,min:x,options:N,tickPositions:R,tickAmount:Z,thresholdAlignment:Y}=S,he=R?.length,ge=k(S.threshold,S.softThreshold?0:null),Oe=S.tickInterval,Be=()=>R.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(Y)&&(De=Y<.5?Math.ceil(Y*(Z-1)):Math.floor(Y*(Z-1)),N.reversed&&(De=Z-1-De)),S.hasData()&&n(x)&&n(H)){let ee=()=>{S.transA*=(he-1)/(Z-1),S.min=N.startOnTick?R[0]:Math.min(x,R[0]),S.max=N.endOnTick?R[R.length-1]:Math.max(H,R[R.length-1])};if(n(De)&&n(S.threshold)){for(;R[De]!==ge||R.length!==Z||R[0]>x||R[R.length-1]S.threshold?oe():Be();if(Oe>8*S.tickInterval)break;Oe*=2}ee()}else if(he0&&Te<_e-1)&&R.splice(Te,1);S.finalTickAmt=void 0}}}setScale(){let{coll:S,stacking:$}=this,H=!1,x=!1;this.series.forEach(R=>{H=H||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||H||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?($&&"yAxis"===S&&$.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),$&&"xAxis"===S&&$.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):$&&$.cleanStacks(),H&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(S,$,H=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:S,max:$}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,H&&this.chart.redraw(x)})}setAxisSize(){let S=this.chart,$=this.options,H=$.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k($.width,S.plotWidth-H[3]+H[1]),S.plotWidth)),R=this.height=Math.round(p(k($.height,S.plotHeight-H[0]+H[2]),S.plotHeight)),Z=this.top=Math.round(p(k($.top,S.plotTop+H[0]),S.plotHeight,S.plotTop)),Y=this.left=Math.round(p(k($.left,S.plotLeft+H[3]),S.plotWidth,S.plotLeft));this.bottom=S.chartHeight-R-Z,this.right=S.chartWidth-N-Y,this.len=Math.max(x?N:R,0),this.pos=x?Y:Z}getExtremes(){let S=this.logarithmic;return{min:S?_(S.lin2log(this.min)):this.min,max:S?_(S.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(S){let $=this.logarithmic,H=$?$.lin2log(this.min):this.min,x=$?$.lin2log(this.max):this.max;return null===S||S===-1/0?S=H:S===1/0?S=x:H>S?S=H:x15&&$<165?x.align="right":$>195&&$<345&&(x.align="left")}),H.align}tickSize(S){let N,$=this.options,H=k($["tick"===S?"tickWidth":"minorTickWidth"],"tick"===S&&this.isXAxis&&!this.categories?1:0),x=$["tick"===S?"tickLength":"minorTickLength"];H&&x&&("inside"===$[S+"Position"]&&(x=-x),N=[x,H]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let S=this.chart.renderer,$=this.ticks,H=$[Object.keys($)[0]]||{};return this.chart.renderer.fontMetrics(H.label||H.movedLabel||S.box)}unsquish(){let ge,Te,S=this.options.labels,$=this.horiz,H=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/H),N=S.rotation,R=this.labelMetrics().h,Z=Math.max(this.max-this.min,0),Y=function(Oe){let De=Oe/(x||1);return(De=De>1?Math.ceil(De):1)*H>Z&&Oe!==1/0&&x!==1/0&&Z&&(De=Math.ceil(Z/H)),_(De*H)},he=H,_e=Number.MAX_VALUE;if($){if(!S.staggerLines&&(n(N)?Te=[N]:x=-90&&Be<=90)&&(De=(Oe=Y(Math.abs(R/Math.sin(P*Be))))+Math.abs(Be/360))<_e&&(_e=De,ge=Be,he=Oe)}}else he=Y(.75*R);return this.autoRotation=Te,this.labelRotation=k(ge,n(N)?N:0),S.step?H:he}getSlotWidth(S){let $=this.chart,H=this.horiz,x=this.options.labels,N=Math.max(this.tickPositions.length-(this.categories?0:1),1),R=$.margin[3];if(S&&n(S.slotWidth))return S.slotWidth;if(H&&x.step<2)return x.rotation?0:(this.staggerLines||1)*this.len/N;if(!H){let Z=x.style.width;if(void 0!==Z)return parseInt(String(Z),10);if(R)return R-$.spacing[3]}return.33*$.chartWidth}renderUnsquish(){let Oe,De,oe,ee,S=this.chart,$=S.renderer,H=this.tickPositions,x=this.ticks,N=this.options.labels,R=N.style,Z=this.horiz,Y=this.getSlotWidth(),he=Math.max(1,Math.round(Y-2*N.padding)),ge={},_e=this.labelMetrics(),Te=R.textOverflow,Be=0;if(r(N.rotation)||(ge.rotation=N.rotation||0),H.forEach(function(be){let xe=x[be];xe.movedLabel&&xe.replaceMovedLabel(),xe&&xe.label&&xe.label.textPxLength>Be&&(Be=xe.label.textPxLength)}),this.maxLabelLength=Be,this.autoRotation)Be>he&&Be>_e.h?ge.rotation=this.labelRotation:this.labelRotation=0;else if(Y&&(Oe=he,!Te))for(De="clip",ee=H.length;!Z&&ee--;)(oe=x[H[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>Y&&oe.css({width:Y+"px"}),oe.getBBox().height>this.len/H.length-(_e.h-_e.f)&&(oe.specificTextOverflow="ellipsis"));ge.rotation&&(Oe=Be>.5*S.chartHeight?.33*S.chartHeight:Be,Te||(De="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(ge.align=this.labelAlign),H.forEach(function(be){let xe=x[be],Ie=xe&&xe.label,we=R.width,Ee={};Ie&&(Ie.attr(ge),xe.shortenLabel?xe.shortenLabel():Oe&&!we&&"nowrap"!==R.whiteSpace&&(OeN.g(Z).attr({zIndex:he}).addClass(`highcharts-${H.toLowerCase()}${Y} `+(this.isRadial?`highcharts-radial-axis${Y} `:"")+(x.className||"")).add(S);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,xe,Ee,Me,S=this,{chart:$,horiz:H,options:x,side:N,ticks:R,tickPositions:Z,coll:Y}=S,he=$.inverted&&!S.isZAxis?[1,0,3,2][N]:N,ge=S.hasData(),_e=x.title,Te=x.labels,Oe=n(x.crossing),De=$.axisOffset,Be=$.clipOffset,oe=[-1,1,1,-1][N],be=0,Ie=0,we=0;if(S.showAxis=ee=ge||x.showEmpty,S.staggerLines=S.horiz&&Te.staggerLines||void 0,S.createGroups(),ge||S.isLinked?(Z.forEach(function(Xe){S.generateTick(Xe)}),S.renderUnsquish(),S.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===S.labelAlign,k(Te.reserveSpace,!Oe&&null,"center"===S.labelAlign||null,S.reserveSpaceDefault)&&Z.forEach(function(Xe){we=Math.max(R[Xe].getLabelSize(),we)}),S.staggerLines&&(we*=S.staggerLines),S.labelOffset=we*(S.opposite?-1:1)):C(R,function(Xe,Je){Xe.destroy(),delete R[Je]}),_e?.text&&!1!==_e.enabled&&(S.addTitle(ee),ee&&!Oe&&!1!==_e.reserveSpace&&(S.titleOffset=be=S.axisTitle.getBBox()[H?"height":"width"],Ie=m(xe=_e.offset)?0:k(_e.margin,H?5:10))),S.renderLine(),S.offset=oe*k(x.offset,De[N]?De[N]+(x.margin||0):0),S.tickRotCorr=S.tickRotCorr||{x:0,y:0},Me=0===N?-S.labelMetrics().h:2===N?S.tickRotCorr.y:0,Ee=Math.abs(we)+Ie,we&&(Ee-=Me,Ee+=oe*(H?k(Te.y,S.tickRotCorr.y+oe*Te.distance):k(Te.x,oe*Te.distance))),S.axisTitleMargin=k(xe,Ee),S.getMaxLabelDimensions&&(S.maxLabelDimensions=S.getMaxLabelDimensions(R,Z)),"colorAxis"!==Y){let Xe=this.tickSize("tick");De[N]=Math.max(De[N],(S.axisTitleMargin||0)+be+oe*S.offset,Ee,Z&&Z.length&&Xe?Xe[0]+oe*S.offset:0);let Je=!S.axisLine||x.offset?0:2*Math.floor(S.axisLine.strokeWidth()/2);Be[he]=Math.max(Be[he],Je)}a(this,"afterGetOffset")}getLinePath(S){let $=this.chart,H=this.opposite,x=this.offset,N=this.horiz,R=this.left+(H?this.width:0)+x,Z=$.chartHeight-this.bottom-(H?this.height:0)+x;return H&&(S*=-1),$.renderer.crispLine([["M",N?this.left:R,N?Z:this.top],["L",N?$.chartWidth-this.right:R,N?Z:$.chartHeight-this.bottom]],S)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(S){let $=this.horiz,H=this.left,x=this.top,N=this.len,R=this.options.title,Z=$?H:x,Y=this.opposite,he=this.offset,ge=R.x,_e=R.y,Te=this.chart.renderer.fontMetrics(S),Oe=S?Math.max(S.getBBox(!1,0).height-Te.h-1,0):0,De={low:Z+($?0:N),middle:Z+N/2,high:Z+($?N:0)}[R.align],Be=($?x+this.height:H)+($?1:-1)*(Y?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Te.f,-Oe][this.side],oe={x:$?De+ge:Be+(Y?this.width:0)+he+ge,y:$?Be+_e-(Y?this.height:0)+he:De+_e};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(S,$){let H=this.minorTicks;H[S]||(H[S]=new ue(this,S,"minor")),$&&H[S].isNew&&H[S].render(null,!0),H[S].render(null,!1,1)}renderTick(S,$,H){let N=this.ticks;(!this.isLinked||S>=this.min&&S<=this.max||this.grid&&this.grid.isColumn)&&(N[S]||(N[S]=new ue(this,S)),H&&N[S].isNew&&N[S].render($,!0,-1),N[S].render($))}render(){let S,$,H=this,x=H.chart,N=H.logarithmic,Z=H.options,Y=H.isLinked,he=H.tickPositions,ge=H.axisTitle,_e=H.ticks,Te=H.minorTicks,Oe=H.alternateBands,De=Z.stackLabels,Be=Z.alternateGridColor,oe=Z.crossing,ee=H.tickmarkOffset,be=H.axisLine,xe=H.showAxis,Ie=te(x.renderer.globalAnimation);if(H.labelEdge.length=0,H.overlap=!1,[_e,Te,Oe].forEach(function(we){C(we,function(Ee){Ee.isActive=!1})}),n(oe)){let we=this.isXAxis?x.yAxis[0]:x.xAxis[0],Ee=[1,-1,-1,1][this.side];if(we){let Me=we.toPixels(oe,!0);H.horiz&&(Me=we.len-Me),H.offset=Ee*Me}}if(H.hasData()||Y){let we=H.chart.hasRendered&&H.old&&n(H.old.min);H.minorTickInterval&&!H.categories&&H.getMinorTickPositions().forEach(function(Ee){H.renderMinorTick(Ee,we)}),he.length&&(he.forEach(function(Ee,Me){H.renderTick(Ee,Me,we)}),ee&&(0===H.min||H.single)&&(_e[-1]||(_e[-1]=new ue(H,-1,null,!0)),_e[-1].render(-1))),Be&&he.forEach(function(Ee,Me){$=void 0!==he[Me+1]?he[Me+1]+ee:H.max-ee,Me%2==0&&Ee=.5)E=Math.round(E),_=D.getLinearTickPositions(E,j,F);else if(E>=.08){let m,w,G,O,f,a,g;for(m=E>.3?[1,2,4]:E>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],w=Math.floor(j);wj&&(!P||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let m=this.lin2log(j),w=this.lin2log(F),G=P?D.getMinorTickInterval():I.tickInterval;E=ve(E=le("auto"===G?null:G,this.minorAutoInterval,I.tickPixelInterval/(P?5:1)*(w-m)/((P?A/D.tickPositions.length:A)||1))),_=D.getLinearTickPositions(E,m,w).map(this.log2lin),P||(this.minorAutoInterval=E/5)}return P||(D.tickInterval=E),_}lin2log(E){return Math.pow(10,E)}log2lin(E){return Math.log(E)/Math.LN10}}pe.Additions=te}(ne||(ne={})),ne}),Le(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(q){var ne;let{erase:re,extend:ve,isNumber:le}=q;return function(pe){let ue;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,A){let I=this.userOptions,_=new ue(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(I.plotLines||[]).concat(I.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),A){let m=I[A]||[];m.push(D),I[A]=m}this.plotLinesAndBands.push(_)}return _}function X(D){return this.addPlotBandOrLine(D,"plotLines")}function E(D,A,I){let f,g,_=this.getPlotLinePath({value:A,force:!0,acrossPanes:(I=I||this.options).acrossPanes}),m=[],w=this.horiz,G=!le(this.min)||!le(this.max)||Dthis.max&&A>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:I.acrossPanes}),a=1;if(O&&_)for(G&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(K,U=>{m[K].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&P.width>0&&P.height>0&&!l.isFlat?(o=te({align:A&&C&&"center",x:A?!C&&4:10,verticalAlign:!A&&C&&"middle",y:A?C?16:10:C?6:-4,rotation:A&&!C&&90},o),this.renderLabel(o,l,C,w)):n&&n.hide(),this}renderLabel(P,D,A,I){let _=this.axis,w=this.label;w||(this.label=w=_.chart.renderer.text(this.getLabelText(P),0,0,P.useHTML).attr({align:P.textAlign||P.align,rotation:P.rotation,class:"highcharts-plot-"+(A?"band":"line")+"-label"+(P.className||""),zIndex:I}),_.chart.styledMode||w.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},P.style)),w.add());let G=D.xBounds||[D[0][1],D[1][1],A?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],A?D[2][2]:D[0][2]],f=ve(G),a=ve(O);w.align(P,!1,{x:f,y:a,width:re(G)-f,height:re(O)-a}),w.alignValue&&"left"!==w.alignValue||w.css({width:(90===w.rotation?_.height-(w.alignAttr.y-_.top):(P.clip?_.width:_.chart.chartWidth)-(w.alignAttr.x-_.left))+"px"}),w.show(!0)}getLabelText(P){return le(P.formatter)?P.formatter.call(this):P.text}destroy(){ue(this.axis.plotLinesAndBands,this),delete this.axis,pe(this)}}return j}),Le(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{format:ue}=q,{composed:J,doc:te,isSafari:X}=ne,{distribute:E}=re,{addEvent:j,clamp:F,css:P,discardElement:D,extend:A,fireEvent:I,isArray:_,isNumber:m,isString:w,merge:G,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class v{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,T=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-T,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let B=0,z=0;n.forEach(function(K){let U=K.pos(!0);U&&(B+=U[0],z+=U[1])}),B/=n.length,z/=n.length,this.shared&&n.length>1&&r&&(k?B=r.chartX:z=r.chartY),l=[B-T,z-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(w).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,T=ve.getRendererType();this.container=C=ne.doc.createElement("div"),C.className="highcharts-tooltip-container",P(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new T(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:T,ySetter:B}=p;p.xSetter=function(z){T.call(p,n.distance),C&&(C.style.left=z+"px")},p.ySetter=function(z){B.call(p,n.distance),C&&(C.style.top=z+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ne.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let _e,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:T,plotLeft:B,plotTop:z,polar:K}=C,{plotX:U=0,plotY:se=0}=l,S={},$=T&&l.h||0,{height:H,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=be=>be*N.scaleX,Z=be=>be*N.scaleY,Y=be=>{let xe="x"===be;return[be,xe?x:H,xe?n:r].concat(k?[xe?R(n):Z(r),xe?N.left-d+R(U+B):N.top-d+Z(se+z),0,xe?x:H]:[xe?n:r,xe?U+B:se+z,xe?B:z,xe?B+C.plotWidth:z+C.plotHeight])},he=Y("y"),ge=Y("x"),Te=!!l.negative;!K&&C.hoverSeries?.yAxis?.reversed&&(Te=!Te);let Oe=!this.followPointer&&O(l.ttBelow,!K&&!T===Te),De=function(be,xe,Ie,we,Ee,Me,Xe){let Je=k?"y"===be?Z(d):R(d):d,lt=(Ie-we)/2,qe=wexe?pt:pt+$)}},Be=function(be,xe,Ie,we,Ee){if(Eexe-d)return!1;S[be]=Eexe-we/2?xe-we-2:Ee-Ie/2},oe=function(be){[he,ge]=[ge,he],_e=be},ee=()=>{!1!==De.apply(0,he)?!1!==Be.apply(0,ge)||_e||(oe(!0),ee()):_e?S.x=S.y=0:(oe(!0),ee())};return(T&&!K||this.len>1)&&oe(),ee(),S}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),T=C.followPointer||C.len>1;A(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:T?void 0:p?(2*k.anchorX+l)/3:l,anchorY:T?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),T=p[0],B=[],z=d.format,K=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!T.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&T.series.tooltipOptions.followPointer;let S=this.getAnchor(n,r),$=S[0],H=S[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),B.push(R.getLabelConfig())}),(se=T.getLabelConfig()).points=B):se=T.getLabelConfig(),this.len=B.length;let x=w(z)?ue(z,se,l):K.call(se,this),N=T.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=$,Z=H;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,Z=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(Y=>C.isDirectTouch||Y.series.shouldShowTooltip(R,Z)))return void this.hide();{let Y=this.getLabel();(!d.style.width||U)&&Y.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),Y.attr({text:x&&x.join?x.join(""):x}),Y.addClass(this.getClassName(T),!0),U||Y.attr({stroke:d.borderColor||T.color||N.color||"#666666"}),this.updatePosition({plotX:$,plotY:H,negative:T.negative,ttBelow:T.ttBelow,h:S[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}I(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:T,plotTop:B,scrollablePixelsY:z=0,scrollablePixelsX:K,styledMode:U},distance:se,options:S,options:{positioner:$},pointer:H}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof K?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},Z=l.getLabel(),Y=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:ge,top:_e}=H.getChartPosition(),Te=B+N,Oe=0,De=p-z;function Be(we,Ee,Me,Xe,Je=!0){let lt,qe;return Me?(lt=he?0:De,qe=F(we-Xe/2,R.left,R.right-Xe-(l.outside?ge:0))):(lt=Ee-Te,qe=F(qe=Je?we-Xe-se:we+se,Je?qe:R.left,R.right)),{x:qe,y:lt}}w(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(we,Ee,Me){if(!1!==Ee&&""!==Ee){let Xe=r[Me-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Je=Xe.isHeader,lt=Je?l:Xe.series,qe=lt.tt=function(Pt,Gt,ti){let Dt=Pt,{isHeader:It,series:xt}=Gt;if(!Dt){let wt={padding:S.padding,r:S.borderRadius};U||(wt.fill=S.backgroundColor,wt["stroke-width"]=S.borderWidth??1),Dt=Y.label("",0,0,S[It?"headerShape":"shape"],void 0,void 0,S.useHTML).addClass(l.getClassName(Gt,!0,It)).attr(wt).add(Z)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(S.style).attr({stroke:S.borderColor||Gt.color||xt.color||"#333333"}),Dt}(lt.tt,Xe,Ee.toString()),st=qe.getBBox(),Tt=st.width+qe.strokeWidth();Je&&(Oe=st.height,De+=Oe,he&&(Te-=Oe));let{anchorX:pt,anchorY:ht}=function(Pt){let Gt,ti,{isHeader:Dt,plotX:It=0,plotY:xt=0,series:wt}=Pt;if(Dt)Gt=Math.max(T+It,T),ti=B+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(It,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-B+xt,{ignoreX:!0})&&(ti=di.pos+xt)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Pt=st.height+1,Gt=$?$.call(l,Tt,Pt,Xe):Be(pt,ht,Je,Tt);we.push({align:$?0:void 0,anchorX:pt,anchorY:ht,boxWidth:Tt,point:Xe,rank:O(Gt.rank,Je?1:0),size:Pt,target:Gt.y,tt:qe,x:Gt.x})}else qe.isActive=!1}return we},[]);!$&&oe.some(we=>{let{outside:Ee}=l,Me=(Ee?ge:0)+we.anchorX;return MeMe})&&(oe=oe.map(we=>{let{x:Ee,y:Me}=Be(we.anchorX,we.anchorY,we.point.isHeader,we.boxWidth,!1);return A(we,{target:Me,x:Ee})})),l.cleanSplit(),E(oe,De);let ee={left:ge,right:ge};oe.forEach(function(we){let{x:Ee,boxWidth:Me,isHeader:Xe}=we;!Xe&&(l.outside&&ge+Eeee.right&&(ee.right=ge+Ee))}),oe.forEach(function(we){let{x:Ee,anchorX:Me,anchorY:Xe,pos:Je,point:{isHeader:lt}}=we,qe={visibility:void 0===Je?"hidden":"inherit",x:Ee,y:(Je||0)+Te,anchorX:Me,anchorY:Xe};if(l.outside&&Ee0&&(lt||(qe.x=Ee+st,qe.anchorX=Me+st),lt&&(qe.x=(ee.right-ee.left)/2,qe.anchorX=Me+st))}we.tt.attr(qe)});let{container:be,outside:xe,renderer:Ie}=l;if(xe&&be&&Ie){let{width:we,height:Ee,x:Me,y:Xe}=Z.getBBox();Ie.setSize(we+Me,Ee+Xe,!1),be.style.left=ee.left+"px",be.style.top=_e+"px"}X&&Z.attr({opacity:1===Z.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},T=d.xDateFormat,B=d[r?"footerFormat":"headerFormat"];return I(this,"headerFormatter",p,function(z){k&&!T&&m(n.key)&&(T=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&T&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(K){B=B.replace("{point."+K+"}","{point."+K+":"+T+"}")}),l.chart.styledMode&&(B=this.styledModeFormat(B)),z.text=ue(B,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,G(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:T=0,width:B=0}=this.getLabel(),{left:z,top:K,scaleX:U,scaleY:se}=k.getChartPosition(),S=(C.positioner||this.getPosition).call(this,B,T,n),$=(n.plotX||0)+r.plotLeft,H=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(S.x+=z-d,S.y+=K-d),x=(C.borderWidth||0)+2*d+2,p.setSize(B+x,T+x,!1),(1!==U||1!==se)&&(P(l,{transform:`scale(${U}, ${se})`}),$*=U,H*=se),$+=z-S.x,H+=K-S.y),this.move(Math.round(S.x),Math.round(S.y||0),$,H)}}return(pe=v||(v={})).compose=function(o){f(J,"Core.Tooltip")&&j(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new pe(n,n.options.tooltip,this))})},v}),Le(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{animObject:pe}=ne,{defaultOptions:ue}=re,{format:J}=ve,{addEvent:te,erase:X,extend:E,fireEvent:j,getNestedProperty:F,isArray:P,isFunction:D,isNumber:A,isObject:I,pick:_,syncTimeout:m,removeEvent:w,uniqueKey:G}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},v=a.getGraphicalProps();v.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),v.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(E({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let v=this.series,o=v.options.pointValKey||v.pointValKey;return E(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?E(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&v.xAxis&&v.xAxis.hasNames&&(this.x=v.xAxis.nameToX(this)),void 0===this.x&&v?this.x=void 0===g?v.autoIncrement():g:A(a.x)&&v.options.relativeXValue&&(this.x=v.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,v=g.chart,o=g.options.dataSorting,n=v.hoverPoints,r=pe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(w(a),a.destroyElements()),a)delete a[d]};a.legendItem&&v.legend.destroyItem(a),n&&(a.setState(),X(n,a),n.length||(v.hoverPoints=null)),a===v.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),m(l,r.duration)):l(),v.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,v=g.getGraphicalProps(a);v.singular.forEach(function(o){g[o]=g[o].destroy()}),v.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,v){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(v=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),j(o,a,g,v)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,v,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),v=n.length;v--;)o[g=n[v]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,v=a.zoneAxis||"y",n=0;for(o=g[0];this[v]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,v){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,v),this.id??(this.id=G()),this.resolveColor(),a.chart.pointCount++,j(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(a){let l,g=this.series,v=g.options.keys,o=v||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(A(a)||null===a)r[o[0]]=a;else if(P(a))for(!v&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:v,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(A(v)&&A(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-v+d]:[v+d,g+C]}}resolveColor(){let o,n,l,a=this.series,v=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(v||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(v||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,v){return v.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:I(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,v=g.tooltipOptions,o=_(v.valueDecimals,""),n=v.valuePrefix||"",r=v.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,v,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let T=d&&r.hasMockGraphic;d&&(null===r.y?!T:T)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),I(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=I(k.data[n],!0)||I(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(v)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let v=this,o=v.series,n=o.chart;a=_(a,!v.selected),this.selectedStaging=a,v.firePointEvent(a?"select":"unselect",{accumulate:g},function(){v.selected=v.options.selected=a,o.options.data[o.data.indexOf(v)]=v.options,v.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==v&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:v}=this.series.chart;v&&(a=a?v.normalize(a):v.getChartCoordinatesFromPoint(this,g),v.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},v=g.events?.[a];!D(v)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(v)?this.hasImportedEvents&&!v&&this.hcEvents?.[a]&&(w(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,v),this.hasImportedEvents=!0)}setState(a,g){let z,K,U,S,v=this.series,o=this.state,n=v.options.states[a||"normal"]||{},r=ue.plotOptions[v.type].marker&&v.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=v.chart,T=r&&v.markerAttribs,B=v.halo,se=v.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,T&&(z=v.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){K=v.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=K.opacity;v.options.inactiveOtherPoints&&A(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(K,U)}z&&this.graphic.animate(z,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(S=k.symbol||v.symbol,se&&se.currentSymbol!==S&&(se=se.destroy()),z&&(se?se[g?"animate":"attr"]({x:z.x,y:z.y}):S&&(v.stateMarkerGraphic=se=p.renderer.symbol(S,z.x,z.y,z.width,z.height).add(v.markerGroup),se.currentSymbol=S)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(v.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let $=n.halo,H=this.graphic||se,x=H&&H.visibility||"inherit";$&&$.size&&H&&"hidden"!==x&&!this.isCluster?(B||(v.halo=B=p.renderer.path().add(H.parentGroup)),B.show()[g?"animate":"attr"]({d:this.haloPath($.size)}),B.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,v.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),B.point=this,p.styledMode||B.attr(E({fill:this.color||v.color,"fill-opacity":$.opacity},q.filterUserAttributes($.attributes||{})))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide),j(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Le(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{parse:le}=q,{charts:pe,composed:ue}=ne,{addEvent:J,attr:te,css:X,extend:E,find:j,fireEvent:F,isNumber:P,isObject:D,objectEach:A,offset:I,pick:_,pushUnique:m,splat:w}=re;class G{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(v){g=v.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(v){-1===a.indexOf(v)?v.setState("inactive",!0):v.options.inactiveOtherPoints&&v.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ne.chartCount&&(G.unbindDocumentMouseUp&&(G.unbindDocumentMouseUp=G.unbindDocumentMouseUp()),G.unbindDocumentTouchEnd&&(G.unbindDocumentTouchEnd=G.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),A(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,v=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=v.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let K,{chart:a}=this,{mouseDownX:g=0,mouseDownY:v=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,T=n&&f[`${n}Key`],B=f.chartX,z=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(Bl+C&&(B=l+C),zd+k&&(z=d+k),this.hasDragged=Math.sqrt(Math.pow(g-B,2)+Math.pow(v-z,2)),this.hasDragged>10)){K=a.isInsidePlot(g-l,v-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:S}=this.getSelectionMarkerAttrs(B,z);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&K&&!T&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(S),K&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:v}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),v&&f){if(this.hasDragged){let o=this.getSelectionBox(v);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}P(g.index)&&(this.selectionMarker=v.destroy())}g&&P(g.index)&&(X(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let v;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(v,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(v,r)>0)&&(v=r)}),v}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:v}=f.series,o=f.shapeArgs;if(g&&v){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&P(o.x)&&P(o.y)&&(n=o.x,r=o.y),a?{chartX:v.len+v.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+v.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=I(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:v}=f;return v>2&&g>2&&(this.chartPosition.scaleX=a.width/v,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,v,o,n){let C,r=[],l=function(T){return T.visible&&!(!o&&T.directTouch)&&_(T.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(T=>T.stickyTracking&&(k.filter||l)(T));let p=v&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(T){return k.filter?k.filter(T):l(T)&&!T.noSharedTooltip})).forEach(function(T){let B=j(T.points,function(z){return z.x===p.x&&!z.isNull});D(B)&&(T.boosted&&T.boost&&(B=T.boost.getPoint(B)),r.push(B))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,v=this.chart.hoverSeries;this.isDirectTouch=!1,!v||!g||v.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+v.index)&&this.inClass(g,"highcharts-tracker")||v.onMouseOut()}inClass(f,a){let v,g=f;for(;g;){if(v=te(g,"class")){if(-1!==v.indexOf(a))return!0;if(-1!==v.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,v=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=v.pageX-a.left,n=v.pageY-a.top;return E(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,v=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(v.target,"highcharts-tracker")?(F(g.series,"click",E(v,{point:g})),a.hoverPoint&&g.firePointEvent("click",v)):(E(v,this.getCoordinates(v)),a.isInsidePlot(v.chartX-o,v.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",v)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ne.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=pe[_(G.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,v=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(v))&&this.drag(v),!a.openMenu&&(this.inClass(v.target,"highcharts-tracker")||a.isInsidePlot(v.chartX-a.plotLeft,v.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(v))&&(this.inClass(v.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(v))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,v=this.chartPosition,o=this.normalize(f,v);!v||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){pe[_(G.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:v,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),v&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let T=p[0],B=p[1]||T;return{x:T.chartX,y:T.chartY,width:B.chartX-T.chartX,height:B.chartY-T.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,v=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&w(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&w(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),v&&v.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let v=this.chart,n=v.tooltip&&v.tooltip.options.enabled?v.tooltip:void 0,r=!!n&&n.shared,l=a||v.hoverPoint,d=l&&l.series||v.hoverSeries,k=this.getHoverData(l,d,v.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,T=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,B=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==v.hoverPoint||n&&n.isHidden)){if((v.hoverPoints||[]).forEach(function(z){-1===p.indexOf(z)&&z.setState()}),v.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(z){z.setState("hover")}),v.hoverPoint&&v.hoverPoint.firePointEvent("mouseOut"),!l.series)return;v.hoverPoints=p,v.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(B?p:l,f)})}else if(T&&n&&!n.isHidden){let z=n.getAnchor([{}],f);v.isInsidePlot(z[0],z[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:z[0],plotY:z[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(v.container.ownerDocument,"mousemove",z=>pe[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(z)),this.eventsToUnbind.push(this.unDocMouseMove)),v.axes.forEach(function(z){let K,U=_((z.crosshair||{}).snap,!0);!U||(K=v.hoverPoint)&&K.series[z.coll]===z||(K=j(p,se=>se.series&&se.series[z.coll]===z)),K||!U?z.drawCrosshair(f,K):z.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp||(G.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||(G.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ne.charts[_(G.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(G.hoverChartIndex=a.index)}touch(f,a){let g,{chart:v,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),v.isInsidePlot(f.chartX-v.plotLeft,f.chartY-v.plotTop,{visiblePlotOnly:!0})&&!v.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,v=a.zooming.type||"";/touch/.test(f.type)&&(v=_(a.zooming.pinchType,v)),this.zoomX=o=/x/.test(v),this.zoomY=n=/y/.test(v),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=G||(G={})).compose=function(O){m(ue,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},G}),Le(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){var ue;let{animObject:J,setAnimation:te}=q,{format:X}=ne,{composed:E,marginNames:j}=re,{distribute:F}=le,{addEvent:P,createElement:D,css:A,defined:I,discardElement:_,find:m,fireEvent:w,isNumber:G,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:v,syncTimeout:o}=pe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),P(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),P(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),w(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:T,symbol:B}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:z={}}=this,K=z.color,{fillColor:U,fillOpacity:se,lineColor:S,marker:$}=l.options,H=x=>(!d&&(x.fill&&(x.fill=K),x.stroke&&(x.stroke=K)),x);p?.css(O(d?this.itemStyle:z)),T?.attr(H({stroke:S||l.color})),B&&B.attr(H($&&B.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(H({fill:U||l.color,"fill-opacity":U?1:se??.75}))}w(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,z=l.checkbox;if(d&&d.element){let K={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[I(d.translateY)?"animate":"attr"](K,void 0,()=>{w(this,"afterPositionItem",{item:l})})}z&&(z.x=C,z.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let T,B=p.checkbox;B&&(T=l+k+B.y+(this.scrollOffset||0)+3,A(B,{left:d.translateX+p.checkboxOffset+B.x-20+"px",top:T+"px",display:this.proximate||T>l-6&&T1.5*_e?ge.height:_e))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,T=this.itemMarginBottom,B=this.itemMarginTop,z=k?f(d.itemDistance,20):0,K=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>K?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>K&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=B+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=B+this.itemY+T,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=B+p+T,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:z):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!I(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),w(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,B){T.test(p)&&!I(l[B])&&(C[j[B]]=Math.max(C[j[B]],C.legend[(B+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][B]*k[B%2?"x":"y"]+f(k.margin,12)+d[B]+(C.titleOffset[B]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(T){let B,z,U,se,K=k;T.yAxis&&(T.xAxis.options.reversed&&(K=!K),T.points&&(B=m(K?T.points:T.points.slice(0).reverse(),function(S){return G(S.plotY)})),z=this.itemMarginTop+T.legendItem.label.getBBox().height+this.itemMarginBottom,se=T.yAxis.top-d.plotTop,U=T.visible?(B?B.plotY:T.yAxis.height)+(se-.3*z):se+T.yAxis.height,C.push({target:U,size:z,item:T}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},G(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let T,B,z,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),K=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,K||(this.group=K=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(K),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),v(p,(S,$)=>(S.options&&S.options.legendIndex||0)-($.options&&$.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=T=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),B=(this.widthOption||this.offsetWidth)+k,z=this.lastItemY+this.lastLineHeight+this.titleHeight,z=this.handleOverflow(z)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(K)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),B>0&&z>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:B,height:z},se.strokeWidth())),K[T?"show":"hide"](),l.styledMode&&"none"===K.getStyle("display")&&(B=z=0),this.legendWidth=B,this.legendHeight=z,T&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,Z,Y,d=this,C=this.chart,k=C.renderer,p=this.options,T=p.y,B="top"===p.verticalAlign,z=this.padding,K=p.maxHeight,U=p.navigation,se=f(U.animation,!0),S=U.arrowSize||12,$=this.pages,H=this.allItems,x=function(Te){"number"==typeof Te?_e.attr({height:Te}):_e&&(d.clipRect=_e.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Te?"rect("+z+"px,9999px,"+(z+Te)+"px,0)":"auto")},N=function(Te){return d[Te]=k.circle(0,0,1.3*S).translate(S/2,S/2).add(ge),C.styledMode||d[Te].attr("fill","rgba(0,0,0,0.0001)"),d[Te]},he=C.spacingBox.height+(B?-T:T)-z,ge=this.nav,_e=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),K&&(he=Math.min(he,K)),$.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-z,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,H.forEach((Te,Oe)=>{let De=(Y=Te.legendItem||{}).y||0,Be=Math.round(Y.label.getBBox().height),oe=$.length;(!oe||De-$[oe-1]>R&&(Z||De)!==$[oe-1])&&($.push(Z||De),oe++),Y.pageIx=oe-1,Z&&((H[Oe-1].legendItem||{}).pageIx=oe-1),Oe===H.length-1&&De+Be-$[oe-1]>R&&De>$[oe-1]&&($.push(De),Y.pageIx=oe),De!==Z&&(Z=De)}),_e||(_e=d.clipRect=k.clipRect(0,z-2,9999,0),d.contentGroup.clip(_e)),x(R),ge||(this.nav=ge=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,S,S).add(ge),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(ge),this.down=k.symbol("triangle-down",0,0,S,S).add(ge),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):ge&&(x(),this.nav=ge.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,T=this.clipHeight,B=this.options.navigation,z=this.pager,K=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:K,translateY:T+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),z.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?B.inactiveColor:B.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?B.inactiveColor:B.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{w(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},T=k.chart.renderer.boxWrapper,B=l instanceof ve,z="highcharts-legend-"+(B?"point":"series")+"-active",K=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=S=>{k.allItems.forEach($=>{l!==$&&[$].concat($.linkedSeries||[]).forEach(H=>{H.setState(S,!B)})})};for(let S of U)S&&S.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&T.addClass(z),K||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),T.removeClass(z),l.setState()}).on("click",function($){let H="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};T.removeClass(z),$={browserEvent:$},l.firePointEvent?l.firePointEvent(H,$,x):w(l,H,$,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),P(l.checkbox,"click",function(d){w(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(ue=n||(n={})).compose=function(r){a(E,"Core.Legend")&&P(r,"beforeMargins",function(){this.legend=new ue(this,this.options.legend)})},n}),Le(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(q){var ne;let{extend:re,merge:ve,pick:le}=q;return function(pe){function ue(J,te,X){let f,E=this.legendItem=this.legendItem||{},{chart:j,options:F}=this,{baseline:P=0,symbolWidth:D,symbolHeight:A}=J,I=this.symbol||"circle",_=A/2,m=j.renderer,w=E.group,G=P-Math.round(A*(X?.4:.3)),O={},a=F.marker,g=0;if(j.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),E.line=m.path().addClass("highcharts-graph").attr(O).add(w),X&&(E.area=m.path().addClass("highcharts-area").add(w)),O["stroke-linecap"]&&(g=Math.min(E.line.strokeWidth(),D)/2),D){let v=[["M",g,G],["L",D-g,G]];E.line.attr({d:v}),E.area?.attr({d:[...v,["L",D-g,P],["L",g,P]]})}if(a&&!1!==a.enabled&&D){let v=Math.min(le(a.radius,_),_);0===I.indexOf("url")&&(a=ve(a,{width:A,height:A}),v=0),E.symbol=f=m.symbol(I,D/2-v,G-v,2*v,2*v,re({context:"legend"},a)).addClass("highcharts-point").add(w),f.isMarker=!0}}pe.areaMarker=function(J,te){ue.call(this,J,te,!0)},pe.lineMarker=ue,pe.rectangle=function(J,te){let X=te.legendItem||{},j=J.symbolHeight,F=J.options.squareSymbol;X.symbol=this.chart.renderer.rect(F?(J.symbolWidth-j)/2:0,J.baseline-j+1,F?j:J.symbolWidth,j,le(J.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(X.group)}}(ne||(ne={})),ne}),Le(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:q}=this.series.chart;return"number"!=typeof this.y?"":q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Le(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{defaultOptions:pe}=ne,{extend:ue,extendClass:J,merge:te}=ve;return function(X){function E(j,F){let P=pe.plotOptions||{},D=F.defaultOptions,A=F.prototype;return A.type=j,A.pointClass||(A.pointClass=re),!X.seriesTypes[j]&&(D&&(P[j]=D),X.seriesTypes[j]=F,!0)}X.seriesTypes=q.seriesTypes,X.registerSeriesType=E,X.seriesType=function(j,F,P,D,A){let I=pe.plotOptions||{};if(I[j]=te(I[F=F||""],P),delete X.seriesTypes[j],E(j,J(X.seriesTypes[F]||function(){},D)),X.seriesTypes[j].prototype.type=j,A){class _ extends re{}ue(_.prototype,A),X.seriesTypes[j].prototype.pointClass=_}return X.seriesTypes[j]}}(le||(le={})),le}),Le(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,setAnimation:j}=q,{defaultOptions:F}=ne,{registerEventOptions:P}=re,{svg:D,win:A}=ve,{seriesTypes:I}=J,{arrayMax:_,arrayMin:m,clamp:w,correctFloat:G,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:v,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:T,merge:B,objectEach:z,pick:K,removeEvent:U,splat:se,syncTimeout:S}=X;class ${constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let Z=this,Y=x.series;this.eventsToUnbind=[],Z.chart=x,Z.options=Z.setOptions(N);let he=Z.options,ge=!1!==he.visible;Z.linkedSeries=[],Z.bindAxes(),o(Z,{name:he.name,state:"",visible:ge,selected:!0===he.selected}),P(this,he);let _e=he.events;(_e&&_e.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),Z.getColor(),Z.getSymbol(),Z.parallelArrays.forEach(function(Te){Z[Te+"Data"]||(Z[Te+"Data"]=[])}),Z.isCartesian&&(x.hasCartesianSeries=!0),Y.length&&(R=Y[Y.length-1]),Z._i=K(R&&R._i,-1)+1,Z.opacity=Z.options.opacity,x.orderItems("series",C(this,Y)),he.dataSorting&&he.dataSorting.enabled?Z.setDataSortingOptions():Z.points||Z.data||Z.setData(he.data,!1),r(this,"afterInit")}is(x){return I[x]&&this instanceof I[x]}bindAxes(){let x,N=this,R=N.options,Z=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(Y){Z[Y].forEach(function(he){x=he.options,(K(R[Y],0)===he.index||void 0!==R[Y]&&R[Y]===x.id)&&(C(N,he.series),N[Y]=he,he.isDirty=!0)}),N[Y]||N.optionalAxis===Y||v(18,!0,Z)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let Z=x.series,Y=p(N)?function(he){let ge="y"===he&&Z.toYData?Z.toYData(x):x[he];Z[he+"Data"][N]=ge}:function(he){Array.prototype[N].apply(Z[he+"Data"],R)};Z.parallelArrays.forEach(Y)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,Z=N.marker||{};return R&&(Z.enabled&&!R.enabled||Z.symbol!==R.symbol||Z.height!==R.height||Z.width!==R.width)}autoIncrement(x){let ge,_e,N=this.options,R=N.pointIntervalUnit,Z=N.relativeXValue,Y=this.chart.time,he=this.xIncrement;return he=K(he,N.pointStart,0),this.pointInterval=_e=K(this.pointInterval,N.pointInterval,1),Z&&p(x)&&(_e*=x),R&&(ge=new Y.Date(he),"day"===R?Y.set("Date",ge,Y.get("Date",ge)+_e):"month"===R?Y.set("Month",ge,Y.get("Month",ge)+_e):"year"===R&&Y.set("FullYear",ge,Y.get("FullYear",ge)+_e),_e=ge.getTime()-he),Z&&p(x)?he+_e:(this.xIncrement=he+_e,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,Z=R.options.plotOptions,Y=R.userOptions||{},he=B(x),ge=R.styledMode,_e={plotOptions:Z,userOptions:he};r(this,"setOptions",_e);let Te=_e.plotOptions[this.type],Oe=Y.plotOptions||{},De=Oe.series||{},Be=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=_e.userOptions;let ee=B(Te,Z.series,oe,he);this.tooltipOptions=B(F.tooltip,F.plotOptions.series?.tooltip,Be?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=K(he.stickyTracking,oe.stickyTracking,De.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Te.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let be=this.zones=(ee.zones||[]).map(xe=>({...xe}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},ge||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),be.push(N)),be.length&&O(be[be.length-1].value)&&be.push(ge?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return K(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let Z,Y,he=this.chart,ge=`${x}Index`,_e=`${x}Counter`,Te=R?.length||he.options.chart.colorCount;!N&&(O(Y=K("color"===x?this.options.colorIndex:void 0,this[ge]))?Z=Y:(he.series.length||(he[_e]=0),Z=he[_e]%Te,he[_e]+=1),R&&(N=R[Z])),void 0!==Z&&(this[ge]=Z),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,Z,Y,he=x.id,ge=x.x,_e=this.points,Te=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof pe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=De=>!De.touched&&De.index===x.index;if(Te&&Te.matchByName?Oe=De=>!De.touched&&De.name===x.name:this.options.relativeXValue&&(Oe=De=>!De.touched&&De.options.x===x.x),!(R=n(_e,Oe)))return}return R&&void 0!==(Y=R&&R.index)&&(Z=!0),void 0===Y&&p(ge)&&(Y=this.xData.indexOf(ge,N)),-1!==Y&&void 0!==Y&&this.cropped&&(Y=Y>=this.cropStart?Y-this.cropStart:Y),!Z&&p(Y)&&_e[Y]&&_e[Y].touched&&(Y=void 0),Y}updateData(x,N){let Te,Oe,De,Be,R=this.options,Z=R.dataSorting,Y=this.points,he=[],ge=this.requireSorting,_e=x.length===Y.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,be){let xe,Ie=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Ie.id||p(Ie.x)?(-1===(xe=this.findPointIndex(Ie,Be))||void 0===xe?he.push(ee):Y[xe]&&ee!==R.data[xe]?(Y[xe].update(ee,!1,null,!1),Y[xe].touched=!0,ge&&(Be=xe+1)):Y[xe]&&(Y[xe].touched=!0),(!_e||be!==xe||Z&&Z.enabled||this.hasDerivedData)&&(Te=!0)):he.push(ee)},this),Te)for(Oe=Y.length;Oe--;)(De=Y[Oe])&&!De.touched&&De.remove&&De.remove(!1,N);else!_e||Z&&Z.enabled?oe=!1:(x.forEach(function(ee,be){ee===Y[be].y||Y[be].destroyed||Y[be].update(ee,!1,null,!1)}),he.length=0);return Y.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,Z){let we,Ee,Me,qe,Y=this,he=Y.points,ge=he&&he.length||0,_e=Y.options,Te=Y.chart,Oe=_e.dataSorting,De=Y.xAxis,Be=_e.turboThreshold,oe=this.xData,ee=this.yData,be=Y.pointArrayMap,xe=be&&be.length,Ie=_e.keys,Xe=0,Je=1,lt=null;Te.options.chart.allowMutatingData||(_e.data&&delete Y.options.data,Y.userOptions.data&&delete Y.userOptions.data,qe=B(!0,x));let st=(x=qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Te.options.chart.allowMutatingData&&!1!==Z&&st&&ge&&!Y.cropped&&!Y.hasGroupedData&&Y.visible&&!Y.boosted&&(Me=this.updateData(x,R)),!Me){if(Y.xIncrement=null,Y.colorCounter=0,this.parallelArrays.forEach(function(Tt){Y[Tt+"Data"].length=0}),Be&&st>Be)if(p(lt=Y.getFirstValidPoint(x)))for(we=0;we=0?Xe:0,Je=Je>=0?Je:1),1===lt.length&&(Je=0),Xe===Je)for(we=0;we{let ge=d(R,Y),_e=d(R,he);return _ege?1:0}).forEach(function(Y,he){Y.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(Y){let he=Y.options,ge=he.data;he.dataSorting&&he.dataSorting.enabled||!ge||(ge.forEach(function(_e,Te){ge[Te]=Z(Y,_e),x[Te]&&(ge[Te].x=x[Te].x,ge[Te].index=Te)}),Y.setData(ge,!1))}),x}getProcessedData(x){let Te,Oe,Be,oe,ee,N=this,R=N.xAxis,Z=N.options,Y=Z.cropThreshold,he=x||N.getExtremesFromAll||Z.getExtremesFromAll,ge=R?.logarithmic,_e=N.isCartesian,De=0,be=N.xData,xe=N.yData,Ie=!1,we=be.length;R&&(oe=(Be=R.getExtremes()).min,ee=Be.max,Ie=!(!R.categories||R.names.length)),_e&&N.sorted&&!he&&(!Y||we>Y||N.forceCrop)&&(be[we-1]ee?(be=[],xe=[]):N.yData&&(be[0]ee)&&(be=(Te=this.cropData(N.xData,N.yData,oe,ee)).xData,xe=Te.yData,De=Te.start,Oe=!0));let Ee=l([ge?be.map(ge.log2lin):be],()=>N.requireSorting&&!Ie&&v(15,!1,N.chart));return{xData:be,yData:xe,cropped:Oe,cropStart:De,closestPointRange:Ee}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,Z){let he,ge,Y=x.length,_e=0,Te=Y;for(he=0;he=R){_e=Math.max(0,he-1);break}for(ge=he;geZ){Te=ge+1;break}return{xData:x.slice(_e,Te),yData:N.slice(_e,Te),start:_e,end:Te}}generatePoints(){let Be,oe,ee,be,x=this.options,N=this.processedData||x.data,R=this.processedXData,Z=this.processedYData,Y=this.pointClass,he=R.length,ge=this.cropStart||0,_e=this.hasGroupedData,Te=x.keys,Oe=[],De=x.dataGrouping&&x.dataGrouping.groupAll?ge:0,xe=this.data;if(!xe&&!_e){let Ie=[];Ie.length=N.length,xe=this.data=Ie}for(Te&&_e&&(this.options.keys=!1),be=0;be0:oe.length)||!_e),De=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(Y[ee+ge]||Be)>=xe&&(Y[ee-ge]||Be)<=Ie,Oe&&De)if(be=oe.length)for(;be--;)p(oe[be])&&(he[we++]=oe[be]);else he[we++]=oe;let Me={activeYData:he,dataMin:m(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Me}),Me}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,Z=null;for(;null===Z&&R1)&&(he.step=function(Be,oe){De&&De.apply(oe,arguments),"width"===oe.prop&&Te?.element&&Te.attr(Y?"height":"width",Be+99)}),_e.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,Z,Y,he,ge,_e,Te=this.chart,Oe=Te.styledMode,{colorAxis:De,options:Be}=this,oe=Be.marker,ee=this[this.specialGroup||"markerGroup"],be=this.xAxis,xe=K(oe.enabled,!be||!!be.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=Z=Te.renderer.symbol(Ie,_e.x,_e.y,_e.width,_e.height,ge?he:oe).add(ee),this.enabledDataSorting&&Te.hasRendered&&(Z.attr({x:R.startXPos}),Y="animate")),Z&&"animate"===Y&&Z[we?"show":"hide"](we).animate(_e),Z){let Ee=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?De&&Z.css({fill:Ee.fill}):Z[Y](Ee)}Z&&Z.addClass(R.getClassName(),!0)}else Z&&(R.graphic=Z.destroy())}markerAttribs(x,N){let _e,Te,R=this.options,Z=R.marker,Y=x.marker||{},he=Y.symbol||Z.symbol,ge={},Oe=K(Y.radius,Z&&Z.radius);N&&(_e=Z.states[N],Oe=K((Te=Y.states&&Y.states[N])&&Te.radius,_e&&_e.radius,Oe&&Oe+(_e&&_e.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let De=x.pos();return p(Oe)&&De&&(ge.x=De[0]-Oe,ge.y=De[1]-Oe,R.crisp&&(ge.x=Math.floor(ge.x))),Oe&&(ge.width=ge.height=2*Oe),ge}pointAttribs(x,N){let Te,Oe,Be,oe,R=this.options.marker,Z=x&&x.options,Y=Z&&Z.marker||{},he=Z&&Z.color,ge=x&&x.color,_e=x&&x.zone&&x.zone.color,De=this.color,ee=K(Y.lineWidth,R.lineWidth),be=1;return De=he||_e||ge||De,Be=Y.fillColor||R.fillColor||De,oe=Y.lineColor||R.lineColor||De,Te=R.states[N=N||"normal"]||{},ee=K((Oe=Y.states&&Y.states[N]||{}).lineWidth,Te.lineWidth,ee+K(Oe.lineWidthPlus,Te.lineWidthPlus,0)),Be=Oe.fillColor||Te.fillColor||Be,{stroke:oe=Oe.lineColor||Te.lineColor||oe,"stroke-width":ee,fill:Be,opacity:be=K(Oe.opacity,Te.opacity,be)}}destroy(x){let N,R,Z,Y=this,he=Y.chart,ge=/AppleWebKit\/533/.test(A.navigator.userAgent),_e=Y.data||[];for(r(Y,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(Y.axisTypes||[]).forEach(function(Te){(Z=Y[Te])&&Z.series&&(g(Z.series,Y),Z.isDirty=Z.forceRedraw=!0)}),Y.legendItem&&Y.chart.legend.destroyItem(Y),N=_e.length;N--;)(R=_e[N])&&R.destroy&&R.destroy();for(let Te of Y.zones)f(Te,void 0,!0);X.clearTimeout(Y.animationTimeout),z(Y,function(Te,Oe){Te instanceof te&&!Te.survive&&Te[ge&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===Y&&(he.hoverSeries=void 0),g(he.series,Y),he.orderItems("series"),z(Y,function(Te,Oe){x&&"hcEvents"===Oe||delete Y[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:Z,points:Y,xAxis:he,yAxis:ge,zoneAxis:_e}=this,{inverted:Te,renderer:Oe}=N,De=this[`${_e}Axis`],{isXAxis:Be,len:oe=0}=De||{},ee=(R?.strokeWidth()||0)/2+1,be=(xe,Ie=0,we=0)=>{Te&&(we=oe-we);let{translated:Ee=0,lineClip:Me}=xe,Xe=we-Ee;Me?.push(["L",Ie,Math.abs(Xe){Me.forEach((Xe,Je)=>{("M"===Xe[0]||"L"===Xe[0])&&(Me[Je]=[Xe[0],Be?oe-Xe[1]:Xe[1],Be?Xe[2]:oe-Xe[2]])})};if(Z.forEach(Me=>{Me.lineClip=[],Me.translated=w(De.toPixels(K(Me.value,xe),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===_e&&Y.length{let Xe=Me.lineClip||[],Je=Math.round(Me.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:qe}=Me,st=0,Tt=0,pt=he.len,ht=ge.len;Be?(st=Je,pt=Ee):(Tt=Je,ht=Ee);let Pt=[["M",st,Tt],["L",pt,Tt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Pt[0],...Xe,Pt[1],Pt[2],...we,Pt[3],Pt[4]];we=Xe.reverse(),Ee=Je,Te&&(Ie(Gt),x&&Ie(Pt)),lt?(lt.animate({d:Gt}),qe?.animate({d:Pt})):(lt=Me.clip=Oe.path(Gt),x&&(qe=Me.simpleClip=Oe.path(Pt))),R&&Me.graph?.clip(lt),x&&Me.area?.clip(qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,Z,Y){let he=this[x],ge=!he,_e={visibility:R,zIndex:Z||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(_e.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(Y)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(_e)[ge?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,Z=this.chart,Y=Z.inverted&&!Z.polar&&N&&this.invertible&&"series"===x;return Z.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:Z.plotLeft,translateY:R?R.top:Z.plotTop,rotation:Y?90:0,rotationOriginX:Y?(N.len-R.len)/2:0,rotationOriginY:Y?(N.len+R.len)/2:0,scaleX:Y?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:Z}=x,Y=E(R.animation),he=x.visible?"inherit":"hidden",ge=R.zIndex,_e=N.seriesGroup,Te=x.finishedAnimating?0:Y.duration;r(this,"render"),x.plotGroup("group","series",he,ge,_e),x.markerGroup=x.plotGroup("markerGroup","markers",he,ge,_e),!1!==R.clip&&x.setClip(),Te&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Te&&x.animate?.(),Z||(Te&&Y.defer&&(Te+=Y.defer),x.animationTimeout=S(()=>{x.afterAnimate()},Te||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:Z}=this,Y=this.chart.inverted;return this.searchKDTree({clientX:Y?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:Y?Z.len-x.chartX+Z.pos:x.chartY-Z.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,S(function(){N.kdTree=function Z(Y,he,ge){let _e,Te,Oe=Y?.length;if(Oe)return _e=N.kdAxisArray[he%ge],Y.sort((De,Be)=>(De[_e]||0)-(Be[_e]||0)),{point:Y[Te=Math.floor(Oe/2)],left:Z(Y.slice(0,Te),he+1,ge),right:Z(Y.slice(Te+1),he+1,ge)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let Z=this,[Y,he]=this.kdAxisArray,ge=N?"distX":"dist",_e=(Z.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Te=!!Z.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(De,Be,oe,ee){let Ie,we,be=Be.point,xe=Z.kdAxisArray[oe%ee],Ee=be;!function(lt,qe){let st=lt[Y],Tt=qe[Y],pt=O(st)&&O(Tt)?st-Tt:null,ht=lt[he],Pt=qe[he],Gt=O(ht)&&O(Pt)?ht-Pt:0,ti=Te&&qe.marker?.radius||0;qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(De,be);let Me=(De[xe]||0)-(be[xe]||0)+(Te&&be.marker?.radius||0),Xe=Me<0?"left":"right",Je=Me<0?"right":"left";return Be[Xe]&&(Ee=(Ie=Oe(De,Be[Xe],oe+1,ee))[ge]=0&&he<=(Z?Z.len:N.plotHeight)&&Y>=0&&Y<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,Z=[].concat((R?x.areaPath:x.graphPath)||[]),Y=x.chart,he=Y.pointer,ge=Y.renderer,_e=Y.options.tooltip?.snap||0,Te=()=>{N.enableMouseTracking&&Y.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",De=x.tracker;De?De.attr({d:Z}):x.graph&&(x.tracker=De=ge.path(Z).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),Y.styledMode||De.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*_e)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Be=>{Be&&(Be.addClass("highcharts-tracker").on("mouseover",Te).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!Y.styledMode&&Be.css({cursor:N.cursor}),Be.on("touchstart",Te))})),r(this,"afterDrawTracker")}addPoint(x,N,R,Z,Y){let he,ge,_e=this.options,Te=this.data,Oe=this.chart,De=this.xAxis,Be=De&&De.hasNames&&De.names,oe=_e.data,ee=this.xData;N=K(N,!0);let be={series:this};this.pointClass.prototype.applyOptions.apply(be,[x]);let xe=be.x;if(ge=ee.length,this.requireSorting&&xexe;)ge--;this.updateParallelArrays(be,"splice",[ge,0,0]),this.updateParallelArrays(be,ge),Be&&be.name&&(Be[xe]=be.name),oe.splice(ge,0,x),(he||this.processedData)&&(this.data.splice(ge,0,null),this.processData()),"point"===_e.legendType&&this.generatePoints(),R&&(Te[0]&&Te[0].remove?Te[0].remove(!1):(Te.shift(),this.updateParallelArrays(be,"shift"),oe.shift())),!1!==Y&&r(this,"addPoint",{point:be}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(Z)}removePoint(x,N,R){let Z=this,Y=Z.data,he=Y[x],ge=Z.points,_e=Z.chart,Te=function(){ge&&ge.length===Y.length&&ge.splice(x,1),Y.splice(x,1),Z.options.data.splice(x,1),Z.updateParallelArrays(he||{series:Z},"splice",[x,1]),he&&he.destroy(),Z.isDirty=!0,Z.isDirtyData=!0,N&&_e.redraw()};j(R,_e),N=K(N,!0),he?he.firePointEvent("remove",null,Te):Te()}remove(x,N,R,Z){let Y=this,he=Y.chart;function ge(){Y.destroy(Z),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(Z),K(x,!0)&&he.redraw(N)}!1!==R?r(Y,"remove",null,ge):ge()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let De,Be,R=this,Z=R.chart,Y=R.userOptions,he=R.initialType||R.type,ge=Z.options.plotOptions,_e=I[he].prototype,Te=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||Y.type||Z.options.chart.type,be=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Ie=>R.hasOptionChanged(Ie)));ee=ee||he,be&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Ie){oe.push(Ie+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=B(Y,{index:void 0===Y.index?R.index:Y.index,pointStart:ge?.series?.pointStart??Y.pointStart??R.xData?.[0]},!be&&{data:R.options.data},x,Te),be&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Ie){oe[Ie]=R[Ie],delete R[Ie]});let xe=!1;if(I[ee]){if(xe=ee!==R.type,R.remove(!1,!1,!1,!0),xe)if(Z.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,I[ee].prototype);else{let Ie=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Be in _e)R[Be]=void 0;o(R,I[ee].prototype),Ie?R.hcEvents=Ie:delete R.hcEvents}}else v(17,!0,Z,{missingModuleFor:ee});if(oe.forEach(function(Ie){R[Ie]=oe[Ie]}),R.init(Z,x),be&&this.points)for(let Ie of(!1===(De=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(De,Y)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Ie&&Ie.series&&(Ie.resolveColor(),Object.keys(Oe).length&&Ie.destroyElements(Oe),!1===De.showInLegend&&Ie.legendItem&&Z.legend.destroyItem(Ie));R.initialType=he,Z.linkSeries(),Z.setSortedData(),xe&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),K(N,!0)&&Z.redraw(!!be&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],Z=this.chart.options.plotOptions,Y=this.userOptions[x],he=K(Z?.[this.type]?.[x],Z?.series?.[x]);return Y&&!O(he)?R!==Y:R!==K(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,Z=N.hoverPoint;N.hoverSeries=null,Z&&Z.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(Y){Y.setState("",!0)})}setState(x,N){let R=this,Z=R.options,Y=R.graph,he=Z.inactiveOtherPoints,ge=Z.states,_e=K(ge[x||"normal"]&&ge[x||"normal"].animation,R.chart.options.chart.animation),Te=Z.lineWidth,Oe=Z.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(De){De&&(R.state&&De.removeClass("highcharts-series-"+R.state),x&&De.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(ge[x]&&!1===ge[x].enabled)return;if(x&&(Te=ge[x].lineWidth||Te+(ge[x].lineWidthPlus||0),Oe=K(ge[x].opacity,Oe)),Y&&!Y.dashstyle&&p(Te))for(let De of[Y,...this.zones.map(Be=>Be.graph)])De?.animate({"stroke-width":Te},_e);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(De){De&&De.animate({opacity:Oe},_e)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,Z=R.chart,Y=Z.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let ge=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_e=>{R[_e]?.[ge]()}),(Z.hoverSeries===R||Z.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&Z.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&Z.series.forEach(_e=>{_e.options.stacking&&_e.visible&&(_e.isDirty=!0)}),R.linkedSeries.forEach(_e=>{_e.setVisible(x,!1)}),Y&&(Z.isDirtyBox=!0),r(R,ge),!1!==N&&Z.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return $.defaultOptions=ue,$.types=J.seriesTypes,$.registerType=J.registerSeriesType,o($.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),J.series=$,$}),Le(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P){let{animate:D,animObject:A,setAnimation:I}=q,{defaultOptions:_,defaultTime:m}=re,{numberFormat:w}=ve,{registerEventOptions:G}=le,{charts:O,doc:f,marginNames:a,svg:g,win:v}=pe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:T,error:B,extend:z,find:K,fireEvent:U,getStyle:se,isArray:S,isNumber:$,isObject:H,isString:x,merge:N,objectEach:R,pick:Z,pInt:Y,relativeLength:he,removeEvent:ge,splat:_e,syncTimeout:Te,uniqueKey:Oe}=j;class De{static chart(oe,ee,be){return new De(oe,ee,be)}constructor(oe,ee,be){this.sharedClips={};let xe=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=xe.shift()),this.init(xe[0],xe[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:Z(oe.zoomType,ee.type),key:Z(oe.zoomKey,ee.key),pinchType:Z(oe.pinchType,ee.pinchType),singleTouch:Z(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let be=N(_,oe),xe=be.chart;this.userOptions=z({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=be,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new E(oe.time):pe.time,this.numberFormatter=xe.numberFormatter||w,this.styledMode=xe.styledMode,this.hasCartesianSeries=xe.showAxes,this.index=O.length,O.push(this),pe.chartCount++,G(this,xe),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let be=oe.type||this.options.chart.type,xe=o[be];xe||B(17,!0,this,{missingModuleFor:be});let Ie=new xe;return"function"==typeof Ie.init&&Ie.init(this,oe),Ie}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let be=this[oe],xe=this.options[oe]=_e(this.options[oe]).slice(),Ie=this.userOptions[oe]=this.userOptions[oe]?_e(this.userOptions[oe]).slice():[];if(this.hasRendered&&(xe.splice(ee),Ie.splice(ee)),be)for(let we=ee,Ee=be.length;we=Math.max(Xe+we,ht.pos)&&Pt<=Math.min(Xe+we+qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!be.ignoreY&&pt.isInsidePlot){let ht=!xe&&be.axis&&!be.axis.isXAxis&&be.axis||lt&&(xe?lt.xAxis:lt.yAxis)||{pos:Ee,len:1/0},Pt=be.paneCoordinates?ht.pos+Tt:Ee+Tt;Pt>=Math.max(Je+Ee,ht.pos)&&Pt<=Math.min(Je+Ee+qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Je,lt,qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],be=this.series,xe=this.pointer,Ie=this.legend,we=this.userOptions.legend,Ee=this.renderer,Me=Ee.isHidden(),Xe=[],st=this.isDirtyBox,Tt=this.isDirtyLegend;for(Ee.rootFontSize=Ee.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),I(!!this.hasRendered&&oe,this),Me&&this.temporaryDisplay(),this.layOutTitles(!1),qe=be.length;qe--;)if(((pt=be[qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Je=!0;break}if(Je)for(qe=be.length;qe--;)(pt=be[qe]).options.stacking&&(pt.isDirty=!0);be.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),Tt=!0):we&&(we.labelFormatter||we.labelFormat)&&(Tt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),Tt&&Ie&&Ie.options.enabled&&(Ie.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Pt=ht.min+","+ht.max;ht.extKey!==Pt&&(ht.extKey=Pt,Xe.push(function(){U(ht,"afterSetExtremes",z(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),be.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),xe&&xe.reset(!0),Ee.draw(),U(this,"redraw"),U(this,"render"),Me&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function be(Ie){return Ie.id===oe||Ie.options&&Ie.options.id===oe}let xe=K(this.axes,be)||K(this.series,be);for(let Ie=0;!xe&&Ie(ee.getPointsCollection().forEach(be=>{Z(be.selectedStaging,be.selected)&&oe.push(be)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,be){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(be)}applyDescription(oe,ee){let be=this,xe=this.options[oe]=N(this.options[oe],ee),Ie=this[oe];Ie&&ee&&(this[oe]=Ie=Ie.destroy()),xe&&!Ie&&((Ie=this.renderer.text(xe.text,0,0,xe.useHTML).attr({align:xe.align,class:"highcharts-"+oe,zIndex:xe.zIndex||4}).add()).update=function(we,Ee){be.applyDescription(oe,we),be.layOutTitles(Ee)},this.styledMode||Ie.css(z("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},xe.style)),this[oe]=Ie)}layOutTitles(oe=!0){let ee=[0,0,0],be=this.renderer,xe=this.spacingBox;["title","subtitle","caption"].forEach(function(we){let Ee=this[we],Me=this.options[we],Xe=Me.verticalAlign||"top",Je="title"===we?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Ee){Ee.css({width:(Me.width||xe.width+(Me.widthAdjust||0))+"px"});let lt=be.fontMetrics(Ee).b,qe=Math.round(Ee.getBBox(Me.useHTML).height);Ee.align(z({y:"bottom"===Xe?lt:Je+lt,height:qe},Me),!1,"spacingBox"),Me.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Ie=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Ie&&(this.isDirtyBox=this.isDirtyLegend=Ie,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,be=oe.height,xe=this.getContainerBox();this.chartWidth=Math.max(0,ee||xe.width||600),this.chartHeight=Math.max(0,he(be,this.chartWidth)||(xe.height>1?xe.height:400)),this.containerBox=xe}temporaryDisplay(oe){let be,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},be={display:"block",overflow:"hidden"},ee!==this.renderTo&&(be.height=0),d(ee,be),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Ie,oe=this.options,ee=oe.chart,be="data-highcharts-chart",xe=Oe(),we=this.renderTo;we||(this.renderTo=we=ee.renderTo),x(we)&&(this.renderTo=we=f.getElementById(we)),we||B(13,!0,this);let Ee=Y(r(we,be));$(Ee)&&O[Ee]&&O[Ee].hasRendered&&O[Ee].destroy(),r(we,be,this.index),we.innerHTML=F.emptyHTML,ee.skipClone||we.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Me=this.chartHeight,Xe=this.chartWidth;d(we,{overflow:"hidden"}),this.styledMode||(Ie=z({position:"relative",overflow:"hidden",width:Xe+"px",height:Me+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Je=l("div",{id:xe},Ie,we);this.container=Je,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Je,{width:Z(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Je.style.cursor;let lt=ee.renderer||!g?ue.getRendererType(ee.renderer):X;if(this.renderer=new lt(Je,Xe,Me,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),I(void 0,this),this.setClassName(ee.className),this.styledMode)for(let qe in oe.defs)this.renderer.definition(oe.defs[qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:be,titleOffset:xe}=this;this.resetMargins(),xe[0]&&!C(be[0])&&(this.plotTop=Math.max(this.plotTop,xe[0]+ee[0])),xe[2]&&!C(be[2])&&(this.marginBottom=Math.max(this.marginBottom,xe[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(be,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],be=oe.colorAxis,xe=oe.margin,Ie=function(we){we.forEach(function(Ee){Ee.visible&&Ee.getOffset()})};oe.hasCartesianSeries?Ie(oe.axes):be&&be.length&&Ie(be),a.forEach(function(we,Ee){C(xe[Ee])||(oe[we]+=ee[Ee])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,be=ee.containerBox,xe=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&be&&xe.width&&((xe.width!==be.width||xe.height!==be.height)&&(j.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Te(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=xe)}setReflow(){let oe=this,ee=be=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(be)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let be=n(v,"resize",ee);n(this,"destroy",be)}}setSize(oe,ee,be){let xe=this,Ie=xe.renderer;xe.isResizing+=1,I(be,xe);let we=Ie.globalAnimation;xe.oldChartHeight=xe.chartHeight,xe.oldChartWidth=xe.chartWidth,void 0!==oe&&(xe.options.chart.width=oe),void 0!==ee&&(xe.options.chart.height=ee),xe.getChartSize();let{chartWidth:Ee,chartHeight:Me,scrollablePixelsX:Xe=0,scrollablePixelsY:Je=0}=xe;(xe.isDirtyBox||Ee!==xe.oldChartWidth||Me!==xe.oldChartHeight)&&(xe.styledMode||(we?D:d)(xe.container,{width:`${Ee+Xe}px`,height:`${Me+Je}px`},we),xe.setChartSize(!0),Ie.setSize(Ee,Me,we),xe.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),xe.isDirtyLegend=!0,xe.isDirtyBox=!0,xe.layOutTitles(),xe.getMargins(),xe.redraw(we),xe.oldChartHeight=void 0,U(xe,"resize"),setTimeout(()=>{xe&&U(xe,"endResize",void 0,()=>{xe.isResizing-=1})},A(we).duration))}setChartSize(oe){let ee,be,xe,Ie,we=this.inverted,Ee=this.renderer,Me=this.chartWidth,Xe=this.chartHeight,Je=this.options.chart,lt=this.spacing,qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=be=Math.round(this.plotTop),this.plotWidth=xe=Math.max(0,Math.round(Me-ee-this.marginRight)),this.plotHeight=Ie=Math.max(0,Math.round(Xe-be-this.marginBottom)),this.plotSizeX=we?Ie:xe,this.plotSizeY=we?xe:Ie,this.plotBorderWidth=Je.plotBorderWidth||0,this.spacingBox=Ee.spacingBox={x:lt[3],y:lt[0],width:Me-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Ee.plotBox={x:ee,y:be,width:xe,height:Ie};let st=2*Math.floor(this.plotBorderWidth/2),Tt=Math.ceil(Math.max(st,qe[3])/2),pt=Math.ceil(Math.max(st,qe[0])/2);this.clipBox={x:Tt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,qe[1])/2-Tt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Ee.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(be){let xe=ee[be],Ie=H(xe)?xe:[xe,xe,xe,xe];["Top","Right","Bottom","Left"].forEach(function(we,Ee){oe[be][Ee]=Z(ee[be+we],Ie[Ee])})}),a.forEach(function(be,xe){oe[be]=Z(oe.margin[xe],oe.spacing[xe])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,It,xt,oe=this.options.chart,ee=this.renderer,be=this.chartWidth,xe=this.chartHeight,Ie=this.styledMode,we=this.plotBGImage,Ee=oe.backgroundColor,Me=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Je=this.plotLeft,lt=this.plotTop,qe=this.plotWidth,st=this.plotHeight,Tt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Pt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Pt||(this.chartBackground=Pt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Ie?Dt=It=Pt.strokeWidth():(It=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),xt={fill:Ee||"none"},(Dt||Pt["stroke-width"])&&(xt.stroke=oe.borderColor,xt["stroke-width"]=Dt),Pt.attr(xt).shadow(oe.shadow)),Pt[wt]({x:It/2,y:It/2,width:be-It-Dt%2,height:xe-It-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](Tt),!Ie&&(Gt.attr({fill:Me||"none"}).shadow(oe.plotShadow),Xe&&(we?(Xe!==we.attr("href")&&we.attr("href",Xe),we.animate(Tt)):this.plotBGImage=ee.image(Xe,Je,lt,qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Ie||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Je,y:lt,width:qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,be,xe=this,Ie=xe.options.chart,we=xe.options.series;["inverted","angular","polar"].forEach(function(Ee){for(ee=o[Ie.type],be=Ie[Ee]||ee&&ee.prototype[Ee],oe=we&&we.length;!be&&oe--;)(ee=o[we[oe].type])&&ee.prototype[Ee]&&(be=!0);xe[Ee]=be})}linkSeries(oe){let ee=this,be=ee.series;be.forEach(function(xe){xe.linkedSeries.length=0}),be.forEach(function(xe){let{linkedTo:Ie}=xe.options;if(x(Ie)){let we;(we=":previous"===Ie?ee.series[xe.index-1]:ee.get(Ie))&&we.linkedParent!==xe&&(we.linkedSeries.push(xe),xe.linkedParent=we,we.enabledDataSorting&&xe.setDataSortingOptions(),xe.visible=Z(xe.options.visible,we.options.visible,xe.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Me,oe=this.axes,ee=this.colorAxis,be=this.renderer,xe=this.options.chart.axisLayoutRuns||2,Ie=Je=>{Je.forEach(lt=>{lt.visible&<.render()})},we=0,Ee=!0,Xe=0;for(let Je of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Je,{labels:qe}=lt;if(Je.horiz&&Je.visible&&qe.enabled&&Je.series.length&&"colorAxis"!==Je.coll&&!this.polar){we=lt.tickLength,Je.createGroups();let st=new P(Je,0,"",!0),Tt=st.createLabel("x",qe);if(st.destroy(),Tt&&Z(qe.reserveSpace,!$(lt.crossing))&&(we=Tt.getBBox().height+qe.distance+Math.max(lt.offset||0,0)),we){Tt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-we,0);(Ee||Me||xe>1)&&Xe(Xe?1:1.1),Me=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Ie(oe):ee&&ee.length&&Ie(ee),this.seriesGroup||(this.seriesGroup=be.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,be=N(!0,this.options.credits,oe);be.enabled&&!this.credits&&(this.credits=this.renderer.text(be.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){be.href&&(v.location.href=be.href)}).attr({align:be.position.align,zIndex:8}),ee.styledMode||this.credits.css(be.style),this.credits.add().align(be.position),this.credits.update=function(xe){ee.credits=ee.credits.destroy(),ee.addCredits(xe)})}destroy(){let oe,ee=this,be=ee.axes,xe=ee.series,Ie=ee.container,we=Ie&&Ie.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?T(O,ee):O[ee.index]=void 0,pe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),ge(ee),oe=be.length;oe--;)be[oe]=be[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=xe.length;oe--;)xe[oe]=xe[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Ee){let Me=ee[Ee];Me&&Me.destroy&&(ee[Ee]=Me.destroy())}),Ie&&(Ie.innerHTML=F.emptyHTML,ge(Ie),we&&p(Ie)),R(ee,function(Ee,Me){delete ee[Me]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let be=S(ee.series)?ee.series:[];ee.series=[],be.forEach(function(xe){oe.initSeries(xe)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let be=this,xe="object"==typeof ee?ee:{enabled:ee,type:"x"},Ie=xe.type,we=Ie&&be[{x:"xAxis",xy:"axes",y:"yAxis"}[Ie]].filter(Me=>Me.options.panningEnabled&&!Me.options.isInternal),Ee=be.options.chart;Ee?.panning&&(Ee.panning=xe),U(this,"pan",{originalEvent:oe},()=>{be.transform({axes:we,event:oe,to:{x:oe.chartX-(be.mouseDownX||0),y:oe.chartY-(be.mouseDownY||0)},trigger:"pan"}),d(be.container,{cursor:"move"})})}transform(oe){let qe,{axes:ee=this.axes,event:be,from:xe={},reset:Ie,selection:we,to:Ee={},trigger:Me}=oe,{inverted:Xe,resetZoomButton:Je}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(Tt=>Tt.setState()),ee)){let{horiz:Tt,len:pt,minPointOffset:ht=0,options:Pt,reversed:Gt}=st,ti=Tt?"width":"height",Dt=Tt?"x":"y",It=Ee[ti]||st.len,xt=xe[ti]||st.len,wt=10>Math.abs(It)?1:It/xt,Qt=(xe[Dt]||0)+xt/2-st.pos,di=Qt-((Ee[Dt]??st.pos)+It/2-st.pos)/wt,Ni=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Ie&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Ni,vi=st.toValue(di+pt/wt,!0)-(ht*Ni||0),zi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Ie&&"yAxis"===st.coll&&!zi){for(let js of st.series){let On=js.getExtremes(js.getProcessedData(!0).yData,!0);zi??(zi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),$(On.dataMin)&&$(On.dataMax)&&(zi.dataMin=Math.min(On.dataMin,zi.dataMin),zi.dataMax=Math.max(On.dataMax,zi.dataMax))}st.allExtremes=zi}let{dataMin:gs,dataMax:Fn,min:as,max:ms}=z(st.getExtremes(),zi||{}),Ln=gs??Pt.min,fn=Fn??Pt.max,ki=vi-mi,Cs=st.categories?0:Math.min(ki,fn-Ln),Kn=Ln-Cs*(C(Pt.min)?0:Pt.minPadding),In=fn+Cs*(C(Pt.max)?0:Pt.maxPadding),Bs=st.allowZoomOutside||1===wt||"zoom"!==Me&&wt>1,qn=Math.min(Pt.min??Kn,Kn,Bs?as:Kn),Wi=Math.max(Pt.max??In,In,Bs?ms:In);(!st.isOrdinal||1!==wt||Ie)&&(mi=1&&(vi=mi+ki)),vi>Wi&&(vi=Wi,wt>=1&&(mi=vi-ki)),(Ie||st.series.length&&(mi!==as||vi!==ms)&&mi>=qn&&vi<=Wi)&&(we?we[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Me,st.setExtremes(Ie?void 0:mi,Ie?void 0:vi,!1,!1,{move:di,trigger:Me,scale:wt}),!Ie&&(mi>qn||vi{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(qe&&!Je?this.showResetZoom():!qe&&Je&&(this.resetZoomButton=Je.destroy()),this.redraw("zoom"===Me&&(this.options.chart.animation??this.pointCount<100)))),lt}}return z(De.prototype,{callbacks:[],collectionsWithInit:{xAxis:[De.prototype.addAxis,[!0]],yAxis:[De.prototype.addAxis,[!1]],series:[De.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),De}),Le(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{stop:le}=q,{composed:pe}=ne,{addEvent:ue,createElement:J,css:te,defined:X,merge:E,pushUnique:j}=ve;function F(){let A=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!A&&(this.scrollablePlotArea=A=new D(this)),A?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(I,_,m){j(pe,this.compose)&&(ue(I,"afterInit",P),ue(_,"afterSetChartSize",w=>this.afterSetSize(w.target,w)),ue(_,"render",F),ue(m,"show",P))}static afterSetSize(I,_){let m,w,G,{minWidth:O,minHeight:f}=I.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:v,renderer:o}=I;if(!o.forExport&&(O?(I.scrollablePixelsX=m=Math.max(0,O-I.chartWidth),m&&(I.scrollablePlotBox=E(I.plotBox),g.width=I.plotWidth+=m,a[v?"height":"width"]+=m,G=!0)):f&&(I.scrollablePixelsY=w=Math.max(0,f-I.chartHeight),X(w)&&(I.scrollablePlotBox=E(I.plotBox),g.height=I.plotHeight+=w,a[v?"width":"height"]+=w,G=!1)),X(G)&&!_.skipAxes))for(let n of I.axes)n.horiz===G&&(n.setAxisSize(),n.setAxisTranslation())}constructor(I){let _,m=I.options.chart,w=re.getRendererType(),G=m.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};I.scrollablePixelsX&&(f.overflowX="auto"),I.scrollablePixelsY&&(f.overflowY="auto"),this.chart=I;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},I.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),v=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(m.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new w(o,I.chartWidth,I.chartHeight,m.style);this.mask=n.path().attr({fill:m.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(I.renderTo,{overflow:"visible"}),ue(I,"afterShowResetZoom",O),ue(I,"afterApplyDrilldown",O),ue(I,"afterLayOutTitles",O),ue(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=I;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),v.appendChild(I.container)}applyFixed(){let{chart:I,fixedRenderer:_,isDirty:m,scrollingContainer:w}=this,{axisOffset:G,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:v,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=I,{scrollPositionX:d=0,scrollPositionY:C=0}=I.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(m??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(I.container),te(a,{width:`${k}px`,height:`${p}px`}),I.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),I.chartBackground?.attr({width:k,height:p}),te(w,{width:`${O}px`,height:`${f}px`}),X(m)||(w.scrollLeft=r*d,w.scrollTop=l*C);let T=o-G[0]-1,B=v-G[3]-1,z=o+g+G[2]+1,K=v+n+G[1]+1,U=v+n-r,se=o+g-l,S=[["M",0,0]];r?S=[["M",0,T],["L",v-1,T],["L",v-1,z],["L",0,z],["Z"],["M",U,T],["L",O,T],["L",O,z],["L",U,z],["Z"]]:l&&(S=[["M",B,0],["L",B,o-1],["L",K,o-1],["L",K,0],["Z"],["M",B,se],["L",B,f],["L",K,f],["L",K,se],["Z"]]),"adjustHeight"!==I.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let I,{container:_,inverted:m,scrollablePixelsX:w,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(w&&!m?I=".highcharts-yaxis":w&&m||G&&!m?I=".highcharts-xaxis":G&&m&&(I=".highcharts-yaxis"),I&&f.push(`${I}:not(.highcharts-radial-axis)`,`${I}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Le(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{format:ve}=q,{series:le}=ne,{destroyObjectProperties:pe,fireEvent:ue,isNumber:J,pick:te}=re;return class{constructor(X,E,j,F,P){let D=X.chart.inverted,A=X.reversed;this.axis=X;let I=this.isNegative=!!j!=!!A;this.options=E=E||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:E.align||(D?I?"left":"right":"center"),verticalAlign:E.verticalAlign||(D?"middle":I?"bottom":"top"),y:E.y,x:E.x},this.textAlign=E.textAlign||(D?I?"right":"left":"center")}destroy(){pe(this,this.axis)}render(X){let E=this.axis.chart,j=this.options,F=j.format,P=F?ve(F,this,E):j.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=E.renderer.label(P,null,void 0,j.shape,void 0,void 0,j.useHTML,!1,"stack-labels");let D={r:j.borderRadius||0,text:P,padding:te(j.padding,5),visibility:"hidden"};E.styledMode||(D.fill=j.backgroundColor,D.stroke=j.borderColor,D["stroke-width"]=j.borderWidth,this.label.css(j.style||{})),this.label.attr(D),this.label.added||this.label.add(X)}this.label.labelrank=E.plotSizeY,ue(this,"afterRender")}setOffset(X,E,j,F,P,D){let{alignOptions:A,axis:I,label:_,options:m,textAlign:w}=this,G=I.chart,O=this.getStackBox({xOffset:X,width:E,boxBottom:j,boxTop:F,defaultX:P,xAxis:D}),{verticalAlign:f}=A;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,v="justify"===te(m.overflow,"justify");A.x=m.x||0,A.y=m.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:w});O.x-=n,O.y-=r,_.align(A,!1,O),(o=G.isInsidePlot(_.alignAttr.x+A.x+n,_.alignAttr.y+A.y+r))||(v=!1),v&&le.prototype.justifyDataLabel.call(I,_,A,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:m.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[m.textAlign||"center"],rotationOriginY:a.height/2}),te(!v&&m.crop,!0)&&(o=J(_.x)&&J(_.y)&&G.isInsidePlot(_.x-g+(_.width||0),_.y)&&G.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}ue(this,"afterSetOffset",{xOffset:X,width:E})}adjustStackPosition({labelBox:X,verticalAlign:E,textAlign:j}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:X.width/2+X.width/2*F[j],y:X.height/2*F[E]}}getStackBox(X){let E=this.axis,j=E.chart,{boxTop:F,defaultX:P,xOffset:D,width:A,boxBottom:I}=X,_=E.stacking.usePercentage?100:te(F,this.total,0),m=E.toPixels(_),w=X.xAxis||j.xAxis[0],G=te(P,w.translate(this.x))+D,O=Math.abs(m-E.toPixels(I||J(E.min)&&E.logarithmic&&E.logarithmic.lin2log(E.min)||0)),a=this.isNegative;return j.inverted?{x:(a?m:m-O)-j.plotLeft,y:w.height-G-A,width:O,height:A}:{x:G+w.transB-j.plotLeft,y:(a?m-O:m)-j.plotTop,width:A,height:O}}}}),Le(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{getDeferredAnimation:ue}=q,{series:{prototype:J}}=re,{addEvent:te,correctFloat:X,defined:E,destroyObjectProperties:j,fireEvent:F,isArray:P,isNumber:D,objectEach:A,pick:I}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,I(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function m(){let o=this.stacking;if(o){let n=o.stacks;A(n,(r,l)=>{j(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function w(){this.stacking||(this.stacking=new v(this))}function G(o,n,r,l){return!E(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(T=>{let z,K,U,B=C.length;for(;B--;)z=C[B],o=n.getStackIndicator(o,z,n.index,T),K=d[T]?.[z],(U=K?.points[o.key||""])&&p.call(n,U,K,B)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=X(o[0]*l),o[1]=X(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,T,B,z,K=n||this.options.stacking;if(!K||!this.reserveSpace()||({group:"xAxis"}[K]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,S=[],$=se.length,H=this.options,x=H.threshold||0,N=H.startFromThreshold?x:0,R=H.stack,Z=n?`${this.type},${K}`:this.stackKey||"",Y="-"+Z,he=this.negStacks,ge=o.stacking,_e=ge.stacks,Te=ge.oldStacks;for(ge.stacksTouched+=1,T=0;T<$;T++){B=U[T],z=se[T],p=(r=this.getStackIndicator(r,B,this.index)).key||"",_e[k=(l=he&&z<(N?0:x))?Y:Z]||(_e[k]={}),_e[k][B]||(Te[k]?.[B]?(_e[k][B]=Te[k][B],_e[k][B].total=null):_e[k][B]=new ve(o,o.options.stackLabels,!!l,B,R)),d=_e[k][B],null!==z?(d.points[p]=d.points[this.index]=[I(d.cumulative,N)],E(d.cumulative)||(d.base=p),d.touched=ge.stacksTouched,r.index>0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+B+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===K?(C=l?Z:Y,Oe=he&&_e[C]?.[B]?(C=_e[C][B]).total=Math.max(C.total||0,Oe)+Math.abs(z)||0:X(Oe+(Math.abs(z)||0))):"group"===K?(P(z)&&(z=z[0]),null!==z&&Oe++):Oe=X(Oe+(z||0)),d.cumulative="group"===K?(Oe||1)-1:X(I(d.cumulative,N)+(z||0)),d.total=Oe,null!==z&&(d.points[p].push(d.cumulative),S[T]=d.cumulative,d.hasValidPoints=!0)}"percent"===K&&(ge.usePercentage=!0),"group"!==K&&(this.stackedYData=S),ge.oldStacks={}}class v{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{A(n,r=>{r.cumulative=r.total})}))}resetStacks(){A(this.stacks,n=>{A(n,(r,l)=>{D(r.touched)&&r.touched{A(p,T=>{T.render(k)})}),k.animate({opacity:1},C)}}return(pe||(pe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",w),te(o,"destroy",m),l.getStacks=_,d.getStackIndicator=G,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},pe}),Le(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defined:ve,merge:le,isObject:pe}=re;class ue extends q{drawGraph(){let te=this.options,X=(this.gappedPath||this.getGraphPath).call(this),E=this.chart.styledMode;[this,...this.zones].forEach((j,F)=>{let P,D=j.graph,A=D?"animate":"attr",I=j.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:X.xMap,D.animate({d:X})):X.length&&(j.graph=D=this.chart.renderer.path(X).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&j.className||"")).attr({zIndex:1}).add(this.group)),D&&!E&&(P={stroke:!F&&te.lineColor||j.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},I?P.dashstyle=I:"square"!==te.linecap&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),D[A](P).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},pe(te.shadow)?te.shadow:{}))),D&&(D.startX=X.xMap,D.isArea=X.isArea)})}getGraphPath(te,X,E){let A,j=this,F=j.options,P=[],D=[],I=F.step,_=(te=te||j.points).reversed;return _&&te.reverse(),(I={right:1,center:2}[I]||I&&3)&&_&&(I=4-I),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!X&&!E))).forEach(function(m,w){let G,O=m.plotX,f=m.plotY,a=te[w-1],g=m.isNull||"number"!=typeof f;(m.leftCliff||a&&a.rightCliff)&&!E&&(A=!0),g&&!ve(X)&&w>0?A=!F.connectNulls:g&&!X?A=!0:(0===w||A?G=[["M",m.plotX,m.plotY]]:j.getPointSpline?G=[j.getPointSpline(te,m,w)]:I?(G=1===I?[["L",a.plotX,f]]:2===I?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):G=[["L",O,f]],D.push(m.x),I&&(D.push(m.x),2===I&&D.push(m.x)),P.push.apply(P,G),A=!1)}),P.xMap=D,j.graphPath=P,P}}return ue.defaultOptions=le(q.defaultOptions,{legendSymbol:"lineMarker"}),ne.registerSeriesType("line",ue),ue}),Le(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{seriesTypes:{line:re}}=q,{extend:ve,merge:le,objectEach:pe,pick:ue}=ne;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:X,options:E}=this;[this,...this.zones].forEach((j,F)=>{let P={},D=j.fillColor||E.fillColor,A=j.area,I=A?"animate":"attr";A?(A.endX=this.preventGraphAnimation?null:X.xMap,A.animate({d:X})):(P.zIndex=0,(A=j.area=this.chart.renderer.path(X).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(P.fill=D||j.color||this.color,P["fill-opacity"]=D?1:E.fillOpacity??.75,A.css({pointerEvents:this.stickyTracking?"none":"auto"})),A[I](P),A.startX=X.xMap,A.shiftUnit=E.step?2:1})}getGraphPath(X){let E,j,F,P=re.prototype.getGraphPath,D=this.options,A=D.stacking,I=this.yAxis,_=[],m=[],w=this.index,G=I.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(I.getThreshold(D.threshold)),a=ue(D.connectNulls,"percent"===A),g=function(d,C,k){let K,U,p=X[d],T=A&&G[p.x].points[w],B=p[k+"Null"]||0,z=p[k+"Cliff"]||0,se=!0;z||B?(K=(B?T[0]:T[1])+z,U=T[0]+z,se=!!B):!A&&X[C]&&X[C].isNull&&(K=U=O),void 0!==K&&(m.push({plotX:E,plotY:null===K?f:I.getThreshold(K),isNull:se,isCliff:!0}),_.push({plotX:E,plotY:null===U?f:I.getThreshold(U),doCurve:!1}))};X=X||this.points,A&&(X=this.getStackPoints(X));for(let d=0,C=X.length;df.visible);F.forEach(function(f,a){let v,o,g=0;if(I[f]&&!I[f].isNull)j.push(I[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=A[F[a+n]],d=0;if(l){let C=G;for(;C>=0&&C=0&&nO&&j>A?(j=Math.max(O,A),P=2*A-j):ja&&P>A?(P=Math.max(a,A),j=2*A-P):P=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let v=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;m(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==v.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,v=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,T=O.dataMax,B=O.barW=Math.max(C,1+2*v),z=O.translatedThreshold=n.getThreshold(r);f.inverted&&(z-=.5),a.pointPadding&&(B=Math.ceil(B)),le.prototype.translate.apply(O),O.points.forEach(function(K){let H,U=_(K.yBottom,z),se=999+Math.abs(U),S=K.plotX||0,$=E(K.plotY,-se,n.len+se),x=Math.min($,U),N=Math.max($,U)-x,R=C,Z=S+k,Y=B;l&&Math.abs(N)l?U-l:z-(H?l:0)),j(K.options.pointWidth)&&(Z-=Math.round(((R=Y=Math.ceil(K.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(Z=O.adjustForMissingColumns(Z,R,K,d)),K.barX=Z,K.pointWidth=R,K.tooltipPos=f.inverted?[E(n.len+n.pos-f.plotLeft-$,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-Z-Y/2,N]:[o.left-f.plotLeft+Z+Y/2,E($+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],K.shapeType=O.pointClass.prototype.shapeType||"roundedRect",K.shapeArgs=O.crispCol(Z,K.isNull?z:x,Y,K.isNull?0:N)}),P(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},v=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[v]||a[v]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,T=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=I(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[v]||C,p=n[o]||p,k=n.dashStyle||k,T=_(n.opacity,T));let B={fill:d,stroke:C,"stroke-width":p,opacity:T};return k&&(B.dashstyle=k),B}drawPoints(O=this.points){let f,a=this,g=this.chart,v=a.options,o=g.renderer,n=v.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function m(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,T=o.plotX,B=o.plotY,z=r.rotation||0,K=ue(T)&&ue(B)&&C.isInsidePlot(T,Math.round(B),{inverted:k,paneCoordinates:!0,series:this}),U=0===z&&"justify"===P(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&ue(T)&&(o.series.forceDL||p&&!U||K||P(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(T,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),S=o.pos();if(se&&S){let H=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:S[0],y:Math.round(S[1]),width:0,height:0},l||{}),J(r,{width:H.width,height:H.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,K,l),n.align(j(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-H.width),n.alignAttr.y+=R*(x.height-H.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(H.width-x.width)/2,y:n.alignAttr.y+(H.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,H,l,d);else if(P(r.crop,!0)){let{x:Z,y:Y}=n.alignAttr;se=C.isInsidePlot(Z,Y,{paneCoordinates:!0,series:this})&&C.isInsidePlot(Z+H.width-1,Y+H.height-1,{paneCoordinates:!0,series:this})}r.shape&&!z&&n[d?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function w(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,T=C.getContrast(E(p)&&p||E(k)&&k||"#000000"),B=g(r),{animation:z,defer:K}=B[0],U=K?le(l,z,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let S=se.dataLabels||[];A(a(B,se.dlOptions||se.options?.dataLabels)).forEach((H,x)=>{let ge,_e,Te,Oe,ee,N=H.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(be,xe){let Ie=xe.filter;if(Ie){let we=Ie.operator,Ee=be[Ie.property],Me=Ie.value;return">"===we&&Ee>Me||"<"===we&&Ee="===we&&Ee>=Me||"<="===we&&Ee<=Me||"=="===we&&Ee==Me||"==="===we&&Ee===Me||"!="===we&&Ee!=Me||"!=="===we&&Ee!==Me}return!0}(se,H),{backgroundColor:R,borderColor:Z,distance:Y,style:he={}}=H,De={},Be=S[x],oe=!Be;if(N&&(_e=P(H[se.formatPrefix+"Format"],H.format),ge=se.getLabelConfig(),Te=ue(_e)?pe(_e,ge,l):(H[se.formatPrefix+"Formatter"]||H.formatter).call(ge,H),Oe=H.rotation,!l.styledMode&&(he.color=P(H.color,he.color,E(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!ue(Y)&&H.inside||0>D(Y||0)||d.stacking?se.contrastColor:T):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),De={r:H.borderRadius||0,rotation:Oe,padding:H.padding,zIndex:1},l.styledMode||(De.fill="auto"===R?se.color:R,De.stroke="auto"===Z?se.color:Z,De["stroke-width"]=H.borderWidth),F(De,(be,xe)=>{void 0===be&&delete De[xe]})),!Be||N&&ue(Te)&&!!Be.div==!!H.useHTML&&(Be.rotation&&H.rotation||Be.rotation===H.rotation)||(Be=void 0,oe=!0),N&&ue(Te)&&(Be?De.text=Te:(Be=C.label(Te,0,0,H.shape,void 0,void 0,H.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(H.className||"")+(H.useHTML?" highcharts-tracker":"")),Be)){Be.options=H,Be.attr(De),l.styledMode||Be.css(he).shadow(H.shadow);let be=H[se.formatPrefix+"TextPath"]||H.textPath;be&&!H.useHTML&&(Be.setTextPath(se.getDataLabelPath?.(Be)||se.graphic,be),se.dataLabelPath&&!be.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Be.added||Be.add(n),r.alignDataLabel(se,Be,H,void 0,oe),Be.isActive=!0,S[x]&&S[x]!==Be&&S[x].destroy(),S[x]=Be}});let $=S.length;for(;$--;)S[$]&&S[$].isActive?S[$].isActive=!1:(S[$]?.destroy(),S.splice($,1));se.dataLabel=S[0],se.dataLabels=S})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,T=n.verticalAlign,B=o.box?0:o.padding||0,{x:z=0,y:K=0}=n;return(U=(r.x||0)+B)<0&&("right"===p&&z>=0?(n.align="left",n.inside=!0):z-=U,se=!0),(U=(r.x||0)+l.width-B)>k.plotWidth&&("left"===p&&z<=0?(n.align="right",n.inside=!0):z+=k.plotWidth-U,se=!0),(U=r.y+B)<0&&("bottom"===T&&K>=0?(n.verticalAlign="top",n.inside=!0):K-=U,se=!0),(U=(r.y||0)+l.height-B)>k.plotHeight&&("top"===T&&K<=0?(n.verticalAlign="bottom",n.inside=!0):K+=k.plotHeight-U,se=!0),se&&(n.x=z,n.y=K,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if(X(o)&&!X(n))r=o.map(function(d){return j(d,n)});else if(X(n)&&!X(o))r=n.map(function(d){return j(o,d)});else if(X(o)||X(n)){if(X(o)&&X(n))for(l=Math.max(o.length,n.length);l--;)r[l]=j(o[l],n[l])}else r=j(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return A(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function v(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,T=p.reversed,B=((k?n.height:n.width)||0)/2,z=o.pointWidth,K=z?z/2:0;n.startXPos=k?d.x:T?-B-K:p.width-B+K,n.startYPos=k?T?this.yAxis.height-B+K:-B-K:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}I.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=G,n.initDataLabelsGroup=w,n.alignDataLabel=m,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=v,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Le(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{series:ue}=re,{merge:J,pick:te,pushUnique:X}=ve;return function(E){function j(F,P,D,A,I){let _=this.chart.inverted,m=F.series,w=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||0,G=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,G)),a=te(D.inside,!!this.options.stacking);if(O){if(A=J(O),"allow"!==D.overflow||!1!==D.crop){A.y<0&&(A.height+=A.y,A.y=0);let g=A.y+A.height-G;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Le(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{column:ve,line:le}=ne.seriesTypes,{addEvent:pe,extend:ue,merge:J}=re;class te extends le{applyJitter(){let E=this,j=this.options.jitter,F=this.points.length;j&&this.points.forEach(function(P,D){["x","y"].forEach(function(A,I){let _,w,G,O,m="plot"+A.toUpperCase();j[A]&&!P.isNull&&(_=E[A+"Axis"],O=j[A]*_.transA,_&&!_.isLog&&(w=Math.max(0,P[m]-O),G=Math.min(_.len,P[m]+O),P[m]=w+(G-w)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+I*F),"x"===A&&(P.clientX=P.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,q),ue(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),pe(te,"afterTranslate",function(){this.applyJitter()}),ne.registerSeriesType("scatter",te),te}),Le(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve,le;let{deg2rad:pe}=q,{fireEvent:ue,isNumber:J,pick:te,relativeLength:X}=re;return(le=ve||(ve={})).getCenter=function(){let m,O,f,E=this.options,j=this.chart,F=2*(E.slicedOffset||0),P=j.plotWidth-2*F,D=j.plotHeight-2*F,A=E.center,I=Math.min(P,D),_=E.thickness,w=E.size,G=E.innerSize||0;"string"==typeof w&&(w=parseFloat(w)),"string"==typeof G&&(G=parseFloat(G));let a=[te(A[0],"50%"),te(A[1],"50%"),te(w&&w<0?void 0:E.size,"100%"),te(G&&G<0?void 0:E.innerSize||0,"0%")];for(!j.angular||this instanceof ne||(a[3]=0),O=0;O<4;++O)f=a[O],m=O<2||2===O&&/%$/.test(f),a[O]=X(f,[P,D,I,a[2]][O])+(m?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),ue(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(E,j){let F=J(E)?E:0,P=J(j)&&j>F&&j-F<360?j:F+360;return{start:pe*(F+-90),end:pe*(P+-90)}},ve}),Le(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re){let{setAnimation:ve}=q,{addEvent:le,defined:pe,extend:ue,isNumber:J,pick:te,relativeLength:X}=re;class E extends ne{getConnectorPath(F){let P=F.dataLabelPosition,D=F.options||{},A=D.connectorShape;return P&&(this.connectorShapes[A]||A).call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+F,P.r+F,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(F,P,D){super(F,P,D),this.half=0,this.name??(this.name="Slice");let A=I=>{this.slice("select"===I.type)};le(this,"select",A),le(this,"unselect",A)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,P=!0){F!==this.visible&&this.update({visible:F??!this.visible},P,void 0,!1)}slice(F,P,D){let A=this.series;ve(D,A.chart),P=te(P,!0),this.sliced=this.options.sliced=F=pe(F)?F:!this.sliced,A.options.data[A.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ue(E.prototype,{connectorShapes:{fixedOffset:function(j,F,P){let D=F.breakAt,A=F.touchingSliceAt;return[["M",j.x,j.y],P.softConnector?["C",j.x+("left"===j.alignment?-5:5),j.y,2*D.x-A.x,2*D.y-A.y,D.x,D.y]:["L",D.x,D.y],["L",A.x,A.y]]},straight:function(j,F){let P=F.touchingSliceAt;return[["M",j.x,j.y],["L",P.x,P.y]]},crookedLine:function(j,F,P){let{breakAt:D,touchingSliceAt:A}=F,{series:I}=this,[_,m,w]=I.center,G=w/2,{plotLeft:O,plotWidth:f}=I.chart,a="left"===j.alignment,{x:g,y:v}=j,o=D.x;if(P.crookDistance){let r=X(P.crookDistance,1);o=a?_+G+(f+O-_-G)*(1-r):O+(_-G)*r}else o=_+(m-v)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,v]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,v]),n.push(["L",D.x,D.y],["L",A.x,A.y]),n}}}),E}),Le(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Le(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{getStartAndEndRadians:X}=q,{noop:E}=re,{clamp:j,extend:F,fireEvent:P,merge:D,pick:A}=te;class I extends pe{animate(m){let w=this,O=w.startAngleRad;m||w.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:A(f.startR,w.center&&w.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},w.options.animation))})}drawEmpty(){let m,w,G=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(m=this.center[0],w=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(m,w,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(m,w,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let m=this.chart.renderer;this.points.forEach(function(w){w.graphic&&w.hasNewShapeType()&&(w.graphic=w.graphic.destroy()),w.graphic||(w.graphic=m[w.shapeType](w.shapeArgs).add(w.series.group),w.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(m,w,G,O){let f=this.center,a=this.radii?this.radii[G.index]||0:f[2]/2,g=O.dataLabelPosition,v=g?.distance||0,o=Math.asin(j((m-f[1])/(a+v),-1,1));return f[0]+Math.cos(o)*(a+v)*(w?-1:1)+(v>0?(w?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let m,w,G,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let v={};w=g.graphic,!g.isNull&&w?(O=g.shapeArgs,m=g.getTranslate(),a.styledMode||(G=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(w.setRadialReference(f.center).attr(O).attr(m),a.styledMode||w.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(w.setRadialReference(f.center),a.styledMode||D(!0,v,G),D(!0,v,O,m),w.animate(v)),w.attr({visibility:g.visible?"inherit":"hidden"}),w.addClass(g.getClassName(),!0)):w&&(g.graphic=w.destroy())})}sortByAngle(m,w){m.sort(function(G,O){return void 0!==G.angle&&(O.angle-G.angle)*w})}translate(m){P(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,w=this.options,G=w.slicedOffset,O=X(w.startAngle,w.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,v=w.ignoreHiddenPoint,o=g.length,T=0;for(m||(this.center=m=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*G),translateY:Math.round(Math.sin(l)*G)},d=Math.cos(l)*m[2]/2,C=Math.sin(l)*m[2]/2,p.tooltipPos=[m[0]+.7*d,m[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}P(this,"afterTranslate")}updateTotals(){let O,f,m=this.points,w=m.length,G=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!G)?f.y/a*100:0,f.total=a}}return I.defaultOptions=D(pe.defaultOptions,le),F(I.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ne.prototype.drawTracker,getCenter:q.getCenter,getSymbol:E,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ne.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:E,trackerGroups:["group","dataLabelsGroup"]}),ue.registerSeriesType("pie",I),I}),Le(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{composed:ue,noop:J}=ne,{distribute:te}=re,{series:X}=ve,{arrayMax:E,clamp:j,defined:F,pick:P,pushUnique:D,relativeLength:A}=le;return function(I){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,v,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?v:g,a.half,a,o)},justify:function(f,a,g,v){return v[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,v){let o=f.getBBox().width;return a?o+v:g-o-v},alignToConnectors:function(f,a,g,v){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+v:g-o-v}};function m(f,a){let{center:g,options:v}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((v.slicedOffset||0)+(v.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function w(){let B,z,K,f=this,a=f.points,g=f.chart,v=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],T=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),X.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((S,$)=>{let H=l[2]/2,x=S.options,N=A(x?.distance||0,H);0===$&&k[se.half].push(se),!F(x?.style?.width)&&S.getBBox().width>r&&(S.css({width:Math.round(.7*r)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,S)=>{let x,N,Z,H=[],R=0;se.length&&(f.sortByAngle(se,S-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.dataLabelPosition;ge&&ge.distance>0&&(ge.top=Math.max(0,C-d-ge.distance),ge.bottom=Math.min(C+d+ge.distance,g.plotHeight),R=he.getBBox().height||21,Y.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-ge.top+R/2,size:R,rank:Y.y},H.push(Y.distributeBox))})}),te(H,Z=N+R-x,Z/5)),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.options||{},_e=Y.distributeBox,Te=he.dataLabelPosition,Oe=Te?.natural.y||0,De=ge.connectorPadding||0,Be=0,oe=Oe,ee="inherit";if(Te){if(H&&F(_e)&&Te.distance>0&&(void 0===_e.pos?ee="hidden":(K=_e.size,oe=T.radialDistributionY(Y,he))),ge.justify)Be=T.justify(Y,he,d,l);else switch(ge.alignTo){case"connectors":Be=T.alignToConnectors(se,S,v,n);break;case"plotEdges":Be=T.alignToPlotEdges(he,S,v,n);break;default:Be=T.radialDistributionX(f,Y,oe,Oe,he)}if(Te.attribs={visibility:ee,align:Te.alignment},Te.posAttribs={x:Be+(ge.x||0)+({left:De,right:-De}[Te.alignment]||0),y:oe+(ge.y||0)-he.getBBox().height/2},Te.computed.x=Be,Te.computed.y=oe,P(ge.crop,!0)){let be;Be-(z=he.getBBox().width)v-De&&0===S&&(be=Math.round(Be+z-v+De),p[1]=Math.max(be,p[1])),oe-K/2<0?p[0]=Math.max(Math.round(K/2-oe),p[0]):oe+K/2>o&&(p[2]=Math.max(Math.round(oe+K/2-o),p[2])),Te.sideOverflow=be}}})}))}),(0===E(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(S=>{let{connectorColor:$,connectorWidth:H=1}=S.options||{},x=S.dataLabelPosition;if(H){let N;B=S.connector,x&&x.distance>0?(N=!B,B||(S.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||B.attr({"stroke-width":H,stroke:$||se.color||"#666666"}),B[N?"attr":"animate"]({d:se.getConnectorPath(S)}),B.attr({visibility:x.attribs?.visibility})):B&&(S.connector=B.destroy())}})})))}function G(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,v=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==v[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==v[1]?n=j(n,o,a[2]-Math.max(f[0],f[2])):(n=j(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(m.x>=_.x+_.width||m.x+m.width<=_.x||m.y>=_.y+_.height||m.y+m.height<=_.y),I=!1;for(let _=0;_(m.labelrank||0)-(_.labelrank||0));for(let _=0;_{ve(j,F=>{F.label&&X.push(F.label)})});for(let E of te.series||[])if(E.visible&&E.hasDataLabels?.()){let j=F=>{for(let P of F)P.visible&&(P.dataLabels||[]).forEach(D=>{let A=D.options||{};D.labelrank=le(A.labelrank,P.labelrank,P.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,ue(D,te)):X.push(D)})};j(E.nodes||[]),j(E.points)}this.hideOverlappingLabels(X)}return{compose:function(te){let X=te.prototype;X.hideOverlappingLabels||(X.hideOverlappingLabels=pe,ne(te,"render",J))}}}),Le(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defaultOptions:ve}=q,{noop:le}=ne,{addEvent:pe,extend:ue,isObject:J,merge:te,relativeLength:X}=re,E={radius:0,scope:"stack",where:void 0},j=le,F=le;function P(m,w,G,O,f={}){let a=j(m,w,G,O,f),{innerR:g=0,r:v=G,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min(X(f.borderRadius||0,v-g),(v-g)/2,v*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,T,B){let z,K,U,se=p[T],S=p[T+1];if("Z"===S[0]&&(S=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==S[0]?"A"===se[0]&&("M"===S[0]||"L"===S[0])&&(z=S,K=se):(z=se,K=S,U=!0),z&&K&&K.params){let $=K[1],H=K[5],x=K.params,{start:N,end:R,cx:Z,cy:Y}=x,he=H?$-B:$+B,ge=he?Math.asin(B/he):0,_e=H?ge:-ge,Te=Math.cos(ge)*he;U?(x.start=N+_e,z[1]=Z+Te*Math.cos(N),z[2]=Y+Te*Math.sin(N),p.splice(T+1,0,["A",B,B,0,0,1,Z+$*Math.cos(x.start),Y+$*Math.sin(x.start)])):(x.end=R-_e,K[6]=Z+$*Math.cos(x.end),K[7]=Y+$*Math.sin(x.end),p.splice(T+1,0,["A",B,B,0,0,1,Z+Te*Math.cos(R),Y+Te*Math.sin(R)])),K[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:m,yAxis:w}=this,G="percent"===m.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=A(m.borderRadius,J(O)?O:{}),a=w.options.reversed;for(let g of this.points){let{shapeArgs:v}=g;if("roundedRect"===g.shapeType&&v){let{width:o=0,height:n=0,y:r=0}=v,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let T=w.translate(G?100:g.stackTotal,!1,!0,!1,!0),B=w.translate(m.threshold||0,!1,!0,!1,!0),z=this.crispCol(0,Math.min(T,B),0,Math.abs(T-B));l=z.y,d=z.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min(X(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),ue(v,{brBoxHeight:d,brBoxY:l,r:p})}}}}function A(m,w){return J(m)||(m={radius:m||0}),te(E,w,m)}function I(){let m=A(this.options.borderRadius);for(let w of this.points){let G=w.shapeArgs;G&&(G.borderRadius=X(m.radius,(G.r||0)-(G.innerR||0)))}}function _(m,w,G,O,f={}){let a=F(m,w,G,O,f),{r:g=0,brBoxHeight:v=O,brBoxY:o=w}=f,n=w-o,r=o+v-(w+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[m+l,w],T=[m+G-l,w],B=[m+G,w+l],z=[m+G,w+O-d],K=[m+G-d,w+O],U=[m+d,w+O],se=[m,w+O-d],S=[m,w+l],$=(H,x)=>Math.sqrt(Math.pow(H,2)-Math.pow(x,2));if(C){let H=$(l,l-C);p[0]-=H,T[0]+=H,B[1]=S[1]=w+l-C}if(O=ue(P.minWidth,0)&&this.chartHeight>=ue(P.minHeight,0)}).call(this)&&F.push(j._id)}function E(j,F){let I,P=this.options.responsive,D=this.currentResponsive,A=[];!F&&P&&P.rules&&P.rules.forEach(w=>{void 0===w._id&&(w._id=J()),this.matchResponsiveRule(w,A)},this);let _=pe(...A.map(w=>le((P||{}).rules||[],G=>G._id===w)).map(w=>w&&w.chartOptions));_.isResponsiveOptions=!0,A=A.toString()||void 0,A!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,j,!0),A?((I=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:A,mergedOptions:_,undoOptions:I},this.update(_,j,!0)):this.currentResponsive=void 0)}te.compose=function(j){let F=j.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:X,setResponsive:E}),j}}(ne||(ne={})),ne}),Le(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P,D,A,I,_,m,w,G,O,f,a,g,v,o,n,r,l,d,C,k,p,T,B){return q.AST=pe,q.Axis=F,q.Chart=f,q.Color=T,q.DataLabel=d,q.Fx=ve,q.HTMLElement=j,q.Legend=G,q.LegendSymbol=O,q.OverlappingDataLabels=q.OverlappingDataLabels||C,q.PlotLineOrBand=A,q.Point=m,q.Pointer=w,q.RendererRegistry=J,q.Series=o,q.SeriesRegistry=n,q.StackItem=v,q.SVGElement=X,q.SVGRenderer=E,q.Templating=ue,q.Tick=I,q.Time=B,q.Tooltip=_,q.animate=le.animate,q.animObject=le.animObject,q.chart=f.chart,q.color=T.parse,q.dateFormat=ue.dateFormat,q.defaultOptions=re.defaultOptions,q.distribute=te.distribute,q.format=ue.format,q.getDeferredAnimation=le.getDeferredAnimation,q.getOptions=re.getOptions,q.numberFormat=ue.numberFormat,q.seriesType=n.seriesType,q.setAnimation=le.setAnimation,q.setOptions=re.setOptions,q.stop=le.stop,q.time=re.defaultTime,q.timers=ve.timers,k.compose(q.Series,q.SVGElement,q.SVGRenderer),r.compose(q.Series.types.column),d.compose(q.Series),P.compose(q.Axis),j.compose(q.SVGRenderer),G.compose(q.Chart),D.compose(q.Axis),C.compose(q.Chart),l.compose(q.Series.types.pie),A.compose(q.Axis),w.compose(q.Chart),p.compose(q.Chart),a.compose(q.Axis,q.Chart,q.Series),g.compose(q.Axis,q.Chart,q.Series),_.compose(q.Pointer),ne.extend(q,ne),q}),V["masters/highcharts.src.js"]._modules=V,V["masters/highcharts.src.js"]},ri.exports?(V.default=V,ri.exports=e&&e.document?V(e):V):void 0!==(M=function(){return V(e)}.call(Bt,We,Bt,ri))&&(ri.exports=M)},12146:function(ri,Bt,We){var M,e,V;e=typeof window<"u"?window:this,V=function(e){"use strict";var V={};function Le(q,ne,re,ve){q.hasOwnProperty(ne)||(q[ne]=ve.apply(null,re),"function"==typeof CustomEvent&&e.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:ne,module:q[ne]}})))}return Le(V,"Core/Globals.js",[],function(){var q,ne;return(ne=q||(q={})).SVG_NS="http://www.w3.org/2000/svg",ne.product="Highcharts",ne.version="11.4.0",ne.win=void 0!==e?e:{},ne.doc=ne.win.document,ne.svg=ne.doc&&ne.doc.createElementNS&&!!ne.doc.createElementNS(ne.SVG_NS,"svg").createSVGRect,ne.userAgent=ne.win.navigator&&ne.win.navigator.userAgent||"",ne.isChrome=-1!==ne.userAgent.indexOf("Chrome"),ne.isFirefox=-1!==ne.userAgent.indexOf("Firefox"),ne.isMS=/(edge|msie|trident)/i.test(ne.userAgent)&&!ne.win.opera,ne.isSafari=!ne.isChrome&&-1!==ne.userAgent.indexOf("Safari"),ne.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(ne.userAgent),ne.isWebKit=-1!==ne.userAgent.indexOf("AppleWebKit"),ne.deg2rad=2*Math.PI/360,ne.hasBidiBug=ne.isFirefox&&4>parseInt(ne.userAgent.split("Firefox/")[1],10),ne.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ne.noop=function(){},ne.supportsPassiveEvents=function(){let re=!1;if(!ne.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ne.win.addEventListener&&ne.win.removeEventListener&&(ne.win.addEventListener("testPassive",ne.noop,ve),ne.win.removeEventListener("testPassive",ne.noop,ve))}return re}(),ne.charts=[],ne.composed=[],ne.dateFormats={},ne.seriesTypes={},ne.symbolSizes={},ne.chartCount=0,q}),Le(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(q){let ne,{charts:re,doc:ve,win:le}=q;function pe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(T,B){p+=`\n - ${B}: ${T}`,C&&(k+=encodeURI(B)+"="+encodeURI(T))}),k+=p}g(q,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===pe.messages.indexOf(k)&&console.warn(k)}),pe.messages.push(k)}function ue(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function X(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function E(o){return X(o)&&"number"==typeof o.nodeType}function j(o){let n=o&&o.constructor;return!(!X(o,!0)||E(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function P(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!P(r),C=(k,p)=>{P(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function A(o){return te(o)?o:[o]}function I(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(pe||(pe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-T.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){q[n]=function(r){return pe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let v=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ne?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(q[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;q.Point&&o instanceof q.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!q.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((T,B)=>T.order-B.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){K=A(K),T[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=ue(d))),d},inArray:function(o,n,r){return pe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return G(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:ue,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:A,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:v,useSerialIds:function(o){return ne=_(o,ne)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Le(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Le(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Le(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{win:re}=q,{defined:ve,error:le,extend:pe,isNumber:ue,isObject:J,merge:te,objectEach:X,pad:E,pick:j,splat:F,timeUnits:P}=ne,D=q.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,A=q.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class I{constructor(m){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(m)}get(m,w){if(this.variableTimezone||this.timezoneOffset){let G=w.getTime(),O=G-this.getTimezoneOffset(w);w.setTime(O);let f=w["getUTC"+m]();return w.setTime(G),f}return this.useUTC?w["getUTC"+m]():w["get"+m]()}set(m,w,G){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===m||"Seconds"===m||"Minutes"===m&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+m](G);let O=this.getTimezoneOffset(w),f=w.getTime()-O;w.setTime(f),w["setUTC"+m](G);let a=this.getTimezoneOffset(w);return f=w.getTime()+a,w.setTime(f)}return this.useUTC||D&&"FullYear"===m?w["setUTC"+m](G):w["set"+m](G)}update(m={}){let w=j(m.useUTC,!0);this.options=m=te(!0,this.options,m),this.Date=m.Date||re.Date||Date,this.useUTC=w,this.timezoneOffset=w&&m.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!m.getTimezoneOffset&&!m.timezone)}makeTime(m,w,G,O,f,a){let g,v,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),v=this.getTimezoneOffset(g),g+=v,v!==(o=this.getTimezoneOffset(g))?g+=o-v:v-36e5!==this.getTimezoneOffset(g-36e5)||A||(g-=36e5)):g=new this.Date(m,w,j(G,1),j(O,0),j(f,0),j(a,0)).getTime(),g}timezoneOffsetFunction(){let m=this,w=this.options,G=w.getTimezoneOffset;return this.useUTC?w.timezone?O=>{try{let f=`shortOffset,${w.timezone||""}`,[a,g,v,o,n=0]=(I.formatCache[f]=I.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:w.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(v+n/60);if(ue(r))return r}catch{le(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(m.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(m,w,G){if(!ve(w)||isNaN(w))return q.defaultOptions.lang&&q.defaultOptions.lang.invalidDate||"";m=j(m,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(w),a=this.get("Hours",f),g=this.get("Day",f),v=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=q.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return X(pe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:E(v),e:E(v,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:E(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:E(a),k:a,I:E(a%12||12),l:a%12||12,M:E(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:E(this.get("Seconds",f)),L:E(Math.floor(w%1e3),3)},q.dateFormats),function(C,k){for(;-1!==m.indexOf("%"+k);)m=m.replace("%"+k,"function"==typeof C?C.call(O,w):C)}),G?m.substr(0,1).toUpperCase()+m.substr(1):m}resolveDTLFormat(m){return J(m,!0)?m:{main:(m=F(m))[0],from:m[1],to:m[2]}}getTimeTicks(m,w,G,O){let f,a,g,v,o=this,r=[],l={},d=new(0,o.Date)(w),C=m.unitRange,k=m.count||1;if(O=j(O,1),ve(w)){o.set("Milliseconds",d,C>=P.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=P.second&&o.set("Seconds",d,C>=P.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=P.minute&&o.set("Minutes",d,C>=P.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=P.hour&&o.set("Hours",d,C>=P.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=P.day&&o.set("Date",d,C>=P.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=P.month&&(o.set("Month",d,C>=P.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=P.year&&(a-=a%k,o.set("FullYear",d,a)),C===P.week&&(v=o.get("Day",d),o.set("Date",d,o.get("Date",d)-v+O+(v4*P.month||o.getTimezoneOffset(w)!==o.getTimezoneOffset(G));let z=d.getTime();for(f=1;z1?z=o.makeTime(a,p,T,B+f*k):z+=C*k:z=o.makeTime(a,p,T+f*k*(C===P.day?1:7)),f++;r.push(z),C<=P.hour&&r.length<1e4&&r.forEach(function(K){K%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",K)&&(l[K]="day")})}return r.info=pe(m,{higherRanks:l,totalRange:C*k}),r}getDateFormat(m,w,G,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",w),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond",o=v;for(v in P){if(m===P.week&&+this.dateFormat("%w",w)===G&&f.substr(6)===a.substr(6)){v="week";break}if(P[v]>m){v=o;break}if(g[v]&&f.substr(g[v])!==a.substr(g[v]))break;"week"!==v&&(o=v)}return this.resolveDTLFormat(O[v]).main}}return I.formatCache={},I}),Le(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{isTouchDevice:pe,svg:ue}=ne,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ue,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:pe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let X=new ve(te.time);return{defaultOptions:te,defaultTime:X,getOptions:function(){return te},setOptions:function(E){return J(!0,te,E),(E.time||E.global)&&(ne.time?ne.time.update(J(te.global,te.time,E.global,E.time)):ne.time=X),te}}}),Le(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isNumber:re,merge:ve,pInt:le}=ne;class pe{static parse(J){return J?new pe(J):pe.None}constructor(J){let te,X,E,j;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=q.Color;if(F&&F!==pe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(P=>new pe(P[1]));else if("string"==typeof J){if(this.input=J=pe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let P=J.length,D=parseInt(J.substr(1),16);7===P?X=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===P&&(X=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!X)for(E=pe.parsers.length;E--&&!X;)(te=(j=pe.parsers[E]).regex.exec(J))&&(X=j.parse(te))}X&&(this.rgba=X)}get(J){let te=this.input,X=this.rgba;if("object"==typeof te&&void 0!==this.stops){let E=ve(te);return E.stops=[].slice.call(E.stops),this.stops.forEach((j,F)=>{E.stops[F]=[E.stops[F][0],j.get(J)]}),E}return X&&re(X[0])?"rgb"===J||!J&&1===X[3]?"rgb("+X[0]+","+X[1]+","+X[2]+")":"a"===J?`${X[3]}`:"rgba("+X.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function(X){X.brighten(J)});else if(re(J)&&0!==J)for(let X=0;X<3;X++)te[X]+=le(255*J),te[X]<0&&(te[X]=0),te[X]>255&&(te[X]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let X=this.rgba,E=J.rgba;if(!re(X[0])||!re(E[0]))return J.input||"none";let j=1!==E[3]||1!==X[3];return(j?"rgba(":"rgb(")+Math.round(E[0]+(X[0]-E[0])*(1-te))+","+Math.round(E[1]+(X[1]-E[1])*(1-te))+","+Math.round(E[2]+(X[2]-E[2])*(1-te))+(j?","+(E[3]+(X[3]-E[3])*(1-te)):"")+")"}}return pe.names={white:"#ffffff",black:"#000000"},pe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),parseFloat(ue[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),1]}}],pe.None=new pe(""),pe}),Le(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{parse:ve}=q,{win:le}=ne,{isNumber:pe,objectEach:ue}=re;class J{constructor(X,E,j){this.pos=NaN,this.options=E,this.elem=X,this.prop=j}dSetter(){let X=this.paths,E=X&&X[0],j=X&&X[1],F=this.now||0,P=[];if(1!==F&&E&&j)if(E.length===j.length&&F<1)for(let D=0;D=I+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,j=!0,ue(_,function(m){!0!==m&&(j=!1)}),j&&A&&A.call(D),E=!1):(this.pos=P.easing((F-this.startTime)/I),this.now=this.start+(this.end-this.start)*this.pos,this.update(),E=!0),E}initPath(X,E,j){let _,m,w,G,F=X.startX,P=X.endX,D=j.slice(),A=X.isArea,I=A?2:1,O=E&&E.slice();if(!O)return[D,D];function f(g,v){for(;g.length{let G=E(w.options.animation);_=ue(P)&&re(P.defer)?A.defer:Math.max(_,G.duration+G.defer),m=Math.min(A.duration,G.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-m),duration:Math.min(_,m)}},setAnimation:function(F,P){P.renderer.globalAnimation=X(F,P.options.chart.animation,!0)},stop:j}}),Le(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{SVG_NS:re,win:ve}=q,{attr:le,createElement:pe,css:ue,error:J,isFunction:te,isString:X,objectEach:E,splat:j}=ne,{trustedTypes:F}=ve,P=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=P?P.createHTML(""):"",A=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class I{static filterUserAttributes(m){return E(m,(w,G)=>{let O=!0;-1===I.allowedAttributes.indexOf(G)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(G)&&(O=X(w)&&I.allowedReferences.some(f=>0===w.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete m[G]),X(w)&&m[G]&&(m[G]=w.replace(/{let O=G.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(w[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),w},{})}static setElementHTML(m,w){m.innerHTML=I.emptyHTML,w&&new I(w).addToDOM(m)}constructor(m){this.nodes="string"==typeof m?this.parseMarkup(m):m}addToDOM(m){return function w(G,O){let f;return j(G).forEach(function(a){let g,v=a.tagName,o=a.textContent?q.doc.createTextNode(a.textContent):void 0,n=I.bypassHTMLFiltering;if(v)if("#text"===v)g=o;else if(-1!==I.allowedTags.indexOf(v)||n){let l=q.doc.createElementNS("svg"===v?re:O.namespaceURI||re,v),d=a.attributes||{};E(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:I.filterUserAttributes(d)),a.style&&ue(l,a.style),o&&l.appendChild(o),w(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":v});g&&O.appendChild(g),f=g}),f}(this.nodes,m)}parseMarkup(m){let w,G=[];if(m=m.trim().replace(/ style=(["'])/g," data-style=$1"),A)w=(new DOMParser).parseFromString(P?P.createHTML(m):m,"text/html");else{let f=pe("div");f.innerHTML=m,w={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),v={tagName:g};"#text"===g&&(v.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?v.style=I.parseStyle(r.value):n[r.name]=r.value}),v.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(v.children=n)}a.push(v)};return[].forEach.call(w.body.childNodes,f=>O(f,G)),G}}return I.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],I.allowedReferences=["https://","http://","mailto:","/","../","./","#"],I.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],I.emptyHTML=D,I.bypassHTMLFiltering=!1,I}),Le(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne){let{defaultOptions:re,defaultTime:ve}=q,{extend:le,getNestedProperty:pe,isArray:ue,isNumber:J,isObject:te,pick:X,pInt:E}=ne,j={add:(D,A)=>D+A,divide:(D,A)=>0!==A?D/A:"",eq:(D,A)=>D==A,each:function(D){let A=arguments[arguments.length-1];return!!ue(D)&&D.map((I,_)=>F(A.body,le(te(I)?I:{"@this":I},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,A)=>D>=A,gt:(D,A)=>D>A,if:D=>!!D,le:(D,A)=>D<=A,lt:(D,A)=>DD*A,ne:(D,A)=>D!=A,subtract:(D,A)=>D-A,unless:D=>!D};function F(D="",A,I){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,m=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,w=[],G=/f$/,O=/\.([0-9])/,f=re.lang,a=I&&I.time||ve,g=I&&I.numberFormatter||P,v=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:pe(d,A))},r=0;for(;null!==(o=_.exec(D));){let d=m.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:A,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");j[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,T=D.substr(p,o.index-p);void 0===n.body?(n.body=T,n.startInner=o.index+o[0].length):n.elseBody=T,n.find+=T+o[0],k||(w.push(n),n=void 0)}else n.isBlock||w.push(n);if(d&&!n?.isBlock)break}return w.forEach(d=>{let C,k,{body:p,elseBody:T,expression:B,fn:z}=d;if(z){let K=[d],U=B.split(" ");for(k=j[z].length;k--;)K.unshift(v(U[k+1]));C=j[z].apply(A,K),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:T,A))}else{let K=B.split(":");if(C=v(K.shift()||""),K.length&&"number"==typeof C){let U=K.join(":");if(G.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,X(C,""))}),l?F(D,A,I):D}function P(D,A,I,_){let m,w;A=+A;let G=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=A;-1===A?A=Math.min(O,20):J(A)?A&&f[1]&&f[1]<0&&((w=A+ +f[1])>=0?(f[0]=(+f[0]).toExponential(w).split("e")[0],A=w):(f[0]=f[0].split(".")[0]||0,D=A<20?(f[0]*Math.pow(10,f[1])).toFixed(A):0,f[1]=0)):A=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(A,O)-1)).toFixed(A),v=String(E(g)),o=v.length>3?v.length%3:0;return I=X(I,G.decimalPoint),_=X(_,G.thousandsSep),m=(D<0?"-":"")+(o?v.substr(0,o)+_:""),0>+f[1]&&!a?m="0":m+=v.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),A&&(m+=I+g.slice(-A)),f[1]&&0!=+m&&(m+="e"+f[1]),m}return{dateFormat:function(D,A,I){return ve.dateFormat(D,A,I)},format:F,helpers:j,numberFormat:P}}),Le(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(q){var ne,re;let ve;return(re=ne||(ne={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,pe,ue){re.rendererTypes[le]=pe,(!ve||ue)&&(ve=le,q.Renderer=pe)},ne}),Le(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(q){var ne;let{clamp:re,pick:ve,pushUnique:le,stableSort:pe}=q;return(ne||(ne={})).distribute=function ue(J,te,X){let _,m,w,O,f,g,E=J,j=E.reducedLen||te,F=(v,o)=>v.target-o.target,P=[],D=J.length,A=[],I=P.push,G=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>j){for(pe(J,(v,o)=>(o.rank||0)-(v.rank||0)),w=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,m=g?w:D-1;w&&a>j;)O=J[_=Math.floor(m)],le(A,_)&&(a-=O.size),m+=w,g&&m>=J.length&&(w/=2,m=w);A.sort((v,o)=>o-v).forEach(v=>I.apply(P,J.splice(v,1)))}for(pe(J,F),J=J.map(v=>({size:v.size,targets:[v.target],align:ve(v.align,.5)}));G;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,G=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),G=!0)}return I.apply(E,P),_=0,J.some(v=>{let o=0;return(v.targets||[]).some(()=>(E[_].pos=v.pos+o,void 0!==X&&Math.abs(E[_].pos-E[_].target)>X?(E.slice(0,_+1).forEach(n=>delete n.pos),E.reducedLen=(E.reducedLen||te)-.1*te,E.reducedLen>.1*te&&ue(E,te,X),!0):(o+=E[_].size,_++,!1)))}),pe(E,F),E},ne}),Le(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{animate:le,animObject:pe,stop:ue}=q,{deg2rad:J,doc:te,svg:X,SVG_NS:E,win:j}=re,{addEvent:F,attr:P,createElement:D,css:A,defined:I,erase:_,extend:m,fireEvent:w,isArray:G,isFunction:O,isObject:f,isString:a,merge:g,objectEach:v,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let T=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(T)&&(T=parseFloat(T)),T}_defaultSetter(p,T,B){B.setAttribute(T,p)}add(p){let T,B=this.renderer,z=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&B.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(T=this.zIndexSetter()),T||(p?p.element:B.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(p,T){let B=T?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(z,K){return-1===B.indexOf(K)&&z.push(K),z},B?[B]:[]).join(" "))!==B&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,T,B,z=!0){let K,U,se,S,$,H={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=T,(!B||a(B))&&(this.alignTo=se=B||"renderer",_(N,this),N.push(this),B=void 0)):(p=this.alignOptions,T=this.alignByTranslate,se=this.alignTo),B=o(B,x[se],x);let R=p.align,Z=p.verticalAlign;return K=(B.x||0)+(p.x||0),U=(B.y||0)+(p.y||0),"right"===R?S=1:"center"===R&&(S=2),S&&(K+=(B.width-(p.width||0))/S),H[T?"translateX":"x"]=Math.round(K),"bottom"===Z?$=1:"middle"===Z&&($=2),$&&(U+=(B.height-(p.height||0))/$),H[T?"translateY":"y"]=Math.round(U),z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(p){let T={left:"start",center:"middle",right:"end"};T[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",T[p]))}animate(p,T,B){let z=pe(o(T,this.renderer.globalAnimation,!0)),K=z.defer;return te.hidden&&(z.duration=0),0!==z.duration?(B&&(z.complete=B),l(()=>{this.element&&le(this,p,z)},K)):(this.attr(p,void 0,B||z.complete),v(p,function(U,se){z.step&&z.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let T=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(T.style.fill)));let B=p.split(" "),z=B[B.length-1],K=B[0];if(K&&"none"!==K&&re.svg){this.fakeTS=!0,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(H,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(E,"tspan");P(U,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":K,"stroke-linejoin":"round"});let se=T.querySelector("textPath")||T;[].forEach.call(se.childNodes,H=>{let x=H.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let S=0;[].forEach.call(se.querySelectorAll("text tspan"),H=>{S+=Number(H.getAttribute("dy"))});let $=te.createElementNS(E,"tspan");$.textContent="\u200b",P($,{x:Number(T.getAttribute("x")),dy:-S}),U.appendChild($),se.insertBefore(U,se.firstChild)}}attr(p,T,B,z){let se,S,H,K=this.element,U=C.symbolCustomAttribs,$=this;return"string"==typeof p&&void 0!==T&&(se=p,(p={})[se]=T),"string"==typeof p?$=(this[p+"Getter"]||this._defaultGetter).call(this,p,K):(v(p,function(x,N){H=!1,z||ue(this,N),this.symbolName&&-1!==U.indexOf(N)&&(S||(this.symbolAttr(p),S=!0),H=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),H||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,K)},this),this.afterSetters()),B&&B.call(this),$}clip(p){if(p&&!p.clipPath){let T=d()+"-",B=this.renderer.createElement("clipPath").attr({id:T}).add(this.renderer.defs);m(p,{clipPath:B,id:T,count:0}),p.add(B)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,T){let B=Math.round(T=T||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+B,p.y=Math.floor(p.y||this.y||0)+B,p.width=Math.floor((p.width||this.width||0)-2*B),p.height=Math.floor((p.height||this.height||0)-2*B),I(p.strokeWidth)&&(p.strokeWidth=T),p}complexColor(p,T,B){let K,U,se,S,$,H,x,N,R,Z,he,z=this.renderer,Y=[];w(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],$=z.gradients,H=p.stops,R=B.radialReference,G(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!I(se.gradientUnits)&&(S=se,se=g(se,z.getRadialAttr(R,S),{gradientUnits:"userSpaceOnUse"})),v(se,function(ge,_e){"id"!==_e&&Y.push(_e,ge)}),v(H,function(ge){Y.push(ge)}),$[Y=Y.join(",")])Z=$[Y].attr("id");else{se.id=Z=d();let ge=$[Y]=z.createElement(U).attr(se).add(z.defs);ge.radAttr=S,ge.stops=[],H.forEach(function(_e){0===_e[1].indexOf("rgba")?(x=(K=ne.parse(_e[1])).get("rgb"),N=K.get("a")):(x=_e[1],N=1);let Te=z.createElement("stop").attr({offset:_e[0],"stop-color":x,"stop-opacity":N}).add(ge);ge.stops.push(Te)})}he="url("+z.url+"#"+Z+")",B.setAttribute(T,he),B.gradient=Y,p.toString=function(){return he}}})}css(p){let K,T=this.styles,B={},z=this.element,U=!T;if(T&&v(p,function(se,S){T&&T[S]!==se&&(B[S]=se,U=!0)}),U){T&&(p=m(T,B)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&p.width&&(K=this.textWidth=n(p.width)),m(this.styles,p),K&&!X&&this.renderer.forExport&&delete p.width;let se=g(p);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(S=>se&&delete se[S]),se.color&&(se.fill=se.color)),A(z,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let T,B=this["stroke-width"];if("inherit"===B&&(B=1),p=p&&p.toLowerCase()){let z=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(T=z.length;T--;)z[T]=""+n(z[T])*o(B,NaN);p=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,T=p.element||{},B=p.renderer,z=T.ownerSVGElement,K="SPAN"===T.nodeName&&p.parentGroup||void 0;if(T.onclick=T.onmouseout=T.onmouseover=T.onmousemove=T.point=null,ue(p),p.clipPath&&z){let S=p.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function($){$.getAttribute("clip-path").indexOf(S.element.id)>-1&&$.removeAttribute("clip-path")}),p.clipPath=S.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seK&&K.join?(U?z+" ":"")+K.join(" "):(K||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[T]!==p&&(B.setAttribute(T,p),this[T]=p)}fillSetter(p,T,B){"string"==typeof p?B.setAttribute(T,p):p&&this.complexColor(p,T,B)}hrefSetter(p,T,B){B.setAttributeNS("http://www.w3.org/1999/xlink",T,p)}getBBox(p,T){let B,z,K,U,{alignValue:se,element:S,renderer:$,styles:H,textStr:x}=this,{cache:N,cacheKeys:R}=$,Z=S.namespaceURI===this.SVG_NS,Y=o(T,this.rotation,0),he=$.styledMode?S&&C.prototype.getStyle.call(S,"font-size"):H.fontSize;if(I(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",$.rootFontSize,he,Y,this.textWidth,se,H.textOverflow,H.fontWeight].join(",")),U&&!p&&(B=N[U]),!B){if(Z||$.forExport){try{K=this.fakeTS&&function(ge){let _e=S.querySelector(".highcharts-text-outline");_e&&A(_e,{display:ge})},O(K)&&K("none"),B=S.getBBox?m({},S.getBBox()):{width:S.offsetWidth,height:S.offsetHeight,x:0,y:0},O(K)&&K("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();z=B.height,Z&&(B.height=z={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(z)}`]||z),Y&&(B=this.getRotatedBox(B,Y))}if(U&&(""===x||B.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=B}return B}getRotatedBox(p,T){let{x:B,y:z,width:K,height:U}=p,{alignValue:se,translateY:S,rotationOriginX:$=0,rotationOriginY:H=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(S?0:z),R=T*J,Z=(T-90)*J,Y=Math.cos(R),he=Math.sin(R),ge=K*Y,_e=K*he,Te=Math.cos(Z),Oe=Math.sin(Z),[[De,Be],[oe,ee]]=[$,H].map(pt=>[pt-pt*Y,pt*he]),be=B+x*(K-ge)+De+ee+N*Te,xe=be+ge,Ie=xe-U*Te,we=Ie-ge,Ee=z+N-x*_e-Be+oe+N*Oe,Me=Ee+_e,Xe=Me-U*Oe,Je=Xe-_e,lt=Math.min(be,xe,Ie,we),qe=Math.min(Ee,Me,Xe,Je);return{x:lt,y:qe,width:Math.max(be,xe,Ie,we)-lt,height:Math.max(Ee,Me,Xe,Je)-qe}}getStyle(p){return j.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,T){this.onEvents={},this.opacity=1,this.SVG_NS=E,this.element="span"===T||"body"===T?D(T):te.createElementNS(this.SVG_NS,T),this.renderer=p,this.styles={},w(this,"afterInit")}on(p,T){let{onEvents:B}=this;return B[p]&&B[p](),B[p]=F(this.element,p,T),this}opacitySetter(p,T,B){let z=Number(Number(p).toFixed(3));this.opacity=z,B.setAttribute(T,z)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let T=p.parentNode;T&&T.removeChild(p)}setRadialReference(p){let T=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,T&&T.radAttr&&T.animate(this.renderer.getRadialAttr(p,T.radAttr)),this}setTextPath(p,T){T=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},T);let B=this.renderer.url,z=this.text||this,K=z.textPath,{attributes:U,enabled:se}=T;if(p=p||K&&K.path,K&&K.undo(),p&&se){let S=F(z,"afterModifyTree",$=>{if(p&&se){let H=p.attr("id");H||p.attr("id",H=d());let x={x:0,y:0};I(U.dx)&&(x.dx=U.dx,delete U.dx),I(U.dy)&&(x.dy=U.dy,delete U.dy),z.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=$.nodes.slice(0);$.nodes.length=0,$.nodes[0]={tagName:"textPath",attributes:m(U,{"text-anchor":U.textAnchor,href:`${B}#${H}`}),children:N}}});z.textPath={path:p,undo:S}}else z.attr({dx:0,dy:0}),delete z.textPath;return this.added&&(z.textCache="",this.renderer.buildText(z)),this}shadow(p){let{renderer:T}=this,B=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),z=T.shadowDefinition(B);return this.attr({filter:p?`url(${T.url}#${z})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,T,B){this[T]=p,B.setAttribute(T,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let B,p=this.getStyle("stroke-width"),T=0;return/px$/.test(p)?T=n(p):""!==p&&(P(B=te.createElementNS(E,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(B),T=B.getBBox().width,B.parentNode.removeChild(B)),T}symbolAttr(p){let T=this;C.symbolCustomAttribs.forEach(function(B){T[B]=o(p[B],T[B])}),T.attr({d:T.renderer.symbols[T.symbolName](T.x,T.y,T.width,T.height,T)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let T=this.element,B=T.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");T.insertBefore?T.insertBefore(B,T.firstChild):T.appendChild(B),B.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,T){return this.attr({translateX:p,translateY:T})}updateTransform(p="transform"){let{element:T,matrix:B,rotation:z=0,rotationOriginX:K,rotationOriginY:U,scaleX:se,scaleY:S,translateX:$=0,translateY:H=0}=this,x=["translate("+$+","+H+")"];I(B)&&x.push("matrix("+B.join(",")+")"),z&&(x.push("rotate("+z+" "+o(K,T.getAttribute("x"),0)+" "+o(U,T.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(K||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(I(se)||I(S))&&x.push("scale("+o(se,1)+" "+o(S,1)+")"),x.length&&!(this.text||this).textPath&&T.setAttribute(p,x.join(" "))}visibilitySetter(p,T,B){"inherit"===p?B.removeAttribute(T):this[T]!==p&&B.setAttribute(T,p),this[T]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,T){let S,$,H,N,Z,B=this.renderer,z=this.parentGroup,K=(z||B).element||B.box,U=this.element,se=K===B.box,x=!1,R=this.added;if(I(p)?(U.setAttribute("data-z-index",p),this[T]===(p=+p)&&(R=!1)):I(this[T])&&U.removeAttribute("data-z-index"),this[T]=p,R){for((p=this.zIndex)&&z&&(z.handleZ=!0),Z=(S=K.childNodes).length-1;Z>=0&&!x;Z--)N=!I(H=($=S[Z]).getAttribute("data-z-index")),$!==U&&(p<0&&N&&!se&&!Z?(K.insertBefore(U,S[Z]),x=!0):(n(H)<=p||N&&(!I(p)||p>=0))&&(K.insertBefore(U,S[Z+1]),x=!0));x||(K.insertBefore(U,S[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Le(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,extend:ve,isNumber:le,merge:pe,pick:ue,removeEvent:J}=ne;class te extends q{constructor(E,j,F,P,D,A,I,_,m,w){let G;super(E,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=j,this.x=F,this.y=P,this.anchorX=A,this.anchorY=I,this.baseline=m,this.className=w,this.addClass("button"===w?"highcharts-no-tooltip":"highcharts-label"),w&&this.addClass("highcharts-"+w),this.text=E.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((G=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=E.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(E){let j={left:0,center:.5,right:1}[E];j!==this.alignFactor&&(this.alignFactor=j,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(E,j){this.anchorX=E,this.boxAttr(j,Math.round(E)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(E,j){this.anchorY=E,this.boxAttr(j,E-this.ySetting)}boxAttr(E,j){this.box?this.box.attr(E,j):this.deferredAttr[E]=j}css(E){if(E){let j={};E=pe(E),te.textProps.forEach(F=>{void 0!==E[F]&&(j[F]=E[F],delete E[F])}),this.text.css(j),"fontSize"in j||"fontWeight"in j?this.updateTextPadding():("width"in j||"textOverflow"in j)&&this.updateBoxSize()}return q.prototype.css.call(this,E)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),q.prototype.destroy.call(this)}fillSetter(E,j){E&&(this.needsBox=!0),this.fill=E,this.boxAttr(j,E)}getBBox(E,j){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:P=0,translateX:D=0,translateY:A=0,width:I=0}=this,_=ue(this.paddingLeft,F),m=j??(this.rotation||0),w={width:I,height:P,x:D+this.bBox.x-_,y:A+this.bBox.y-F+this.baselineOffset};return m&&(w=this.getRotatedBox(w,m)),w}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(E){this.heightSetting=E}onAdd(){this.text.add(this),this.attr({text:ue(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(E,j){le(E)?E!==this[j]&&(this[j]=E,this.updateTextPadding()):this[j]=void 0}rSetter(E,j){this.boxAttr(j,E)}strokeSetter(E,j){this.stroke=E,this.boxAttr(j,E)}"stroke-widthSetter"(E,j){E&&(this.needsBox=!0),this["stroke-width"]=E,this.boxAttr(j,E)}"text-alignSetter"(E){this.textAlign=E}textSetter(E){void 0!==E&&this.text.attr({text:E}),this.updateTextPadding()}updateBoxSize(){let E,j=this.text,F={},P=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(j.textStr)?te.emptyBBox:j.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*P;let A=this.renderer.fontMetrics(j);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||A).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-A.h)/2),this.needsBox&&!j.textPath){if(!this.box){let I=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();I.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),I.add(this)}E=this.getCrispAdjust(),F.x=E,F.y=(this.baseline?-this.baselineOffset:0)+E,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let E=this.text;if(!E.textPath){this.updateBoxSize();let j=this.baseline?0:this.baselineOffset,F=ue(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==E.x||j!==E.y)&&(E.attr("x",F),E.hasBoxWidthChanged&&(this.bBox=E.getBBox(!0)),void 0!==j&&E.attr("y",j)),E.x=F,E.y=j}}widthSetter(E){this.widthSetting=le(E)?E:void 0}getPaddedWidth(){let E=this.padding,j=ue(this.paddingLeft,E),F=ue(this.paddingRight,E);return(this.widthSetting||this.bBox.width||0)+j+F}xSetter(E){this.x=E,this.alignFactor&&(E-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(E),this.attr("translateX",this.xSetting)}ySetter(E){this.ySetting=this.y=Math.round(E),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Le(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(q){let{defined:ne,isNumber:re,pick:ve}=q;function le(J,te,X,E,j){let F=[];if(j){let P=j.start||0,D=ve(j.r,X),A=ve(j.r,E||X),I=.001>Math.abs((j.end||0)-P-2*Math.PI),_=(j.end||0)-.001,m=j.innerR,w=ve(j.open,I),G=Math.cos(P),O=Math.sin(P),f=Math.cos(_),a=Math.sin(_),g=ve(j.longArc,_-P-Math.PI<.001?0:1),v=["A",D,A,0,g,ve(j.clockwise,1),J+D*f,te+A*a];v.params={start:P,end:_,cx:J,cy:te},F.push(["M",J+D*G,te+A*O],v),ne(m)&&((v=["A",m,m,0,g,ne(j.clockwise)?1-j.clockwise:0,J+m*G,te+m*O]).params={start:_,end:P,cx:J,cy:te},F.push(w?["M",J+m*f,te+m*a]:["L",J+m*f,te+m*a],v)),w||F.push(["Z"])}return F}function pe(J,te,X,E,j){return j&&j.r?ue(J,te,X,E,j):[["M",J,te],["L",J+X,te],["L",J+X,te+E],["L",J,te+E],["Z"]]}function ue(J,te,X,E,j){let F=j?.r||0;return[["M",J+F,te],["L",J+X-F,te],["A",F,F,0,0,1,J+X,te+F],["L",J+X,te+E-F],["A",F,F,0,0,1,J+X-F,te+E],["L",J+F,te+E],["A",F,F,0,0,1,J,te+E-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,X,E,j){let F=Math.min(j&&j.r||0,X,E),P=F+6,D=j&&j.anchorX,A=j&&j.anchorY||0,I=ue(J,te,X,E,{r:F});if(!re(D)||D0&&A0)return I;if(J+D>X-P)if(A>te+P&&Ate+P&&A0){let _=AE&&DP&&I.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",X-F,te]);return I},circle:function(J,te,X,E){return le(J+X/2,te+E/2,X/2,E/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E/2],["L",J+X/2,te+E],["L",J,te+E/2],["Z"]]},rect:pe,roundedRect:ue,square:pe,triangle:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E],["L",J,te+E],["Z"]]},"triangle-down":function(J,te,X,E){return[["M",J,te],["L",J+X,te],["L",J+X/2,te+E],["Z"]]}}}),Le(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{doc:ve,SVG_NS:le,win:pe}=ne,{attr:ue,extend:J,fireEvent:te,isString:X,objectEach:E,pick:j}=re;return class{constructor(F){let P=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!(!P||"ellipsis"!==P.textOverflow),this.noWrap=!(!P||"nowrap"!==P.whiteSpace)}buildSVG(){let F=this.svgElement,P=F.element,D=F.renderer,A=j(F.textStr,"").toString(),I=-1!==A.indexOf("<"),_=P.childNodes,m=!F.added&&D.box,w=[A,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(w!==F.textCache){F.textCache=w,delete F.actualWidth;for(let G=_.length;G--;)P.removeChild(_[G]);if(I||this.ellipsis||this.width||F.textPath||-1!==A.indexOf(" ")&&(!this.noWrap||//g.test(A))){if(""!==A){m&&m.appendChild(P);let G=new q(A);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&-1!==(P.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),m&&m.removeChild(P)}}else P.appendChild(ve.createTextNode(this.unescapeEntities(A)));X(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,P=this.svgElement,D=ue(P.element,"x");for(P.firstLineMetrics=void 0;(F=P.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)P.element.removeChild(F);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(m,w)=>{m.nextSibling&&m.previousSibling&&(0===w&&1===m.previousSibling.nodeType&&(P.firstLineMetrics=P.renderer.fontMetrics(m.previousSibling)),ue(m,{dy:this.getLineHeight(m.nextSibling),x:D}))});let A=this.width||0;if(!A)return;let I=(m,w)=>{let G=m.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),a=this.getLineHeight(w),g=0,v=P.actualWidth;if(this.ellipsis)G&&this.truncate(m,G,void 0,0,Math.max(0,A-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;w.firstChild&&w.firstChild!==m;)n.push(w.firstChild),w.removeChild(w.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(m.textContent||""),m.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(m,void 0,O,0===g&&v||0,A,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),v=P.actualWidth,g++;n.forEach(r=>{w.insertBefore(r,m)}),o.forEach(r=>{w.insertBefore(ve.createTextNode(r),m);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",ue(l,{dy:a,x:D}),w.insertBefore(l,m)})}},_=m=>{[].slice.call(m.childNodes).forEach(w=>{w.nodeType===pe.Node.TEXT_NODE?I(w,m):(-1!==w.className.baseVal.indexOf("highcharts-br")&&(P.actualWidth=0),_(w))})};_(P.element)}getLineHeight(F){let P=F.nodeType===pe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(F){let P=(D,A)=>{let{attributes:I={},children:_,style:m={},tagName:w}=D,G=this.renderer.styledMode;if("b"===w||"strong"===w?G?I.class="highcharts-strong":m.fontWeight="bold":("i"===w||"em"===w)&&(G?I.class="highcharts-emphasized":m.fontStyle="italic"),m&&m.color&&(m.fill=m.color),"br"===w){I.class="highcharts-br",D.textContent="\u200b";let O=F[A+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===w&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==w&&"a"!==w&&(D.tagName="tspan"),J(D,{attributes:I,style:m}),_&&_.filter(O=>"#text"!==O.tagName).forEach(P)};F.forEach(P),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,P,D,A,I,_){let m,w,G=this.svgElement,{rotation:O}=G,f=[],a=D?1:0,g=(P||D||"").length,v=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=A+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(G.rotation=0,A+(w=o(F.textContent.length))>I){for(;a<=g;)v=Math.ceil((a+g)/2),D&&(m=_(D,v)),w=o(v,m&&m.length-1),a===g?a=g+1:w>I?g=v-1:a=v;0===g?F.textContent="":P&&g===P.length-1||(F.textContent=m||_(P||D,v))}D&&D.splice(0,v),G.actualWidth=w,G.rotation=O}unescapeEntities(F,P){return E(this.renderer.escapes,function(D,A){P&&-1!==P.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),A))}),F}}}),Le(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let X,{charts:E,deg2rad:j,doc:F,isFirefox:P,isMS:D,isWebKit:A,noop:I,SVG_NS:_,symbolSizes:m,win:w}=re,{addEvent:G,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:v,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:T,uniqueKey:B}=te;class z{constructor(U,se,S,$,H,x,N){let R,Z,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=Y.element;N||Y.css(this.getStyle($||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(se,S,!1),P&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),Z=U.getBoundingClientRect(),a(U,{left:Math.ceil(Z.left)-Z.left+"px",top:Math.ceil(Z.top)-Z.top+"px"})})(),this.unSubPixelFix=G(w,"resize",R))}definition(U){return new q([U]).addToDOM(this.defs.element)}getReferenceURL(){if((P||A)&&F.getElementsByTagName("base").length){if(!g(X)){let U=B(),se=new q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let S=F.elementFromPoint(6,6);X="hitme"===(S&&S.id),F.body.removeChild(se)}if(X)return T(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),v(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map($=>`${$}-${U[$]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),S=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:S.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:S.offsetX,dy:S.offsetY,"flood-color":S.color,"flood-opacity":Math.min(5*S.opacity,1),stdDeviation:S.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ne.parse(U).rgba.map($=>{let H=$/255;return H<=.03928?H/12.92:Math.pow((H+.055)/1.055,2.4)}),S=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(S+.05)>(S+.05)/.05?"#FFFFFF":"#000000"}button(U,se,S,$,H={},x,N,R,Z,Y){let he,ge,_e,Te=this.label(U,se,S,Z,void 0,void 0,Y,void 0,"button"),Oe=this.styledMode,De=H.states||{},Be=0;delete(H=C(H)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},H.style);delete H.style;let ee=q.filterUserAttributes(H);return Te.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},q.filterUserAttributes(x||De.hover||{}))).style,delete x.style,ge=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},q.filterUserAttributes(N||De.select||{}))).style,delete N.style,_e=(R=C(ee,{style:{color:"#cccccc"}},q.filterUserAttributes(R||De.disabled||{}))).style,delete R.style),G(Te.element,D?"mouseover":"mouseenter",function(){3!==Be&&Te.setState(1)}),G(Te.element,D?"mouseout":"mouseleave",function(){3!==Be&&Te.setState(Be)}),Te.setState=function(be){if(1!==be&&(Te.state=Be=be),Te.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][be||0]),!Oe){Te.attr([ee,x,N,R][be||0]);let xe=[oe,he,ge,_e][be||0];l(xe)&&Te.css(xe)}},!Oe&&(Te.attr(ee).css(o({cursor:"default"},oe)),Y&&Te.text.css({pointerEvents:"none"})),Te.on("touchstart",be=>be.stopPropagation()).on("click",function(be){3!==Be&&$.call(Te,be)})}crispLine(U,se,S="round"){let $=U[0],H=U[1];return g($[1])&&$[1]===H[1]&&($[1]=H[1]=Math[S]($[1])-se%2/2),g($[2])&&$[2]===H[2]&&($[2]=H[2]=Math[S]($[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,S){let $=l(U)?U:void 0===U?{}:{x:U,y:se,r:S},H=this.createElement("circle");return H.xSetter=H.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},H.attr($)}arc(U,se,S,$,H,x){let N;l(U)?(se=(N=U).y,S=N.r,$=N.innerR,H=N.start,x=N.end,U=N.x):N={innerR:$,start:H,end:x};let R=this.symbol("arc",U,se,S,S,N);return R.r=S,R}rect(U,se,S,$,H,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:H,width:Math.max(S||0,0),height:Math.max($||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(Z,Y,he){R.r=Z,O(he,{rx:Z,ry:Z})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,S){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(S,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,S,$,H,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(S)&&(N.y=S),r($)&&(N.width=$),r(H)&&(N.height=H);let R=this.createElement("image").attr(N),Z=function(Y){R.attr({href:U}),x.call(R,Y)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new w.Image;G(Y,"load",Z),Y.src=U,Y.complete&&Z({})}else R.attr({href:U});return R}symbol(U,se,S,$,H,x){let N,R,Z,Y,he=this,ge=/^url\((.*?)\)$/,_e=ge.test(U),Te=!_e&&(this.symbols[U]?U:"circle"),Oe=Te&&this.symbols[Te];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(S||0),$||0,H||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Te||void 0,x:se,y:S,width:$,height:H}),x&&o(N,x);else if(_e){Z=U.match(ge)[1];let De=N=this.image(Z);De.imgwidth=k(x&&x.width,m[Z]&&m[Z].width),De.imgheight=k(x&&x.height,m[Z]&&m[Z].height),Y=Be=>Be.attr({width:Be.width,height:Be.height}),["width","height"].forEach(Be=>{De[`${Be}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:be,element:xe,width:Ie,height:we,imgwidth:Ee,imgheight:Me}=this,Xe="width"===ee?Ee:Me,Je=1;x&&"within"===x.backgroundSize&&Ie&&we&&Ee&&Me?(Je=Math.min(Ie/Ee,we/Me),O(xe,{width:Math.round(Ee*Je),height:Math.round(Me*Je)})):xe&&Xe&&xe.setAttribute(ee,Xe),!be&&Ee&&Me&&this.translate(((Ie||0)-Ee*Je)/2,((we||0)-Me*Je)/2)}}),g(se)&&De.attr({x:se,y:S}),De.isImg=!0,g(De.imgwidth)&&g(De.imgheight)?Y(De):(De.attr({width:0,height:0}),f("img",{onload:function(){let Be=E[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),m[Z]={width:this.width,height:this.height},De.imgwidth=this.width,De.imgheight=this.height,De.element&&Y(De),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Be||Be.hasLoaded||Be.onload()},src:Z}),this.imgCount++)}return N}clipRect(U,se,S,$){return this.rect(U,se,S,$,0)}text(U,se,S,$){let H={};if($&&(this.allowHTML||!this.forExport))return this.html(U,se,S);H.x=Math.round(se||0),S&&(H.y=Math.round(S)),g(U)&&(H.text=U);let x=this.createElement("text").attr(H);return $&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,Z){let Y=Z.getElementsByTagName("tspan"),he=Z.getAttribute(R);for(let _e,ge=0;geU.align())}}return o(z.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ue,draw:I}),ve.registerRendererType("svg",z,!0),z}),Le(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{composed:le}=ne,{attr:pe,css:ue,createElement:J,defined:te,extend:X,pInt:E,pushUnique:j}=ve;function F(I,_,m){let w=this.div?.style||m.style;re.prototype[`${_}Setter`].call(this,I,_,m),w&&(w[_]=I)}let P=(I,_)=>{if(!I.div){let m=pe(I.element,"class"),w=I.css,G=J("div",m?{className:m}:void 0,{position:"absolute",left:`${I.translateX||0}px`,top:`${I.translateY||0}px`,...I.styles,display:I.display,opacity:I.opacity,visibility:I.visibility},I.parentGroup?.div||_);I.classSetter=(O,f,a)=>{a.setAttribute("class",O),G.className=O},I.translateXSetter=I.translateYSetter=(O,f)=>{I[f]=O,G.style["translateX"===f?"left":"top"]=`${O}px`,I.doTransform=!0},I.opacitySetter=I.visibilitySetter=F,I.css=O=>(w.call(I,O),O.cursor&&(G.style.cursor=O.cursor),O.pointerEvents&&(G.style.pointerEvents=O.pointerEvents),I),I.on=function(){return re.prototype.on.apply({element:G,onEvents:I.onEvents},arguments),I},I.div=G}return I.div};class D extends re{static compose(_){j(le,this.compose)&&(_.prototype.html=function(m,w,G){return new D(this,"span").attr({text:m,x:Math.round(w),y:Math.round(G)})})}constructor(_,m){super(_,m),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,m,w){this.xCorr=-_*w,this.yCorr=-m}css(_){let m,{element:w}=this,G="SPAN"===w.tagName&&_&&"width"in _,O=G&&_.width;return G&&(delete _.width,this.textWidth=E(O)||void 0,m=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),X(this.styles,_),ue(w,_),m&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:m,rotation:w,rotationOriginX:G,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:v=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(ue(_,{marginLeft:`${v}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[w,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(ue(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(ue(_,{width:U>se||w?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=m.fontMetrics(_).b,te(w)&&(w!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(w,C,C),this.getSpanCorrection(!te(w)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:T=0,yCorr:B=0}=this;ue(_,{left:`${n+T}px`,top:`${r+B}px`,transformOrigin:`${(G??n)-T-n-C}px ${(O??r)-B-r-C}px`}),this.cTT=d,this.oldRotation=w,this.oldAlign=a}}setSpanRotation(_,m,w){ue(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${m}% ${w}px`})}add(_){let m,w=this.renderer.box.parentNode,G=[];if(this.parentGroup=_,_&&!(m=_.div)){let O=_;for(;O;)G.push(O),O=O.parentGroup;for(let f of G.reverse())m=P(f,w)}return(m||w).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,q.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,m){this[m]=_,this.doTransform=!0}}let A=D.prototype;return A.visibilitySetter=A.opacitySetter=F,A.ySetter=A.rotationSetter=A.rotationOriginXSetter=A.rotationOriginYSetter=A.xSetter,D}),Le(V,"Core/Axis/AxisDefaults.js",[],function(){var q,ne;return(ne=q||(q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ne.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},q}),Le(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(q){var ne;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:pe}=q;return(ne||(ne={})).registerEventOptions=function(ue,J){ue.eventOptions=ue.eventOptions||{},le(J.events,function(te,X){ue.eventOptions[X]!==te&&(ue.eventOptions[X]&&(pe(ue,X,ue.eventOptions[X]),delete ue.eventOptions[X]),ve(te)&&(ue.eventOptions[X]=te,re(ue,X,te,{order:0})))})},ne}),Le(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{deg2rad:ve}=ne,{clamp:le,correctFloat:pe,defined:ue,destroyObjectProperties:J,extend:te,fireEvent:X,isNumber:E,merge:j,objectEach:F,pick:P}=re;return class{constructor(D,A,I,_,m){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=A,this.type=I||"",this.parameters=m||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,X(this,"init"),I||_||this.addLabel()}addLabel(){let l,d,C,D=this,A=D.axis,I=A.options,_=A.chart,m=A.categories,w=A.logarithmic,G=A.names,O=D.pos,f=P(D.options&&D.options.labels,I.labels),a=A.tickPositions,g=O===a[0],v=O===a[a.length-1],o=(!f.step||1===f.step)&&1===A.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(m?P(m[O],G[O],O):O);w&&E(k)&&(k=pe(w.lin2log(k))),A.dateTime&&(n?l=(d=_.time.resolveDTLFormat(I.dateTimeLabelFormats[!I.grid&&n.higherRanks[O]||n.unitName])).main:E(k)&&(l=A.dateTime.getXDateFormat(k,I.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=v;let p={axis:A,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:v,pos:O,tick:D,tickPositionInfo:n,value:k};X(this,"labelFormat",p);let T=K=>f.formatter?f.formatter.call(K,K):f.format?(K.text=A.defaultLabelFormatter.call(K),q.format(f.format,K,_)):A.defaultLabelFormatter.call(K),B=T.call(p,p),z=d&&d.list;D.shortenLabel=z?function(){for(C=0;C0&&_+g*v>O&&(k=Math.round((m-_)/Math.cos(a*ve))):(d=_-g*v,C=_+(1-g)*v,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||A.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(I.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,A){let G,I=this,_=I.label,m=I.axis,w=!1;_&&_.textStr===D?(I.movedLabel=_,w=!0,delete I.label):F(m.ticks,function(O){w||O.isNew||O===I||!O.label||O.label.textStr!==D||(I.movedLabel=O.label,w=!0,O.labelPos=I.movedLabel.xy,delete O.label)}),!w&&(I.labelPos||_)&&(G=I.labelPos||_.xy,I.movedLabel=I.createLabel(D,A,G),I.movedLabel&&I.movedLabel.attr({opacity:0}))}render(D,A,I){let _=this.axis,m=_.horiz,w=this.pos,G=P(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(m,w,G,A),f=O.x,a=O.y,g=_.pos,v=g+_.len,o=m&&f===v||!m&&a===g?-1:1,n=m?f:a;!_.chart.polar&&this.isNew&&(pe(n)v)&&(I=0);let r=P(I,this.label&&this.label.newOpacity,1);I=P(I,1),this.isActive=!0,this.renderGridLine(A,I,o),this.renderMark(O,I,o),this.renderLabel(O,A,r,D),this.isNew=!1,X(this,"afterRender")}renderGridLine(D,A,I){let v,_=this.axis,m=_.options,w={},G=this.pos,O=this.type,f=P(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=m.gridLineWidth,n=m.gridLineColor,r=m.gridLineDashStyle;"minor"===this.type&&(o=m.minorGridLineWidth,n=m.minorGridLineColor,r=m.minorGridLineDashStyle),g||(_.chart.styledMode||(w.stroke=n,w["stroke-width"]=o||0,w.dashstyle=r),O||(w.zIndex=1),D&&(A=0),this.gridLine=g=a.path().attr(w).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(v=_.getPlotLinePath({value:G+f,lineWidth:g.strokeWidth()*I,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:v,opacity:A})}renderMark(D,A,I){let _=this.axis,m=_.options,w=_.chart.renderer,G=this.type,O=_.tickSize(G?G+"Tick":"tick"),f=D.x,a=D.y,g=P(m["minor"!==G?"tickWidth":"minorTickWidth"],!G&&_.isXAxis?1:0),v=m["minor"!==G?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=w.path().addClass("highcharts-"+(G?G+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:v,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*I,_.horiz,w),opacity:A}))}renderLabel(D,A,I,_){let m=this.axis,w=m.horiz,G=m.options,O=this.label,f=G.labels,a=f.step,g=P(this.tickmarkOffset,m.tickmarkOffset),v=D.x,o=D.y,n=!0;O&&E(v)&&(O.xy=D=this.getLabelPosition(v,o,O,w,f,g,_,a),this.isFirst&&!this.isLast&&!G.showFirstLabel||this.isLast&&!this.isFirst&&!G.showLastLabel?n=!1:!w||f.step||f.rotation||A||0===I||this.handleOverflow(D),a&&_%a&&(n=!1),n&&E(D.y)?(D.opacity=I,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,A=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),A.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Le(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{animObject:te}=q,{xAxis:X,yAxis:E}=ne,{defaultOptions:j}=ve,{registerEventOptions:F}=le,{deg2rad:P}=pe,{arrayMax:D,arrayMin:A,clamp:I,correctFloat:_,defined:m,destroyObjectProperties:w,erase:G,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:v,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:T,splat:B,syncTimeout:z}=J,K=(se,S)=>d(S,void 0,void 0,k(se.options.allowDecimals,S<.5||void 0!==se.tickAmount),!!se.tickAmount);f(j,{xAxis:X,yAxis:l(X,E)});class U{constructor(S,$,H){this.init(S,$,H)}init(S,$,H=this.coll){let x="xAxis"===H,N=this.isZAxis||(S.inverted?!x:x);this.chart=S,this.horiz=N,this.isXAxis=x,this.coll=H,a(this,"init",{userOptions:$}),this.opposite=k($.opposite,this.opposite),this.side=k($.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions($);let R=this.options,Z=R.labels,Y=R.type;this.userOptions=$,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===Y||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=m(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,B(S.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===S.axes.indexOf(this)&&(x?S.axes.splice(S.xAxis.length,0,this):S.axes.push(this),v(this,S[this.coll])),S.orderItems(this.coll),this.series=this.series||[],S.inverted&&!this.isZAxis&&x&&!m(this.reversed)&&(this.reversed=!0),this.labelRotation=n(Z.rotation)?Z.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(S){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},j[this.coll],S),a(this,"afterSetOptions",{userOptions:S})}defaultLabelFormatter(){let Te,Oe,S=this.axis,{numberFormatter:$}=this.chart,H=n(this.value)?this.value:NaN,x=S.chart.time,N=S.categories,R=this.dateTimeLabelFormat,Z=j.lang,Y=Z.numericSymbols,he=Z.numericSymbolMagnitude||1e3,ge=S.logarithmic?Math.abs(H):S.tickInterval,_e=Y&&Y.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,H);else if(_e&&Y&&ge>=1e3)for(;_e--&&void 0===Oe;)ge>=(Te=Math.pow(he,_e+1))&&10*H%Te==0&&null!==Y[_e]&&0!==H&&(Oe=$(H/Te,-1)+Y[_e]);return void 0===Oe&&(Oe=Math.abs(H)>=1e4?$(H,-1):$(H,-1,void 0,"")),Oe}getSeriesExtremes(){let S,$=this;a(this,"getSeriesExtremes",null,function(){$.hasVisibleSeries=!1,$.dataMin=$.dataMax=$.threshold=void 0,$.softThreshold=!$.isXAxis,$.series.forEach(H=>{if(H.reserveSpace()){let N,Z,Y,x=H.options,R=x.threshold;if($.hasVisibleSeries=!0,$.positiveValuesOnly&&0>=(R||0)&&(R=void 0),$.isXAxis)(N=H.xData)&&N.length&&(N=$.logarithmic?N.filter(he=>he>0):N,Z=(S=H.getXExtremes(N)).min,Y=S.max,n(Z)||Z instanceof Date||(N=N.filter(n),Z=(S=H.getXExtremes(N)).min,Y=S.max),N.length&&($.dataMin=Math.min(k($.dataMin,Z),Z),$.dataMax=Math.max(k($.dataMax,Y),Y)));else{let he=H.applyExtremes();n(he.dataMin)&&(Z=he.dataMin,$.dataMin=Math.min(k($.dataMin,Z),Z)),n(he.dataMax)&&(Y=he.dataMax,$.dataMax=Math.max(k($.dataMax,Y),Y)),m(R)&&($.threshold=R),(!x.softThreshold||$.positiveValuesOnly)&&($.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(S,$,H,x,N,R){let Z=this.linkedParent||this,Y=x&&Z.old?Z.old.min:Z.min;if(!n(Y))return NaN;let he=Z.minPixelPadding,ge=(Z.isOrdinal||Z.brokenAxis?.hasBreaks||Z.logarithmic&&N)&&Z.lin2val,_e=1,Te=0,Oe=x&&Z.old?Z.old.transA:Z.transA,De=0;if(Oe||(Oe=Z.transA),H&&(_e*=-1,Te=Z.len),Z.reversed&&(_e*=-1,Te-=_e*(Z.sector||Z.len)),$)De=(S=S*_e+Te-he)/Oe+Y,ge&&(De=Z.lin2val(De));else{ge&&(S=Z.val2lin(S));let Be=_e*(S-Y)*Oe;De=(Z.isRadial?Be:_(Be))+Te+_e*he+(n(R)?Oe*R:0)}return De}toPixels(S,$){return this.translate(S,!1,!this.horiz,void 0,!0)+($?0:this.pos)}toValue(S,$){return this.translate(S-($?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(S){let De,Be,oe,ee,be,$=this,H=$.chart,x=$.left,N=$.top,R=S.old,Z=S.value,Y=S.lineWidth,he=R&&H.oldChartHeight||H.chartHeight,ge=R&&H.oldChartWidth||H.chartWidth,_e=$.transB,Te=S.translatedValue,Oe=S.force;function xe(we,Ee,Me){return"pass"!==Oe&&(weMe)&&(Oe?we=I(we,Ee,Me):be=!0),we}let Ie={value:Z,lineWidth:Y,old:R,force:Oe,acrossPanes:S.acrossPanes,translatedValue:Te};return a(this,"getPlotLinePath",Ie,function(we){De=oe=Math.round((Te=I(Te=k(Te,$.translate(Z,void 0,void 0,R)),-1e5,1e5))+_e),Be=ee=Math.round(he-Te-_e),n(Te)?$.horiz?(Be=N,ee=he-$.bottom+(H.scrollablePixelsY||0),De=oe=xe(De,x,x+$.width)):(De=x,oe=ge-$.right+(H.scrollablePixelsX||0),Be=ee=xe(Be,N,N+$.height)):(be=!0,Oe=!1),we.path=be&&!Oe?void 0:H.renderer.crispLine([["M",De,Be],["L",oe,ee]],Y||1)}),Ie.path}getLinearTickPositions(S,$,H){let x,N,R,Z=_(Math.floor($/S)*S),Y=_(Math.ceil(H/S)*S),he=[];if(_(Z+S)===Z&&(R=20),this.single)return[$];for(x=Z;x<=Y&&(he.push(x),(x=_(x+S,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:S,minorTickInterval:$}=this.options;return!0===S?k($,"auto"):!1!==S?$:void 0}getMinorTickPositions(){let he,S=this.options,$=this.tickPositions,H=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,Z=R-N,Y=[];if(Z&&Z/H(ge.xIncrement?ge.xData?.slice(0,2):ge.xData)||[]))||0),this.dataMax-this.dataMin)),n(H)&&n(x)&&n(N)&&H-x=N,R=(N-H+x)/2,Y=[x-R,k(S.min,x-R)],Z&&(Y[2]=$?$.log2lin(this.dataMin):this.dataMin),he=[(x=D(Y))+N,k(S.max,x+N)],Z&&(he[2]=$?$.log2lin(this.dataMax):this.dataMax),(H=A(he))-xx-N),S=g([H]))}return S&&$?Math.min(S,$):S||$}nameToX(S){let N,$=o(this.options.categories),H=$?this.categories:this.names,x=S.options.x;return S.series.requireSorting=!1,m(x)||(x=this.options.uniqueNames&&H?$?H.indexOf(S.name):k(H.keys[S.name],-1):S.series.autoIncrement()),-1===x?!$&&H&&(N=H.length):N=x,void 0!==N?(this.names[N]=S.name,this.names.keys[S.name]=N):S.x&&(N=S.x),N}updateNames(){let S=this,$=this.names;$.length>0&&(Object.keys($.keys).forEach(function(H){delete $.keys[H]}),$.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(H=>{H.xIncrement=null,(!H.points||H.isDirtyData)&&(S.max=Math.max(S.max,H.xData.length-1),H.processData(),H.generatePoints()),H.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=S.nameToX(x))&&R!==x.x&&(x.x=R,H.xData[N]=R)})}))}setAxisTranslation(){let Z,ge,S=this,$=S.max-S.min,H=S.linkedParent,x=!!S.categories,N=S.isXAxis,R=S.axisPointRange||0,Y=0,he=0,_e=S.transA;(N||x||R)&&(Z=S.getClosest(),H?(Y=H.minPointOffset,he=H.pointRangePadding):S.series.forEach(function(Te){let Oe=x?1:N?k(Te.options.pointRange,Z,0):S.axisPointRange||0,De=Te.options.pointPlacement;if(R=Math.max(R,Oe),!S.single||x){let Be=Te.is("xrange")?!N:N;Y=Math.max(Y,Be&&r(De)?0:Oe/2),he=Math.max(he,Be&&"on"===De?0:Oe)}}),ge=S.ordinal&&S.ordinal.slope&&Z?S.ordinal.slope/Z:1,S.minPointOffset=Y*=ge,S.pointRangePadding=he*=ge,S.pointRange=Math.min(R,S.single&&x?1:$),N&&Z&&(S.closestPointRange=Z)),S.translationSlope=S.transA=_e=S.staticScale||S.len/($+he||1),S.transB=S.horiz?S.left:S.bottom,S.minPixelPadding=_e*Y,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:S,min:$}=this;return n(S)&&n($)&&S-$||void 0}setTickInterval(S){let Me,Je,lt,qe,st,{categories:$,chart:H,dataMax:x,dataMin:N,dateTime:R,isXAxis:Z,logarithmic:Y,options:he,softThreshold:ge}=this,_e=n(this.threshold)?this.threshold:void 0,Te=this.minRange||0,{ceiling:Oe,floor:De,linkedTo:Be,softMax:oe,softMin:ee}=he,be=n(Be)&&H[this.coll]?.[Be],xe=he.tickPixelInterval,Ie=he.maxPadding,we=he.minPadding,Ee=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||$||be||this.getTickAmount(),qe=k(this.userMin,he.min),st=k(this.userMax,he.max),be?(this.linkedParent=be,Me=be.getExtremes(),this.min=k(Me.min,Me.dataMin),this.max=k(Me.max,Me.dataMax),he.type!==be.options.type&&O(11,!0,H)):(ge&&m(_e)&&n(x)&&n(N)&&(N>=_e?(Je=_e,we=0):x<=_e&&(lt=_e,Ie=0)),this.min=k(qe,Je,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(Y&&(this.positiveValuesOnly&&!S&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,H),this.min=_(Y.log2lin(this.min),16),this.max=_(Y.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),$||this.axisPointRange||this.stacking?.usePercentage||be||!(Ee=this.max-this.min)||(!m(qe)&&we&&(this.min-=Ee*we),m(st)||!Ie||(this.max+=Ee*Ie)),!n(this.userMin)&&n(De)&&(this.min=Math.max(this.min,De)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),ge&&n(N)&&n(x)){let pt=_e||0;!m(qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Te):pt:!m(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Te):pt)}!H.polar&&this.min>this.max&&(m(he.min)?this.max=this.min:m(he.max)&&(this.min=this.max)),Ee=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?be&&!Xe&&xe===be.options.tickPixelInterval?Xe=be.tickInterval:k(Xe,this.tickAmount?Ee/Math.max(this.tickAmount-1,1):void 0,$?1:Ee*xe/Math.max(this.len,xe)):1,Z&&!S){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Tt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))Y=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)Y=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,S.units),this.min,this.max,S.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)Y=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let ge=this.tickInterval,_e=ge;for(;_e<=2*ge&&(Y=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&Y.length>this.tickAmount);)this.tickInterval=K(this,_e*=1.1)}Y.length>this.len&&(Y=[Y[0],Y[Y.length-1]])[0]===Y[1]&&(Y.length=1),H&&(this.tickPositions=Y,(he=H.apply(this,[this.min,this.max]))&&(Y=he))}this.tickPositions=Y,this.paddedTicks=Y.slice(0),this.trimTicks(Y,R,Z),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&Y.length<2&&!this.categories&&!this.series.some(ge=>ge.is("heatmap")&&"between"===ge.options.pointPlacement)&&(this.min-=.5,this.max+=.5),$||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(S,$,H){let x=S[0],N=S[S.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if($&&x!==-1/0)this.min=x;else for(;this.min-R>S[0];)S.shift();if(H)this.max=N;else for(;this.max+R{let{horiz:Te,options:Oe}=_e;return[Te?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},ge=he(this);H[this.coll].forEach(function(_e){let{series:Te}=_e;Te.length&&Te.some(Oe=>Oe.visible)&&_e!==$&&he(_e)===ge&&(S=!0,x.push(_e))})}if(S&&Z){x.forEach(ge=>{let _e=ge.getThresholdAlignment($);n(_e)&&Y.push(_e)});let he=Y.length>1?Y.reduce((ge,_e)=>ge+_e,0)/Y.length:void 0;x.forEach(ge=>{ge.thresholdAlignment=he})}return S}getThresholdAlignment(S){if((!n(this.dataMin)||this!==S&&this.series.some($=>$.isDirty||$.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let $=I((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&($=1-$),$}}getTickAmount(){let S=this.options,$=S.tickPixelInterval,H=S.tickAmount;m(S.tickInterval)||H||!(this.len<$)||this.isRadial||this.logarithmic||!S.startOnTick||!S.endOnTick||(H=2),!H&&this.alignToOthers()&&(H=Math.ceil(this.len/$)+1),H<4&&(this.finalTickAmt=H,H=5),this.tickAmount=H}adjustTickAmount(){let _e,Te,De,S=this,{finalTickAmt:$,max:H,min:x,options:N,tickPositions:R,tickAmount:Z,thresholdAlignment:Y}=S,he=R?.length,ge=k(S.threshold,S.softThreshold?0:null),Oe=S.tickInterval,Be=()=>R.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(Y)&&(De=Y<.5?Math.ceil(Y*(Z-1)):Math.floor(Y*(Z-1)),N.reversed&&(De=Z-1-De)),S.hasData()&&n(x)&&n(H)){let ee=()=>{S.transA*=(he-1)/(Z-1),S.min=N.startOnTick?R[0]:Math.min(x,R[0]),S.max=N.endOnTick?R[R.length-1]:Math.max(H,R[R.length-1])};if(n(De)&&n(S.threshold)){for(;R[De]!==ge||R.length!==Z||R[0]>x||R[R.length-1]S.threshold?oe():Be();if(Oe>8*S.tickInterval)break;Oe*=2}ee()}else if(he0&&Te<_e-1)&&R.splice(Te,1);S.finalTickAmt=void 0}}}setScale(){let{coll:S,stacking:$}=this,H=!1,x=!1;this.series.forEach(R=>{H=H||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||H||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?($&&"yAxis"===S&&$.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),$&&"xAxis"===S&&$.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):$&&$.cleanStacks(),H&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(S,$,H=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:S,max:$}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,H&&this.chart.redraw(x)})}setAxisSize(){let S=this.chart,$=this.options,H=$.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k($.width,S.plotWidth-H[3]+H[1]),S.plotWidth)),R=this.height=Math.round(p(k($.height,S.plotHeight-H[0]+H[2]),S.plotHeight)),Z=this.top=Math.round(p(k($.top,S.plotTop+H[0]),S.plotHeight,S.plotTop)),Y=this.left=Math.round(p(k($.left,S.plotLeft+H[3]),S.plotWidth,S.plotLeft));this.bottom=S.chartHeight-R-Z,this.right=S.chartWidth-N-Y,this.len=Math.max(x?N:R,0),this.pos=x?Y:Z}getExtremes(){let S=this.logarithmic;return{min:S?_(S.lin2log(this.min)):this.min,max:S?_(S.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(S){let $=this.logarithmic,H=$?$.lin2log(this.min):this.min,x=$?$.lin2log(this.max):this.max;return null===S||S===-1/0?S=H:S===1/0?S=x:H>S?S=H:x15&&$<165?x.align="right":$>195&&$<345&&(x.align="left")}),H.align}tickSize(S){let N,$=this.options,H=k($["tick"===S?"tickWidth":"minorTickWidth"],"tick"===S&&this.isXAxis&&!this.categories?1:0),x=$["tick"===S?"tickLength":"minorTickLength"];H&&x&&("inside"===$[S+"Position"]&&(x=-x),N=[x,H]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let S=this.chart.renderer,$=this.ticks,H=$[Object.keys($)[0]]||{};return this.chart.renderer.fontMetrics(H.label||H.movedLabel||S.box)}unsquish(){let ge,Te,S=this.options.labels,$=this.horiz,H=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/H),N=S.rotation,R=this.labelMetrics().h,Z=Math.max(this.max-this.min,0),Y=function(Oe){let De=Oe/(x||1);return(De=De>1?Math.ceil(De):1)*H>Z&&Oe!==1/0&&x!==1/0&&Z&&(De=Math.ceil(Z/H)),_(De*H)},he=H,_e=Number.MAX_VALUE;if($){if(!S.staggerLines&&(n(N)?Te=[N]:x=-90&&Be<=90)&&(De=(Oe=Y(Math.abs(R/Math.sin(P*Be))))+Math.abs(Be/360))<_e&&(_e=De,ge=Be,he=Oe)}}else he=Y(.75*R);return this.autoRotation=Te,this.labelRotation=k(ge,n(N)?N:0),S.step?H:he}getSlotWidth(S){let $=this.chart,H=this.horiz,x=this.options.labels,N=Math.max(this.tickPositions.length-(this.categories?0:1),1),R=$.margin[3];if(S&&n(S.slotWidth))return S.slotWidth;if(H&&x.step<2)return x.rotation?0:(this.staggerLines||1)*this.len/N;if(!H){let Z=x.style.width;if(void 0!==Z)return parseInt(String(Z),10);if(R)return R-$.spacing[3]}return.33*$.chartWidth}renderUnsquish(){let Oe,De,oe,ee,S=this.chart,$=S.renderer,H=this.tickPositions,x=this.ticks,N=this.options.labels,R=N.style,Z=this.horiz,Y=this.getSlotWidth(),he=Math.max(1,Math.round(Y-2*N.padding)),ge={},_e=this.labelMetrics(),Te=R.textOverflow,Be=0;if(r(N.rotation)||(ge.rotation=N.rotation||0),H.forEach(function(be){let xe=x[be];xe.movedLabel&&xe.replaceMovedLabel(),xe&&xe.label&&xe.label.textPxLength>Be&&(Be=xe.label.textPxLength)}),this.maxLabelLength=Be,this.autoRotation)Be>he&&Be>_e.h?ge.rotation=this.labelRotation:this.labelRotation=0;else if(Y&&(Oe=he,!Te))for(De="clip",ee=H.length;!Z&&ee--;)(oe=x[H[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>Y&&oe.css({width:Y+"px"}),oe.getBBox().height>this.len/H.length-(_e.h-_e.f)&&(oe.specificTextOverflow="ellipsis"));ge.rotation&&(Oe=Be>.5*S.chartHeight?.33*S.chartHeight:Be,Te||(De="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(ge.align=this.labelAlign),H.forEach(function(be){let xe=x[be],Ie=xe&&xe.label,we=R.width,Ee={};Ie&&(Ie.attr(ge),xe.shortenLabel?xe.shortenLabel():Oe&&!we&&"nowrap"!==R.whiteSpace&&(OeN.g(Z).attr({zIndex:he}).addClass(`highcharts-${H.toLowerCase()}${Y} `+(this.isRadial?`highcharts-radial-axis${Y} `:"")+(x.className||"")).add(S);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,xe,Ee,Me,S=this,{chart:$,horiz:H,options:x,side:N,ticks:R,tickPositions:Z,coll:Y}=S,he=$.inverted&&!S.isZAxis?[1,0,3,2][N]:N,ge=S.hasData(),_e=x.title,Te=x.labels,Oe=n(x.crossing),De=$.axisOffset,Be=$.clipOffset,oe=[-1,1,1,-1][N],be=0,Ie=0,we=0;if(S.showAxis=ee=ge||x.showEmpty,S.staggerLines=S.horiz&&Te.staggerLines||void 0,S.createGroups(),ge||S.isLinked?(Z.forEach(function(Xe){S.generateTick(Xe)}),S.renderUnsquish(),S.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===S.labelAlign,k(Te.reserveSpace,!Oe&&null,"center"===S.labelAlign||null,S.reserveSpaceDefault)&&Z.forEach(function(Xe){we=Math.max(R[Xe].getLabelSize(),we)}),S.staggerLines&&(we*=S.staggerLines),S.labelOffset=we*(S.opposite?-1:1)):C(R,function(Xe,Je){Xe.destroy(),delete R[Je]}),_e?.text&&!1!==_e.enabled&&(S.addTitle(ee),ee&&!Oe&&!1!==_e.reserveSpace&&(S.titleOffset=be=S.axisTitle.getBBox()[H?"height":"width"],Ie=m(xe=_e.offset)?0:k(_e.margin,H?5:10))),S.renderLine(),S.offset=oe*k(x.offset,De[N]?De[N]+(x.margin||0):0),S.tickRotCorr=S.tickRotCorr||{x:0,y:0},Me=0===N?-S.labelMetrics().h:2===N?S.tickRotCorr.y:0,Ee=Math.abs(we)+Ie,we&&(Ee-=Me,Ee+=oe*(H?k(Te.y,S.tickRotCorr.y+oe*Te.distance):k(Te.x,oe*Te.distance))),S.axisTitleMargin=k(xe,Ee),S.getMaxLabelDimensions&&(S.maxLabelDimensions=S.getMaxLabelDimensions(R,Z)),"colorAxis"!==Y){let Xe=this.tickSize("tick");De[N]=Math.max(De[N],(S.axisTitleMargin||0)+be+oe*S.offset,Ee,Z&&Z.length&&Xe?Xe[0]+oe*S.offset:0);let Je=!S.axisLine||x.offset?0:2*Math.floor(S.axisLine.strokeWidth()/2);Be[he]=Math.max(Be[he],Je)}a(this,"afterGetOffset")}getLinePath(S){let $=this.chart,H=this.opposite,x=this.offset,N=this.horiz,R=this.left+(H?this.width:0)+x,Z=$.chartHeight-this.bottom-(H?this.height:0)+x;return H&&(S*=-1),$.renderer.crispLine([["M",N?this.left:R,N?Z:this.top],["L",N?$.chartWidth-this.right:R,N?Z:$.chartHeight-this.bottom]],S)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(S){let $=this.horiz,H=this.left,x=this.top,N=this.len,R=this.options.title,Z=$?H:x,Y=this.opposite,he=this.offset,ge=R.x,_e=R.y,Te=this.chart.renderer.fontMetrics(S),Oe=S?Math.max(S.getBBox(!1,0).height-Te.h-1,0):0,De={low:Z+($?0:N),middle:Z+N/2,high:Z+($?N:0)}[R.align],Be=($?x+this.height:H)+($?1:-1)*(Y?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Te.f,-Oe][this.side],oe={x:$?De+ge:Be+(Y?this.width:0)+he+ge,y:$?Be+_e-(Y?this.height:0)+he:De+_e};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(S,$){let H=this.minorTicks;H[S]||(H[S]=new ue(this,S,"minor")),$&&H[S].isNew&&H[S].render(null,!0),H[S].render(null,!1,1)}renderTick(S,$,H){let N=this.ticks;(!this.isLinked||S>=this.min&&S<=this.max||this.grid&&this.grid.isColumn)&&(N[S]||(N[S]=new ue(this,S)),H&&N[S].isNew&&N[S].render($,!0,-1),N[S].render($))}render(){let S,$,H=this,x=H.chart,N=H.logarithmic,Z=H.options,Y=H.isLinked,he=H.tickPositions,ge=H.axisTitle,_e=H.ticks,Te=H.minorTicks,Oe=H.alternateBands,De=Z.stackLabels,Be=Z.alternateGridColor,oe=Z.crossing,ee=H.tickmarkOffset,be=H.axisLine,xe=H.showAxis,Ie=te(x.renderer.globalAnimation);if(H.labelEdge.length=0,H.overlap=!1,[_e,Te,Oe].forEach(function(we){C(we,function(Ee){Ee.isActive=!1})}),n(oe)){let we=this.isXAxis?x.yAxis[0]:x.xAxis[0],Ee=[1,-1,-1,1][this.side];if(we){let Me=we.toPixels(oe,!0);H.horiz&&(Me=we.len-Me),H.offset=Ee*Me}}if(H.hasData()||Y){let we=H.chart.hasRendered&&H.old&&n(H.old.min);H.minorTickInterval&&!H.categories&&H.getMinorTickPositions().forEach(function(Ee){H.renderMinorTick(Ee,we)}),he.length&&(he.forEach(function(Ee,Me){H.renderTick(Ee,Me,we)}),ee&&(0===H.min||H.single)&&(_e[-1]||(_e[-1]=new ue(H,-1,null,!0)),_e[-1].render(-1))),Be&&he.forEach(function(Ee,Me){$=void 0!==he[Me+1]?he[Me+1]+ee:H.max-ee,Me%2==0&&Ee=.5)E=Math.round(E),_=D.getLinearTickPositions(E,j,F);else if(E>=.08){let m,w,G,O,f,a,g;for(m=E>.3?[1,2,4]:E>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],w=Math.floor(j);wj&&(!P||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let m=this.lin2log(j),w=this.lin2log(F),G=P?D.getMinorTickInterval():I.tickInterval;E=ve(E=le("auto"===G?null:G,this.minorAutoInterval,I.tickPixelInterval/(P?5:1)*(w-m)/((P?A/D.tickPositions.length:A)||1))),_=D.getLinearTickPositions(E,m,w).map(this.log2lin),P||(this.minorAutoInterval=E/5)}return P||(D.tickInterval=E),_}lin2log(E){return Math.pow(10,E)}log2lin(E){return Math.log(E)/Math.LN10}}pe.Additions=te}(ne||(ne={})),ne}),Le(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(q){var ne;let{erase:re,extend:ve,isNumber:le}=q;return function(pe){let ue;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,A){let I=this.userOptions,_=new ue(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(I.plotLines||[]).concat(I.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),A){let m=I[A]||[];m.push(D),I[A]=m}this.plotLinesAndBands.push(_)}return _}function X(D){return this.addPlotBandOrLine(D,"plotLines")}function E(D,A,I){let f,g,_=this.getPlotLinePath({value:A,force:!0,acrossPanes:(I=I||this.options).acrossPanes}),m=[],w=this.horiz,G=!le(this.min)||!le(this.max)||Dthis.max&&A>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:I.acrossPanes}),a=1;if(O&&_)for(G&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(K,U=>{m[K].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&P.width>0&&P.height>0&&!l.isFlat?(o=te({align:A&&C&&"center",x:A?!C&&4:10,verticalAlign:!A&&C&&"middle",y:A?C?16:10:C?6:-4,rotation:A&&!C&&90},o),this.renderLabel(o,l,C,w)):n&&n.hide(),this}renderLabel(P,D,A,I){let _=this.axis,w=this.label;w||(this.label=w=_.chart.renderer.text(this.getLabelText(P),0,0,P.useHTML).attr({align:P.textAlign||P.align,rotation:P.rotation,class:"highcharts-plot-"+(A?"band":"line")+"-label"+(P.className||""),zIndex:I}),_.chart.styledMode||w.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},P.style)),w.add());let G=D.xBounds||[D[0][1],D[1][1],A?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],A?D[2][2]:D[0][2]],f=ve(G),a=ve(O);w.align(P,!1,{x:f,y:a,width:re(G)-f,height:re(O)-a}),w.alignValue&&"left"!==w.alignValue||w.css({width:(90===w.rotation?_.height-(w.alignAttr.y-_.top):(P.clip?_.width:_.chart.chartWidth)-(w.alignAttr.x-_.left))+"px"}),w.show(!0)}getLabelText(P){return le(P.formatter)?P.formatter.call(this):P.text}destroy(){ue(this.axis.plotLinesAndBands,this),delete this.axis,pe(this)}}return j}),Le(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{format:ue}=q,{composed:J,doc:te,isSafari:X}=ne,{distribute:E}=re,{addEvent:j,clamp:F,css:P,discardElement:D,extend:A,fireEvent:I,isArray:_,isNumber:m,isString:w,merge:G,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class v{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,T=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-T,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let B=0,z=0;n.forEach(function(K){let U=K.pos(!0);U&&(B+=U[0],z+=U[1])}),B/=n.length,z/=n.length,this.shared&&n.length>1&&r&&(k?B=r.chartX:z=r.chartY),l=[B-T,z-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(w).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,T=ve.getRendererType();this.container=C=ne.doc.createElement("div"),C.className="highcharts-tooltip-container",P(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new T(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:T,ySetter:B}=p;p.xSetter=function(z){T.call(p,n.distance),C&&(C.style.left=z+"px")},p.ySetter=function(z){B.call(p,n.distance),C&&(C.style.top=z+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ne.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let _e,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:T,plotLeft:B,plotTop:z,polar:K}=C,{plotX:U=0,plotY:se=0}=l,S={},$=T&&l.h||0,{height:H,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=be=>be*N.scaleX,Z=be=>be*N.scaleY,Y=be=>{let xe="x"===be;return[be,xe?x:H,xe?n:r].concat(k?[xe?R(n):Z(r),xe?N.left-d+R(U+B):N.top-d+Z(se+z),0,xe?x:H]:[xe?n:r,xe?U+B:se+z,xe?B:z,xe?B+C.plotWidth:z+C.plotHeight])},he=Y("y"),ge=Y("x"),Te=!!l.negative;!K&&C.hoverSeries?.yAxis?.reversed&&(Te=!Te);let Oe=!this.followPointer&&O(l.ttBelow,!K&&!T===Te),De=function(be,xe,Ie,we,Ee,Me,Xe){let Je=k?"y"===be?Z(d):R(d):d,lt=(Ie-we)/2,qe=wexe?pt:pt+$)}},Be=function(be,xe,Ie,we,Ee){if(Eexe-d)return!1;S[be]=Eexe-we/2?xe-we-2:Ee-Ie/2},oe=function(be){[he,ge]=[ge,he],_e=be},ee=()=>{!1!==De.apply(0,he)?!1!==Be.apply(0,ge)||_e||(oe(!0),ee()):_e?S.x=S.y=0:(oe(!0),ee())};return(T&&!K||this.len>1)&&oe(),ee(),S}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),T=C.followPointer||C.len>1;A(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:T?void 0:p?(2*k.anchorX+l)/3:l,anchorY:T?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),T=p[0],B=[],z=d.format,K=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!T.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&T.series.tooltipOptions.followPointer;let S=this.getAnchor(n,r),$=S[0],H=S[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),B.push(R.getLabelConfig())}),(se=T.getLabelConfig()).points=B):se=T.getLabelConfig(),this.len=B.length;let x=w(z)?ue(z,se,l):K.call(se,this),N=T.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=$,Z=H;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,Z=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(Y=>C.isDirectTouch||Y.series.shouldShowTooltip(R,Z)))return void this.hide();{let Y=this.getLabel();(!d.style.width||U)&&Y.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),Y.attr({text:x&&x.join?x.join(""):x}),Y.addClass(this.getClassName(T),!0),U||Y.attr({stroke:d.borderColor||T.color||N.color||"#666666"}),this.updatePosition({plotX:$,plotY:H,negative:T.negative,ttBelow:T.ttBelow,h:S[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}I(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:T,plotTop:B,scrollablePixelsY:z=0,scrollablePixelsX:K,styledMode:U},distance:se,options:S,options:{positioner:$},pointer:H}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof K?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},Z=l.getLabel(),Y=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:ge,top:_e}=H.getChartPosition(),Te=B+N,Oe=0,De=p-z;function Be(we,Ee,Me,Xe,Je=!0){let lt,qe;return Me?(lt=he?0:De,qe=F(we-Xe/2,R.left,R.right-Xe-(l.outside?ge:0))):(lt=Ee-Te,qe=F(qe=Je?we-Xe-se:we+se,Je?qe:R.left,R.right)),{x:qe,y:lt}}w(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(we,Ee,Me){if(!1!==Ee&&""!==Ee){let Xe=r[Me-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Je=Xe.isHeader,lt=Je?l:Xe.series,qe=lt.tt=function(Pt,Gt,ti){let Dt=Pt,{isHeader:It,series:xt}=Gt;if(!Dt){let wt={padding:S.padding,r:S.borderRadius};U||(wt.fill=S.backgroundColor,wt["stroke-width"]=S.borderWidth??1),Dt=Y.label("",0,0,S[It?"headerShape":"shape"],void 0,void 0,S.useHTML).addClass(l.getClassName(Gt,!0,It)).attr(wt).add(Z)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(S.style).attr({stroke:S.borderColor||Gt.color||xt.color||"#333333"}),Dt}(lt.tt,Xe,Ee.toString()),st=qe.getBBox(),Tt=st.width+qe.strokeWidth();Je&&(Oe=st.height,De+=Oe,he&&(Te-=Oe));let{anchorX:pt,anchorY:ht}=function(Pt){let Gt,ti,{isHeader:Dt,plotX:It=0,plotY:xt=0,series:wt}=Pt;if(Dt)Gt=Math.max(T+It,T),ti=B+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(It,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-B+xt,{ignoreX:!0})&&(ti=di.pos+xt)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Pt=st.height+1,Gt=$?$.call(l,Tt,Pt,Xe):Be(pt,ht,Je,Tt);we.push({align:$?0:void 0,anchorX:pt,anchorY:ht,boxWidth:Tt,point:Xe,rank:O(Gt.rank,Je?1:0),size:Pt,target:Gt.y,tt:qe,x:Gt.x})}else qe.isActive=!1}return we},[]);!$&&oe.some(we=>{let{outside:Ee}=l,Me=(Ee?ge:0)+we.anchorX;return MeMe})&&(oe=oe.map(we=>{let{x:Ee,y:Me}=Be(we.anchorX,we.anchorY,we.point.isHeader,we.boxWidth,!1);return A(we,{target:Me,x:Ee})})),l.cleanSplit(),E(oe,De);let ee={left:ge,right:ge};oe.forEach(function(we){let{x:Ee,boxWidth:Me,isHeader:Xe}=we;!Xe&&(l.outside&&ge+Eeee.right&&(ee.right=ge+Ee))}),oe.forEach(function(we){let{x:Ee,anchorX:Me,anchorY:Xe,pos:Je,point:{isHeader:lt}}=we,qe={visibility:void 0===Je?"hidden":"inherit",x:Ee,y:(Je||0)+Te,anchorX:Me,anchorY:Xe};if(l.outside&&Ee0&&(lt||(qe.x=Ee+st,qe.anchorX=Me+st),lt&&(qe.x=(ee.right-ee.left)/2,qe.anchorX=Me+st))}we.tt.attr(qe)});let{container:be,outside:xe,renderer:Ie}=l;if(xe&&be&&Ie){let{width:we,height:Ee,x:Me,y:Xe}=Z.getBBox();Ie.setSize(we+Me,Ee+Xe,!1),be.style.left=ee.left+"px",be.style.top=_e+"px"}X&&Z.attr({opacity:1===Z.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},T=d.xDateFormat,B=d[r?"footerFormat":"headerFormat"];return I(this,"headerFormatter",p,function(z){k&&!T&&m(n.key)&&(T=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&T&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(K){B=B.replace("{point."+K+"}","{point."+K+":"+T+"}")}),l.chart.styledMode&&(B=this.styledModeFormat(B)),z.text=ue(B,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,G(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:T=0,width:B=0}=this.getLabel(),{left:z,top:K,scaleX:U,scaleY:se}=k.getChartPosition(),S=(C.positioner||this.getPosition).call(this,B,T,n),$=(n.plotX||0)+r.plotLeft,H=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(S.x+=z-d,S.y+=K-d),x=(C.borderWidth||0)+2*d+2,p.setSize(B+x,T+x,!1),(1!==U||1!==se)&&(P(l,{transform:`scale(${U}, ${se})`}),$*=U,H*=se),$+=z-S.x,H+=K-S.y),this.move(Math.round(S.x),Math.round(S.y||0),$,H)}}return(pe=v||(v={})).compose=function(o){f(J,"Core.Tooltip")&&j(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new pe(n,n.options.tooltip,this))})},v}),Le(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{animObject:pe}=ne,{defaultOptions:ue}=re,{format:J}=ve,{addEvent:te,erase:X,extend:E,fireEvent:j,getNestedProperty:F,isArray:P,isFunction:D,isNumber:A,isObject:I,pick:_,syncTimeout:m,removeEvent:w,uniqueKey:G}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},v=a.getGraphicalProps();v.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),v.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(E({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let v=this.series,o=v.options.pointValKey||v.pointValKey;return E(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?E(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&v.xAxis&&v.xAxis.hasNames&&(this.x=v.xAxis.nameToX(this)),void 0===this.x&&v?this.x=void 0===g?v.autoIncrement():g:A(a.x)&&v.options.relativeXValue&&(this.x=v.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,v=g.chart,o=g.options.dataSorting,n=v.hoverPoints,r=pe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(w(a),a.destroyElements()),a)delete a[d]};a.legendItem&&v.legend.destroyItem(a),n&&(a.setState(),X(n,a),n.length||(v.hoverPoints=null)),a===v.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),m(l,r.duration)):l(),v.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,v=g.getGraphicalProps(a);v.singular.forEach(function(o){g[o]=g[o].destroy()}),v.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,v){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(v=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),j(o,a,g,v)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,v,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),v=n.length;v--;)o[g=n[v]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,v=a.zoneAxis||"y",n=0;for(o=g[0];this[v]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,v){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,v),this.id??(this.id=G()),this.resolveColor(),a.chart.pointCount++,j(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(a){let l,g=this.series,v=g.options.keys,o=v||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(A(a)||null===a)r[o[0]]=a;else if(P(a))for(!v&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:v,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(A(v)&&A(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-v+d]:[v+d,g+C]}}resolveColor(){let o,n,l,a=this.series,v=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(v||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(v||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,v){return v.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:I(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,v=g.tooltipOptions,o=_(v.valueDecimals,""),n=v.valuePrefix||"",r=v.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,v,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let T=d&&r.hasMockGraphic;d&&(null===r.y?!T:T)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),I(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=I(k.data[n],!0)||I(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(v)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let v=this,o=v.series,n=o.chart;a=_(a,!v.selected),this.selectedStaging=a,v.firePointEvent(a?"select":"unselect",{accumulate:g},function(){v.selected=v.options.selected=a,o.options.data[o.data.indexOf(v)]=v.options,v.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==v&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:v}=this.series.chart;v&&(a=a?v.normalize(a):v.getChartCoordinatesFromPoint(this,g),v.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},v=g.events?.[a];!D(v)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(v)?this.hasImportedEvents&&!v&&this.hcEvents?.[a]&&(w(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,v),this.hasImportedEvents=!0)}setState(a,g){let z,K,U,S,v=this.series,o=this.state,n=v.options.states[a||"normal"]||{},r=ue.plotOptions[v.type].marker&&v.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=v.chart,T=r&&v.markerAttribs,B=v.halo,se=v.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,T&&(z=v.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){K=v.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=K.opacity;v.options.inactiveOtherPoints&&A(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(K,U)}z&&this.graphic.animate(z,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(S=k.symbol||v.symbol,se&&se.currentSymbol!==S&&(se=se.destroy()),z&&(se?se[g?"animate":"attr"]({x:z.x,y:z.y}):S&&(v.stateMarkerGraphic=se=p.renderer.symbol(S,z.x,z.y,z.width,z.height).add(v.markerGroup),se.currentSymbol=S)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(v.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let $=n.halo,H=this.graphic||se,x=H&&H.visibility||"inherit";$&&$.size&&H&&"hidden"!==x&&!this.isCluster?(B||(v.halo=B=p.renderer.path().add(H.parentGroup)),B.show()[g?"animate":"attr"]({d:this.haloPath($.size)}),B.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,v.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),B.point=this,p.styledMode||B.attr(E({fill:this.color||v.color,"fill-opacity":$.opacity},q.filterUserAttributes($.attributes||{})))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide),j(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Le(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{parse:le}=q,{charts:pe,composed:ue}=ne,{addEvent:J,attr:te,css:X,extend:E,find:j,fireEvent:F,isNumber:P,isObject:D,objectEach:A,offset:I,pick:_,pushUnique:m,splat:w}=re;class G{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(v){g=v.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(v){-1===a.indexOf(v)?v.setState("inactive",!0):v.options.inactiveOtherPoints&&v.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ne.chartCount&&(G.unbindDocumentMouseUp&&(G.unbindDocumentMouseUp=G.unbindDocumentMouseUp()),G.unbindDocumentTouchEnd&&(G.unbindDocumentTouchEnd=G.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),A(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,v=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=v.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let K,{chart:a}=this,{mouseDownX:g=0,mouseDownY:v=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,T=n&&f[`${n}Key`],B=f.chartX,z=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(Bl+C&&(B=l+C),zd+k&&(z=d+k),this.hasDragged=Math.sqrt(Math.pow(g-B,2)+Math.pow(v-z,2)),this.hasDragged>10)){K=a.isInsidePlot(g-l,v-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:S}=this.getSelectionMarkerAttrs(B,z);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&K&&!T&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(S),K&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:v}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),v&&f){if(this.hasDragged){let o=this.getSelectionBox(v);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}P(g.index)&&(this.selectionMarker=v.destroy())}g&&P(g.index)&&(X(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let v;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(v,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(v,r)>0)&&(v=r)}),v}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:v}=f.series,o=f.shapeArgs;if(g&&v){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&P(o.x)&&P(o.y)&&(n=o.x,r=o.y),a?{chartX:v.len+v.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+v.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=I(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:v}=f;return v>2&&g>2&&(this.chartPosition.scaleX=a.width/v,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,v,o,n){let C,r=[],l=function(T){return T.visible&&!(!o&&T.directTouch)&&_(T.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(T=>T.stickyTracking&&(k.filter||l)(T));let p=v&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(T){return k.filter?k.filter(T):l(T)&&!T.noSharedTooltip})).forEach(function(T){let B=j(T.points,function(z){return z.x===p.x&&!z.isNull});D(B)&&(T.boosted&&T.boost&&(B=T.boost.getPoint(B)),r.push(B))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,v=this.chart.hoverSeries;this.isDirectTouch=!1,!v||!g||v.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+v.index)&&this.inClass(g,"highcharts-tracker")||v.onMouseOut()}inClass(f,a){let v,g=f;for(;g;){if(v=te(g,"class")){if(-1!==v.indexOf(a))return!0;if(-1!==v.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,v=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=v.pageX-a.left,n=v.pageY-a.top;return E(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,v=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(v.target,"highcharts-tracker")?(F(g.series,"click",E(v,{point:g})),a.hoverPoint&&g.firePointEvent("click",v)):(E(v,this.getCoordinates(v)),a.isInsidePlot(v.chartX-o,v.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",v)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ne.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=pe[_(G.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,v=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(v))&&this.drag(v),!a.openMenu&&(this.inClass(v.target,"highcharts-tracker")||a.isInsidePlot(v.chartX-a.plotLeft,v.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(v))&&(this.inClass(v.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(v))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,v=this.chartPosition,o=this.normalize(f,v);!v||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){pe[_(G.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:v,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),v&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let T=p[0],B=p[1]||T;return{x:T.chartX,y:T.chartY,width:B.chartX-T.chartX,height:B.chartY-T.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,v=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&w(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&w(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),v&&v.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let v=this.chart,n=v.tooltip&&v.tooltip.options.enabled?v.tooltip:void 0,r=!!n&&n.shared,l=a||v.hoverPoint,d=l&&l.series||v.hoverSeries,k=this.getHoverData(l,d,v.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,T=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,B=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==v.hoverPoint||n&&n.isHidden)){if((v.hoverPoints||[]).forEach(function(z){-1===p.indexOf(z)&&z.setState()}),v.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(z){z.setState("hover")}),v.hoverPoint&&v.hoverPoint.firePointEvent("mouseOut"),!l.series)return;v.hoverPoints=p,v.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(B?p:l,f)})}else if(T&&n&&!n.isHidden){let z=n.getAnchor([{}],f);v.isInsidePlot(z[0],z[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:z[0],plotY:z[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(v.container.ownerDocument,"mousemove",z=>pe[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(z)),this.eventsToUnbind.push(this.unDocMouseMove)),v.axes.forEach(function(z){let K,U=_((z.crosshair||{}).snap,!0);!U||(K=v.hoverPoint)&&K.series[z.coll]===z||(K=j(p,se=>se.series&&se.series[z.coll]===z)),K||!U?z.drawCrosshair(f,K):z.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp||(G.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||(G.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ne.charts[_(G.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(G.hoverChartIndex=a.index)}touch(f,a){let g,{chart:v,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),v.isInsidePlot(f.chartX-v.plotLeft,f.chartY-v.plotTop,{visiblePlotOnly:!0})&&!v.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,v=a.zooming.type||"";/touch/.test(f.type)&&(v=_(a.zooming.pinchType,v)),this.zoomX=o=/x/.test(v),this.zoomY=n=/y/.test(v),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=G||(G={})).compose=function(O){m(ue,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},G}),Le(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){var ue;let{animObject:J,setAnimation:te}=q,{format:X}=ne,{composed:E,marginNames:j}=re,{distribute:F}=le,{addEvent:P,createElement:D,css:A,defined:I,discardElement:_,find:m,fireEvent:w,isNumber:G,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:v,syncTimeout:o}=pe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),P(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),P(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),w(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:T,symbol:B}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:z={}}=this,K=z.color,{fillColor:U,fillOpacity:se,lineColor:S,marker:$}=l.options,H=x=>(!d&&(x.fill&&(x.fill=K),x.stroke&&(x.stroke=K)),x);p?.css(O(d?this.itemStyle:z)),T?.attr(H({stroke:S||l.color})),B&&B.attr(H($&&B.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(H({fill:U||l.color,"fill-opacity":U?1:se??.75}))}w(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,z=l.checkbox;if(d&&d.element){let K={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[I(d.translateY)?"animate":"attr"](K,void 0,()=>{w(this,"afterPositionItem",{item:l})})}z&&(z.x=C,z.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let T,B=p.checkbox;B&&(T=l+k+B.y+(this.scrollOffset||0)+3,A(B,{left:d.translateX+p.checkboxOffset+B.x-20+"px",top:T+"px",display:this.proximate||T>l-6&&T1.5*_e?ge.height:_e))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,T=this.itemMarginBottom,B=this.itemMarginTop,z=k?f(d.itemDistance,20):0,K=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>K?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>K&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=B+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=B+this.itemY+T,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=B+p+T,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:z):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!I(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),w(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,B){T.test(p)&&!I(l[B])&&(C[j[B]]=Math.max(C[j[B]],C.legend[(B+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][B]*k[B%2?"x":"y"]+f(k.margin,12)+d[B]+(C.titleOffset[B]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(T){let B,z,U,se,K=k;T.yAxis&&(T.xAxis.options.reversed&&(K=!K),T.points&&(B=m(K?T.points:T.points.slice(0).reverse(),function(S){return G(S.plotY)})),z=this.itemMarginTop+T.legendItem.label.getBBox().height+this.itemMarginBottom,se=T.yAxis.top-d.plotTop,U=T.visible?(B?B.plotY:T.yAxis.height)+(se-.3*z):se+T.yAxis.height,C.push({target:U,size:z,item:T}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},G(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let T,B,z,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),K=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,K||(this.group=K=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(K),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),v(p,(S,$)=>(S.options&&S.options.legendIndex||0)-($.options&&$.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=T=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),B=(this.widthOption||this.offsetWidth)+k,z=this.lastItemY+this.lastLineHeight+this.titleHeight,z=this.handleOverflow(z)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(K)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),B>0&&z>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:B,height:z},se.strokeWidth())),K[T?"show":"hide"](),l.styledMode&&"none"===K.getStyle("display")&&(B=z=0),this.legendWidth=B,this.legendHeight=z,T&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,Z,Y,d=this,C=this.chart,k=C.renderer,p=this.options,T=p.y,B="top"===p.verticalAlign,z=this.padding,K=p.maxHeight,U=p.navigation,se=f(U.animation,!0),S=U.arrowSize||12,$=this.pages,H=this.allItems,x=function(Te){"number"==typeof Te?_e.attr({height:Te}):_e&&(d.clipRect=_e.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Te?"rect("+z+"px,9999px,"+(z+Te)+"px,0)":"auto")},N=function(Te){return d[Te]=k.circle(0,0,1.3*S).translate(S/2,S/2).add(ge),C.styledMode||d[Te].attr("fill","rgba(0,0,0,0.0001)"),d[Te]},he=C.spacingBox.height+(B?-T:T)-z,ge=this.nav,_e=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),K&&(he=Math.min(he,K)),$.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-z,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,H.forEach((Te,Oe)=>{let De=(Y=Te.legendItem||{}).y||0,Be=Math.round(Y.label.getBBox().height),oe=$.length;(!oe||De-$[oe-1]>R&&(Z||De)!==$[oe-1])&&($.push(Z||De),oe++),Y.pageIx=oe-1,Z&&((H[Oe-1].legendItem||{}).pageIx=oe-1),Oe===H.length-1&&De+Be-$[oe-1]>R&&De>$[oe-1]&&($.push(De),Y.pageIx=oe),De!==Z&&(Z=De)}),_e||(_e=d.clipRect=k.clipRect(0,z-2,9999,0),d.contentGroup.clip(_e)),x(R),ge||(this.nav=ge=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,S,S).add(ge),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(ge),this.down=k.symbol("triangle-down",0,0,S,S).add(ge),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):ge&&(x(),this.nav=ge.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,T=this.clipHeight,B=this.options.navigation,z=this.pager,K=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:K,translateY:T+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),z.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?B.inactiveColor:B.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?B.inactiveColor:B.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{w(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},T=k.chart.renderer.boxWrapper,B=l instanceof ve,z="highcharts-legend-"+(B?"point":"series")+"-active",K=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=S=>{k.allItems.forEach($=>{l!==$&&[$].concat($.linkedSeries||[]).forEach(H=>{H.setState(S,!B)})})};for(let S of U)S&&S.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&T.addClass(z),K||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),T.removeClass(z),l.setState()}).on("click",function($){let H="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};T.removeClass(z),$={browserEvent:$},l.firePointEvent?l.firePointEvent(H,$,x):w(l,H,$,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),P(l.checkbox,"click",function(d){w(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(ue=n||(n={})).compose=function(r){a(E,"Core.Legend")&&P(r,"beforeMargins",function(){this.legend=new ue(this,this.options.legend)})},n}),Le(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(q){var ne;let{extend:re,merge:ve,pick:le}=q;return function(pe){function ue(J,te,X){let f,E=this.legendItem=this.legendItem||{},{chart:j,options:F}=this,{baseline:P=0,symbolWidth:D,symbolHeight:A}=J,I=this.symbol||"circle",_=A/2,m=j.renderer,w=E.group,G=P-Math.round(A*(X?.4:.3)),O={},a=F.marker,g=0;if(j.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),E.line=m.path().addClass("highcharts-graph").attr(O).add(w),X&&(E.area=m.path().addClass("highcharts-area").add(w)),O["stroke-linecap"]&&(g=Math.min(E.line.strokeWidth(),D)/2),D){let v=[["M",g,G],["L",D-g,G]];E.line.attr({d:v}),E.area?.attr({d:[...v,["L",D-g,P],["L",g,P]]})}if(a&&!1!==a.enabled&&D){let v=Math.min(le(a.radius,_),_);0===I.indexOf("url")&&(a=ve(a,{width:A,height:A}),v=0),E.symbol=f=m.symbol(I,D/2-v,G-v,2*v,2*v,re({context:"legend"},a)).addClass("highcharts-point").add(w),f.isMarker=!0}}pe.areaMarker=function(J,te){ue.call(this,J,te,!0)},pe.lineMarker=ue,pe.rectangle=function(J,te){let X=te.legendItem||{},j=J.symbolHeight,F=J.options.squareSymbol;X.symbol=this.chart.renderer.rect(F?(J.symbolWidth-j)/2:0,J.baseline-j+1,F?j:J.symbolWidth,j,le(J.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(X.group)}}(ne||(ne={})),ne}),Le(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:q}=this.series.chart;return"number"!=typeof this.y?"":q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Le(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{defaultOptions:pe}=ne,{extend:ue,extendClass:J,merge:te}=ve;return function(X){function E(j,F){let P=pe.plotOptions||{},D=F.defaultOptions,A=F.prototype;return A.type=j,A.pointClass||(A.pointClass=re),!X.seriesTypes[j]&&(D&&(P[j]=D),X.seriesTypes[j]=F,!0)}X.seriesTypes=q.seriesTypes,X.registerSeriesType=E,X.seriesType=function(j,F,P,D,A){let I=pe.plotOptions||{};if(I[j]=te(I[F=F||""],P),delete X.seriesTypes[j],E(j,J(X.seriesTypes[F]||function(){},D)),X.seriesTypes[j].prototype.type=j,A){class _ extends re{}ue(_.prototype,A),X.seriesTypes[j].prototype.pointClass=_}return X.seriesTypes[j]}}(le||(le={})),le}),Le(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,setAnimation:j}=q,{defaultOptions:F}=ne,{registerEventOptions:P}=re,{svg:D,win:A}=ve,{seriesTypes:I}=J,{arrayMax:_,arrayMin:m,clamp:w,correctFloat:G,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:v,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:T,merge:B,objectEach:z,pick:K,removeEvent:U,splat:se,syncTimeout:S}=X;class ${constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let Z=this,Y=x.series;this.eventsToUnbind=[],Z.chart=x,Z.options=Z.setOptions(N);let he=Z.options,ge=!1!==he.visible;Z.linkedSeries=[],Z.bindAxes(),o(Z,{name:he.name,state:"",visible:ge,selected:!0===he.selected}),P(this,he);let _e=he.events;(_e&&_e.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),Z.getColor(),Z.getSymbol(),Z.parallelArrays.forEach(function(Te){Z[Te+"Data"]||(Z[Te+"Data"]=[])}),Z.isCartesian&&(x.hasCartesianSeries=!0),Y.length&&(R=Y[Y.length-1]),Z._i=K(R&&R._i,-1)+1,Z.opacity=Z.options.opacity,x.orderItems("series",C(this,Y)),he.dataSorting&&he.dataSorting.enabled?Z.setDataSortingOptions():Z.points||Z.data||Z.setData(he.data,!1),r(this,"afterInit")}is(x){return I[x]&&this instanceof I[x]}bindAxes(){let x,N=this,R=N.options,Z=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(Y){Z[Y].forEach(function(he){x=he.options,(K(R[Y],0)===he.index||void 0!==R[Y]&&R[Y]===x.id)&&(C(N,he.series),N[Y]=he,he.isDirty=!0)}),N[Y]||N.optionalAxis===Y||v(18,!0,Z)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let Z=x.series,Y=p(N)?function(he){let ge="y"===he&&Z.toYData?Z.toYData(x):x[he];Z[he+"Data"][N]=ge}:function(he){Array.prototype[N].apply(Z[he+"Data"],R)};Z.parallelArrays.forEach(Y)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,Z=N.marker||{};return R&&(Z.enabled&&!R.enabled||Z.symbol!==R.symbol||Z.height!==R.height||Z.width!==R.width)}autoIncrement(x){let ge,_e,N=this.options,R=N.pointIntervalUnit,Z=N.relativeXValue,Y=this.chart.time,he=this.xIncrement;return he=K(he,N.pointStart,0),this.pointInterval=_e=K(this.pointInterval,N.pointInterval,1),Z&&p(x)&&(_e*=x),R&&(ge=new Y.Date(he),"day"===R?Y.set("Date",ge,Y.get("Date",ge)+_e):"month"===R?Y.set("Month",ge,Y.get("Month",ge)+_e):"year"===R&&Y.set("FullYear",ge,Y.get("FullYear",ge)+_e),_e=ge.getTime()-he),Z&&p(x)?he+_e:(this.xIncrement=he+_e,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,Z=R.options.plotOptions,Y=R.userOptions||{},he=B(x),ge=R.styledMode,_e={plotOptions:Z,userOptions:he};r(this,"setOptions",_e);let Te=_e.plotOptions[this.type],Oe=Y.plotOptions||{},De=Oe.series||{},Be=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=_e.userOptions;let ee=B(Te,Z.series,oe,he);this.tooltipOptions=B(F.tooltip,F.plotOptions.series?.tooltip,Be?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=K(he.stickyTracking,oe.stickyTracking,De.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Te.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let be=this.zones=(ee.zones||[]).map(xe=>({...xe}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},ge||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),be.push(N)),be.length&&O(be[be.length-1].value)&&be.push(ge?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return K(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let Z,Y,he=this.chart,ge=`${x}Index`,_e=`${x}Counter`,Te=R?.length||he.options.chart.colorCount;!N&&(O(Y=K("color"===x?this.options.colorIndex:void 0,this[ge]))?Z=Y:(he.series.length||(he[_e]=0),Z=he[_e]%Te,he[_e]+=1),R&&(N=R[Z])),void 0!==Z&&(this[ge]=Z),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,Z,Y,he=x.id,ge=x.x,_e=this.points,Te=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof pe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=De=>!De.touched&&De.index===x.index;if(Te&&Te.matchByName?Oe=De=>!De.touched&&De.name===x.name:this.options.relativeXValue&&(Oe=De=>!De.touched&&De.options.x===x.x),!(R=n(_e,Oe)))return}return R&&void 0!==(Y=R&&R.index)&&(Z=!0),void 0===Y&&p(ge)&&(Y=this.xData.indexOf(ge,N)),-1!==Y&&void 0!==Y&&this.cropped&&(Y=Y>=this.cropStart?Y-this.cropStart:Y),!Z&&p(Y)&&_e[Y]&&_e[Y].touched&&(Y=void 0),Y}updateData(x,N){let Te,Oe,De,Be,R=this.options,Z=R.dataSorting,Y=this.points,he=[],ge=this.requireSorting,_e=x.length===Y.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,be){let xe,Ie=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Ie.id||p(Ie.x)?(-1===(xe=this.findPointIndex(Ie,Be))||void 0===xe?he.push(ee):Y[xe]&&ee!==R.data[xe]?(Y[xe].update(ee,!1,null,!1),Y[xe].touched=!0,ge&&(Be=xe+1)):Y[xe]&&(Y[xe].touched=!0),(!_e||be!==xe||Z&&Z.enabled||this.hasDerivedData)&&(Te=!0)):he.push(ee)},this),Te)for(Oe=Y.length;Oe--;)(De=Y[Oe])&&!De.touched&&De.remove&&De.remove(!1,N);else!_e||Z&&Z.enabled?oe=!1:(x.forEach(function(ee,be){ee===Y[be].y||Y[be].destroyed||Y[be].update(ee,!1,null,!1)}),he.length=0);return Y.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,Z){let we,Ee,Me,qe,Y=this,he=Y.points,ge=he&&he.length||0,_e=Y.options,Te=Y.chart,Oe=_e.dataSorting,De=Y.xAxis,Be=_e.turboThreshold,oe=this.xData,ee=this.yData,be=Y.pointArrayMap,xe=be&&be.length,Ie=_e.keys,Xe=0,Je=1,lt=null;Te.options.chart.allowMutatingData||(_e.data&&delete Y.options.data,Y.userOptions.data&&delete Y.userOptions.data,qe=B(!0,x));let st=(x=qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Te.options.chart.allowMutatingData&&!1!==Z&&st&&ge&&!Y.cropped&&!Y.hasGroupedData&&Y.visible&&!Y.boosted&&(Me=this.updateData(x,R)),!Me){if(Y.xIncrement=null,Y.colorCounter=0,this.parallelArrays.forEach(function(Tt){Y[Tt+"Data"].length=0}),Be&&st>Be)if(p(lt=Y.getFirstValidPoint(x)))for(we=0;we=0?Xe:0,Je=Je>=0?Je:1),1===lt.length&&(Je=0),Xe===Je)for(we=0;we{let ge=d(R,Y),_e=d(R,he);return _ege?1:0}).forEach(function(Y,he){Y.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(Y){let he=Y.options,ge=he.data;he.dataSorting&&he.dataSorting.enabled||!ge||(ge.forEach(function(_e,Te){ge[Te]=Z(Y,_e),x[Te]&&(ge[Te].x=x[Te].x,ge[Te].index=Te)}),Y.setData(ge,!1))}),x}getProcessedData(x){let Te,Oe,Be,oe,ee,N=this,R=N.xAxis,Z=N.options,Y=Z.cropThreshold,he=x||N.getExtremesFromAll||Z.getExtremesFromAll,ge=R?.logarithmic,_e=N.isCartesian,De=0,be=N.xData,xe=N.yData,Ie=!1,we=be.length;R&&(oe=(Be=R.getExtremes()).min,ee=Be.max,Ie=!(!R.categories||R.names.length)),_e&&N.sorted&&!he&&(!Y||we>Y||N.forceCrop)&&(be[we-1]ee?(be=[],xe=[]):N.yData&&(be[0]ee)&&(be=(Te=this.cropData(N.xData,N.yData,oe,ee)).xData,xe=Te.yData,De=Te.start,Oe=!0));let Ee=l([ge?be.map(ge.log2lin):be],()=>N.requireSorting&&!Ie&&v(15,!1,N.chart));return{xData:be,yData:xe,cropped:Oe,cropStart:De,closestPointRange:Ee}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,Z){let he,ge,Y=x.length,_e=0,Te=Y;for(he=0;he=R){_e=Math.max(0,he-1);break}for(ge=he;geZ){Te=ge+1;break}return{xData:x.slice(_e,Te),yData:N.slice(_e,Te),start:_e,end:Te}}generatePoints(){let Be,oe,ee,be,x=this.options,N=this.processedData||x.data,R=this.processedXData,Z=this.processedYData,Y=this.pointClass,he=R.length,ge=this.cropStart||0,_e=this.hasGroupedData,Te=x.keys,Oe=[],De=x.dataGrouping&&x.dataGrouping.groupAll?ge:0,xe=this.data;if(!xe&&!_e){let Ie=[];Ie.length=N.length,xe=this.data=Ie}for(Te&&_e&&(this.options.keys=!1),be=0;be0:oe.length)||!_e),De=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(Y[ee+ge]||Be)>=xe&&(Y[ee-ge]||Be)<=Ie,Oe&&De)if(be=oe.length)for(;be--;)p(oe[be])&&(he[we++]=oe[be]);else he[we++]=oe;let Me={activeYData:he,dataMin:m(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Me}),Me}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,Z=null;for(;null===Z&&R1)&&(he.step=function(Be,oe){De&&De.apply(oe,arguments),"width"===oe.prop&&Te?.element&&Te.attr(Y?"height":"width",Be+99)}),_e.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,Z,Y,he,ge,_e,Te=this.chart,Oe=Te.styledMode,{colorAxis:De,options:Be}=this,oe=Be.marker,ee=this[this.specialGroup||"markerGroup"],be=this.xAxis,xe=K(oe.enabled,!be||!!be.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=Z=Te.renderer.symbol(Ie,_e.x,_e.y,_e.width,_e.height,ge?he:oe).add(ee),this.enabledDataSorting&&Te.hasRendered&&(Z.attr({x:R.startXPos}),Y="animate")),Z&&"animate"===Y&&Z[we?"show":"hide"](we).animate(_e),Z){let Ee=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?De&&Z.css({fill:Ee.fill}):Z[Y](Ee)}Z&&Z.addClass(R.getClassName(),!0)}else Z&&(R.graphic=Z.destroy())}markerAttribs(x,N){let _e,Te,R=this.options,Z=R.marker,Y=x.marker||{},he=Y.symbol||Z.symbol,ge={},Oe=K(Y.radius,Z&&Z.radius);N&&(_e=Z.states[N],Oe=K((Te=Y.states&&Y.states[N])&&Te.radius,_e&&_e.radius,Oe&&Oe+(_e&&_e.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let De=x.pos();return p(Oe)&&De&&(ge.x=De[0]-Oe,ge.y=De[1]-Oe,R.crisp&&(ge.x=Math.floor(ge.x))),Oe&&(ge.width=ge.height=2*Oe),ge}pointAttribs(x,N){let Te,Oe,Be,oe,R=this.options.marker,Z=x&&x.options,Y=Z&&Z.marker||{},he=Z&&Z.color,ge=x&&x.color,_e=x&&x.zone&&x.zone.color,De=this.color,ee=K(Y.lineWidth,R.lineWidth),be=1;return De=he||_e||ge||De,Be=Y.fillColor||R.fillColor||De,oe=Y.lineColor||R.lineColor||De,Te=R.states[N=N||"normal"]||{},ee=K((Oe=Y.states&&Y.states[N]||{}).lineWidth,Te.lineWidth,ee+K(Oe.lineWidthPlus,Te.lineWidthPlus,0)),Be=Oe.fillColor||Te.fillColor||Be,{stroke:oe=Oe.lineColor||Te.lineColor||oe,"stroke-width":ee,fill:Be,opacity:be=K(Oe.opacity,Te.opacity,be)}}destroy(x){let N,R,Z,Y=this,he=Y.chart,ge=/AppleWebKit\/533/.test(A.navigator.userAgent),_e=Y.data||[];for(r(Y,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(Y.axisTypes||[]).forEach(function(Te){(Z=Y[Te])&&Z.series&&(g(Z.series,Y),Z.isDirty=Z.forceRedraw=!0)}),Y.legendItem&&Y.chart.legend.destroyItem(Y),N=_e.length;N--;)(R=_e[N])&&R.destroy&&R.destroy();for(let Te of Y.zones)f(Te,void 0,!0);X.clearTimeout(Y.animationTimeout),z(Y,function(Te,Oe){Te instanceof te&&!Te.survive&&Te[ge&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===Y&&(he.hoverSeries=void 0),g(he.series,Y),he.orderItems("series"),z(Y,function(Te,Oe){x&&"hcEvents"===Oe||delete Y[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:Z,points:Y,xAxis:he,yAxis:ge,zoneAxis:_e}=this,{inverted:Te,renderer:Oe}=N,De=this[`${_e}Axis`],{isXAxis:Be,len:oe=0}=De||{},ee=(R?.strokeWidth()||0)/2+1,be=(xe,Ie=0,we=0)=>{Te&&(we=oe-we);let{translated:Ee=0,lineClip:Me}=xe,Xe=we-Ee;Me?.push(["L",Ie,Math.abs(Xe){Me.forEach((Xe,Je)=>{("M"===Xe[0]||"L"===Xe[0])&&(Me[Je]=[Xe[0],Be?oe-Xe[1]:Xe[1],Be?Xe[2]:oe-Xe[2]])})};if(Z.forEach(Me=>{Me.lineClip=[],Me.translated=w(De.toPixels(K(Me.value,xe),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===_e&&Y.length{let Xe=Me.lineClip||[],Je=Math.round(Me.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:qe}=Me,st=0,Tt=0,pt=he.len,ht=ge.len;Be?(st=Je,pt=Ee):(Tt=Je,ht=Ee);let Pt=[["M",st,Tt],["L",pt,Tt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Pt[0],...Xe,Pt[1],Pt[2],...we,Pt[3],Pt[4]];we=Xe.reverse(),Ee=Je,Te&&(Ie(Gt),x&&Ie(Pt)),lt?(lt.animate({d:Gt}),qe?.animate({d:Pt})):(lt=Me.clip=Oe.path(Gt),x&&(qe=Me.simpleClip=Oe.path(Pt))),R&&Me.graph?.clip(lt),x&&Me.area?.clip(qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,Z,Y){let he=this[x],ge=!he,_e={visibility:R,zIndex:Z||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(_e.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(Y)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(_e)[ge?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,Z=this.chart,Y=Z.inverted&&!Z.polar&&N&&this.invertible&&"series"===x;return Z.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:Z.plotLeft,translateY:R?R.top:Z.plotTop,rotation:Y?90:0,rotationOriginX:Y?(N.len-R.len)/2:0,rotationOriginY:Y?(N.len+R.len)/2:0,scaleX:Y?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:Z}=x,Y=E(R.animation),he=x.visible?"inherit":"hidden",ge=R.zIndex,_e=N.seriesGroup,Te=x.finishedAnimating?0:Y.duration;r(this,"render"),x.plotGroup("group","series",he,ge,_e),x.markerGroup=x.plotGroup("markerGroup","markers",he,ge,_e),!1!==R.clip&&x.setClip(),Te&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Te&&x.animate?.(),Z||(Te&&Y.defer&&(Te+=Y.defer),x.animationTimeout=S(()=>{x.afterAnimate()},Te||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:Z}=this,Y=this.chart.inverted;return this.searchKDTree({clientX:Y?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:Y?Z.len-x.chartX+Z.pos:x.chartY-Z.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,S(function(){N.kdTree=function Z(Y,he,ge){let _e,Te,Oe=Y?.length;if(Oe)return _e=N.kdAxisArray[he%ge],Y.sort((De,Be)=>(De[_e]||0)-(Be[_e]||0)),{point:Y[Te=Math.floor(Oe/2)],left:Z(Y.slice(0,Te),he+1,ge),right:Z(Y.slice(Te+1),he+1,ge)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let Z=this,[Y,he]=this.kdAxisArray,ge=N?"distX":"dist",_e=(Z.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Te=!!Z.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(De,Be,oe,ee){let Ie,we,be=Be.point,xe=Z.kdAxisArray[oe%ee],Ee=be;!function(lt,qe){let st=lt[Y],Tt=qe[Y],pt=O(st)&&O(Tt)?st-Tt:null,ht=lt[he],Pt=qe[he],Gt=O(ht)&&O(Pt)?ht-Pt:0,ti=Te&&qe.marker?.radius||0;qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(De,be);let Me=(De[xe]||0)-(be[xe]||0)+(Te&&be.marker?.radius||0),Xe=Me<0?"left":"right",Je=Me<0?"right":"left";return Be[Xe]&&(Ee=(Ie=Oe(De,Be[Xe],oe+1,ee))[ge]=0&&he<=(Z?Z.len:N.plotHeight)&&Y>=0&&Y<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,Z=[].concat((R?x.areaPath:x.graphPath)||[]),Y=x.chart,he=Y.pointer,ge=Y.renderer,_e=Y.options.tooltip?.snap||0,Te=()=>{N.enableMouseTracking&&Y.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",De=x.tracker;De?De.attr({d:Z}):x.graph&&(x.tracker=De=ge.path(Z).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),Y.styledMode||De.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*_e)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Be=>{Be&&(Be.addClass("highcharts-tracker").on("mouseover",Te).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!Y.styledMode&&Be.css({cursor:N.cursor}),Be.on("touchstart",Te))})),r(this,"afterDrawTracker")}addPoint(x,N,R,Z,Y){let he,ge,_e=this.options,Te=this.data,Oe=this.chart,De=this.xAxis,Be=De&&De.hasNames&&De.names,oe=_e.data,ee=this.xData;N=K(N,!0);let be={series:this};this.pointClass.prototype.applyOptions.apply(be,[x]);let xe=be.x;if(ge=ee.length,this.requireSorting&&xexe;)ge--;this.updateParallelArrays(be,"splice",[ge,0,0]),this.updateParallelArrays(be,ge),Be&&be.name&&(Be[xe]=be.name),oe.splice(ge,0,x),(he||this.processedData)&&(this.data.splice(ge,0,null),this.processData()),"point"===_e.legendType&&this.generatePoints(),R&&(Te[0]&&Te[0].remove?Te[0].remove(!1):(Te.shift(),this.updateParallelArrays(be,"shift"),oe.shift())),!1!==Y&&r(this,"addPoint",{point:be}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(Z)}removePoint(x,N,R){let Z=this,Y=Z.data,he=Y[x],ge=Z.points,_e=Z.chart,Te=function(){ge&&ge.length===Y.length&&ge.splice(x,1),Y.splice(x,1),Z.options.data.splice(x,1),Z.updateParallelArrays(he||{series:Z},"splice",[x,1]),he&&he.destroy(),Z.isDirty=!0,Z.isDirtyData=!0,N&&_e.redraw()};j(R,_e),N=K(N,!0),he?he.firePointEvent("remove",null,Te):Te()}remove(x,N,R,Z){let Y=this,he=Y.chart;function ge(){Y.destroy(Z),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(Z),K(x,!0)&&he.redraw(N)}!1!==R?r(Y,"remove",null,ge):ge()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let De,Be,R=this,Z=R.chart,Y=R.userOptions,he=R.initialType||R.type,ge=Z.options.plotOptions,_e=I[he].prototype,Te=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||Y.type||Z.options.chart.type,be=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Ie=>R.hasOptionChanged(Ie)));ee=ee||he,be&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Ie){oe.push(Ie+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=B(Y,{index:void 0===Y.index?R.index:Y.index,pointStart:ge?.series?.pointStart??Y.pointStart??R.xData?.[0]},!be&&{data:R.options.data},x,Te),be&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Ie){oe[Ie]=R[Ie],delete R[Ie]});let xe=!1;if(I[ee]){if(xe=ee!==R.type,R.remove(!1,!1,!1,!0),xe)if(Z.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,I[ee].prototype);else{let Ie=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Be in _e)R[Be]=void 0;o(R,I[ee].prototype),Ie?R.hcEvents=Ie:delete R.hcEvents}}else v(17,!0,Z,{missingModuleFor:ee});if(oe.forEach(function(Ie){R[Ie]=oe[Ie]}),R.init(Z,x),be&&this.points)for(let Ie of(!1===(De=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(De,Y)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Ie&&Ie.series&&(Ie.resolveColor(),Object.keys(Oe).length&&Ie.destroyElements(Oe),!1===De.showInLegend&&Ie.legendItem&&Z.legend.destroyItem(Ie));R.initialType=he,Z.linkSeries(),Z.setSortedData(),xe&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),K(N,!0)&&Z.redraw(!!be&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],Z=this.chart.options.plotOptions,Y=this.userOptions[x],he=K(Z?.[this.type]?.[x],Z?.series?.[x]);return Y&&!O(he)?R!==Y:R!==K(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,Z=N.hoverPoint;N.hoverSeries=null,Z&&Z.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(Y){Y.setState("",!0)})}setState(x,N){let R=this,Z=R.options,Y=R.graph,he=Z.inactiveOtherPoints,ge=Z.states,_e=K(ge[x||"normal"]&&ge[x||"normal"].animation,R.chart.options.chart.animation),Te=Z.lineWidth,Oe=Z.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(De){De&&(R.state&&De.removeClass("highcharts-series-"+R.state),x&&De.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(ge[x]&&!1===ge[x].enabled)return;if(x&&(Te=ge[x].lineWidth||Te+(ge[x].lineWidthPlus||0),Oe=K(ge[x].opacity,Oe)),Y&&!Y.dashstyle&&p(Te))for(let De of[Y,...this.zones.map(Be=>Be.graph)])De?.animate({"stroke-width":Te},_e);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(De){De&&De.animate({opacity:Oe},_e)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,Z=R.chart,Y=Z.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let ge=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_e=>{R[_e]?.[ge]()}),(Z.hoverSeries===R||Z.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&Z.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&Z.series.forEach(_e=>{_e.options.stacking&&_e.visible&&(_e.isDirty=!0)}),R.linkedSeries.forEach(_e=>{_e.setVisible(x,!1)}),Y&&(Z.isDirtyBox=!0),r(R,ge),!1!==N&&Z.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return $.defaultOptions=ue,$.types=J.seriesTypes,$.registerType=J.registerSeriesType,o($.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),J.series=$,$}),Le(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P){let{animate:D,animObject:A,setAnimation:I}=q,{defaultOptions:_,defaultTime:m}=re,{numberFormat:w}=ve,{registerEventOptions:G}=le,{charts:O,doc:f,marginNames:a,svg:g,win:v}=pe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:T,error:B,extend:z,find:K,fireEvent:U,getStyle:se,isArray:S,isNumber:$,isObject:H,isString:x,merge:N,objectEach:R,pick:Z,pInt:Y,relativeLength:he,removeEvent:ge,splat:_e,syncTimeout:Te,uniqueKey:Oe}=j;class De{static chart(oe,ee,be){return new De(oe,ee,be)}constructor(oe,ee,be){this.sharedClips={};let xe=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=xe.shift()),this.init(xe[0],xe[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:Z(oe.zoomType,ee.type),key:Z(oe.zoomKey,ee.key),pinchType:Z(oe.pinchType,ee.pinchType),singleTouch:Z(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let be=N(_,oe),xe=be.chart;this.userOptions=z({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=be,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new E(oe.time):pe.time,this.numberFormatter=xe.numberFormatter||w,this.styledMode=xe.styledMode,this.hasCartesianSeries=xe.showAxes,this.index=O.length,O.push(this),pe.chartCount++,G(this,xe),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let be=oe.type||this.options.chart.type,xe=o[be];xe||B(17,!0,this,{missingModuleFor:be});let Ie=new xe;return"function"==typeof Ie.init&&Ie.init(this,oe),Ie}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let be=this[oe],xe=this.options[oe]=_e(this.options[oe]).slice(),Ie=this.userOptions[oe]=this.userOptions[oe]?_e(this.userOptions[oe]).slice():[];if(this.hasRendered&&(xe.splice(ee),Ie.splice(ee)),be)for(let we=ee,Ee=be.length;we=Math.max(Xe+we,ht.pos)&&Pt<=Math.min(Xe+we+qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!be.ignoreY&&pt.isInsidePlot){let ht=!xe&&be.axis&&!be.axis.isXAxis&&be.axis||lt&&(xe?lt.xAxis:lt.yAxis)||{pos:Ee,len:1/0},Pt=be.paneCoordinates?ht.pos+Tt:Ee+Tt;Pt>=Math.max(Je+Ee,ht.pos)&&Pt<=Math.min(Je+Ee+qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Je,lt,qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],be=this.series,xe=this.pointer,Ie=this.legend,we=this.userOptions.legend,Ee=this.renderer,Me=Ee.isHidden(),Xe=[],st=this.isDirtyBox,Tt=this.isDirtyLegend;for(Ee.rootFontSize=Ee.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),I(!!this.hasRendered&&oe,this),Me&&this.temporaryDisplay(),this.layOutTitles(!1),qe=be.length;qe--;)if(((pt=be[qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Je=!0;break}if(Je)for(qe=be.length;qe--;)(pt=be[qe]).options.stacking&&(pt.isDirty=!0);be.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),Tt=!0):we&&(we.labelFormatter||we.labelFormat)&&(Tt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),Tt&&Ie&&Ie.options.enabled&&(Ie.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Pt=ht.min+","+ht.max;ht.extKey!==Pt&&(ht.extKey=Pt,Xe.push(function(){U(ht,"afterSetExtremes",z(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),be.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),xe&&xe.reset(!0),Ee.draw(),U(this,"redraw"),U(this,"render"),Me&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function be(Ie){return Ie.id===oe||Ie.options&&Ie.options.id===oe}let xe=K(this.axes,be)||K(this.series,be);for(let Ie=0;!xe&&Ie(ee.getPointsCollection().forEach(be=>{Z(be.selectedStaging,be.selected)&&oe.push(be)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,be){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(be)}applyDescription(oe,ee){let be=this,xe=this.options[oe]=N(this.options[oe],ee),Ie=this[oe];Ie&&ee&&(this[oe]=Ie=Ie.destroy()),xe&&!Ie&&((Ie=this.renderer.text(xe.text,0,0,xe.useHTML).attr({align:xe.align,class:"highcharts-"+oe,zIndex:xe.zIndex||4}).add()).update=function(we,Ee){be.applyDescription(oe,we),be.layOutTitles(Ee)},this.styledMode||Ie.css(z("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},xe.style)),this[oe]=Ie)}layOutTitles(oe=!0){let ee=[0,0,0],be=this.renderer,xe=this.spacingBox;["title","subtitle","caption"].forEach(function(we){let Ee=this[we],Me=this.options[we],Xe=Me.verticalAlign||"top",Je="title"===we?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Ee){Ee.css({width:(Me.width||xe.width+(Me.widthAdjust||0))+"px"});let lt=be.fontMetrics(Ee).b,qe=Math.round(Ee.getBBox(Me.useHTML).height);Ee.align(z({y:"bottom"===Xe?lt:Je+lt,height:qe},Me),!1,"spacingBox"),Me.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Ie=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Ie&&(this.isDirtyBox=this.isDirtyLegend=Ie,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,be=oe.height,xe=this.getContainerBox();this.chartWidth=Math.max(0,ee||xe.width||600),this.chartHeight=Math.max(0,he(be,this.chartWidth)||(xe.height>1?xe.height:400)),this.containerBox=xe}temporaryDisplay(oe){let be,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},be={display:"block",overflow:"hidden"},ee!==this.renderTo&&(be.height=0),d(ee,be),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Ie,oe=this.options,ee=oe.chart,be="data-highcharts-chart",xe=Oe(),we=this.renderTo;we||(this.renderTo=we=ee.renderTo),x(we)&&(this.renderTo=we=f.getElementById(we)),we||B(13,!0,this);let Ee=Y(r(we,be));$(Ee)&&O[Ee]&&O[Ee].hasRendered&&O[Ee].destroy(),r(we,be,this.index),we.innerHTML=F.emptyHTML,ee.skipClone||we.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Me=this.chartHeight,Xe=this.chartWidth;d(we,{overflow:"hidden"}),this.styledMode||(Ie=z({position:"relative",overflow:"hidden",width:Xe+"px",height:Me+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Je=l("div",{id:xe},Ie,we);this.container=Je,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Je,{width:Z(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Je.style.cursor;let lt=ee.renderer||!g?ue.getRendererType(ee.renderer):X;if(this.renderer=new lt(Je,Xe,Me,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),I(void 0,this),this.setClassName(ee.className),this.styledMode)for(let qe in oe.defs)this.renderer.definition(oe.defs[qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:be,titleOffset:xe}=this;this.resetMargins(),xe[0]&&!C(be[0])&&(this.plotTop=Math.max(this.plotTop,xe[0]+ee[0])),xe[2]&&!C(be[2])&&(this.marginBottom=Math.max(this.marginBottom,xe[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(be,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],be=oe.colorAxis,xe=oe.margin,Ie=function(we){we.forEach(function(Ee){Ee.visible&&Ee.getOffset()})};oe.hasCartesianSeries?Ie(oe.axes):be&&be.length&&Ie(be),a.forEach(function(we,Ee){C(xe[Ee])||(oe[we]+=ee[Ee])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,be=ee.containerBox,xe=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&be&&xe.width&&((xe.width!==be.width||xe.height!==be.height)&&(j.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Te(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=xe)}setReflow(){let oe=this,ee=be=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(be)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let be=n(v,"resize",ee);n(this,"destroy",be)}}setSize(oe,ee,be){let xe=this,Ie=xe.renderer;xe.isResizing+=1,I(be,xe);let we=Ie.globalAnimation;xe.oldChartHeight=xe.chartHeight,xe.oldChartWidth=xe.chartWidth,void 0!==oe&&(xe.options.chart.width=oe),void 0!==ee&&(xe.options.chart.height=ee),xe.getChartSize();let{chartWidth:Ee,chartHeight:Me,scrollablePixelsX:Xe=0,scrollablePixelsY:Je=0}=xe;(xe.isDirtyBox||Ee!==xe.oldChartWidth||Me!==xe.oldChartHeight)&&(xe.styledMode||(we?D:d)(xe.container,{width:`${Ee+Xe}px`,height:`${Me+Je}px`},we),xe.setChartSize(!0),Ie.setSize(Ee,Me,we),xe.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),xe.isDirtyLegend=!0,xe.isDirtyBox=!0,xe.layOutTitles(),xe.getMargins(),xe.redraw(we),xe.oldChartHeight=void 0,U(xe,"resize"),setTimeout(()=>{xe&&U(xe,"endResize",void 0,()=>{xe.isResizing-=1})},A(we).duration))}setChartSize(oe){let ee,be,xe,Ie,we=this.inverted,Ee=this.renderer,Me=this.chartWidth,Xe=this.chartHeight,Je=this.options.chart,lt=this.spacing,qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=be=Math.round(this.plotTop),this.plotWidth=xe=Math.max(0,Math.round(Me-ee-this.marginRight)),this.plotHeight=Ie=Math.max(0,Math.round(Xe-be-this.marginBottom)),this.plotSizeX=we?Ie:xe,this.plotSizeY=we?xe:Ie,this.plotBorderWidth=Je.plotBorderWidth||0,this.spacingBox=Ee.spacingBox={x:lt[3],y:lt[0],width:Me-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Ee.plotBox={x:ee,y:be,width:xe,height:Ie};let st=2*Math.floor(this.plotBorderWidth/2),Tt=Math.ceil(Math.max(st,qe[3])/2),pt=Math.ceil(Math.max(st,qe[0])/2);this.clipBox={x:Tt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,qe[1])/2-Tt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Ee.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(be){let xe=ee[be],Ie=H(xe)?xe:[xe,xe,xe,xe];["Top","Right","Bottom","Left"].forEach(function(we,Ee){oe[be][Ee]=Z(ee[be+we],Ie[Ee])})}),a.forEach(function(be,xe){oe[be]=Z(oe.margin[xe],oe.spacing[xe])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,It,xt,oe=this.options.chart,ee=this.renderer,be=this.chartWidth,xe=this.chartHeight,Ie=this.styledMode,we=this.plotBGImage,Ee=oe.backgroundColor,Me=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Je=this.plotLeft,lt=this.plotTop,qe=this.plotWidth,st=this.plotHeight,Tt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Pt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Pt||(this.chartBackground=Pt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Ie?Dt=It=Pt.strokeWidth():(It=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),xt={fill:Ee||"none"},(Dt||Pt["stroke-width"])&&(xt.stroke=oe.borderColor,xt["stroke-width"]=Dt),Pt.attr(xt).shadow(oe.shadow)),Pt[wt]({x:It/2,y:It/2,width:be-It-Dt%2,height:xe-It-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](Tt),!Ie&&(Gt.attr({fill:Me||"none"}).shadow(oe.plotShadow),Xe&&(we?(Xe!==we.attr("href")&&we.attr("href",Xe),we.animate(Tt)):this.plotBGImage=ee.image(Xe,Je,lt,qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Ie||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Je,y:lt,width:qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,be,xe=this,Ie=xe.options.chart,we=xe.options.series;["inverted","angular","polar"].forEach(function(Ee){for(ee=o[Ie.type],be=Ie[Ee]||ee&&ee.prototype[Ee],oe=we&&we.length;!be&&oe--;)(ee=o[we[oe].type])&&ee.prototype[Ee]&&(be=!0);xe[Ee]=be})}linkSeries(oe){let ee=this,be=ee.series;be.forEach(function(xe){xe.linkedSeries.length=0}),be.forEach(function(xe){let{linkedTo:Ie}=xe.options;if(x(Ie)){let we;(we=":previous"===Ie?ee.series[xe.index-1]:ee.get(Ie))&&we.linkedParent!==xe&&(we.linkedSeries.push(xe),xe.linkedParent=we,we.enabledDataSorting&&xe.setDataSortingOptions(),xe.visible=Z(xe.options.visible,we.options.visible,xe.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Me,oe=this.axes,ee=this.colorAxis,be=this.renderer,xe=this.options.chart.axisLayoutRuns||2,Ie=Je=>{Je.forEach(lt=>{lt.visible&<.render()})},we=0,Ee=!0,Xe=0;for(let Je of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Je,{labels:qe}=lt;if(Je.horiz&&Je.visible&&qe.enabled&&Je.series.length&&"colorAxis"!==Je.coll&&!this.polar){we=lt.tickLength,Je.createGroups();let st=new P(Je,0,"",!0),Tt=st.createLabel("x",qe);if(st.destroy(),Tt&&Z(qe.reserveSpace,!$(lt.crossing))&&(we=Tt.getBBox().height+qe.distance+Math.max(lt.offset||0,0)),we){Tt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-we,0);(Ee||Me||xe>1)&&Xe(Xe?1:1.1),Me=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Ie(oe):ee&&ee.length&&Ie(ee),this.seriesGroup||(this.seriesGroup=be.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,be=N(!0,this.options.credits,oe);be.enabled&&!this.credits&&(this.credits=this.renderer.text(be.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){be.href&&(v.location.href=be.href)}).attr({align:be.position.align,zIndex:8}),ee.styledMode||this.credits.css(be.style),this.credits.add().align(be.position),this.credits.update=function(xe){ee.credits=ee.credits.destroy(),ee.addCredits(xe)})}destroy(){let oe,ee=this,be=ee.axes,xe=ee.series,Ie=ee.container,we=Ie&&Ie.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?T(O,ee):O[ee.index]=void 0,pe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),ge(ee),oe=be.length;oe--;)be[oe]=be[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=xe.length;oe--;)xe[oe]=xe[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Ee){let Me=ee[Ee];Me&&Me.destroy&&(ee[Ee]=Me.destroy())}),Ie&&(Ie.innerHTML=F.emptyHTML,ge(Ie),we&&p(Ie)),R(ee,function(Ee,Me){delete ee[Me]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let be=S(ee.series)?ee.series:[];ee.series=[],be.forEach(function(xe){oe.initSeries(xe)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let be=this,xe="object"==typeof ee?ee:{enabled:ee,type:"x"},Ie=xe.type,we=Ie&&be[{x:"xAxis",xy:"axes",y:"yAxis"}[Ie]].filter(Me=>Me.options.panningEnabled&&!Me.options.isInternal),Ee=be.options.chart;Ee?.panning&&(Ee.panning=xe),U(this,"pan",{originalEvent:oe},()=>{be.transform({axes:we,event:oe,to:{x:oe.chartX-(be.mouseDownX||0),y:oe.chartY-(be.mouseDownY||0)},trigger:"pan"}),d(be.container,{cursor:"move"})})}transform(oe){let qe,{axes:ee=this.axes,event:be,from:xe={},reset:Ie,selection:we,to:Ee={},trigger:Me}=oe,{inverted:Xe,resetZoomButton:Je}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(Tt=>Tt.setState()),ee)){let{horiz:Tt,len:pt,minPointOffset:ht=0,options:Pt,reversed:Gt}=st,ti=Tt?"width":"height",Dt=Tt?"x":"y",It=Ee[ti]||st.len,xt=xe[ti]||st.len,wt=10>Math.abs(It)?1:It/xt,Qt=(xe[Dt]||0)+xt/2-st.pos,di=Qt-((Ee[Dt]??st.pos)+It/2-st.pos)/wt,Ni=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Ie&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Ni,vi=st.toValue(di+pt/wt,!0)-(ht*Ni||0),zi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Ie&&"yAxis"===st.coll&&!zi){for(let js of st.series){let On=js.getExtremes(js.getProcessedData(!0).yData,!0);zi??(zi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),$(On.dataMin)&&$(On.dataMax)&&(zi.dataMin=Math.min(On.dataMin,zi.dataMin),zi.dataMax=Math.max(On.dataMax,zi.dataMax))}st.allExtremes=zi}let{dataMin:gs,dataMax:Fn,min:as,max:ms}=z(st.getExtremes(),zi||{}),Ln=gs??Pt.min,fn=Fn??Pt.max,ki=vi-mi,Cs=st.categories?0:Math.min(ki,fn-Ln),Kn=Ln-Cs*(C(Pt.min)?0:Pt.minPadding),In=fn+Cs*(C(Pt.max)?0:Pt.maxPadding),Bs=st.allowZoomOutside||1===wt||"zoom"!==Me&&wt>1,qn=Math.min(Pt.min??Kn,Kn,Bs?as:Kn),Wi=Math.max(Pt.max??In,In,Bs?ms:In);(!st.isOrdinal||1!==wt||Ie)&&(mi=1&&(vi=mi+ki)),vi>Wi&&(vi=Wi,wt>=1&&(mi=vi-ki)),(Ie||st.series.length&&(mi!==as||vi!==ms)&&mi>=qn&&vi<=Wi)&&(we?we[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Me,st.setExtremes(Ie?void 0:mi,Ie?void 0:vi,!1,!1,{move:di,trigger:Me,scale:wt}),!Ie&&(mi>qn||vi{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(qe&&!Je?this.showResetZoom():!qe&&Je&&(this.resetZoomButton=Je.destroy()),this.redraw("zoom"===Me&&(this.options.chart.animation??this.pointCount<100)))),lt}}return z(De.prototype,{callbacks:[],collectionsWithInit:{xAxis:[De.prototype.addAxis,[!0]],yAxis:[De.prototype.addAxis,[!1]],series:[De.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),De}),Le(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{stop:le}=q,{composed:pe}=ne,{addEvent:ue,createElement:J,css:te,defined:X,merge:E,pushUnique:j}=ve;function F(){let A=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!A&&(this.scrollablePlotArea=A=new D(this)),A?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(I,_,m){j(pe,this.compose)&&(ue(I,"afterInit",P),ue(_,"afterSetChartSize",w=>this.afterSetSize(w.target,w)),ue(_,"render",F),ue(m,"show",P))}static afterSetSize(I,_){let m,w,G,{minWidth:O,minHeight:f}=I.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:v,renderer:o}=I;if(!o.forExport&&(O?(I.scrollablePixelsX=m=Math.max(0,O-I.chartWidth),m&&(I.scrollablePlotBox=E(I.plotBox),g.width=I.plotWidth+=m,a[v?"height":"width"]+=m,G=!0)):f&&(I.scrollablePixelsY=w=Math.max(0,f-I.chartHeight),X(w)&&(I.scrollablePlotBox=E(I.plotBox),g.height=I.plotHeight+=w,a[v?"width":"height"]+=w,G=!1)),X(G)&&!_.skipAxes))for(let n of I.axes)n.horiz===G&&(n.setAxisSize(),n.setAxisTranslation())}constructor(I){let _,m=I.options.chart,w=re.getRendererType(),G=m.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};I.scrollablePixelsX&&(f.overflowX="auto"),I.scrollablePixelsY&&(f.overflowY="auto"),this.chart=I;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},I.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),v=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(m.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new w(o,I.chartWidth,I.chartHeight,m.style);this.mask=n.path().attr({fill:m.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(I.renderTo,{overflow:"visible"}),ue(I,"afterShowResetZoom",O),ue(I,"afterApplyDrilldown",O),ue(I,"afterLayOutTitles",O),ue(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=I;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),v.appendChild(I.container)}applyFixed(){let{chart:I,fixedRenderer:_,isDirty:m,scrollingContainer:w}=this,{axisOffset:G,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:v,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=I,{scrollPositionX:d=0,scrollPositionY:C=0}=I.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(m??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(I.container),te(a,{width:`${k}px`,height:`${p}px`}),I.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),I.chartBackground?.attr({width:k,height:p}),te(w,{width:`${O}px`,height:`${f}px`}),X(m)||(w.scrollLeft=r*d,w.scrollTop=l*C);let T=o-G[0]-1,B=v-G[3]-1,z=o+g+G[2]+1,K=v+n+G[1]+1,U=v+n-r,se=o+g-l,S=[["M",0,0]];r?S=[["M",0,T],["L",v-1,T],["L",v-1,z],["L",0,z],["Z"],["M",U,T],["L",O,T],["L",O,z],["L",U,z],["Z"]]:l&&(S=[["M",B,0],["L",B,o-1],["L",K,o-1],["L",K,0],["Z"],["M",B,se],["L",B,f],["L",K,f],["L",K,se],["Z"]]),"adjustHeight"!==I.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let I,{container:_,inverted:m,scrollablePixelsX:w,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(w&&!m?I=".highcharts-yaxis":w&&m||G&&!m?I=".highcharts-xaxis":G&&m&&(I=".highcharts-yaxis"),I&&f.push(`${I}:not(.highcharts-radial-axis)`,`${I}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Le(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{format:ve}=q,{series:le}=ne,{destroyObjectProperties:pe,fireEvent:ue,isNumber:J,pick:te}=re;return class{constructor(X,E,j,F,P){let D=X.chart.inverted,A=X.reversed;this.axis=X;let I=this.isNegative=!!j!=!!A;this.options=E=E||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:E.align||(D?I?"left":"right":"center"),verticalAlign:E.verticalAlign||(D?"middle":I?"bottom":"top"),y:E.y,x:E.x},this.textAlign=E.textAlign||(D?I?"right":"left":"center")}destroy(){pe(this,this.axis)}render(X){let E=this.axis.chart,j=this.options,F=j.format,P=F?ve(F,this,E):j.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=E.renderer.label(P,null,void 0,j.shape,void 0,void 0,j.useHTML,!1,"stack-labels");let D={r:j.borderRadius||0,text:P,padding:te(j.padding,5),visibility:"hidden"};E.styledMode||(D.fill=j.backgroundColor,D.stroke=j.borderColor,D["stroke-width"]=j.borderWidth,this.label.css(j.style||{})),this.label.attr(D),this.label.added||this.label.add(X)}this.label.labelrank=E.plotSizeY,ue(this,"afterRender")}setOffset(X,E,j,F,P,D){let{alignOptions:A,axis:I,label:_,options:m,textAlign:w}=this,G=I.chart,O=this.getStackBox({xOffset:X,width:E,boxBottom:j,boxTop:F,defaultX:P,xAxis:D}),{verticalAlign:f}=A;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,v="justify"===te(m.overflow,"justify");A.x=m.x||0,A.y=m.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:w});O.x-=n,O.y-=r,_.align(A,!1,O),(o=G.isInsidePlot(_.alignAttr.x+A.x+n,_.alignAttr.y+A.y+r))||(v=!1),v&&le.prototype.justifyDataLabel.call(I,_,A,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:m.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[m.textAlign||"center"],rotationOriginY:a.height/2}),te(!v&&m.crop,!0)&&(o=J(_.x)&&J(_.y)&&G.isInsidePlot(_.x-g+(_.width||0),_.y)&&G.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}ue(this,"afterSetOffset",{xOffset:X,width:E})}adjustStackPosition({labelBox:X,verticalAlign:E,textAlign:j}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:X.width/2+X.width/2*F[j],y:X.height/2*F[E]}}getStackBox(X){let E=this.axis,j=E.chart,{boxTop:F,defaultX:P,xOffset:D,width:A,boxBottom:I}=X,_=E.stacking.usePercentage?100:te(F,this.total,0),m=E.toPixels(_),w=X.xAxis||j.xAxis[0],G=te(P,w.translate(this.x))+D,O=Math.abs(m-E.toPixels(I||J(E.min)&&E.logarithmic&&E.logarithmic.lin2log(E.min)||0)),a=this.isNegative;return j.inverted?{x:(a?m:m-O)-j.plotLeft,y:w.height-G-A,width:O,height:A}:{x:G+w.transB-j.plotLeft,y:(a?m-O:m)-j.plotTop,width:A,height:O}}}}),Le(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{getDeferredAnimation:ue}=q,{series:{prototype:J}}=re,{addEvent:te,correctFloat:X,defined:E,destroyObjectProperties:j,fireEvent:F,isArray:P,isNumber:D,objectEach:A,pick:I}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,I(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function m(){let o=this.stacking;if(o){let n=o.stacks;A(n,(r,l)=>{j(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function w(){this.stacking||(this.stacking=new v(this))}function G(o,n,r,l){return!E(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(T=>{let z,K,U,B=C.length;for(;B--;)z=C[B],o=n.getStackIndicator(o,z,n.index,T),K=d[T]?.[z],(U=K?.points[o.key||""])&&p.call(n,U,K,B)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=X(o[0]*l),o[1]=X(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,T,B,z,K=n||this.options.stacking;if(!K||!this.reserveSpace()||({group:"xAxis"}[K]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,S=[],$=se.length,H=this.options,x=H.threshold||0,N=H.startFromThreshold?x:0,R=H.stack,Z=n?`${this.type},${K}`:this.stackKey||"",Y="-"+Z,he=this.negStacks,ge=o.stacking,_e=ge.stacks,Te=ge.oldStacks;for(ge.stacksTouched+=1,T=0;T<$;T++){B=U[T],z=se[T],p=(r=this.getStackIndicator(r,B,this.index)).key||"",_e[k=(l=he&&z<(N?0:x))?Y:Z]||(_e[k]={}),_e[k][B]||(Te[k]?.[B]?(_e[k][B]=Te[k][B],_e[k][B].total=null):_e[k][B]=new ve(o,o.options.stackLabels,!!l,B,R)),d=_e[k][B],null!==z?(d.points[p]=d.points[this.index]=[I(d.cumulative,N)],E(d.cumulative)||(d.base=p),d.touched=ge.stacksTouched,r.index>0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+B+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===K?(C=l?Z:Y,Oe=he&&_e[C]?.[B]?(C=_e[C][B]).total=Math.max(C.total||0,Oe)+Math.abs(z)||0:X(Oe+(Math.abs(z)||0))):"group"===K?(P(z)&&(z=z[0]),null!==z&&Oe++):Oe=X(Oe+(z||0)),d.cumulative="group"===K?(Oe||1)-1:X(I(d.cumulative,N)+(z||0)),d.total=Oe,null!==z&&(d.points[p].push(d.cumulative),S[T]=d.cumulative,d.hasValidPoints=!0)}"percent"===K&&(ge.usePercentage=!0),"group"!==K&&(this.stackedYData=S),ge.oldStacks={}}class v{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{A(n,r=>{r.cumulative=r.total})}))}resetStacks(){A(this.stacks,n=>{A(n,(r,l)=>{D(r.touched)&&r.touched{A(p,T=>{T.render(k)})}),k.animate({opacity:1},C)}}return(pe||(pe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",w),te(o,"destroy",m),l.getStacks=_,d.getStackIndicator=G,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},pe}),Le(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defined:ve,merge:le,isObject:pe}=re;class ue extends q{drawGraph(){let te=this.options,X=(this.gappedPath||this.getGraphPath).call(this),E=this.chart.styledMode;[this,...this.zones].forEach((j,F)=>{let P,D=j.graph,A=D?"animate":"attr",I=j.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:X.xMap,D.animate({d:X})):X.length&&(j.graph=D=this.chart.renderer.path(X).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&j.className||"")).attr({zIndex:1}).add(this.group)),D&&!E&&(P={stroke:!F&&te.lineColor||j.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},I?P.dashstyle=I:"square"!==te.linecap&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),D[A](P).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},pe(te.shadow)?te.shadow:{}))),D&&(D.startX=X.xMap,D.isArea=X.isArea)})}getGraphPath(te,X,E){let A,j=this,F=j.options,P=[],D=[],I=F.step,_=(te=te||j.points).reversed;return _&&te.reverse(),(I={right:1,center:2}[I]||I&&3)&&_&&(I=4-I),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!X&&!E))).forEach(function(m,w){let G,O=m.plotX,f=m.plotY,a=te[w-1],g=m.isNull||"number"!=typeof f;(m.leftCliff||a&&a.rightCliff)&&!E&&(A=!0),g&&!ve(X)&&w>0?A=!F.connectNulls:g&&!X?A=!0:(0===w||A?G=[["M",m.plotX,m.plotY]]:j.getPointSpline?G=[j.getPointSpline(te,m,w)]:I?(G=1===I?[["L",a.plotX,f]]:2===I?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):G=[["L",O,f]],D.push(m.x),I&&(D.push(m.x),2===I&&D.push(m.x)),P.push.apply(P,G),A=!1)}),P.xMap=D,j.graphPath=P,P}}return ue.defaultOptions=le(q.defaultOptions,{legendSymbol:"lineMarker"}),ne.registerSeriesType("line",ue),ue}),Le(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{seriesTypes:{line:re}}=q,{extend:ve,merge:le,objectEach:pe,pick:ue}=ne;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:X,options:E}=this;[this,...this.zones].forEach((j,F)=>{let P={},D=j.fillColor||E.fillColor,A=j.area,I=A?"animate":"attr";A?(A.endX=this.preventGraphAnimation?null:X.xMap,A.animate({d:X})):(P.zIndex=0,(A=j.area=this.chart.renderer.path(X).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(P.fill=D||j.color||this.color,P["fill-opacity"]=D?1:E.fillOpacity??.75,A.css({pointerEvents:this.stickyTracking?"none":"auto"})),A[I](P),A.startX=X.xMap,A.shiftUnit=E.step?2:1})}getGraphPath(X){let E,j,F,P=re.prototype.getGraphPath,D=this.options,A=D.stacking,I=this.yAxis,_=[],m=[],w=this.index,G=I.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(I.getThreshold(D.threshold)),a=ue(D.connectNulls,"percent"===A),g=function(d,C,k){let K,U,p=X[d],T=A&&G[p.x].points[w],B=p[k+"Null"]||0,z=p[k+"Cliff"]||0,se=!0;z||B?(K=(B?T[0]:T[1])+z,U=T[0]+z,se=!!B):!A&&X[C]&&X[C].isNull&&(K=U=O),void 0!==K&&(m.push({plotX:E,plotY:null===K?f:I.getThreshold(K),isNull:se,isCliff:!0}),_.push({plotX:E,plotY:null===U?f:I.getThreshold(U),doCurve:!1}))};X=X||this.points,A&&(X=this.getStackPoints(X));for(let d=0,C=X.length;df.visible);F.forEach(function(f,a){let v,o,g=0;if(I[f]&&!I[f].isNull)j.push(I[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=A[F[a+n]],d=0;if(l){let C=G;for(;C>=0&&C=0&&nO&&j>A?(j=Math.max(O,A),P=2*A-j):ja&&P>A?(P=Math.max(a,A),j=2*A-P):P=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let v=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;m(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==v.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,v=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,T=O.dataMax,B=O.barW=Math.max(C,1+2*v),z=O.translatedThreshold=n.getThreshold(r);f.inverted&&(z-=.5),a.pointPadding&&(B=Math.ceil(B)),le.prototype.translate.apply(O),O.points.forEach(function(K){let H,U=_(K.yBottom,z),se=999+Math.abs(U),S=K.plotX||0,$=E(K.plotY,-se,n.len+se),x=Math.min($,U),N=Math.max($,U)-x,R=C,Z=S+k,Y=B;l&&Math.abs(N)l?U-l:z-(H?l:0)),j(K.options.pointWidth)&&(Z-=Math.round(((R=Y=Math.ceil(K.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(Z=O.adjustForMissingColumns(Z,R,K,d)),K.barX=Z,K.pointWidth=R,K.tooltipPos=f.inverted?[E(n.len+n.pos-f.plotLeft-$,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-Z-Y/2,N]:[o.left-f.plotLeft+Z+Y/2,E($+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],K.shapeType=O.pointClass.prototype.shapeType||"roundedRect",K.shapeArgs=O.crispCol(Z,K.isNull?z:x,Y,K.isNull?0:N)}),P(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},v=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[v]||a[v]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,T=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=I(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[v]||C,p=n[o]||p,k=n.dashStyle||k,T=_(n.opacity,T));let B={fill:d,stroke:C,"stroke-width":p,opacity:T};return k&&(B.dashstyle=k),B}drawPoints(O=this.points){let f,a=this,g=this.chart,v=a.options,o=g.renderer,n=v.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function m(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,T=o.plotX,B=o.plotY,z=r.rotation||0,K=ue(T)&&ue(B)&&C.isInsidePlot(T,Math.round(B),{inverted:k,paneCoordinates:!0,series:this}),U=0===z&&"justify"===P(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&ue(T)&&(o.series.forceDL||p&&!U||K||P(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(T,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),S=o.pos();if(se&&S){let H=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:S[0],y:Math.round(S[1]),width:0,height:0},l||{}),J(r,{width:H.width,height:H.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,K,l),n.align(j(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-H.width),n.alignAttr.y+=R*(x.height-H.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(H.width-x.width)/2,y:n.alignAttr.y+(H.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,H,l,d);else if(P(r.crop,!0)){let{x:Z,y:Y}=n.alignAttr;se=C.isInsidePlot(Z,Y,{paneCoordinates:!0,series:this})&&C.isInsidePlot(Z+H.width-1,Y+H.height-1,{paneCoordinates:!0,series:this})}r.shape&&!z&&n[d?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function w(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,T=C.getContrast(E(p)&&p||E(k)&&k||"#000000"),B=g(r),{animation:z,defer:K}=B[0],U=K?le(l,z,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let S=se.dataLabels||[];A(a(B,se.dlOptions||se.options?.dataLabels)).forEach((H,x)=>{let ge,_e,Te,Oe,ee,N=H.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(be,xe){let Ie=xe.filter;if(Ie){let we=Ie.operator,Ee=be[Ie.property],Me=Ie.value;return">"===we&&Ee>Me||"<"===we&&Ee="===we&&Ee>=Me||"<="===we&&Ee<=Me||"=="===we&&Ee==Me||"==="===we&&Ee===Me||"!="===we&&Ee!=Me||"!=="===we&&Ee!==Me}return!0}(se,H),{backgroundColor:R,borderColor:Z,distance:Y,style:he={}}=H,De={},Be=S[x],oe=!Be;if(N&&(_e=P(H[se.formatPrefix+"Format"],H.format),ge=se.getLabelConfig(),Te=ue(_e)?pe(_e,ge,l):(H[se.formatPrefix+"Formatter"]||H.formatter).call(ge,H),Oe=H.rotation,!l.styledMode&&(he.color=P(H.color,he.color,E(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!ue(Y)&&H.inside||0>D(Y||0)||d.stacking?se.contrastColor:T):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),De={r:H.borderRadius||0,rotation:Oe,padding:H.padding,zIndex:1},l.styledMode||(De.fill="auto"===R?se.color:R,De.stroke="auto"===Z?se.color:Z,De["stroke-width"]=H.borderWidth),F(De,(be,xe)=>{void 0===be&&delete De[xe]})),!Be||N&&ue(Te)&&!!Be.div==!!H.useHTML&&(Be.rotation&&H.rotation||Be.rotation===H.rotation)||(Be=void 0,oe=!0),N&&ue(Te)&&(Be?De.text=Te:(Be=C.label(Te,0,0,H.shape,void 0,void 0,H.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(H.className||"")+(H.useHTML?" highcharts-tracker":"")),Be)){Be.options=H,Be.attr(De),l.styledMode||Be.css(he).shadow(H.shadow);let be=H[se.formatPrefix+"TextPath"]||H.textPath;be&&!H.useHTML&&(Be.setTextPath(se.getDataLabelPath?.(Be)||se.graphic,be),se.dataLabelPath&&!be.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Be.added||Be.add(n),r.alignDataLabel(se,Be,H,void 0,oe),Be.isActive=!0,S[x]&&S[x]!==Be&&S[x].destroy(),S[x]=Be}});let $=S.length;for(;$--;)S[$]&&S[$].isActive?S[$].isActive=!1:(S[$]?.destroy(),S.splice($,1));se.dataLabel=S[0],se.dataLabels=S})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,T=n.verticalAlign,B=o.box?0:o.padding||0,{x:z=0,y:K=0}=n;return(U=(r.x||0)+B)<0&&("right"===p&&z>=0?(n.align="left",n.inside=!0):z-=U,se=!0),(U=(r.x||0)+l.width-B)>k.plotWidth&&("left"===p&&z<=0?(n.align="right",n.inside=!0):z+=k.plotWidth-U,se=!0),(U=r.y+B)<0&&("bottom"===T&&K>=0?(n.verticalAlign="top",n.inside=!0):K-=U,se=!0),(U=(r.y||0)+l.height-B)>k.plotHeight&&("top"===T&&K<=0?(n.verticalAlign="bottom",n.inside=!0):K+=k.plotHeight-U,se=!0),se&&(n.x=z,n.y=K,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if(X(o)&&!X(n))r=o.map(function(d){return j(d,n)});else if(X(n)&&!X(o))r=n.map(function(d){return j(o,d)});else if(X(o)||X(n)){if(X(o)&&X(n))for(l=Math.max(o.length,n.length);l--;)r[l]=j(o[l],n[l])}else r=j(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return A(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function v(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,T=p.reversed,B=((k?n.height:n.width)||0)/2,z=o.pointWidth,K=z?z/2:0;n.startXPos=k?d.x:T?-B-K:p.width-B+K,n.startYPos=k?T?this.yAxis.height-B+K:-B-K:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}I.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=G,n.initDataLabelsGroup=w,n.alignDataLabel=m,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=v,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Le(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{series:ue}=re,{merge:J,pick:te,pushUnique:X}=ve;return function(E){function j(F,P,D,A,I){let _=this.chart.inverted,m=F.series,w=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||0,G=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,G)),a=te(D.inside,!!this.options.stacking);if(O){if(A=J(O),"allow"!==D.overflow||!1!==D.crop){A.y<0&&(A.height+=A.y,A.y=0);let g=A.y+A.height-G;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Le(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{column:ve,line:le}=ne.seriesTypes,{addEvent:pe,extend:ue,merge:J}=re;class te extends le{applyJitter(){let E=this,j=this.options.jitter,F=this.points.length;j&&this.points.forEach(function(P,D){["x","y"].forEach(function(A,I){let _,w,G,O,m="plot"+A.toUpperCase();j[A]&&!P.isNull&&(_=E[A+"Axis"],O=j[A]*_.transA,_&&!_.isLog&&(w=Math.max(0,P[m]-O),G=Math.min(_.len,P[m]+O),P[m]=w+(G-w)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+I*F),"x"===A&&(P.clientX=P.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,q),ue(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),pe(te,"afterTranslate",function(){this.applyJitter()}),ne.registerSeriesType("scatter",te),te}),Le(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve,le;let{deg2rad:pe}=q,{fireEvent:ue,isNumber:J,pick:te,relativeLength:X}=re;return(le=ve||(ve={})).getCenter=function(){let m,O,f,E=this.options,j=this.chart,F=2*(E.slicedOffset||0),P=j.plotWidth-2*F,D=j.plotHeight-2*F,A=E.center,I=Math.min(P,D),_=E.thickness,w=E.size,G=E.innerSize||0;"string"==typeof w&&(w=parseFloat(w)),"string"==typeof G&&(G=parseFloat(G));let a=[te(A[0],"50%"),te(A[1],"50%"),te(w&&w<0?void 0:E.size,"100%"),te(G&&G<0?void 0:E.innerSize||0,"0%")];for(!j.angular||this instanceof ne||(a[3]=0),O=0;O<4;++O)f=a[O],m=O<2||2===O&&/%$/.test(f),a[O]=X(f,[P,D,I,a[2]][O])+(m?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),ue(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(E,j){let F=J(E)?E:0,P=J(j)&&j>F&&j-F<360?j:F+360;return{start:pe*(F+-90),end:pe*(P+-90)}},ve}),Le(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re){let{setAnimation:ve}=q,{addEvent:le,defined:pe,extend:ue,isNumber:J,pick:te,relativeLength:X}=re;class E extends ne{getConnectorPath(F){let P=F.dataLabelPosition,D=F.options||{},A=D.connectorShape;return P&&(this.connectorShapes[A]||A).call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+F,P.r+F,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(F,P,D){super(F,P,D),this.half=0,this.name??(this.name="Slice");let A=I=>{this.slice("select"===I.type)};le(this,"select",A),le(this,"unselect",A)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,P=!0){F!==this.visible&&this.update({visible:F??!this.visible},P,void 0,!1)}slice(F,P,D){let A=this.series;ve(D,A.chart),P=te(P,!0),this.sliced=this.options.sliced=F=pe(F)?F:!this.sliced,A.options.data[A.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ue(E.prototype,{connectorShapes:{fixedOffset:function(j,F,P){let D=F.breakAt,A=F.touchingSliceAt;return[["M",j.x,j.y],P.softConnector?["C",j.x+("left"===j.alignment?-5:5),j.y,2*D.x-A.x,2*D.y-A.y,D.x,D.y]:["L",D.x,D.y],["L",A.x,A.y]]},straight:function(j,F){let P=F.touchingSliceAt;return[["M",j.x,j.y],["L",P.x,P.y]]},crookedLine:function(j,F,P){let{breakAt:D,touchingSliceAt:A}=F,{series:I}=this,[_,m,w]=I.center,G=w/2,{plotLeft:O,plotWidth:f}=I.chart,a="left"===j.alignment,{x:g,y:v}=j,o=D.x;if(P.crookDistance){let r=X(P.crookDistance,1);o=a?_+G+(f+O-_-G)*(1-r):O+(_-G)*r}else o=_+(m-v)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,v]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,v]),n.push(["L",D.x,D.y],["L",A.x,A.y]),n}}}),E}),Le(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Le(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{getStartAndEndRadians:X}=q,{noop:E}=re,{clamp:j,extend:F,fireEvent:P,merge:D,pick:A}=te;class I extends pe{animate(m){let w=this,O=w.startAngleRad;m||w.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:A(f.startR,w.center&&w.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},w.options.animation))})}drawEmpty(){let m,w,G=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(m=this.center[0],w=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(m,w,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(m,w,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let m=this.chart.renderer;this.points.forEach(function(w){w.graphic&&w.hasNewShapeType()&&(w.graphic=w.graphic.destroy()),w.graphic||(w.graphic=m[w.shapeType](w.shapeArgs).add(w.series.group),w.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(m,w,G,O){let f=this.center,a=this.radii?this.radii[G.index]||0:f[2]/2,g=O.dataLabelPosition,v=g?.distance||0,o=Math.asin(j((m-f[1])/(a+v),-1,1));return f[0]+Math.cos(o)*(a+v)*(w?-1:1)+(v>0?(w?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let m,w,G,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let v={};w=g.graphic,!g.isNull&&w?(O=g.shapeArgs,m=g.getTranslate(),a.styledMode||(G=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(w.setRadialReference(f.center).attr(O).attr(m),a.styledMode||w.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(w.setRadialReference(f.center),a.styledMode||D(!0,v,G),D(!0,v,O,m),w.animate(v)),w.attr({visibility:g.visible?"inherit":"hidden"}),w.addClass(g.getClassName(),!0)):w&&(g.graphic=w.destroy())})}sortByAngle(m,w){m.sort(function(G,O){return void 0!==G.angle&&(O.angle-G.angle)*w})}translate(m){P(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,w=this.options,G=w.slicedOffset,O=X(w.startAngle,w.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,v=w.ignoreHiddenPoint,o=g.length,T=0;for(m||(this.center=m=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*G),translateY:Math.round(Math.sin(l)*G)},d=Math.cos(l)*m[2]/2,C=Math.sin(l)*m[2]/2,p.tooltipPos=[m[0]+.7*d,m[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}P(this,"afterTranslate")}updateTotals(){let O,f,m=this.points,w=m.length,G=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!G)?f.y/a*100:0,f.total=a}}return I.defaultOptions=D(pe.defaultOptions,le),F(I.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ne.prototype.drawTracker,getCenter:q.getCenter,getSymbol:E,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ne.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:E,trackerGroups:["group","dataLabelsGroup"]}),ue.registerSeriesType("pie",I),I}),Le(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{composed:ue,noop:J}=ne,{distribute:te}=re,{series:X}=ve,{arrayMax:E,clamp:j,defined:F,pick:P,pushUnique:D,relativeLength:A}=le;return function(I){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,v,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?v:g,a.half,a,o)},justify:function(f,a,g,v){return v[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,v){let o=f.getBBox().width;return a?o+v:g-o-v},alignToConnectors:function(f,a,g,v){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+v:g-o-v}};function m(f,a){let{center:g,options:v}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((v.slicedOffset||0)+(v.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function w(){let B,z,K,f=this,a=f.points,g=f.chart,v=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],T=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),X.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((S,$)=>{let H=l[2]/2,x=S.options,N=A(x?.distance||0,H);0===$&&k[se.half].push(se),!F(x?.style?.width)&&S.getBBox().width>r&&(S.css({width:Math.round(.7*r)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,S)=>{let x,N,Z,H=[],R=0;se.length&&(f.sortByAngle(se,S-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.dataLabelPosition;ge&&ge.distance>0&&(ge.top=Math.max(0,C-d-ge.distance),ge.bottom=Math.min(C+d+ge.distance,g.plotHeight),R=he.getBBox().height||21,Y.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-ge.top+R/2,size:R,rank:Y.y},H.push(Y.distributeBox))})}),te(H,Z=N+R-x,Z/5)),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.options||{},_e=Y.distributeBox,Te=he.dataLabelPosition,Oe=Te?.natural.y||0,De=ge.connectorPadding||0,Be=0,oe=Oe,ee="inherit";if(Te){if(H&&F(_e)&&Te.distance>0&&(void 0===_e.pos?ee="hidden":(K=_e.size,oe=T.radialDistributionY(Y,he))),ge.justify)Be=T.justify(Y,he,d,l);else switch(ge.alignTo){case"connectors":Be=T.alignToConnectors(se,S,v,n);break;case"plotEdges":Be=T.alignToPlotEdges(he,S,v,n);break;default:Be=T.radialDistributionX(f,Y,oe,Oe,he)}if(Te.attribs={visibility:ee,align:Te.alignment},Te.posAttribs={x:Be+(ge.x||0)+({left:De,right:-De}[Te.alignment]||0),y:oe+(ge.y||0)-he.getBBox().height/2},Te.computed.x=Be,Te.computed.y=oe,P(ge.crop,!0)){let be;Be-(z=he.getBBox().width)v-De&&0===S&&(be=Math.round(Be+z-v+De),p[1]=Math.max(be,p[1])),oe-K/2<0?p[0]=Math.max(Math.round(K/2-oe),p[0]):oe+K/2>o&&(p[2]=Math.max(Math.round(oe+K/2-o),p[2])),Te.sideOverflow=be}}})}))}),(0===E(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(S=>{let{connectorColor:$,connectorWidth:H=1}=S.options||{},x=S.dataLabelPosition;if(H){let N;B=S.connector,x&&x.distance>0?(N=!B,B||(S.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||B.attr({"stroke-width":H,stroke:$||se.color||"#666666"}),B[N?"attr":"animate"]({d:se.getConnectorPath(S)}),B.attr({visibility:x.attribs?.visibility})):B&&(S.connector=B.destroy())}})})))}function G(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,v=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==v[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==v[1]?n=j(n,o,a[2]-Math.max(f[0],f[2])):(n=j(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(m.x>=_.x+_.width||m.x+m.width<=_.x||m.y>=_.y+_.height||m.y+m.height<=_.y),I=!1;for(let _=0;_(m.labelrank||0)-(_.labelrank||0));for(let _=0;_{ve(j,F=>{F.label&&X.push(F.label)})});for(let E of te.series||[])if(E.visible&&E.hasDataLabels?.()){let j=F=>{for(let P of F)P.visible&&(P.dataLabels||[]).forEach(D=>{let A=D.options||{};D.labelrank=le(A.labelrank,P.labelrank,P.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,ue(D,te)):X.push(D)})};j(E.nodes||[]),j(E.points)}this.hideOverlappingLabels(X)}return{compose:function(te){let X=te.prototype;X.hideOverlappingLabels||(X.hideOverlappingLabels=pe,ne(te,"render",J))}}}),Le(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defaultOptions:ve}=q,{noop:le}=ne,{addEvent:pe,extend:ue,isObject:J,merge:te,relativeLength:X}=re,E={radius:0,scope:"stack",where:void 0},j=le,F=le;function P(m,w,G,O,f={}){let a=j(m,w,G,O,f),{innerR:g=0,r:v=G,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min(X(f.borderRadius||0,v-g),(v-g)/2,v*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,T,B){let z,K,U,se=p[T],S=p[T+1];if("Z"===S[0]&&(S=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==S[0]?"A"===se[0]&&("M"===S[0]||"L"===S[0])&&(z=S,K=se):(z=se,K=S,U=!0),z&&K&&K.params){let $=K[1],H=K[5],x=K.params,{start:N,end:R,cx:Z,cy:Y}=x,he=H?$-B:$+B,ge=he?Math.asin(B/he):0,_e=H?ge:-ge,Te=Math.cos(ge)*he;U?(x.start=N+_e,z[1]=Z+Te*Math.cos(N),z[2]=Y+Te*Math.sin(N),p.splice(T+1,0,["A",B,B,0,0,1,Z+$*Math.cos(x.start),Y+$*Math.sin(x.start)])):(x.end=R-_e,K[6]=Z+$*Math.cos(x.end),K[7]=Y+$*Math.sin(x.end),p.splice(T+1,0,["A",B,B,0,0,1,Z+Te*Math.cos(R),Y+Te*Math.sin(R)])),K[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:m,yAxis:w}=this,G="percent"===m.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=A(m.borderRadius,J(O)?O:{}),a=w.options.reversed;for(let g of this.points){let{shapeArgs:v}=g;if("roundedRect"===g.shapeType&&v){let{width:o=0,height:n=0,y:r=0}=v,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let T=w.translate(G?100:g.stackTotal,!1,!0,!1,!0),B=w.translate(m.threshold||0,!1,!0,!1,!0),z=this.crispCol(0,Math.min(T,B),0,Math.abs(T-B));l=z.y,d=z.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min(X(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),ue(v,{brBoxHeight:d,brBoxY:l,r:p})}}}}function A(m,w){return J(m)||(m={radius:m||0}),te(E,w,m)}function I(){let m=A(this.options.borderRadius);for(let w of this.points){let G=w.shapeArgs;G&&(G.borderRadius=X(m.radius,(G.r||0)-(G.innerR||0)))}}function _(m,w,G,O,f={}){let a=F(m,w,G,O,f),{r:g=0,brBoxHeight:v=O,brBoxY:o=w}=f,n=w-o,r=o+v-(w+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[m+l,w],T=[m+G-l,w],B=[m+G,w+l],z=[m+G,w+O-d],K=[m+G-d,w+O],U=[m+d,w+O],se=[m,w+O-d],S=[m,w+l],$=(H,x)=>Math.sqrt(Math.pow(H,2)-Math.pow(x,2));if(C){let H=$(l,l-C);p[0]-=H,T[0]+=H,B[1]=S[1]=w+l-C}if(O=ue(P.minWidth,0)&&this.chartHeight>=ue(P.minHeight,0)}).call(this)&&F.push(j._id)}function E(j,F){let I,P=this.options.responsive,D=this.currentResponsive,A=[];!F&&P&&P.rules&&P.rules.forEach(w=>{void 0===w._id&&(w._id=J()),this.matchResponsiveRule(w,A)},this);let _=pe(...A.map(w=>le((P||{}).rules||[],G=>G._id===w)).map(w=>w&&w.chartOptions));_.isResponsiveOptions=!0,A=A.toString()||void 0,A!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,j,!0),A?((I=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:A,mergedOptions:_,undoOptions:I},this.update(_,j,!0)):this.currentResponsive=void 0)}te.compose=function(j){let F=j.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:X,setResponsive:E}),j}}(ne||(ne={})),ne}),Le(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P,D,A,I,_,m,w,G,O,f,a,g,v,o,n,r,l,d,C,k,p,T,B){return q.AST=pe,q.Axis=F,q.Chart=f,q.Color=T,q.DataLabel=d,q.Fx=ve,q.HTMLElement=j,q.Legend=G,q.LegendSymbol=O,q.OverlappingDataLabels=q.OverlappingDataLabels||C,q.PlotLineOrBand=A,q.Point=m,q.Pointer=w,q.RendererRegistry=J,q.Series=o,q.SeriesRegistry=n,q.StackItem=v,q.SVGElement=X,q.SVGRenderer=E,q.Templating=ue,q.Tick=I,q.Time=B,q.Tooltip=_,q.animate=le.animate,q.animObject=le.animObject,q.chart=f.chart,q.color=T.parse,q.dateFormat=ue.dateFormat,q.defaultOptions=re.defaultOptions,q.distribute=te.distribute,q.format=ue.format,q.getDeferredAnimation=le.getDeferredAnimation,q.getOptions=re.getOptions,q.numberFormat=ue.numberFormat,q.seriesType=n.seriesType,q.setAnimation=le.setAnimation,q.setOptions=re.setOptions,q.stop=le.stop,q.time=re.defaultTime,q.timers=ve.timers,k.compose(q.Series,q.SVGElement,q.SVGRenderer),r.compose(q.Series.types.column),d.compose(q.Series),P.compose(q.Axis),j.compose(q.SVGRenderer),G.compose(q.Chart),D.compose(q.Axis),C.compose(q.Chart),l.compose(q.Series.types.pie),A.compose(q.Axis),w.compose(q.Chart),p.compose(q.Chart),a.compose(q.Axis,q.Chart,q.Series),g.compose(q.Axis,q.Chart,q.Series),_.compose(q.Pointer),ne.extend(q,ne),q}),Le(V,"Core/Axis/Color/ColorAxisComposition.js",[V["Core/Color/Color.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{parse:ve}=q,{addEvent:le,extend:pe,merge:ue,pick:J,splat:te}=ne;return function(X){let E;function j(){let{userOptions:O}=this;this.colorAxis=[],O.colorAxis&&(O.colorAxis=te(O.colorAxis),O.colorAxis.map(f=>new E(this,f)))}function F(O){let v,o,a=n=>{let r=O.allItems.indexOf(n);-1!==r&&(this.destroyItem(O.allItems[r]),O.allItems.splice(r,1))},g=[];for((this.chart.colorAxis||[]).forEach(function(n){(v=n.options)&&v.showInLegend&&(v.dataClasses&&v.visible?g=g.concat(n.getDataClassLegendSymbols()):v.visible&&g.push(n),n.series.forEach(function(r){(!r.options.showInLegend||v.dataClasses)&&("point"===r.options.legendType?r.points.forEach(function(l){a(l)}):a(r))}))}),o=g.length;o--;)O.allItems.unshift(g[o])}function P(O){O.visible&&O.item.legendColor&&O.item.legendItem.symbol.attr({fill:O.item.legendColor})}function D(O){this.chart.colorAxis?.forEach(f=>{f.update({},O.redraw)})}function A(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function I(){let O=this.axisTypes;O?-1===O.indexOf("colorAxis")&&O.push("colorAxis"):this.axisTypes=["colorAxis"]}function _(O){let f=this,a=O?"show":"hide";f.visible=f.options.visible=!!O,["graphic","dataLabel"].forEach(function(g){f[g]&&f[g][a]()}),this.series.buildKDTree()}function m(){let O=this,a=this.options.nullColor,g=this.colorAxis,v=this.colorKey;(this.data.length?this.data:this.points).forEach(o=>{let n=o.getNestedProperty(v),r=o.options.color||(o.isNull||null===o.value?a:g&&void 0!==n?g.toColor(n,o):o.color||O.color);r&&o.color!==r&&(o.color=r,"point"===O.options.legendType&&o.legendItem&&o.legendItem.label&&O.chart.legend.colorizeItem(o,o.visible))})}function w(){this.elem.attr("fill",ve(this.start).tweenTo(ve(this.end),this.pos),void 0,!0)}function G(){this.elem.attr("stroke",ve(this.start).tweenTo(ve(this.end),this.pos),void 0,!0)}X.compose=function(O,f,a,g,v){let o=f.prototype,n=a.prototype,r=v.prototype;o.collectionsWithUpdate.includes("colorAxis")||(E=O,o.collectionsWithUpdate.push("colorAxis"),o.collectionsWithInit.colorAxis=[o.addColorAxis],le(f,"afterGetAxes",j),function(l){let d=l.prototype.createAxis;l.prototype.createAxis=function(C,k){if("colorAxis"!==C)return d.apply(this,arguments);let p=new E(this,ue(k.axis,{index:this[C].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(T=>{T.series=[]}),this.series.forEach(T=>{T.bindAxes(),T.isDirtyData=!0}),J(k.redraw,!0)&&this.redraw(k.animation),p}}(f),n.fillSetter=w,n.strokeSetter=G,le(g,"afterGetAllItems",F),le(g,"afterColorizeItem",P),le(g,"afterUpdate",D),pe(r,{optionalAxis:"colorAxis",translateColors:m}),pe(r.pointClass.prototype,{setVisible:_}),le(v,"afterTranslate",A,{order:1}),le(v,"bindAxes",I))},X.pointSetVisible=_}(re||(re={})),re}),Le(V,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineColor:"#ffffff",gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{distance:8,overflow:"justify",rotation:0},minColor:"#e6e9ff",maxColor:"#0022ff",tickLength:5,showInLegend:!0}}),Le(V,"Core/Axis/Color/ColorAxisLike.js",[V["Core/Color/Color.js"],V["Core/Utilities.js"]],function(q,ne){var re,ve;let{parse:le}=q,{merge:pe}=ne;return(ve=re||(re={})).initDataClasses=function(ue){let j,F,A,J=this.chart,te=this.legendItem=this.legendItem||{},X=this.options,E=ue.dataClasses||[],P=J.options.chart.colorCount,D=0;this.dataClasses=F=[],te.labels=[];for(let I=0,_=E.length;I<_;++I)j=pe(j=E[I]),F.push(j),(J.styledMode||!j.color)&&("category"===X.dataClassColor?(J.styledMode||(P=(A=J.options.colors||[]).length,j.color=A[D]),j.colorIndex=D,++D===P&&(D=0)):j.color=le(X.minColor).tweenTo(le(X.maxColor),_<2?.5:I/(_-1)))},ve.initStops=function(){let ue=this.options,J=this.stops=ue.stops||[[0,ue.minColor||""],[1,ue.maxColor||""]];for(let te=0,X=J.length;te=X)&&(void 0===E||ue<=E)){j=F.color,J&&(J.dataClass=P,J.colorIndex=F.colorIndex);break}}else{for(te=this.normalizedValue(ue),P=A.length;P--&&!(te>A[P][0]););X=A[P]||A[P+1],te=1-((E=A[P+1]||X)[0]-te)/(E[0]-X[0]||1),j=X.color.tweenTo(E.color,te)}return j},re}),Le(V,"Core/Axis/Color/ColorAxis.js",[V["Core/Axis/Axis.js"],V["Core/Axis/Color/ColorAxisComposition.js"],V["Core/Axis/Color/ColorAxisDefaults.js"],V["Core/Axis/Color/ColorAxisLike.js"],V["Core/Defaults.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{defaultOptions:te}=le,{series:X}=ue,{defined:E,extend:j,fireEvent:F,isArray:P,isNumber:D,merge:A,pick:I,relativeLength:_}=J;te.colorAxis=A(te.xAxis,re);class m extends q{static compose(G,O,f,a){ne.compose(m,G,O,f,a)}constructor(G,O){super(G,O),this.coll="colorAxis",this.visible=!0,this.init(G,O)}init(G,O){let a=O.layout?"vertical"!==O.layout:"vertical"!==(G.options.legend||{}).layout;this.side=O.side||a?2:1,this.reversed=O.reversed||!a,this.opposite=!a,super.init(G,O,"colorAxis"),this.userOptions=O,P(G.userOptions.colorAxis)&&(G.userOptions.colorAxis[this.index]=O),O.dataClasses&&this.initDataClasses(O),this.initStops(),this.horiz=a,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(G){let O=A(te.colorAxis,G,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==G.visible});super.setOptions(O),this.options.crosshair=this.options.marker}setAxisSize(){let G=this.chart,O=this.legendItem?.symbol,{width:f,height:a}=this.getSize();O&&(this.left=+O.attr("x"),this.top=+O.attr("y"),this.width=f=+O.attr("width"),this.height=a=+O.attr("height"),this.right=G.chartWidth-this.left-f,this.bottom=G.chartHeight-this.top-a,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?f:a)||m.defaultLegendLength}getOffset(){let G=this.legendItem?.group,O=this.chart.axisOffset[this.side];if(G){this.axisParent=G,super.getOffset();let f=this.chart.legend;f.allItems.forEach(function(a){a instanceof m&&a.drawLegendSymbol(f,a)}),f.render(),this.chart.getMargins(!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=O}}setLegendColor(){let O=this.reversed,f=O?1:0,a=O?0:1,g=this.horiz?[f,0,a,0]:[0,a,0,f];this.legendColor={linearGradient:{x1:g[0],y1:g[1],x2:g[2],y2:g[3]},stops:this.stops}}drawLegendSymbol(G,O){let f=O.legendItem||{},a=G.padding,g=G.options,v=this.options.labels,o=I(g.itemDistance,10),n=this.horiz,{width:r,height:l}=this.getSize(),d=I(g.labelPadding,n?16:30);this.setLegendColor(),f.symbol||(f.symbol=this.chart.renderer.symbol("roundedRect").attr({r:g.symbolRadius??3,zIndex:1}).add(f.group)),f.symbol.attr({x:0,y:(G.baseline||0)-11,width:r,height:l}),f.labelWidth=r+a+(n?o:I(v.x,v.distance)+(this.maxLabelLength||0)),f.labelHeight=l+a+(n?d:0)}setState(G){this.series.forEach(function(O){O.setState(G)})}setVisible(){}getSeriesExtremes(){let O,f,a,g,v,o,r,l,G=this.series,n=G.length;for(this.dataMin=1/0,this.dataMax=-1/0;n--;){if(f=(o=G[n]).colorKey=I(o.options.colorKey,o.colorKey,o.pointValKey,o.zoneAxis,"y"),g=o.pointArrayMap,v=o[f+"Min"]&&o[f+"Max"],o[f+"Data"])O=o[f+"Data"];else if(g){if(O=[],a=g.indexOf(f),r=o.yData,a>=0&&r)for(l=0;lo+n&&(f=o+n+2),O.plotX=f,O.plotY=this.len-f,super.drawCrosshair(G,O),O.plotX=g,O.plotY=v,this.cross&&!this.cross.addedToColorAxis&&a.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(a.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(G){let O=this.left,f=G.translatedValue,a=this.top;return D(f)?this.horiz?[["M",f-4,a-6],["L",f+4,a-6],["L",f,a],["Z"]]:[["M",O,f],["L",O-6,f+6],["L",O-6,f-6],["Z"]]:super.getPlotLinePath(G)}update(G,O){let f=this.chart.legend;this.series.forEach(a=>{a.isDirtyData=!0}),(G.dataClasses&&f.allItems||this.dataClasses)&&this.destroyItems(),super.update(G,O),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),f.colorizeItem(this,!0))}destroyItems(){let G=this.chart,O=this.legendItem||{};if(O.label)G.legend.destroyItem(this);else if(O.labels)for(let f of O.labels)G.legend.destroyItem(f);G.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(G){this.destroyItems(),super.remove(G)}getDataClassLegendSymbols(){let G,O=this,f=O.chart,a=O.legendItem&&O.legendItem.labels||[],g=f.options.legend,v=I(g.valueDecimals,-1),o=I(g.valueSuffix,""),n=r=>O.series.reduce((l,d)=>(l.push(...d.points.filter(C=>C.dataClass===r)),l),[]);return a.length||O.dataClasses.forEach((r,l)=>{let d=r.from,C=r.to,{numberFormatter:k}=f,p=!0;G="",void 0===d?G="< ":void 0===C&&(G="> "),void 0!==d&&(G+=k(d,v)+o),void 0!==d&&void 0!==C&&(G+=" - "),void 0!==C&&(G+=k(C,v)+o),a.push(j({chart:f,name:G,options:{},drawLegendSymbol:pe.rectangle,visible:!0,isDataClass:!0,setState:T=>{for(let B of n(l))B.setState(T)},setVisible:function(){this.visible=p=O.visible=!p;let T=[];for(let B of n(l))B.setVisible(p),B.hiddenInDataClass=!p,-1===T.indexOf(B.series)&&T.push(B.series);f.legend.colorizeItem(this,p),T.forEach(B=>{F(B,"afterDataClassLegendClick")})}},r))}),a}getSize(){let{chart:G,horiz:O}=this,{legend:f,height:a,width:g}=this.options;return{width:I(E(g)?_(g,G.chartWidth):void 0,f?.symbolWidth,O?m.defaultLegendLength:12),height:I(E(a)?_(a,G.chartHeight):void 0,f?.symbolHeight,O?12:m.defaultLegendLength)}}}return m.defaultLegendLength=200,m.keepProps=["legendItem"],j(m.prototype,ve),Array.prototype.push.apply(q.keepProps,m.keepProps),m}),Le(V,"masters/modules/coloraxis.src.js",[V["Core/Globals.js"],V["Core/Axis/Color/ColorAxis.js"]],function(q,ne){return q.ColorAxis=q.ColorAxis||ne,q.ColorAxis.compose(q.Chart,q.Fx,q.Legend,q.Series),q}),Le(V,"Maps/MapNavigationDefaults.js",[],function(){return{lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}}}),Le(V,"Maps/MapPointer.js",[V["Core/Utilities.js"]],function(q){var ne;let{defined:re,extend:ve,pick:le,wrap:pe}=q;return function(ue){let J,te=0;function X(P){let D=this.chart;P=this.normalize(P),D.options.mapNavigation.enableDoubleClickZoomTo?D.pointer.inClass(P.target,"highcharts-tracker")&&D.hoverPoint&&D.hoverPoint.zoomTo():D.isInsidePlot(P.chartX-D.plotLeft,P.chartY-D.plotTop)&&D.mapZoom(.5,void 0,void 0,P.chartX,P.chartY)}function E(P){let D=this.chart,A=re((P=this.normalize(P)).wheelDelta)&&-P.wheelDelta/120||P.deltaY||P.detail;Math.abs(A)>=1&&(te+=Math.abs(A),J&&clearTimeout(J),J=setTimeout(()=>{te=0},50)),te<10&&D.isInsidePlot(P.chartX-D.plotLeft,P.chartY-D.plotTop)&&D.mapView&&D.mapView.zoomBy(-(D.options.mapNavigation.mouseWheelSensitivity-1)*A,void 0,[P.chartX,P.chartY],!(1>Math.abs(A))&&void 0)}function j(P,D,A){let I=this.chart;if(D=P.call(this,D,A),I&&I.mapView){let _=I.mapView.pixelsToLonLat({x:D.chartX-I.plotLeft,y:D.chartY-I.plotTop});_&&ve(D,_)}return D}function F(P){let D=this.chart.options.mapNavigation;D&&le(D.enableTouchZoom,D.enabled)&&(this.chart.zooming.pinchType="xy"),P.apply(this,[].slice.call(arguments,1))}ue.compose=function(P){let D=P.prototype;D.onContainerDblClick||(ve(D,{onContainerDblClick:X,onContainerMouseWheel:E}),pe(D,"normalize",j),pe(D,"zoomOption",F))}}(ne||(ne={})),ne}),Le(V,"Maps/MapSymbols.js",[],function(){let q;function ne(ve,le,pe,ue,J){if(J){let te=J?.r||0;J.brBoxY=le-te,J.brBoxHeight=ue+te}return q.roundedRect(ve,le,pe,ue,J)}function re(ve,le,pe,ue,J){return J&&(J.brBoxHeight=ue+(J?.r||0)),q.roundedRect(ve,le,pe,ue,J)}return{compose:function(ve){(q=ve.prototype.symbols).bottombutton=ne,q.topbutton=re}}}),Le(V,"Maps/MapNavigation.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Maps/MapNavigationDefaults.js"],V["Maps/MapPointer.js"],V["Maps/MapSymbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{setOptions:ue}=q,{composed:J}=ne,{addEvent:te,extend:X,merge:E,objectEach:j,pick:F,pushUnique:P}=pe;function D(I){I&&(I.preventDefault&&I.preventDefault(),I.stopPropagation&&I.stopPropagation(),I.cancelBubble=!0)}class A{static compose(_,m,w){ve.compose(m),le.compose(w),P(J,"Map.Navigation")&&(te(_,"beforeRender",function(){this.mapNavigation=new A(this),this.mapNavigation.update()}),ue(re))}constructor(_){this.chart=_,this.navButtons=[]}update(_){let a,m=this,w=m.chart,G=m.navButtons,O=function(g){this.handler.call(w,g),D(g)},f=w.options.mapNavigation;for(_&&(f=w.options.mapNavigation=E(w.options.mapNavigation,_));G.length;)G.pop().destroy();if(!w.renderer.forExport&&F(f.enableButtons,f.enabled)){m.navButtonsGroup||(m.navButtonsGroup=w.renderer.g().attr({zIndex:7}).add()),j(f.buttons,(v,o)=>{v=E(f.buttonOptions,v),!w.styledMode&&v.theme&&((a=v.theme).style=E(v.theme.style,v.style));let{text:n,width:r=0,height:l=0,padding:d=0}=v,C=w.renderer.button("+"!==n&&"-"!==n&&n||"",0,0,O,a,void 0,void 0,void 0,"zoomIn"===o?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[o]).attr({width:r,height:l,title:w.options.lang[o],padding:v.padding,zIndex:5}).add(m.navButtonsGroup);if("+"===n||"-"===n){let k=r+1,p=[["M",d+3,d+l/2],["L",d+k-3,d+l/2]];"+"===n&&p.push(["M",d+k/2,d+3],["L",d+k/2,d+l-3]),w.renderer.path(p).addClass("highcharts-button-symbol").attr(w.styledMode?{}:{stroke:v.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(C)}if(C.handler=v.onclick,te(C.element,"dblclick",D),G.push(C),X(v,{width:C.width,height:2*(C.height||0)}),w.hasLoaded)C.align(v,!1,v.alignTo);else{let k=te(w,"load",()=>{C.element&&C.align(v,!1,v.alignTo),k()})}});let g=(v,o)=>!(o.x>=v.x+v.width||o.x+o.width<=v.x||o.y>=v.y+v.height||o.y+o.height<=v.y);w.hasLoaded||te(w,"render",function(){let v=w.exportingGroup&&w.exportingGroup.getBBox();if(v){let o=m.navButtonsGroup.getBBox();g(v,o)&&m.navButtonsGroup.attr({translateY:"bottom"===(f.buttonOptions&&f.buttonOptions.verticalAlign)?-o.y-o.height+v.y-5:v.y+v.height-o.y+5})}})}this.updateEvents(f)}updateEvents(_){let m=this.chart;F(_.enableDoubleClickZoom,_.enabled)||_.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||te(m.container,"dblclick",function(w){m.pointer.onContainerDblClick(w)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),F(_.enableMouseWheelZoom,_.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||te(m.container,"wheel",function(w){return m.pointer.inClass(w.target,"highcharts-no-mousewheel")||(m.pointer.onContainerMouseWheel(w),D(w)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}return A}),Le(V,"Series/ColorMapComposition.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{column:{prototype:ve}}=q.seriesTypes,{addEvent:le,defined:pe}=ne;return function(ue){function J(te){this.moveToTopOnHover&&this.graphic&&this.graphic.attr({zIndex:te&&"hover"===te.state?1:0})}ue.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},ue.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(te){let X={};return pe(te.color)&&(!te.state||"normal"===te.state)&&(X[this.colorProp||"fill"]=te.color),X},pointAttribs:ve.pointAttribs},ue.compose=function(te){return le(te.prototype.pointClass,"afterSetState",J),te}}(re||(re={})),re}),Le(V,"Core/Chart/MapChart.js",[V["Core/Chart/Chart.js"],V["Core/Defaults.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{getOptions:pe}=ne,{isNumber:ue,merge:J,pick:te}=ve;class X extends q{init(j,F){let P=pe().credits,D=J({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:te(P.mapText,' \xa9 {geojson.copyrightShort}'),mapTextFull:te(P.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},j);super.init(D,F)}mapZoom(j,F,P,D,A){this.mapView&&(ue(j)&&(j=Math.log(j)/Math.log(.5)),this.mapView.zoomBy(j,ue(F)&&ue(P)?this.mapView.projection.inverse([F,P]):void 0,ue(D)&&ue(A)?[D,A]:void 0))}update(j){j.chart&&"map"in j.chart&&this.mapView?.recommendMapView(this,[j.chart.map,...(this.options.series||[]).map(F=>F.mapData)],!0),super.update.apply(this,arguments)}}return(le=X||(X={})).maps={},le.mapChart=function(E,j,F){return new le(E,j,F)},le.splitPath=function(E){let j;return j="string"==typeof E?(E=E.replace(/([A-Za-z])/g," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(F=>/[A-Za-z]/.test(F)?F:parseFloat(F)):E,re.prototype.pathToSegments(j)},X}),Le(V,"Maps/MapUtilities.js",[],function(){return{boundsFromPath:function(q){let pe,ne=-Number.MAX_VALUE,re=Number.MAX_VALUE,ve=-Number.MAX_VALUE,le=Number.MAX_VALUE;if(q.forEach(ue=>{let J=ue[ue.length-2],te=ue[ue.length-1];"number"==typeof J&&"number"==typeof te&&(re=Math.min(re,J),ne=Math.max(ne,J),le=Math.min(le,te),ve=Math.max(ve,te),pe=!0)}),pe)return{x1:re,y1:le,x2:ne,y2:ve}},pointInPolygon:function(q,ne){let re,ve,le=!1,pe=q.x,ue=q.y;for(re=0,ve=ne.length-1;reue!=ne[ve][1]>ue&&pe<(ne[ve][0]-ne[re][0])*(ue-ne[re][1])/(ne[ve][1]-ne[re][1])+ne[re][0]&&(le=!le);return le}}}),Le(V,"Series/Map/MapPoint.js",[V["Series/ColorMapComposition.js"],V["Maps/MapUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{boundsFromPath:le}=ne,pe=re.seriesTypes.scatter.prototype.pointClass,{extend:ue,isNumber:J,pick:te}=ve;class X extends pe{static getProjectedPath(j,F){return j.projectedPath||(F&&j.geometry?(F.hasCoordinates=!0,j.projectedPath=F.path(j.geometry)):j.projectedPath=j.path),j.projectedPath||[]}applyOptions(j,F){let P=this.series,D=super.applyOptions(j,F);if(P.mapData&&P.mapMap){let _=super.getNestedProperty(P.joinBy[1]),m=void 0!==_&&P.mapMap[_];m?ue(D,{...m,name:D.name??m.name}):-1!==P.pointArrayMap.indexOf("value")&&(D.value=D.value||null)}return D}getProjectedBounds(j){let F=le(X.getProjectedPath(this,j)),P=this.properties;if(F){let A=P&&P["hc-middle-lon"],I=P&&P["hc-middle-lat"];if(this.series.chart.mapView&&J(A)&&J(I)){let _=j.forward([A,I]);F.midX=_[0],F.midY=_[1]}else{let _=P&&P["hc-middle-x"],m=P&&P["hc-middle-y"];F.midX=F.x1+(F.x2-F.x1)*te(this.middleX,J(_)?_:.5);let w=te(this.middleY,J(m)?m:.5);this.geometry||(w=1-w),F.midY=F.y2-(F.y2-F.y1)*w}return F}}onMouseOver(j){ve.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,j):this.series.onMouseOut()}setVisible(j){this.visible=this.options.visible=!!j,this.dataLabel&&this.dataLabel[j?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(j){let F=this.series.chart,P=F.mapView,D=this.bounds;if(P&&D){let A=J(this.insetIndex)&&P.insets[this.insetIndex];if(A){let I=A.projectedUnitsToPixels({x:D.x1,y:D.y1}),_=A.projectedUnitsToPixels({x:D.x2,y:D.y2}),m=P.pixelsToProjectedUnits({x:I.x,y:I.y}),w=P.pixelsToProjectedUnits({x:_.x,y:_.y});D={x1:m.x,y1:m.y,x2:w.x,y2:w.y}}P.fitToBounds(D,void 0,!1),this.series.isDirty=!0,F.redraw(j)}}}return ue(X.prototype,{dataLabelOnNull:q.pointMembers.dataLabelOnNull,moveToTopOnHover:q.pointMembers.moveToTopOnHover,isValid:q.pointMembers.isValid}),X}),Le(V,"Series/Map/MapSeriesDefaults.js",[V["Core/Utilities.js"]],function(q){let{isNumber:ne}=q;return{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let{numberFormatter:re}=this.series.chart,{value:ve}=this.point;return ne(ve)?re(ve,-1):this.point.name},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}
"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}}),Le(V,"Maps/MapViewDefaults.js",[],function(){return{center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}}}),Le(V,"Maps/GeoJSONComposition.js",[V["Core/Globals.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{win:le}=q,{format:pe}=ne,{error:ue,extend:J,merge:te,wrap:X}=re;return function(E){function j(_){return this.mapView&&this.mapView.lonLatToProjectedUnits(_)}function F(_){return this.mapView&&this.mapView.projectedUnitsToLonLat(_)}function P(_,m){let w=this.options.chart.proj4||le.proj4;if(!w)return void ue(21,!1,this);let{jsonmarginX:G=0,jsonmarginY:O=0,jsonres:f=1,scale:a=1,xoffset:g=0,xpan:v=0,yoffset:o=0,ypan:n=0}=m,r=w(m.crs,[_.lon,_.lat]),l=m.cosAngle||m.rotation&&Math.cos(m.rotation),d=m.sinAngle||m.rotation&&Math.sin(m.rotation),C=m.rotation?[r[0]*l+r[1]*d,-r[0]*d+r[1]*l]:r;return{x:((C[0]-g)*a+v)*f+G,y:-(((o-C[1])*a+n)*f-O)}}function D(_,m){let w=this.options.chart.proj4||le.proj4;if(!w)return void ue(21,!1,this);if(null===_.y)return;let{jsonmarginX:G=0,jsonmarginY:O=0,jsonres:f=1,scale:a=1,xoffset:g=0,xpan:v=0,yoffset:o=0,ypan:n=0}=m,r={x:((_.x-G)/f-v)/a+g,y:((_.y-O)/f+n)/a+o},l=m.cosAngle||m.rotation&&Math.cos(m.rotation),d=m.sinAngle||m.rotation&&Math.sin(m.rotation),C=w(m.crs,"WGS84",m.rotation?{x:r.x*l+-r.y*d,y:r.x*d+r.y*l}:r);return{lat:C.y,lon:C.x}}function A(_,m){m||(m=Object.keys(_.objects)[0]);let w=_.objects[m];if(w["hc-decoded-geojson"]&&w["hc-decoded-geojson"].title===_.title)return w["hc-decoded-geojson"];let G=_.arcs;if(_.transform){let v,o,n,r=_.arcs,{scale:l,translate:d}=_.transform;G=[];for(let C=0,k=r.length;C"number"==typeof v[0]?v.reduce((o,n,r)=>{let l=n<0?G[~n]:G[n];return n<0?(l=l.slice(0,0===r?l.length:l.length-1)).reverse():r&&(l=l.slice(1)),o.concat(l)},[]):v.map(O),f=w.geometries,a=[];for(let v=0,o=f.length;v(le[1]-ve[1])*(pe[0]-ve[0])}function re(ve,le,pe,ue){let J=[ve[0]-le[0],ve[1]-le[1]],te=[pe[0]-ue[0],pe[1]-ue[1]],X=ve[0]*le[1]-ve[1]*le[0],E=pe[0]*ue[1]-pe[1]*ue[0],j=1/(J[0]*te[1]-J[1]*te[0]),F=[(X*te[0]-E*J[0])*j,(X*te[1]-E*J[1])*j];return F.isIntersection=!0,F}return{clipLineString:function(ve,le){let pe=[],ue=q(ve,le,!1);for(let J=1;J0===le?0:le>0?1:-1),ne=Math.PI/180,re=Math.PI/2,ve=le=>Math.tan((re+le)/2);return class{constructor(le){let pe=(le.parallels||[]).map(E=>E*ne),ue=pe[0]||0,J=pe[1]??ue,te=Math.cos(ue);"object"==typeof le.projectedBounds&&(this.projectedBounds=le.projectedBounds);let X=ue===J?Math.sin(ue):Math.log(te/Math.cos(J))/Math.log(ve(J)/ve(ue));1e-10>Math.abs(X)&&(X=1e-10*(q(X)||1)),this.n=X,this.c=te*Math.pow(ve(ue),X)/X}forward(le){let{c:pe,n:ue,projectedBounds:J}=this,te=le[0]*ne,X=le[1]*ne;pe>0?X<1e-6-re&&(X=1e-6-re):X>re-1e-6&&(X=re-1e-6);let E=pe/Math.pow(ve(X),ue),j=E*Math.sin(ue*te)*63.78137,F=63.78137*(pe-E*Math.cos(ue*te)),P=[j,F];return J&&(jJ.x2||FJ.y2)&&(P.outside=!0),P}inverse(le){let{c:pe,n:ue}=this,J=le[0]/63.78137,te=pe-le[1]/63.78137,X=q(ue)*Math.sqrt(J*J+te*te),E=Math.atan2(J,Math.abs(te))*q(te);return te*ue<0&&(E-=Math.PI*q(J)*q(te)),[E/ue/ne,(2*Math.atan(Math.pow(pe/X,1/ue))-re)/ne]}}}),Le(V,"Maps/Projections/EqualEarth.js",[],function(){let q=Math.sqrt(3)/2;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(ne){let re=Math.PI/180,ve=Math.asin(q*Math.sin(ne[1]*re)),le=ve*ve,pe=le*le*le;return[ne[0]*re*Math.cos(ve)*74.03120656864502/(q*(1.340264+-.24331799999999998*le+pe*(.0062510000000000005+.034164*le))),74.03120656864502*ve*(1.340264+-.081106*le+pe*(893e-6+.003796*le))]}inverse(ne){let ue,J,te,X,re=ne[0]/74.03120656864502,ve=ne[1]/74.03120656864502,le=180/Math.PI,pe=ve;for(let F=0;F<12&&(J=(ue=pe*pe)*ue*ue,te=pe*(1.340264+-.081106*ue+J*(893e-6+.003796*ue))-ve,pe-=X=te/(1.340264+-.24331799999999998*ue+J*(.0062510000000000005+.034164*ue)),!(1e-9>Math.abs(X)));++F);J=(ue=pe*pe)*ue*ue;let E=le*q*re*(1.340264+-.24331799999999998*ue+J*(.0062510000000000005+.034164*ue))/Math.cos(pe),j=le*Math.asin(Math.sin(pe)/q);return Math.abs(E)>180?[NaN,NaN]:[E,j]}}}),Le(V,"Maps/Projections/Miller.js",[],function(){let q=Math.PI/4,ne=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}forward(re){return[re[0]*ne*63.78137,79.7267125*Math.log(Math.tan(q+.4*re[1]*ne))]}inverse(re){return[re[0]/63.78137/ne,2.5*(Math.atan(Math.exp(re[1]/63.78137*.8))-q)/ne]}}}),Le(V,"Maps/Projections/Orthographic.js",[],function(){let q=Math.PI/180;return class{constructor(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}forward(ne){let re=ne[0],ve=ne[1]*q,le=[Math.cos(ve)*Math.sin(re*q)*63.78460826781007,63.78460826781007*Math.sin(ve)];return(re<-90||re>90)&&(le.outside=!0),le}inverse(ne){let re=ne[0]/63.78460826781007,ve=ne[1]/63.78460826781007,le=Math.sqrt(re*re+ve*ve),pe=Math.asin(le),ue=Math.sin(pe);return[Math.atan2(re*ue,le*Math.cos(pe))/q,Math.asin(le&&ve*ue/le)/q]}}}),Le(V,"Maps/Projections/WebMercator.js",[],function(){let q=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}forward(ne){let re=Math.sin(ne[1]*q),ve=[63.78137*ne[0]*q,63.78137*Math.log((1+re)/(1-re))/2];return Math.abs(ne[1])>this.maxLatitude&&(ve.outside=!0),ve}inverse(ne){return[ne[0]/(63.78137*q),(2*Math.atan(Math.exp(ne[1]/63.78137))-Math.PI/2)/q]}}}),Le(V,"Maps/Projections/ProjectionRegistry.js",[V["Maps/Projections/LambertConformalConic.js"],V["Maps/Projections/EqualEarth.js"],V["Maps/Projections/Miller.js"],V["Maps/Projections/Orthographic.js"],V["Maps/Projections/WebMercator.js"]],function(q,ne,re,ve,le){return{EqualEarth:ne,LambertConformalConic:q,Miller:re,Orthographic:ve,WebMercator:le}}),Le(V,"Maps/Projection.js",[V["Core/Geometry/PolygonClip.js"],V["Maps/Projections/ProjectionRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{clipLineString:ve,clipPolygon:le}=q,{clamp:pe,erase:ue}=re,J=2*Math.PI/360;function te(E){return E<-180&&(E+=360),E>180&&(E-=360),E}class X{static add(j,F){X.registry[j]=F}static greatCircle(j,F,P){let{atan2:D,cos:A,sin:I,sqrt:_}=Math,m=j[1]*J,w=j[0]*J,G=F[1]*J,O=F[0]*J,f=G-m,a=O-w,g=I(f/2)*I(f/2)+A(m)*A(G)*I(a/2)*I(a/2),v=2*D(_(g),_(1-g)),o=Math.round(6371e3*v/5e5),n=[];if(P&&n.push(j),o>1){let r=1/o;for(let l=r;l<.999;l+=r){let d=I((1-l)*v)/I(v),C=I(l*v)/I(v),k=d*A(m)*A(w)+C*A(G)*A(O),p=d*A(m)*I(w)+C*A(G)*I(O),T=D(d*I(m)+C*I(G),_(k*k+p*p)),B=D(p,k);n.push([B/J,T/J])}}return P&&n.push(F),n}static insertGreatCircles(j){let F=j.length-1;for(;F--;)if(Math.max(Math.abs(j[F][0]-j[F+1][0]),Math.abs(j[F][1]-j[F+1][1]))>10){let P=X.greatCircle(j[F],j[F+1]);P.length&&j.splice(F+1,0,...P)}}static toString(j){let{name:F,rotation:P}=j||{};return[F,P&&P.join(",")].join(";")}constructor(j={}){this.hasCoordinates=!1,this.hasGeoProjection=!1,this.maxLatitude=90,this.options=j;let{name:F,projectedBounds:P,rotation:D}=j;this.rotator=D?this.getRotator(D):void 0;let A=F?X.registry[F]:void 0;A&&(this.def=new A(j));let{def:I,rotator:_}=this;I&&(this.maxLatitude=I.maxLatitude||90,this.hasGeoProjection=!0),_&&I?(this.forward=m=>I.forward(_.forward(m)),this.inverse=m=>_.inverse(I.inverse(m))):I?(this.forward=m=>I.forward(m),this.inverse=m=>I.inverse(m)):_&&(this.forward=_.forward,this.inverse=_.inverse),this.bounds="world"===P?I&&I.bounds:P}lineIntersectsBounds(j){let _,{x1:F,x2:P,y1:D,y2:A}=this.bounds||{},I=(w,G,O)=>{let[f,a]=w,g=G?0:1;if("number"==typeof O&&f[G]>=O!=a[G]>=O){let o=f[g]+(O-f[G])/(a[G]-f[G])*(a[g]-f[g]);return G?[o,O]:[O,o]}},m=j[0];return((_=I(j,0,F))||(_=I(j,0,P)))&&(m=_,j[1]=_),((_=I(j,1,D))||(_=I(j,1,A)))&&(m=_),m}getRotator(j){let F=j[0]*J,P=(j[1]||0)*J,D=(j[2]||0)*J,A=Math.cos(P),I=Math.sin(P),_=Math.cos(D),m=Math.sin(D);if(0!==F||0!==P||0!==D)return{forward:w=>{let G=w[0]*J+F,O=w[1]*J,f=Math.cos(O),a=Math.cos(G)*f,g=Math.sin(G)*f,v=Math.sin(O),o=v*A+a*I;return[Math.atan2(g*_-o*m,a*A-v*I)/J,Math.asin(o*_+g*m)/J]},inverse:w=>{let G=w[0]*J,O=w[1]*J,f=Math.cos(O),a=Math.cos(G)*f,g=Math.sin(G)*f,v=Math.sin(O),o=v*_-g*m;return[(Math.atan2(g*_+v*m,a*A+o*I)-F)/J,Math.asin(o*A-a*I)/J]}}}forward(j){return j}inverse(j){return j}cutOnAntimeridian(j,F){let P,D=[],A=[j];for(let I=0,_=j.length;I<_;++I){let m=j[I],w=j[I-1];if(!I){if(!F)continue;w=j[j.length-1]}let G=w[0],O=m[0];if((G<-90||G>90)&&(O<-90||O>90)&&G>0!=O>0){let f=pe((180-(G+360)%360)/((O+360)%360-(G+360)%360),0,1);D.push({i:I,lat:w[1]+f*(m[1]-w[1]),direction:G<0?1:-1,previousLonLat:w,lonLat:m})}}if(D.length)if(F){D.length%2==1&&(P=D.slice().sort((_,m)=>Math.abs(m.lat)-Math.abs(_.lat))[0],ue(D,P));let I=D.length-2;for(;I>=0;){let _=D[I].i,m=te(180+1e-6*D[I].direction),w=te(180-1e-6*D[I].direction),G=j.splice(_,D[I+1].i-_,...X.greatCircle([m,D[I].lat],[m,D[I+1].lat],!0));G.push(...X.greatCircle([w,D[I+1].lat],[w,D[I].lat],!0)),A.push(G),I-=2}if(P)for(let _=0;_-1){let f=(w<0?-1:1)*this.maxLatitude,a=te(180+1e-6*m),g=te(180-1e-6*m),v=X.greatCircle([a,w],[a,f],!0);for(let o=a+120*m;o>-180&&o<180;o+=120*m)v.push([o,f]);v.push(...X.greatCircle([g,f],[g,P.lat],!0)),G.splice(O,0,...v);break}}}else{let I=D.length;for(;I--;){let m=j.splice(D[I].i,j.length,[te(180+1e-6*D[I].direction),D[I].lat]);m.unshift([te(180-1e-6*D[I].direction),D[I].lat]),A.push(m)}}return A}path(j){let F,{bounds:P,def:D,rotator:A}=this,I=[],_="Polygon"===j.type||"MultiPolygon"===j.type,m=this.hasGeoProjection,w=!D||!1!==D.antimeridianCutting,G=w?A:void 0,O=w&&D||this;P&&(F=[[P.x1,P.y1],[P.x2,P.y1],[P.x2,P.y2],[P.x1,P.y2]]);let f=a=>{let g=a.map(o=>{if(w){G&&(o=G.forward(o));let n=o[0];1e-6>Math.abs(n-180)&&(n=n<180?179.999999:180.000001),o=[n,o[1]]}return o}),v=[g];m&&(X.insertGreatCircles(g),w&&(v=this.cutOnAntimeridian(g,_))),v.forEach(o=>{let n,r;if(o.length<2)return;let l=!1,d=!1,C=B=>{l?I.push(["L",B[0],B[1]]):(I.push(["M",B[0],B[1]]),l=!0)},k=!1,p=!1,T=o.map(B=>{let z=O.forward(B);return z.outside?k=!0:p=!0,z[1]===1/0?z[1]=1e10:z[1]===-1/0&&(z[1]=-1e10),z});if(w){if(_&&T.push(T[0]),k){if(!p)return;if(F)if(_)T=le(T,F);else if(P)return void ve(T,F).forEach(B=>{l=!1,B.forEach(C)})}T.forEach(C)}else for(let B=0;BC(O.forward(U))):l=!1),C(K),r=z,d=!1)}})};return"LineString"===j.type?f(j.coordinates):"MultiLineString"===j.type?j.coordinates.forEach(a=>f(a)):"Polygon"===j.type?(j.coordinates.forEach(a=>f(a)),I.length&&I.push(["Z"])):"MultiPolygon"===j.type&&(j.coordinates.forEach(a=>{a.forEach(g=>f(g))}),I.length&&I.push(["Z"])),I}}return X.registry=ne,X}),Le(V,"Maps/MapView.js",[V["Core/Globals.js"],V["Maps/MapViewDefaults.js"],V["Maps/GeoJSONComposition.js"],V["Maps/MapUtilities.js"],V["Maps/Projection.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{composed:ue}=q,{topo2geo:J}=re,{boundsFromPath:te,pointInPolygon:X}=ve,{addEvent:E,clamp:j,fireEvent:F,isArray:P,isNumber:D,isObject:A,isString:I,merge:_,pick:m,pushUnique:w,relativeLength:G}=pe,O={};function f(o,n){let{width:r,height:l}=n;return Math.log(400.979322/Math.max((o.x2-o.x1)/(r/256),(o.y2-o.y1)/(l/256)))/Math.log(2)}function a(o){o.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,o.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class g{static compose(n){w(ue,"MapView")&&(O=n.maps,E(n,"afterInit",function(){this.mapView=new g(this,this.options.mapView)},{order:0}),E(n,"addSeriesAsDrilldown",a),E(n,"afterDrillUp",a))}static compositeBounds(n){if(n.length)return n.slice(1).reduce((r,l)=>(r.x1=Math.min(r.x1,l.x1),r.y1=Math.min(r.y1,l.y1),r.x2=Math.max(r.x2,l.x2),r.y2=Math.max(r.y2,l.y2),r),_(n[0]))}static mergeInsets(n,r){let l=C=>{let k={};return C.forEach((p,T)=>{k[p&&p.id||`i${T}`]=p}),k},d=_(l(n),l(r));return Object.keys(d).map(C=>d[C])}constructor(n,r){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof v||this.recommendMapView(n,[n.options.chart.map,...(n.options.series||[]).map(k=>k.mapData)]),this.userOptions=r||{};let l=_(ne,this.recommendedMapView,r),d=this.recommendedMapView?.insets,C=r&&r.insets;d&&C&&(l.insets=g.mergeInsets(d,C)),this.chart=n,this.center=l.center,this.options=l,this.projection=new le(l.projection),this.playingField=n.plotBox,this.zoom=l.zoom||0,this.minZoom=l.minZoom,this.createInsets(),this.eventsToUnbind.push(E(n,"afterSetChartSize",()=>{this.playingField=this.getField(),(void 0===this.minZoom||this.minZoom===this.zoom)&&(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&D(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&_(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let n=this.options,r=n.insets;r&&r.forEach(l=>{let d=new v(this,_(n.insetOptions,l));this.insets.push(d)})}fitToBounds(n,r,l=!0,d){let C=n||this.getProjectedBounds();if(C){let k=m(r,n?0:this.options.padding),p=this.getField(!1),T=P(k)?k:[k,k,k,k];this.padding=[G(T[0],p.height),G(T[1],p.width),G(T[2],p.height),G(T[3],p.width)],this.playingField=this.getField();let B=f(C,this.playingField);n||(this.minZoom=B);let z=this.projection.inverse([(C.x2+C.x1)/2,(C.y2+C.y1)/2]);this.setView(z,B,l,d)}}getField(n=!0){let r=n?this.padding:[0,0,0,0];return{x:r[3],y:r[0],width:this.chart.plotWidth-r[1]-r[3],height:this.chart.plotHeight-r[0]-r[2]}}getGeoMap(n){if(I(n))return O[n]&&"Topology"===O[n].type?J(O[n]):O[n];if(A(n,!0)){if("FeatureCollection"===n.type)return n;if("Topology"===n.type)return J(n)}}getMapBBox(){let n=this.getProjectedBounds(),r=this.getScale();if(n){let l=this.padding,d=this.projectedUnitsToPixels({x:n.x1,y:n.y2});return{width:(n.x2-n.x1)*r+l[1]+l[3],height:(n.y2-n.y1)*r+l[0]+l[2],x:d.x-l[3],y:d.y-l[0]}}}getProjectedBounds(){let n=this.projection,r=this.chart.series.reduce((d,C)=>{let k=C.getProjectedBounds&&C.getProjectedBounds();return k&&!1!==C.options.affectsMapView&&d.push(k),d},[]),l=this.options.fitToGeometry;if(l){if(!this.fitToGeometryCache)if("MultiPoint"===l.type){let d=l.coordinates.map(p=>n.forward(p)),C=d.map(p=>p[0]),k=d.map(p=>p[1]);this.fitToGeometryCache={x1:Math.min.apply(0,C),x2:Math.max.apply(0,C),y1:Math.min.apply(0,k),y2:Math.max.apply(0,k)}}else this.fitToGeometryCache=te(n.path(l));return this.fitToGeometryCache}return this.projection.bounds||g.compositeBounds(r)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){let{x:n,y:r,width:l,height:d}=this.playingField,C=this.projection.forward(this.center),k=this.projection.hasCoordinates?-1:1,p=this.getScale(),T=p*k;return{scaleX:p,scaleY:T,translateX:n+l/2-C[0]*p,translateY:r+d/2-C[1]*T}}lonLatToPixels(n){let r=this.lonLatToProjectedUnits(n);if(r)return this.projectedUnitsToPixels(r)}lonLatToProjectedUnits(n){let r=this.chart,l=r.mapTransforms;if(l){for(let C in l)if(Object.hasOwnProperty.call(l,C)&&l[C].hitZone){let k=r.transformFromLatLon(n,l[C]);if(k&&X(k,l[C].hitZone.coordinates[0]))return k}return r.transformFromLatLon(n,l.default)}for(let C of this.insets)if(C.options.geoBounds&&X({x:n.lon,y:n.lat},C.options.geoBounds.coordinates[0])){let k=C.projection.forward([n.lon,n.lat]),p=C.projectedUnitsToPixels({x:k[0],y:k[1]});return this.pixelsToProjectedUnits(p)}let d=this.projection.forward([n.lon,n.lat]);if(!d.outside)return{x:d[0],y:d[1]}}projectedUnitsToLonLat(n){let r=this.chart,l=r.mapTransforms;if(l){for(let k in l)if(Object.hasOwnProperty.call(l,k)&&l[k].hitZone&&X(n,l[k].hitZone.coordinates[0]))return r.transformToLatLon(n,l[k]);return r.transformToLatLon(n,l.default)}let d=this.projectedUnitsToPixels(n);for(let k of this.insets)if(k.hitZone&&X(d,k.hitZone.coordinates[0])){let p=k.pixelsToProjectedUnits(d),T=k.projection.inverse([p.x,p.y]);return{lon:T[0],lat:T[1]}}let C=this.projection.inverse([n.x,n.y]);return{lon:C[0],lat:C[1]}}recommendMapView(n,r,l=!1){this.recommendedMapView={};let d=r.map(p=>this.getGeoMap(p)),C=[];d.forEach(p=>{if(p&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=p["hc-recommended-mapview"]||{}),p.bbox)){let[T,B,z,K]=p.bbox;C.push({x1:T,y1:B,x2:z,y2:K})}});let k=C.length&&g.compositeBounds(C);F(this,"onRecommendMapView",{geoBounds:k,chart:n},function(){if(k&&this.recommendedMapView){if(!this.recommendedMapView.projection){let{x1:p,y1:T,x2:B,y2:z}=k;this.recommendedMapView.projection=B-p>180&&z-T>90?{name:"EqualEarth",parallels:[0,0],rotation:[0]}:{name:"LambertConformalConic",parallels:[T,z],rotation:[-(p+B)/2]}}this.recommendedMapView.insets||(this.recommendedMapView.insets=void 0)}}),this.geoMap=d[0],l&&n.hasRendered&&!n.userOptions.mapView?.projection&&this.recommendedMapView&&this.update(this.recommendedMapView)}redraw(n){this.chart.series.forEach(r=>{r.useMapGeometry&&(r.isDirty=!0)}),this.chart.redraw(n)}setView(n,r,l=!0,d){n&&(this.center=n),"number"==typeof r&&("number"==typeof this.minZoom&&(r=Math.max(r,this.minZoom)),"number"==typeof this.options.maxZoom&&(r=Math.min(r,this.options.maxZoom)),D(r)&&(this.zoom=r));let C=this.getProjectedBounds();if(C){let k=this.projection.forward(this.center),{x:p,y:T,width:B,height:z}=this.playingField,K=this.getScale(),U=this.projectedUnitsToPixels({x:C.x1,y:C.y1}),se=this.projectedUnitsToPixels({x:C.x2,y:C.y2}),S=[(C.x1+C.x2)/2,(C.y1+C.y2)/2];if(!this.chart.series.some($=>$.isDrilling)){let $=U.x,H=se.y,x=se.x,N=U.y;x-$p+B&&$>p&&(k[0]+=Math.min(x-B-p,$-p)/K),N-HT+z&&H>T&&(k[1]-=Math.min(N-z-T,H-T)/K),this.center=this.projection.inverse(k)}this.insets.forEach($=>{$.options.field&&($.hitZone=$.getHitZone(),$.playingField=$.getField())}),this.render()}F(this,"afterSetView"),l&&this.redraw(d)}projectedUnitsToPixels(n){let r=this.getScale(),l=this.projection.forward(this.center),d=this.playingField;return{x:d.x+d.width/2-r*(l[0]-n.x),y:d.y+d.height/2+r*(l[1]-n.y)}}pixelsToLonLat(n){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(n))}pixelsToProjectedUnits(n){let{x:r,y:l}=n,d=this.getScale(),C=this.projection.forward(this.center),k=this.playingField;return{x:C[0]+(r-(k.x+k.width/2))/d,y:C[1]-(l-(k.y+k.height/2))/d}}setUpEvents(){let n,r,l,{chart:d}=this,C=k=>{let{lastTouches:p,pinchDown:T}=d.pointer,B=this.projection,z=k.touches,{mouseDownX:K,mouseDownY:U}=d,se=0;if(1===T?.length?(K=T[0].chartX,U=T[0].chartY):2===T?.length&&(K=(T[0].chartX+T[1].chartX)/2,U=(T[0].chartY+T[1].chartY)/2),2===z?.length&&p&&(se=Math.log(Math.sqrt(Math.pow(p[0].chartX-p[1].chartX,2)+Math.pow(p[0].chartY-p[1].chartY,2))/Math.sqrt(Math.pow(z[0].chartX-z[1].chartX,2)+Math.pow(z[0].chartY-z[1].chartY,2)))/Math.log(.5)),D(K)&&D(U)){let S=`${K},${U}`,{chartX:$,chartY:H}=k.originalEvent;2===z?.length&&($=(z[0].chartX+z[1].chartX)/2,H=(z[0].chartY+z[1].chartY)/2),S!==r&&(r=S,n=this.projection.forward(this.center),l=(this.projection.options.rotation||[0,0]).slice());let x=B.def&&B.def.bounds,N=x&&f(x,this.playingField)||-1/0;if("Orthographic"===B.options.name&&2>(z?.length||0)&&(this.minZoom||1/0)<1.3*N){let R=440/(this.getScale()*Math.min(d.plotWidth,d.plotHeight));if(l){let Z=(K-$)*R-l[0],Y=j(-l[1]-(U-H)*R,-80,80),he=this.zoom;this.update({projection:{rotation:[-Z,-Y]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=he,d.redraw(!1)}}else if(D($)&&D(H)){let R=this.getScale(),Y=this.projection.inverse([n[0]+(K-$)/R,n[1]-(U-H)/R*(this.projection.hasCoordinates?1:-1)]);isNaN(Y[0]+Y[1])||this.zoomBy(se,Y,void 0,!1)}k.preventDefault()}};E(d,"pan",C),E(d,"touchpan",C),E(d,"selection",k=>{if(k.resetSelection)this.zoomBy();else{let p=k.x-d.plotLeft,T=k.y-d.plotTop,{y:B,x:z}=this.pixelsToProjectedUnits({x:p,y:T}),{y:K,x:U}=this.pixelsToProjectedUnits({x:p+k.width,y:T+k.height});this.fitToBounds({x1:z,y1:B,x2:U,y2:K},void 0,!0,!k.originalEvent.touches&&void 0),/^touch/.test(k.originalEvent.type)||d.showResetZoom(),k.preventDefault()}})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(n,r=!0,l){let d=n.projection,C=d&&le.toString(d)!==le.toString(this.options.projection),k=!1;_(!0,this.userOptions,n),_(!0,this.options,n),"insets"in n&&(this.insets.forEach(p=>p.destroy()),this.insets.length=0,k=!0),(C||"fitToGeometry"in n)&&delete this.fitToGeometryCache,(C||k)&&(this.chart.series.forEach(p=>{let T=p.transformGroups;if(p.clearBounds&&p.clearBounds(),p.isDirty=!0,p.isDirtyData=!0,k&&T)for(;T.length>1;){let B=T.pop();B&&B.destroy()}}),C&&(this.projection=new le(this.options.projection)),k&&this.createInsets(),!n.center&&Object.hasOwnProperty.call(n,"zoom")&&!D(n.zoom)&&this.fitToBounds(void 0,void 0,!1)),n.center||D(n.zoom)?this.setView(this.options.center,n.zoom,!1):"fitToGeometry"in n&&this.fitToBounds(void 0,void 0,!1),r&&this.chart.redraw(l)}zoomBy(n,r,l,d){let C=this.chart,k=this.projection.forward(this.center);if("number"==typeof n){let p,T,B,z=this.zoom+n;if(l){let[K,U]=l,se=this.getScale();T=k[0]+(K-C.plotLeft-C.plotWidth/2)/se,B=k[1]+(U-C.plotTop-C.plotHeight/2)/se}if("number"==typeof T&&"number"==typeof B){let K=1-Math.pow(2,this.zoom)/Math.pow(2,z),se=k[1]-B;k[0]-=(k[0]-T)*K,k[1]+=se*K,p=this.projection.inverse(k)}this.setView(r||p,z,void 0,d)}else this.fitToBounds(void 0,void 0,void 0,d)}}class v extends g{constructor(n,r){if(super(n.chart,r),this.id=r.id,this.mapView=n,this.options=_({center:[0,0]},n.options.insetOptions,r),this.allBounds=[],this.options.geoBounds){let l=n.projection.path(this.options.geoBounds);this.geoBoundsProjectedBox=te(l),this.geoBoundsProjectedPolygon=l.map(d=>[d[1]||0,d[2]||0])}}getField(n=!0){let r=this.hitZone;if(r){let l=n?this.padding:[0,0,0,0],d=r.coordinates[0],C=d.map(K=>K[0]),k=d.map(K=>K[1]),p=Math.min.apply(0,C)+l[3],T=Math.max.apply(0,C)-l[1],B=Math.min.apply(0,k)+l[0],z=Math.max.apply(0,k)-l[2];if(D(p)&&D(B))return{x:p,y:B,width:T-p,height:z-B}}return super.getField.call(this,n)}getHitZone(){let{chart:n,mapView:r,options:l}=this,{coordinates:d}=l.field||{};if(d){let C=d[0];if("percent"===l.units){let k="mapBoundingBox"===l.relativeTo&&r.getMapBBox()||_(n.plotBox,{x:0,y:0});C=C.map(p=>[G(`${p[0]}%`,k.width,k.x),G(`${p[1]}%`,k.height,k.y)])}return{type:"Polygon",coordinates:[C]}}}getProjectedBounds(){return g.compositeBounds(this.allBounds)}isInside(n){let{geoBoundsProjectedBox:r,geoBoundsProjectedPolygon:l}=this;return!!(r&&n.x>=r.x1&&n.x<=r.x2&&n.y>=r.y1&&n.y<=r.y2&&l&&X(n,l))}render(){let{chart:n,mapView:r,options:l}=this,d=l.borderPath||l.field;if(d&&r.group){let C=!0;this.border||(this.border=n.renderer.path().addClass("highcharts-mapview-inset-border").add(r.group),C=!1),n.styledMode||this.border.attr({stroke:l.borderColor,"stroke-width":l.borderWidth});let k=Math.round(this.border.strokeWidth())%2/2,p="mapBoundingBox"===l.relativeTo&&r.getMapBBox()||r.playingField,T=(d.coordinates||[]).reduce((B,z)=>z.reduce((K,U,se)=>{let[S,$]=U;return"percent"===l.units&&(S=n.plotLeft+G(`${S}%`,p.width,p.x),$=n.plotTop+G(`${$}%`,p.height,p.y)),S=Math.floor(S)+k,$=Math.floor($)+k,K.push(0===se?["M",S,$]:["L",S,$]),K},B),[]);this.border[C?"animate":"attr"]({d:T})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(n=>n())}setUpEvents(){}}return g}),Le(V,"Series/Map/MapSeries.js",[V["Core/Animation/AnimationUtilities.js"],V["Series/ColorMapComposition.js"],V["Series/CenteredUtilities.js"],V["Core/Globals.js"],V["Core/Chart/MapChart.js"],V["Series/Map/MapPoint.js"],V["Series/Map/MapSeriesDefaults.js"],V["Maps/MapView.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,stop:j}=q,{noop:F}=ve,{splitPath:P}=le,{column:D,scatter:A}=te.seriesTypes,{extend:I,find:_,fireEvent:m,getNestedProperty:w,isArray:G,defined:O,isNumber:f,isObject:a,merge:g,objectEach:v,pick:o,splat:n}=X;class r extends A{constructor(){super(...arguments),this.processedData=[]}animate(d){let{chart:C,group:k}=this,p=E(this.options.animation);d?k.attr({translateX:C.plotLeft+C.plotWidth/2,translateY:C.plotTop+C.plotHeight/2,scaleX:.001,scaleY:.001}):k.animate({translateX:C.plotLeft,translateY:C.plotTop,scaleX:1,scaleY:1},p)}clearBounds(){this.points.forEach(d=>{delete d.bounds,delete d.insetIndex,delete d.projectedPath}),delete this.bounds}doFullTranslate(){return!(!this.isDirtyData&&!this.chart.isResizing&&this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let d=this,{chart:C,group:k,transformGroups:p=[]}=this,{mapView:T,renderer:B}=C;if(T){this.transformGroups=p,p[0]||(p[0]=B.g().add(k));for(let z=0,K=T.insets.length;z{let{graphic:K}=z;z.group=p["number"==typeof z.insetIndex?z.insetIndex+1:0],K&&K.parentGroup!==z.group&&K.add(z.group)}),D.prototype.drawPoints.apply(this),this.points.forEach(z=>{let K=z.graphic;if(K){let U=K.animate,se="";z.name&&(se+="highcharts-name-"+z.name.replace(/ /g,"-").toLowerCase()),z.properties&&z.properties["hc-key"]&&(se+=" highcharts-key-"+z.properties["hc-key"].toString().toLowerCase()),se&&K.addClass(se),C.styledMode&&K.css(this.pointAttribs(z,z.selected?"select":void 0)),K.attr({visibility:z.visible||!z.visible&&!z.isNull?"inherit":"hidden"}),K.animate=function(S,$,H){let x=f(S["stroke-width"])&&!f(K["stroke-width"]),N=f(K["stroke-width"])&&!f(S["stroke-width"]);if(x||N){let R=o(d.getStrokeWidth(d.options),1)/(C.mapView&&C.mapView.getScale()||1);x&&(K["stroke-width"]=R),N&&(S["stroke-width"]=R)}return U.call(K,S,$,N?function(){K.element.removeAttribute("stroke-width"),delete K["stroke-width"],H&&H.apply(this,arguments)}:H)}}})),p.forEach((z,K)=>{let U=(0===K?T:T.insets[K-1]).getSVGTransform(),se=o(this.getStrokeWidth(this.options),1),S=U.scaleX,$=U.scaleY>0?1:-1,H=x=>{(d.points||[]).forEach(N=>{let R,Z=N.graphic;Z&&Z["stroke-width"]&&(R=this.getStrokeWidth(N.options))&&Z.attr({"stroke-width":R/x})})};if(B.globalAnimation&&C.hasRendered&&T.allowTransformAnimation){let x=Number(z.attr("translateX")),N=Number(z.attr("translateY")),R=Number(z.attr("scaleX")),Z=(ge,_e)=>{let Te=R+(S-R)*_e.pos;z.attr({translateX:x+(U.translateX-x)*_e.pos,translateY:N+(U.translateY-N)*_e.pos,scaleX:Te,scaleY:Te*$,"stroke-width":se/Te}),H(Te)},Y=g(E(B.globalAnimation)),he=Y.step;Y.step=function(){he&&he.apply(this,arguments),Z.apply(this,arguments)},z.attr({animator:0}).animate({animator:1},Y,function(){"boolean"!=typeof B.globalAnimation&&B.globalAnimation.complete&&B.globalAnimation.complete({applyDrilldown:!0}),m(this,"mapZoomComplete")}.bind(this))}else j(z),z.attr(g(U,{"stroke-width":se/S})),H(S)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:d,projection:C}=this.chart.mapView,k=[];(this.points||[]).forEach(p=>{if(p.path||p.geometry){if("string"==typeof p.path?p.path=P(p.path):G(p.path)&&"M"===p.path[0]&&(p.path=this.chart.renderer.pathToSegments(p.path)),!p.bounds){let T=p.getProjectedBounds(C);if(T){p.labelrank=o(p.labelrank,(T.x2-T.x1)*(T.y2-T.y1));let{midX:B,midY:z}=T;if(d&&f(B)&&f(z)){let K=_(d,U=>U.isInside({x:B,y:z}));K&&(delete p.projectedPath,(T=p.getProjectedBounds(K.projection))&&K.allBounds.push(T),p.insetIndex=d.indexOf(K))}p.bounds=T}}p.bounds&&void 0===p.insetIndex&&k.push(p.bounds)}}),this.bounds=J.compositeBounds(k)}return this.bounds}getStrokeWidth(d){let C=this.pointAttrToOptions;return d[C&&C["stroke-width"]||"borderWidth"]}hasData(){return!!this.processedXData.length}pointAttribs(d,C){let{mapView:k,styledMode:p}=d.series.chart,T=p?this.colorAttribs(d):D.prototype.pointAttribs.call(this,d,C),B=this.getStrokeWidth(d.options);if(C){let K=g(this.options.states&&this.options.states[C],d.options.states&&d.options.states[C]||{}),U=this.getStrokeWidth(K);O(U)&&(B=U),T.stroke=K.borderColor??d.color}B&&k&&(B/=k.getScale());let z=this.getStrokeWidth(this.options);return T.dashstyle&&k&&f(z)&&(B=z/k.getScale()),d.visible||(T.fill=this.options.nullColor),O(B)?T["stroke-width"]=B:delete T["stroke-width"],T["stroke-linecap"]=T["stroke-linejoin"]=this.options.linecap,T}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(d,C=!0,k,p){delete this.bounds,super.setData(d,!1,void 0,p),this.processData(),this.generatePoints(),C&&this.chart.redraw(k)}processData(){let d,C,k,p=this.options,T=p.data,B=this.chart,z=B.options.chart,K=this.joinBy,U=p.keys||this.pointArrayMap,se=[],S={},$=this.chart.mapView,H=$&&(a(p.mapData,!0)?$.getGeoMap(p.mapData):$.geoMap),x=B.mapTransforms=z.mapTransforms||H&&H["hc-transform"]||B.mapTransforms;x&&v(x,R=>{R.rotation&&(R.cosAngle=Math.cos(R.rotation),R.sinAngle=Math.sin(R.rotation))}),G(p.mapData)?k=p.mapData:H&&"FeatureCollection"===H.type&&(this.mapTitle=H.title,k=ve.geojson(H,this.type,this)),this.processedData=[];let N=this.processedData;if(T){let R;for(let Z=0,Y=T.length;ZU.length&&"string"==typeof R[0]&&(N[Z]["hc-key"]=R[0],++he);for(let ge=0;ge0?pe.prototype.setNestedProperty(N[Z],R[he],U[ge]):N[Z][U[ge]]=R[he])}else N[Z]=T[Z];K&&"_i"===K[0]&&(N[Z]._i=Z)}}if(k){this.mapData=k,this.mapMap={};for(let R=0;R{let Y=w(R,Z);S[Y]&&se.push(S[Y])})}if(p.allAreas){if(K[1]){let Z=K[1];N.forEach(Y=>{se.push(w(Z,Y))})}let R="|"+se.map(function(Z){return Z&&Z[K[0]]}).join("|")+"|";k.forEach(Z=>{K[0]&&-1!==R.indexOf("|"+Z[K[0]]+"|")||N.push(g(Z,{value:null}))})}}this.processedXData=Array(N.length)}setOptions(d){let C=super.setOptions(d),k=C.joinBy;return null===C.joinBy&&(k="_i"),(k=this.joinBy=n(k))[1]||(k[1]=k[0]),C}translate(){let d=this.doFullTranslate(),C=this.chart.mapView,k=C&&C.projection;if(this.chart.hasRendered&&(this.isDirtyData||!this.hasRendered)&&(this.processData(),this.generatePoints(),delete this.bounds,!C||C.userOptions.center||f(C.userOptions.zoom)||C.zoom!==C.minZoom?this.getProjectedBounds():C.fitToBounds(void 0,void 0,!1)),C){let p=C.getSVGTransform();this.points.forEach(T=>{let B=f(T.insetIndex)&&C.insets[T.insetIndex].getSVGTransform()||p;B&&T.bounds&&f(T.bounds.midX)&&f(T.bounds.midY)&&(T.plotX=T.bounds.midX*B.scaleX+B.translateX,T.plotY=T.bounds.midY*B.scaleY+B.translateY),d&&(T.shapeType="path",T.shapeArgs={d:pe.getProjectedPath(T,k)}),T.hiddenInDataClass||(T.projectedPath&&!T.projectedPath.length?T.setVisible(!1):T.visible||T.setVisible(!0))})}m(this,"afterTranslate")}update(d){d.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((C,k)=>k===this._i?d.mapData:C.mapData)],!0),super.update.apply(this,arguments)}}return r.defaultOptions=g(A.defaultOptions,ue),I(r.prototype,{type:"map",axisTypes:ne.seriesMembers.axisTypes,colorAttribs:ne.seriesMembers.colorAttribs,colorKey:ne.seriesMembers.colorKey,directTouch:!0,drawDataLabels:F,drawGraph:F,forceDL:!0,getCenter:re.getCenter,getExtremesFromAll:!0,getSymbol:F,isCartesian:!1,parallelArrays:ne.seriesMembers.parallelArrays,pointArrayMap:ne.seriesMembers.pointArrayMap,pointClass:pe,preserveAspectRatio:!0,searchPoint:F,trackerGroups:ne.seriesMembers.trackerGroups,useMapGeometry:!0}),ne.compose(r),te.registerSeriesType("map",r),r}),Le(V,"Series/MapLine/MapLineSeriesDefaults.js",[],function(){return{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}}),Le(V,"Series/MapLine/MapLineSeries.js",[V["Series/MapLine/MapLineSeriesDefaults.js"],V["Series/Map/MapSeries.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{extend:le,merge:pe}=ve;class ue extends ne{pointAttribs(te,X){let E=super.pointAttribs(te,X);return E.fill=this.options.fillColor,E}}return ue.defaultOptions=pe(ne.defaultOptions,q),le(ue.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),re.registerSeriesType("mapline",ue),ue}),Le(V,"Series/MapPoint/MapPointPoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{scatter:re}=q.seriesTypes,{isNumber:ve}=ne;return class le extends re.prototype.pointClass{isValid(){return!!(this.options.geometry||ve(this.x)&&ve(this.y)||ve(this.options.lon)&&ve(this.options.lat))}}}),Le(V,"Series/MapPoint/MapPointSeriesDefaults.js",[],function(){return{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}}),Le(V,"Series/MapPoint/MapPointSeries.js",[V["Core/Globals.js"],V["Series/MapPoint/MapPointPoint.js"],V["Series/MapPoint/MapPointSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{noop:ue}=q,{map:J,scatter:te}=ve.seriesTypes,{extend:X,fireEvent:E,isNumber:j,merge:F}=pe;class P extends te{constructor(){super(...arguments),this.clearBounds=J.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(A){let I=this.chart.mapView;if(I){let{geometry:_,lon:m,lat:w}=A,G=_&&"Point"===_.type&&_.coordinates;if(j(m)&&j(w)&&(G=[m,w]),G)return I.lonLatToProjectedUnits({lon:G[0],lat:G[1]})}}translate(){let A=this.chart.mapView;if(this.processedXData||this.processData(),this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),A){let I=A.getSVGTransform(),{hasCoordinates:_}=A.projection;this.points.forEach(m=>{let w,{x:G,y:O}=m,f=j(m.insetIndex)&&A.insets[m.insetIndex].getSVGTransform()||I,a=this.projectPoint(m.options)||m.properties&&this.projectPoint(m.properties);if(a?(G=a.x,O=a.y):m.bounds&&(G=m.bounds.midX,O=m.bounds.midY,f&&j(G)&&j(O)&&(m.plotX=G*f.scaleX+f.translateX,m.plotY=O*f.scaleY+f.translateY,w=!0)),j(G)&&j(O)){if(!w){let g=A.projectedUnitsToPixels({x:G,y:O});m.plotX=g.x,m.plotY=_?g.y:this.chart.plotHeight-g.y}}else m.y=m.plotX=m.plotY=void 0;m.isInside=this.isPointInside(m),m.zone=this.zones.length?m.getZone():void 0})}E(this,"afterTranslate")}}return P.defaultOptions=F(te.defaultOptions,re),le.prototype.symbols.mapmarker=(D,A,I,_,m)=>{let w,G,O=m&&"legend"===m.context;O?(w=D+I/2,G=A+_):m&&"number"==typeof m.anchorX&&"number"==typeof m.anchorY?(w=m.anchorX,G=m.anchorY):(w=D+I/2,G=A+_/2,A-=_);let f=O?_/3:_/2;return[["M",w,G],["C",w,G,w-f,A+1.5*f,w-f,A+f],["A",f,f,1,1,1,w+f,A+f],["C",w+f,A+1.5*f,w,G,w,G],["Z"]]},X(P.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:ne,searchPoint:ue,useMapGeometry:!0}),ve.registerSeriesType("mappoint",P),P}),Le(V,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),Le(V,"Series/Bubble/BubbleLegendItem.js",[V["Core/Color/Color.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{parse:le}=q,{noop:pe}=re,{arrayMax:ue,arrayMin:J,isNumber:te,merge:X,pick:E,stableSort:j}=ve;return class{constructor(F,P){this.setState=pe,this.init(F,P)}init(F,P){this.options=F,this.visible=!0,this.chart=P.chart,this.legend=P}addToLegend(F){F.splice(this.options.legendIndex,0,this)}drawLegendSymbol(F){let P,D=E(F.options.itemDistance,20),A=this.legendItem||{},I=this.options,_=I.ranges,m=I.connectorDistance;if(!_||!_.length||!te(_[0].value))return void(F.options.bubbleLegend.autoRanges=!0);j(_,function(f,a){return a.value-f.value}),this.ranges=_,this.setOptions(),this.render();let w=this.getMaxLabelSize(),G=this.ranges[0].radius,O=2*G;P=(P=m-G+w.width)>0?P:0,this.maxLabel=w,this.movementX="left"===I.labels.align?P:0,A.labelWidth=O+P+D,A.labelHeight=O+w.height/2}setOptions(){let F=this.ranges,P=this.options,D=this.chart.series[P.seriesIndex],A=this.legend.baseline,I={zIndex:P.zIndex,"stroke-width":P.borderWidth},_={zIndex:P.zIndex,"stroke-width":P.connectorWidth},m={align:this.legend.options.rtl||"left"===P.labels.align?"right":"left",zIndex:P.zIndex},w=D.options.marker.fillOpacity,G=this.chart.styledMode;F.forEach(function(O,f){G||(I.stroke=E(O.borderColor,P.borderColor,D.color),I.fill=E(O.color,P.color,1!==w?le(D.color).setOpacity(w).get("rgba"):D.color),_.stroke=E(O.connectorColor,P.connectorColor,D.color)),F[f].radius=this.getRangeRadius(O.value),F[f]=X(F[f],{center:F[0].radius-F[f].radius+A}),G||X(!0,F[f],{bubbleAttribs:X(I),connectorAttribs:X(_),labelAttribs:m})},this)}getRangeRadius(F){let P=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,P.ranges[P.ranges.length-1].value,P.ranges[0].value,P.minSize,P.maxSize,F)}render(){let F=this.legendItem||{},P=this.chart.renderer,D=this.options.zThreshold;for(let A of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),F.symbol=P.g("bubble-legend"),F.label=P.g("bubble-legend-item").css(this.legend.itemStyle||{}),F.symbol.translateX=0,F.symbol.translateY=0,F.symbol.add(F.label),F.label.add(F.group),this.ranges))A.value>=D&&this.renderRange(A);this.hideOverlappingLabels()}renderRange(F){let P=this.ranges[0],D=this.legend,A=this.options,I=A.labels,_=this.chart,m=_.series[A.seriesIndex],w=_.renderer,G=this.symbols,O=G.labels,f=F.center,a=Math.abs(F.radius),g=A.connectorDistance||0,v=I.align,r=A.connectorWidth,l=P.radius||0,d=f-a-A.borderWidth/2+r/2,C=(d%1?1:.5)-(r%2?0:.5),k=w.styledMode,p=D.options.rtl||"left"===v?-g:g;"center"===v&&(p=0,A.connectorDistance=0,F.labelAttribs.align="center"),G.bubbleItems.push(w.circle(l,f+C,a).attr(k?{}:F.bubbleAttribs).addClass((k?"highcharts-color-"+m.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(A.className||"")).add(this.legendItem.symbol)),G.connectors.push(w.path(w.crispLine([["M",l,d],["L",l+p,d]],A.connectorWidth)).attr(k?{}:F.connectorAttribs).addClass((k?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(A.connectorClassName||"")).add(this.legendItem.symbol));let T=w.text(this.formatLabel(F)).attr(k?{}:F.labelAttribs).css(k?{}:I.style).addClass("highcharts-bubble-legend-labels "+(A.labels.className||"")).add(this.legendItem.symbol),B={x:l+p+A.labels.x,y:d+A.labels.y+.4*T.getBBox().height};T.attr(B),O.push(T),T.placed=!0,T.alignAttr=B}getMaxLabelSize(){let F,P;return this.symbols.labels.forEach(function(D){P=D.getBBox(!0),F=F?P.width>F.width?P:F:P}),F||{}}formatLabel(F){let P=this.options,D=P.labels.formatter,A=P.labels.format,{numberFormatter:I}=this.chart;return A?ne.format(A,F):D?D.call(F):I(F.value,1)}hideOverlappingLabels(){let D=this.symbols;!this.options.labels.allowOverlap&&D&&(this.chart.hideOverlappingLabels(D.labels),D.labels.forEach(function(A,I){A.newOpacity?A.newOpacity!==A.oldOpacity&&D.connectors[I].show():D.connectors[I].hide()}))}getRanges(){let A,I,F=this.legend.bubbleLegend,D=F.options.ranges,_=Number.MAX_VALUE,m=-Number.MAX_VALUE;return F.chart.series.forEach(function(w){w.isBubble&&!w.ignoreSeries&&(I=w.zData.filter(te)).length&&(_=E(w.options.zMin,Math.min(_,Math.max(J(I),!1===w.options.displayNegative?w.options.zThreshold:-Number.MAX_VALUE))),m=E(w.options.zMax,Math.max(m,ue(I))))}),A=_===m?[{value:m}]:[{value:_},{value:(_+m)/2},{value:m,autoRanges:!0}],D.length&&D[0].radius&&A.reverse(),A.forEach(function(w,G){D&&D[G]&&(A[G]=X(D[G],w))}),A}predictBubbleSizes(){let g,F=this.chart,P=F.legend.options,D=P.floating,A="horizontal"===P.layout,I=A?F.legend.lastLineHeight:0,_=F.plotSizeX,m=F.plotSizeY,w=F.series[this.options.seriesIndex],G=w.getPxExtremes(),O=Math.ceil(G.minPxSize),f=Math.ceil(G.maxPxSize),a=Math.min(m,_),v=w.options.maxSize;return D||!/%$/.test(v)?g=f:(g=(a+I)*(v=parseFloat(v))/100/(v/100+1),(A&&m-g>=_||!A&&_-g>=m)&&(g=f)),[O,Math.ceil(g)]}updateRanges(F,P){let D=this.legend.options.bubbleLegend;D.minSize=F,D.maxSize=P,D.ranges=this.getRanges()}correctSizes(){let F=this.legend,P=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(P.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,P.maxPxSize),F.render())}}}),Le(V,"Series/Bubble/BubbleLegendComposition.js",[V["Series/Bubble/BubbleLegendDefaults.js"],V["Series/Bubble/BubbleLegendItem.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{setOptions:pe}=re,{composed:ue}=ve,{addEvent:J,objectEach:te,pushUnique:X,wrap:E}=le;function j(_,m,w){let G,O,f,a=this.legend,g=F(this)>=0;a&&a.options.enabled&&a.bubbleLegend&&a.options.bubbleLegend.autoRanges&&g?(G=a.bubbleLegend.options,O=a.bubbleLegend.predictBubbleSizes(),a.bubbleLegend.updateRanges(O[0],O[1]),G.placed||(a.group.placed=!1,a.allItems.forEach(v=>{(f=v.legendItem||{}).group&&(f.group.translateY=void 0)})),a.render(),this.getMargins(),this.axes.forEach(function(v){v.visible&&v.render(),G.placed||(v.setScale(),v.updateNames(),te(v.ticks,function(o){o.isNew=!0,o.isNewLabel=!0}))}),G.placed=!0,this.getMargins(),_.call(this,m,w),a.bubbleLegend.correctSizes(),I(a,P(a))):(_.call(this,m,w),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),I(a,P(a))))}function F(_){let m=_.series,w=0;for(;wO.height&&(O.height=m[v].itemHeight);O.step=g}return w}function D(_){let m=this.bubbleLegend,w=this.options,G=w.bubbleLegend,O=F(this.chart);m&&m.ranges&&m.ranges.length&&(G.ranges.length&&(G.autoRanges=!!G.ranges[0].autoRanges),this.destroyItem(m)),O>=0&&w.enabled&&G.enabled&&(G.seriesIndex=O,this.bubbleLegend=new ne(G,this),this.bubbleLegend.addToLegend(_.allItems))}function A(_){let m;if(_.defaultPrevented)return!1;let w=this.chart,G=this.visible,O=this.chart.legend;O&&O.bubbleLegend&&(this.visible=!G,this.ignoreSeries=G,m=F(w)>=0,O.bubbleLegend.visible!==m&&(O.update({bubbleLegend:{enabled:m}}),O.bubbleLegend.visible=m),this.visible=G)}function I(_,m){let O,f,a,g,G=_.options.rtl,v=0;_.allItems.forEach((o,n)=>{(g=o.legendItem||{}).group&&(O=g.group.translateX||0,f=g.y||0,((a=o.movementX)||G&&o.ranges)&&(a=G?O-o.options.maxSize/2:O+a,g.group.attr({translateX:a})),n>m[v].step&&v++,g.group.attr({translateY:Math.round(f+m[v].height/2)}),g.y=f+m[v].height/2)})}return{compose:function(_,m,w){X(ue,"Series.BubbleLegend")&&(pe({legend:{bubbleLegend:q}}),E(_.prototype,"drawChartBox",j),J(m,"afterGetAllItems",D),J(w,"legendItemClick",A))}}}),Le(V,"Series/Bubble/BubblePoint.js",[V["Core/Series/Point.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{seriesTypes:{scatter:{prototype:{pointClass:ve}}}}=ne,{extend:le}=re;class pe extends ve{haloPath(J){return q.prototype.haloPath.call(this,0===J?0:(this.marker&&this.marker.radius||0)+J)}}return le(pe.prototype,{ttBelow:!1}),pe}),Le(V,"Series/Bubble/BubbleSeries.js",[V["Series/Bubble/BubbleLegendComposition.js"],V["Series/Bubble/BubblePoint.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{parse:ue}=re,{composed:J,noop:te}=ve,{series:X,seriesTypes:{column:{prototype:E},scatter:j}}=le,{addEvent:F,arrayMax:P,arrayMin:D,clamp:A,extend:I,isNumber:_,merge:m,pick:w,pushUnique:G}=pe;function O(){let k,a=this.len,{coll:g,isXAxis:v,min:o}=this,n=v?"xData":"yData",r=(this.max||0)-(o||0),l=0,d=a,C=a/r;("xAxis"===g||"yAxis"===g)&&(this.series.forEach(p=>{if(p.bubblePadding&&p.reserveSpace()){this.allowZoomOutside=!0,k=!0;let T=p[n];if(v&&((p.onPoint||p).getRadii(0,0,p),p.onPoint&&(p.radii=p.onPoint.radii)),r>0){let B=T.length;for(;B--;)if(_(T[B])&&this.dataMin<=T[B]&&T[B]<=this.max){let z=p.radii&&p.radii[B]||0;l=Math.min((T[B]-o)*C-z,l),d=Math.max((T[B]-o)*C+z,d)}}}}),k&&r>0&&!this.logarithmic&&(d-=a,C*=(a+Math.max(0,l)-Math.min(d,a))/a,[["min","userMin",l],["max","userMax",d]].forEach(p=>{void 0===w(this.options[p[0]],this[p[1]])&&(this[p[0]]+=p[2]/C)})))}class f extends j{static compose(g,v,o,n){q.compose(v,o,n),G(J,"Series.Bubble")&&F(g,"foundExtremes",O)}animate(g){!g&&this.points.length{if(z.bubblePadding&&z.reserveSpace()){let K=(z.onPoint||z).getZExtremes();K&&(T=Math.min(w(T,K.zMin),K.zMin),B=Math.max(w(B,K.zMax),K.zMax),p=!0)}}),p?(d={zMin:T,zMax:B},this.chart.bubbleZExtremes=d):d={zMin:0,zMax:0}}for(r=0,n=g.length;r0&&(T=(r-g)/p)}return C&&T>=0&&(T=Math.sqrt(T)),Math.ceil(o+T*(n-o))/2}hasData(){return!!this.processedXData.length}pointAttribs(g,v){let o=this.options.marker.fillOpacity,n=X.prototype.pointAttribs.call(this,g,v);return 1!==o&&(n.fill=ue(n.fill).setOpacity(o).get("rgba")),n}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:g,options:v,radii:o}=this,{minPxSize:n}=this.getPxExtremes(),r=g.length;for(;r--;){let l=g[r],d=o?o[r]:0;"z"===this.zoneAxis&&(l.negative=(l.z||0)<(v.zThreshold||0)),_(d)&&d>=n/2?(l.marker=I(l.marker,{radius:d,width:2*d,height:2*d}),l.dlBox={x:l.plotX-d,y:l.plotY-d,width:2*d,height:2*d}):(l.shapeArgs=l.plotY=l.dlBox=void 0,l.isInside=!1)}}getPxExtremes(){let g=Math.min(this.chart.plotWidth,this.chart.plotHeight),v=r=>{let l;return"string"==typeof r&&(l=/%$/.test(r),r=parseInt(r,10)),l?g*r/100:r},o=v(w(this.options.minSize,8));return{minPxSize:o,maxPxSize:Math.max(v(w(this.options.maxSize,"20%")),o)}}getZExtremes(){let g=this.options,v=(this.zData||[]).filter(_);if(v.length){let o=w(g.zMin,A(D(v),!1===g.displayNegative?g.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),n=w(g.zMax,P(v));if(_(o)&&_(n))return{zMin:o,zMax:n}}}}return f.defaultOptions=m(j.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:a}=this.series.chart,{z:g}=this.point;return _(g)?a(g,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),I(f.prototype,{alignDataLabel:E.alignDataLabel,applyZones:te,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:ne,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),F(f,"updatedData",a=>{delete a.target.chart.bubbleZExtremes}),F(f,"remove",a=>{delete a.target.chart.bubbleZExtremes}),le.registerSeriesType("bubble",f),f}),Le(V,"Series/MapBubble/MapBubblePoint.js",[V["Series/Bubble/BubblePoint.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{seriesTypes:{map:{prototype:{pointClass:{prototype:ve}}}}}=ne,{extend:le}=re;class pe extends q{isValid(){return"number"==typeof this.z}}return le(pe.prototype,{applyOptions:ve.applyOptions,getProjectedBounds:ve.getProjectedBounds}),pe}),Le(V,"Series/MapBubble/MapBubbleSeries.js",[V["Series/Bubble/BubbleSeries.js"],V["Series/MapBubble/MapBubblePoint.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{seriesTypes:{map:{prototype:le},mappoint:{prototype:pe}}}=re,{extend:ue,merge:J}=ve;class te extends q{constructor(){super(...arguments),this.clearBounds=le.clearBounds}searchPoint(E,j){return this.searchKDTree({plotX:E.chartX-this.chart.plotLeft,plotY:E.chartY-this.chart.plotTop},j,E)}translate(){pe.translate.call(this),this.getRadii(),this.translateBubble()}updateParallelArrays(E,j,F){super.updateParallelArrays.call(this,E,j,F);let P=this.processedXData,D=this.xData;P&&D&&(P.length=D.length)}}return te.defaultOptions=J(q.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),ue(te.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:le.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:ne,processData:le.processData,projectPoint:pe.projectPoint,kdAxisArray:["plotX","plotY"],setData:le.setData,setOptions:le.setOptions,updateData:le.updateData,useMapGeometry:!0,xyFromShape:!0}),re.registerSeriesType("mapbubble",te),te}),Le(V,"Series/Heatmap/HeatmapPoint.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{scatter:{prototype:{pointClass:re}}}=q.seriesTypes,{clamp:ve,defined:le,extend:pe,pick:ue}=ne;class J extends re{applyOptions(X,E){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions(X,E),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let X=this.series,E=X.options,j=(E.colsize||1)/2,F=(E.rowsize||1)/2,P=X.xAxis,D=X.yAxis,A=this.options.marker||X.options.marker,I=X.pointPlacementToXValue(),_=ue(this.pointPadding,E.pointPadding,0),m={x1:ve(Math.round(P.len-P.translate(this.x-j,!1,!0,!1,!0,-I)),-P.len,2*P.len),x2:ve(Math.round(P.len-P.translate(this.x+j,!1,!0,!1,!0,-I)),-P.len,2*P.len),y1:ve(Math.round(D.translate(this.y-F,!1,!0,!1,!0)),-D.len,2*D.len),y2:ve(Math.round(D.translate(this.y+F,!1,!0,!1,!0)),-D.len,2*D.len)};for(let w of[["width","x"],["height","y"]]){let G=w[0],O=w[1],f=O+"1",a=O+"2",g=Math.abs(m[f]-m[a]),v=A&&A.lineWidth||0,o=Math.abs(m[f]+m[a])/2,n=A&&A[G];if(le(n)&&n"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}}),Le(V,"Series/InterpolationUtilities.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{doc:re}=q,{defined:ve,pick:le}=ne;return{colorFromPoint:function(pe,ue){let J=ue.series.colorAxis;if(J){let te=J.toColor(pe||0,ue).split(")")[0].split("(")[1].split(",").map(X=>le(parseFloat(X),parseInt(X,10)));return te[3]=255*le(te[3],1),ve(pe)&&ue.visible||(te[3]=0),te}return[0,0,0,0]},getContext:function(pe){let{canvas:ue,context:J}=pe;return ue&&J?(J.clearRect(0,0,ue.width,ue.height),J):(pe.canvas=re.createElement("canvas"),pe.context=pe.canvas.getContext("2d",{willReadFrequently:!0})||void 0,pe.context)}}}),Le(V,"Series/Heatmap/HeatmapSeries.js",[V["Core/Color/Color.js"],V["Series/ColorMapComposition.js"],V["Series/Heatmap/HeatmapPoint.js"],V["Series/Heatmap/HeatmapSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Utilities.js"],V["Series/InterpolationUtilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{series:te,seriesTypes:{column:X,scatter:E}}=le,{prototype:{symbols:j}}=pe,{addEvent:F,extend:P,fireEvent:D,isNumber:A,merge:I,pick:_}=ue,{colorFromPoint:m,getContext:w}=J;class G extends E{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let f=this,a=f.options,v=a.marker||{};if(a.interpolation){let{image:o,chart:n,xAxis:r,yAxis:l}=f,{reversed:d=!1,len:C}=r,{reversed:k=!1,len:p}=l,T={width:C,height:p};if(!o||f.isDirtyData||f.isDirtyCanvas){let B=w(f),{canvas:z,options:{colsize:K=1,rowsize:U=1},points:se,points:{length:S}}=f;if(z&&B&&n.colorAxis&&n.colorAxis[0]){let{min:H,max:x}=r.getExtremes(),{min:N,max:R}=l.getExtremes(),Z=x-H,Y=R-N,he=Math.round(Z/K/8*8),ge=Math.round(Y/U/8*8),[_e,Te]=[[he,he/Z,d,"ceil"],[ge,ge/Y,!k,"floor"]].map(([be,xe,Ie,we])=>Ie?Ee=>Math[we](be-xe*Ee):Ee=>Math[we](xe*Ee)),Oe=z.width=he+1,De=Oe*(z.height=ge+1),Be=(S-1)/De,oe=new Uint8ClampedArray(4*De),ee=(be,xe)=>4*Math.ceil(Oe*Te(xe-N)+_e(be-H));f.buildKDTree();for(let be=0;be{o.graphic&&(o.graphic[f.chart.styledMode?"css":"animate"](f.colorAttribs(o)),null===o.value&&o.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:f,dataMax:a}=te.prototype.getExtremes.call(this,this.valueData);return A(f)&&(this.valueMin=f),A(a)&&(this.valueMax=a),te.prototype.getExtremes.call(this)}getValidPoints(f,a){return te.prototype.getValidPoints.call(this,f,a,!0)}hasData(){return!!this.processedXData.length}init(){super.init.apply(this,arguments);let f=this.options;f.pointRange=_(f.pointRange,f.colsize||1),this.yAxis.axisPointRange=f.rowsize||1,j.ellipse=j.circle,f.marker&&A(f.borderRadius)&&(f.marker.r=f.borderRadius)}markerAttribs(f,a){let g=f.shapeArgs||{};if(f.hasImage)return{x:f.plotX,y:f.plotY};if(a&&"normal"!==a){let v=f.options.marker||{},o=this.options.marker||{},n=o.states&&o.states[a]||{},r=v.states&&v.states[a]||{},l=(r.width||n.width||g.width||0)+(r.widthPlus||n.widthPlus||0),d=(r.height||n.height||g.height||0)+(r.heightPlus||n.heightPlus||0);return{x:(g.x||0)+((g.width||0)-l)/2,y:(g.y||0)+((g.height||0)-d)/2,width:l,height:d}}return g}pointAttribs(f,a){let g=te.prototype.pointAttribs.call(this,f,a),v=this.options||{},o=this.chart.options.plotOptions||{},n=o.series||{},r=o.heatmap||{},d=f&&f.options.borderWidth||v.borderWidth||r.borderWidth||n.borderWidth||g["stroke-width"];if(g.stroke=f&&f.marker&&f.marker.lineColor||v.marker&&v.marker.lineColor||f&&f.options.borderColor||v.borderColor||r.borderColor||n.borderColor||this.color,g["stroke-width"]=d,a&&"normal"!==a){let C=I(v.states&&v.states[a],v.marker&&v.marker.states&&v.marker.states[a],f&&f.options.states&&f.options.states[a]||{});g.fill=C.color||q.parse(g.fill).brighten(C.brightness||0).get(),g.stroke=C.lineColor||g.stroke}return g}translate(){let{borderRadius:f,marker:a}=this.options,g=a&&a.symbol||"rect",v=j[g]?g:"rect",o=-1!==["circle","square"].indexOf(v);for(let n of(this.generatePoints(),this.points)){let r=n.getCellAttributes(),l=Math.min(r.x1,r.x2),d=Math.min(r.y1,r.y2),C=Math.max(Math.abs(r.x2-r.x1),0),k=Math.max(Math.abs(r.y2-r.y1),0);if(n.hasImage=0===(n.marker&&n.marker.symbol||g||"").indexOf("url"),o){let p=Math.abs(C-k);l=Math.min(r.x1,r.x2)+(CparseInt(ne.userAgent.split("Firefox/")[1],10),ne.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],ne.noop=function(){},ne.supportsPassiveEvents=function(){let re=!1;if(!ne.isMS){let ve=Object.defineProperty({},"passive",{get:function(){re=!0}});ne.win.addEventListener&&ne.win.removeEventListener&&(ne.win.addEventListener("testPassive",ne.noop,ve),ne.win.removeEventListener("testPassive",ne.noop,ve))}return re}(),ne.charts=[],ne.composed=[],ne.dateFormats={},ne.seriesTypes={},ne.symbolSizes={},ne.chartCount=0,q}),Le(V,"Core/Utilities.js",[V["Core/Globals.js"]],function(q){let ne,{charts:re,doc:ve,win:le}=q;function pe(o,n,r,l){let d=n?"Highcharts error":"Highcharts warning";32===o&&(o=`${d}: Deprecated member`);let C=F(o),k=C?`${d} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(void 0!==l){let p="";C&&(k+="?"),f(l,function(T,B){p+=`\n - ${B}: ${T}`,C&&(k+=encodeURI(B)+"="+encodeURI(T))}),k+=p}g(q,"displayError",{chart:r,code:o,message:k,params:l},function(){if(n)throw Error(k);le.console&&-1===pe.messages.indexOf(k)&&console.warn(k)}),pe.messages.push(k)}function ue(o,n){return parseInt(o,n||10)}function J(o){return"string"==typeof o}function te(o){let n=Object.prototype.toString.call(o);return"[object Array]"===n||"[object Array Iterator]"===n}function X(o,n){return!(!o||"object"!=typeof o||n&&te(o))}function E(o){return X(o)&&"number"==typeof o.nodeType}function j(o){let n=o&&o.constructor;return!(!X(o,!0)||E(o)||!n||!n.name||"Object"===n.name)}function F(o){return"number"==typeof o&&!isNaN(o)&&o<1/0&&o>-1/0}function P(o){return null!=o}function D(o,n,r){let l,d=J(n)&&!P(r),C=(k,p)=>{P(k)?o.setAttribute(p,k):d?(l=o.getAttribute(p))||"class"!==p||(l=o.getAttribute(p+"Name")):o.removeAttribute(p)};return J(n)?C(r,n):f(n,C),l}function A(o){return te(o)?o:[o]}function I(o,n){let r;for(r in o||(o={}),n)o[r]=n[r];return o}function _(){let o=arguments,n=o.length;for(let r=0;r1e14?o:parseFloat(o.toPrecision(n||14))}(pe||(pe={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let O=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let r,l=o.length;for(r=0;rp.order-T.order),d.forEach(p=>{!1===p.fn.call(o,r)&&r.preventDefault()})}l&&!r.defaultPrevented&&l.call(o,r)}f({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){q[n]=function(r){return pe(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(r,[].slice.call(arguments,1))}});let v=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(ne?"":o)+n++}}();return le.jQuery&&(le.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new(q[J(o[0])?o.shift():"Chart"])(this[0],o[0],o[1]),this):re[D(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,r,l={}){let d="function"==typeof o&&o.prototype||o;Object.hasOwnProperty.call(d,"hcEvents")||(d.hcEvents={});let C=d.hcEvents;q.Point&&o instanceof q.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let k=o.addEventListener;return k&&k.call(o,n,r,!!q.supportsPassiveEvents&&{passive:void 0===l.passive?-1!==n.indexOf("touch"):l.passive,capture:!1}),C[n]||(C[n]=[]),C[n].push({fn:r,order:"number"==typeof l.order?l.order:1/0}),C[n].sort((T,B)=>T.order-B.order),function(){a(o,n,r)}},arrayMax:function(o){let n=o.length,r=o[0];for(;n--;)o[n]>r&&(r=o[n]);return r},arrayMin:function(o){let n=o.length,r=o[0];for(;n--;)o[n]n?o-1&&p[U]){K=A(K),T[U]=[];for(let se=0;se{if(p.length>1)for(C=l=p.length-1;C>0;C--)(d=p[C]-p[C-1])<0&&!k?(n?.(),n=void 0):d&&(void 0===r||d=k-1&&(k=Math.floor(p)),Math.max(0,k-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let C=le.getComputedStyle(n,void 0);return C&&(d=C.getPropertyValue(r),_(l,"opacity"!==r)&&(d=ue(d))),d},inArray:function(o,n,r){return pe(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,r)},insertItem:function(o,n){let r,l=o.options.index,d=n.length;for(r=o.options.isInternal?d:0;r=o))&&(d||!(p<=(n[C]+(n[C+1]||n[C]))/2)));C++);return G(k*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:f,offset:function(o){let n=ve.documentElement,r=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(le.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(le.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:r.width,height:r.height}},pad:function(o,n,r){return Array((n||2)+1-String(o).replace("-","").length).join(r||"0")+o},pick:_,pInt:ue,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,r){return/%$/.test(o)?n*parseFloat(o)/100+(r||0):parseFloat(o)},removeEvent:a,replaceNested:function(o,...n){let r,l;do{for(l of(r=o,n))o=o.replace(l[0],l[1])}while(o!==r);return o},splat:A,stableSort:function(o,n){let r,l,d=o.length;for(l=0;l0?setTimeout(o,n,r):(o.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:v,useSerialIds:function(o){return ne=_(o,ne)},wrap:function(o,n,r){let l=o[n];o[n]=function(){let d=arguments,C=this;return r.apply(this,[function(){return l.apply(C,arguments.length?arguments:d)}].concat([].slice.call(arguments)))}}}}),Le(V,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),Le(V,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),Le(V,"Core/Time.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{win:re}=q,{defined:ve,error:le,extend:pe,isNumber:ue,isObject:J,merge:te,objectEach:X,pad:E,pick:j,splat:F,timeUnits:P}=ne,D=q.isSafari&&re.Intl&&re.Intl.DateTimeFormat.prototype.formatRange,A=q.isSafari&&re.Intl&&!re.Intl.DateTimeFormat.prototype.formatRange;class I{constructor(m){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=re.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(m)}get(m,w){if(this.variableTimezone||this.timezoneOffset){let G=w.getTime(),O=G-this.getTimezoneOffset(w);w.setTime(O);let f=w["getUTC"+m]();return w.setTime(G),f}return this.useUTC?w["getUTC"+m]():w["get"+m]()}set(m,w,G){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===m||"Seconds"===m||"Minutes"===m&&this.getTimezoneOffset(w)%36e5==0)return w["setUTC"+m](G);let O=this.getTimezoneOffset(w),f=w.getTime()-O;w.setTime(f),w["setUTC"+m](G);let a=this.getTimezoneOffset(w);return f=w.getTime()+a,w.setTime(f)}return this.useUTC||D&&"FullYear"===m?w["setUTC"+m](G):w["set"+m](G)}update(m={}){let w=j(m.useUTC,!0);this.options=m=te(!0,this.options,m),this.Date=m.Date||re.Date||Date,this.useUTC=w,this.timezoneOffset=w&&m.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=w&&!(!m.getTimezoneOffset&&!m.timezone)}makeTime(m,w,G,O,f,a){let g,v,o;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),v=this.getTimezoneOffset(g),g+=v,v!==(o=this.getTimezoneOffset(g))?g+=o-v:v-36e5!==this.getTimezoneOffset(g-36e5)||A||(g-=36e5)):g=new this.Date(m,w,j(G,1),j(O,0),j(f,0),j(a,0)).getTime(),g}timezoneOffsetFunction(){let m=this,w=this.options,G=w.getTimezoneOffset;return this.useUTC?w.timezone?O=>{try{let f=`shortOffset,${w.timezone||""}`,[a,g,v,o,n=0]=(I.formatCache[f]=I.formatCache[f]||Intl.DateTimeFormat("en",{timeZone:w.timezone,timeZoneName:"shortOffset"})).format(O).split(/(GMT|:)/).map(Number),r=-36e5*(v+n/60);if(ue(r))return r}catch{le(34)}return 0}:this.useUTC&&G?O=>6e4*G(O.valueOf()):()=>6e4*(m.timezoneOffset||0):O=>6e4*new Date(O.toString()).getTimezoneOffset()}dateFormat(m,w,G){if(!ve(w)||isNaN(w))return q.defaultOptions.lang&&q.defaultOptions.lang.invalidDate||"";m=j(m,"%Y-%m-%d %H:%M:%S");let O=this,f=new this.Date(w),a=this.get("Hours",f),g=this.get("Day",f),v=this.get("Date",f),o=this.get("Month",f),n=this.get("FullYear",f),r=q.defaultOptions.lang,l=r&&r.weekdays,d=r&&r.shortWeekdays;return X(pe({a:d?d[g]:l[g].substr(0,3),A:l[g],d:E(v),e:E(v,2," "),w:g,b:r.shortMonths[o],B:r.months[o],m:E(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:E(a),k:a,I:E(a%12||12),l:a%12||12,M:E(this.get("Minutes",f)),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:E(this.get("Seconds",f)),L:E(Math.floor(w%1e3),3)},q.dateFormats),function(C,k){for(;-1!==m.indexOf("%"+k);)m=m.replace("%"+k,"function"==typeof C?C.call(O,w):C)}),G?m.substr(0,1).toUpperCase()+m.substr(1):m}resolveDTLFormat(m){return J(m,!0)?m:{main:(m=F(m))[0],from:m[1],to:m[2]}}getTimeTicks(m,w,G,O){let f,a,g,v,o=this,r=[],l={},d=new(0,o.Date)(w),C=m.unitRange,k=m.count||1;if(O=j(O,1),ve(w)){o.set("Milliseconds",d,C>=P.second?0:k*Math.floor(o.get("Milliseconds",d)/k)),C>=P.second&&o.set("Seconds",d,C>=P.minute?0:k*Math.floor(o.get("Seconds",d)/k)),C>=P.minute&&o.set("Minutes",d,C>=P.hour?0:k*Math.floor(o.get("Minutes",d)/k)),C>=P.hour&&o.set("Hours",d,C>=P.day?0:k*Math.floor(o.get("Hours",d)/k)),C>=P.day&&o.set("Date",d,C>=P.month?1:Math.max(1,k*Math.floor(o.get("Date",d)/k))),C>=P.month&&(o.set("Month",d,C>=P.year?0:k*Math.floor(o.get("Month",d)/k)),a=o.get("FullYear",d)),C>=P.year&&(a-=a%k,o.set("FullYear",d,a)),C===P.week&&(v=o.get("Day",d),o.set("Date",d,o.get("Date",d)-v+O+(v4*P.month||o.getTimezoneOffset(w)!==o.getTimezoneOffset(G));let z=d.getTime();for(f=1;z1?z=o.makeTime(a,p,T,B+f*k):z+=C*k:z=o.makeTime(a,p,T+f*k*(C===P.day?1:7)),f++;r.push(z),C<=P.hour&&r.length<1e4&&r.forEach(function(K){K%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",K)&&(l[K]="day")})}return r.info=pe(m,{higherRanks:l,totalRange:C*k}),r}getDateFormat(m,w,G,O){let f=this.dateFormat("%m-%d %H:%M:%S.%L",w),a="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond",o=v;for(v in P){if(m===P.week&&+this.dateFormat("%w",w)===G&&f.substr(6)===a.substr(6)){v="week";break}if(P[v]>m){v=o;break}if(g[v]&&f.substr(g[v])!==a.substr(g[v]))break;"week"!==v&&(o=v)}return this.resolveDTLFormat(O[v]).main}}return I.formatCache={},I}),Le(V,"Core/Defaults.js",[V["Core/Chart/ChartDefaults.js"],V["Core/Globals.js"],V["Core/Color/Palettes.js"],V["Core/Time.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{isTouchDevice:pe,svg:ue}=ne,{merge:J}=le,te={colors:re.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:q,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ue,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:pe?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};te.chart.styledMode=!1;let X=new ve(te.time);return{defaultOptions:te,defaultTime:X,getOptions:function(){return te},setOptions:function(E){return J(!0,te,E),(E.time||E.global)&&(ne.time?ne.time.update(J(te.global,te.time,E.global,E.time)):ne.time=X),te}}}),Le(V,"Core/Color/Color.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isNumber:re,merge:ve,pInt:le}=ne;class pe{static parse(J){return J?new pe(J):pe.None}constructor(J){let te,X,E,j;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let F=q.Color;if(F&&F!==pe)return new F(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(P=>new pe(P[1]));else if("string"==typeof J){if(this.input=J=pe.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let P=J.length,D=parseInt(J.substr(1),16);7===P?X=[(16711680&D)>>16,(65280&D)>>8,255&D,1]:4===P&&(X=[(3840&D)>>4|(3840&D)>>8,(240&D)>>4|240&D,(15&D)<<4|15&D,1])}if(!X)for(E=pe.parsers.length;E--&&!X;)(te=(j=pe.parsers[E]).regex.exec(J))&&(X=j.parse(te))}X&&(this.rgba=X)}get(J){let te=this.input,X=this.rgba;if("object"==typeof te&&void 0!==this.stops){let E=ve(te);return E.stops=[].slice.call(E.stops),this.stops.forEach((j,F)=>{E.stops[F]=[E.stops[F][0],j.get(J)]}),E}return X&&re(X[0])?"rgb"===J||!J&&1===X[3]?"rgb("+X[0]+","+X[1]+","+X[2]+")":"a"===J?`${X[3]}`:"rgba("+X.join(",")+")":te}brighten(J){let te=this.rgba;if(this.stops)this.stops.forEach(function(X){X.brighten(J)});else if(re(J)&&0!==J)for(let X=0;X<3;X++)te[X]+=le(255*J),te[X]<0&&(te[X]=0),te[X]>255&&(te[X]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,te){let X=this.rgba,E=J.rgba;if(!re(X[0])||!re(E[0]))return J.input||"none";let j=1!==E[3]||1!==X[3];return(j?"rgba(":"rgb(")+Math.round(E[0]+(X[0]-E[0])*(1-te))+","+Math.round(E[1]+(X[1]-E[1])*(1-te))+","+Math.round(E[2]+(X[2]-E[2])*(1-te))+(j?","+(E[3]+(X[3]-E[3])*(1-te)):"")+")"}}return pe.names={white:"#ffffff",black:"#000000"},pe.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),parseFloat(ue[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(ue){return[le(ue[1]),le(ue[2]),le(ue[3]),1]}}],pe.None=new pe(""),pe}),Le(V,"Core/Animation/Fx.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{parse:ve}=q,{win:le}=ne,{isNumber:pe,objectEach:ue}=re;class J{constructor(X,E,j){this.pos=NaN,this.options=E,this.elem=X,this.prop=j}dSetter(){let X=this.paths,E=X&&X[0],j=X&&X[1],F=this.now||0,P=[];if(1!==F&&E&&j)if(E.length===j.length&&F<1)for(let D=0;D=I+this.startTime?(this.now=this.end,this.pos=1,this.update(),_[this.prop]=!0,j=!0,ue(_,function(m){!0!==m&&(j=!1)}),j&&A&&A.call(D),E=!1):(this.pos=P.easing((F-this.startTime)/I),this.now=this.start+(this.end-this.start)*this.pos,this.update(),E=!0),E}initPath(X,E,j){let _,m,w,G,F=X.startX,P=X.endX,D=j.slice(),A=X.isArea,I=A?2:1,O=E&&E.slice();if(!O)return[D,D];function f(g,v){for(;g.length{let G=E(w.options.animation);_=ue(P)&&re(P.defer)?A.defer:Math.max(_,G.duration+G.defer),m=Math.min(A.duration,G.duration)}),F.renderer.forExport&&(_=0),{defer:Math.max(0,_-m),duration:Math.min(_,m)}},setAnimation:function(F,P){P.renderer.globalAnimation=X(F,P.options.chart.animation,!0)},stop:j}}),Le(V,"Core/Renderer/HTML/AST.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{SVG_NS:re,win:ve}=q,{attr:le,createElement:pe,css:ue,error:J,isFunction:te,isString:X,objectEach:E,splat:j}=ne,{trustedTypes:F}=ve,P=F&&te(F.createPolicy)&&F.createPolicy("highcharts",{createHTML:_=>_}),D=P?P.createHTML(""):"",A=function(){try{return!!(new DOMParser).parseFromString(D,"text/html")}catch{return!1}}();class I{static filterUserAttributes(m){return E(m,(w,G)=>{let O=!0;-1===I.allowedAttributes.indexOf(G)&&(O=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(G)&&(O=X(w)&&I.allowedReferences.some(f=>0===w.indexOf(f))),O||(J(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete m[G]),X(w)&&m[G]&&(m[G]=w.replace(/{let O=G.split(":").map(a=>a.trim()),f=O.shift();return f&&O.length&&(w[f.replace(/-([a-z])/g,a=>a[1].toUpperCase())]=O.join(":")),w},{})}static setElementHTML(m,w){m.innerHTML=I.emptyHTML,w&&new I(w).addToDOM(m)}constructor(m){this.nodes="string"==typeof m?this.parseMarkup(m):m}addToDOM(m){return function w(G,O){let f;return j(G).forEach(function(a){let g,v=a.tagName,o=a.textContent?q.doc.createTextNode(a.textContent):void 0,n=I.bypassHTMLFiltering;if(v)if("#text"===v)g=o;else if(-1!==I.allowedTags.indexOf(v)||n){let l=q.doc.createElementNS("svg"===v?re:O.namespaceURI||re,v),d=a.attributes||{};E(a,function(C,k){"tagName"!==k&&"attributes"!==k&&"children"!==k&&"style"!==k&&"textContent"!==k&&(d[k]=C)}),le(l,n?d:I.filterUserAttributes(d)),a.style&&ue(l,a.style),o&&l.appendChild(o),w(a.children||[],l),g=l}else J(33,!1,void 0,{"Invalid tagName in config":v});g&&O.appendChild(g),f=g}),f}(this.nodes,m)}parseMarkup(m){let w,G=[];if(m=m.trim().replace(/ style=(["'])/g," data-style=$1"),A)w=(new DOMParser).parseFromString(P?P.createHTML(m):m,"text/html");else{let f=pe("div");f.innerHTML=m,w={body:f}}let O=(f,a)=>{let g=f.nodeName.toLowerCase(),v={tagName:g};"#text"===g&&(v.textContent=f.textContent||"");let o=f.attributes;if(o){let n={};[].forEach.call(o,r=>{"data-style"===r.name?v.style=I.parseStyle(r.value):n[r.name]=r.value}),v.attributes=n}if(f.childNodes.length){let n=[];[].forEach.call(f.childNodes,r=>{O(r,n)}),n.length&&(v.children=n)}a.push(v)};return[].forEach.call(w.body.childNodes,f=>O(f,G)),G}}return I.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],I.allowedReferences=["https://","http://","mailto:","/","../","./","#"],I.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],I.emptyHTML=D,I.bypassHTMLFiltering=!1,I}),Le(V,"Core/Templating.js",[V["Core/Defaults.js"],V["Core/Utilities.js"]],function(q,ne){let{defaultOptions:re,defaultTime:ve}=q,{extend:le,getNestedProperty:pe,isArray:ue,isNumber:J,isObject:te,pick:X,pInt:E}=ne,j={add:(D,A)=>D+A,divide:(D,A)=>0!==A?D/A:"",eq:(D,A)=>D==A,each:function(D){let A=arguments[arguments.length-1];return!!ue(D)&&D.map((I,_)=>F(A.body,le(te(I)?I:{"@this":I},{"@index":_,"@first":0===_,"@last":_===D.length-1}))).join("")},ge:(D,A)=>D>=A,gt:(D,A)=>D>A,if:D=>!!D,le:(D,A)=>D<=A,lt:(D,A)=>DD*A,ne:(D,A)=>D!=A,subtract:(D,A)=>D-A,unless:D=>!D};function F(D="",A,I){let o,n,l,_=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,m=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,w=[],G=/f$/,O=/\.([0-9])/,f=re.lang,a=I&&I.time||ve,g=I&&I.numberFormatter||P,v=(d="")=>{let C;return"true"===d||"false"!==d&&((C=Number(d)).toString()===d?C:pe(d,A))},r=0;for(;null!==(o=_.exec(D));){let d=m.exec(o[1]);d&&(o=d,l=!0),n&&n.isBlock||(n={ctx:A,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length});let C=o[1].split(" ")[0].replace("#","");j[C]&&(n.isBlock&&C===n.fn&&r++,n.fn||(n.fn=C));let k="else"===o[1];if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||k))if(r)!k&&r--;else{let p=n.startInner,T=D.substr(p,o.index-p);void 0===n.body?(n.body=T,n.startInner=o.index+o[0].length):n.elseBody=T,n.find+=T+o[0],k||(w.push(n),n=void 0)}else n.isBlock||w.push(n);if(d&&!n?.isBlock)break}return w.forEach(d=>{let C,k,{body:p,elseBody:T,expression:B,fn:z}=d;if(z){let K=[d],U=B.split(" ");for(k=j[z].length;k--;)K.unshift(v(U[k+1]));C=j[z].apply(A,K),d.isBlock&&"boolean"==typeof C&&(C=F(C?p:T,A))}else{let K=B.split(":");if(C=v(K.shift()||""),K.length&&"number"==typeof C){let U=K.join(":");if(G.test(U)){let se=parseInt((U.match(O)||["","-1"])[1],10);null!==C&&(C=g(C,se,f.decimalPoint,U.indexOf(",")>-1?f.thousandsSep:""))}else C=a.dateFormat(U,C)}}D=D.replace(d.find,X(C,""))}),l?F(D,A,I):D}function P(D,A,I,_){let m,w;A=+A;let G=re.lang,O=((D=+D||0).toString().split(".")[1]||"").split("e")[0].length,f=D.toString().split("e"),a=A;-1===A?A=Math.min(O,20):J(A)?A&&f[1]&&f[1]<0&&((w=A+ +f[1])>=0?(f[0]=(+f[0]).toExponential(w).split("e")[0],A=w):(f[0]=f[0].split(".")[0]||0,D=A<20?(f[0]*Math.pow(10,f[1])).toFixed(A):0,f[1]=0)):A=2;let g=(Math.abs(f[1]?f[0]:D)+Math.pow(10,-Math.max(A,O)-1)).toFixed(A),v=String(E(g)),o=v.length>3?v.length%3:0;return I=X(I,G.decimalPoint),_=X(_,G.thousandsSep),m=(D<0?"-":"")+(o?v.substr(0,o)+_:""),0>+f[1]&&!a?m="0":m+=v.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+_),A&&(m+=I+g.slice(-A)),f[1]&&0!=+m&&(m+="e"+f[1]),m}return{dateFormat:function(D,A,I){return ve.dateFormat(D,A,I)},format:F,helpers:j,numberFormat:P}}),Le(V,"Core/Renderer/RendererRegistry.js",[V["Core/Globals.js"]],function(q){var ne,re;let ve;return(re=ne||(ne={})).rendererTypes={},re.getRendererType=function(le=ve){return re.rendererTypes[le]||re.rendererTypes[ve]},re.registerRendererType=function(le,pe,ue){re.rendererTypes[le]=pe,(!ve||ue)&&(ve=le,q.Renderer=pe)},ne}),Le(V,"Core/Renderer/RendererUtilities.js",[V["Core/Utilities.js"]],function(q){var ne;let{clamp:re,pick:ve,pushUnique:le,stableSort:pe}=q;return(ne||(ne={})).distribute=function ue(J,te,X){let _,m,w,O,f,g,E=J,j=E.reducedLen||te,F=(v,o)=>v.target-o.target,P=[],D=J.length,A=[],I=P.push,G=!0,a=0;for(_=D;_--;)a+=J[_].size;if(a>j){for(pe(J,(v,o)=>(o.rank||0)-(v.rank||0)),w=(g=J[0].rank===J[J.length-1].rank)?D/2:-1,m=g?w:D-1;w&&a>j;)O=J[_=Math.floor(m)],le(A,_)&&(a-=O.size),m+=w,g&&m>=J.length&&(w/=2,m=w);A.sort((v,o)=>o-v).forEach(v=>I.apply(P,J.splice(v,1)))}for(pe(J,F),J=J.map(v=>({size:v.size,targets:[v.target],align:ve(v.align,.5)}));G;){for(_=J.length;_--;)O=J[_],f=(Math.min.apply(0,O.targets)+Math.max.apply(0,O.targets))/2,O.pos=re(f-O.size*O.align,0,te-O.size);for(_=J.length,G=!1;_--;)_>0&&J[_-1].pos+J[_-1].size>J[_].pos&&(J[_-1].size+=J[_].size,J[_-1].targets=J[_-1].targets.concat(J[_].targets),J[_-1].align=.5,J[_-1].pos+J[_-1].size>te&&(J[_-1].pos=te-J[_-1].size),J.splice(_,1),G=!0)}return I.apply(E,P),_=0,J.some(v=>{let o=0;return(v.targets||[]).some(()=>(E[_].pos=v.pos+o,void 0!==X&&Math.abs(E[_].pos-E[_].target)>X?(E.slice(0,_+1).forEach(n=>delete n.pos),E.reducedLen=(E.reducedLen||te)-.1*te,E.reducedLen>.1*te&&ue(E,te,X),!0):(o+=E[_].size,_++,!1)))}),pe(E,F),E},ne}),Le(V,"Core/Renderer/SVG/SVGElement.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{animate:le,animObject:pe,stop:ue}=q,{deg2rad:J,doc:te,svg:X,SVG_NS:E,win:j}=re,{addEvent:F,attr:P,createElement:D,css:A,defined:I,erase:_,extend:m,fireEvent:w,isArray:G,isFunction:O,isObject:f,isString:a,merge:g,objectEach:v,pick:o,pInt:n,replaceNested:r,syncTimeout:l,uniqueKey:d}=ve;class C{_defaultGetter(p){let T=o(this[p+"Value"],this[p],this.element?this.element.getAttribute(p):null,0);return/^[\-0-9\.]+$/.test(T)&&(T=parseFloat(T)),T}_defaultSetter(p,T,B){B.setAttribute(T,p)}add(p){let T,B=this.renderer,z=this.element;return p&&(this.parentGroup=p),void 0!==this.textStr&&"text"===this.element.nodeName&&B.buildText(this),this.added=!0,(!p||p.handleZ||this.zIndex)&&(T=this.zIndexSetter()),T||(p?p.element:B.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(p,T){let B=T?"":this.attr("class")||"";return(p=(p||"").split(/ /g).reduce(function(z,K){return-1===B.indexOf(K)&&z.push(K),z},B?[B]:[]).join(" "))!==B&&this.attr("class",p),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(p,T,B,z=!0){let K,U,se,S,$,H={},x=this.renderer,N=x.alignedObjects;p?(this.alignOptions=p,this.alignByTranslate=T,(!B||a(B))&&(this.alignTo=se=B||"renderer",_(N,this),N.push(this),B=void 0)):(p=this.alignOptions,T=this.alignByTranslate,se=this.alignTo),B=o(B,x[se],x);let R=p.align,Z=p.verticalAlign;return K=(B.x||0)+(p.x||0),U=(B.y||0)+(p.y||0),"right"===R?S=1:"center"===R&&(S=2),S&&(K+=(B.width-(p.width||0))/S),H[T?"translateX":"x"]=Math.round(K),"bottom"===Z?$=1:"middle"===Z&&($=2),$&&(U+=(B.height-(p.height||0))/$),H[T?"translateY":"y"]=Math.round(U),z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(p){let T={left:"start",center:"middle",right:"end"};T[p]&&(this.alignValue=p,this.element.setAttribute("text-anchor",T[p]))}animate(p,T,B){let z=pe(o(T,this.renderer.globalAnimation,!0)),K=z.defer;return te.hidden&&(z.duration=0),0!==z.duration?(B&&(z.complete=B),l(()=>{this.element&&le(this,p,z)},K)):(this.attr(p,void 0,B||z.complete),v(p,function(U,se){z.step&&z.step.call(this,U,{prop:se,pos:1,elem:this})},this)),this}applyTextOutline(p){let T=this.element;-1!==p.indexOf("contrast")&&(p=p.replace(/contrast/g,this.renderer.getContrast(T.style.fill)));let B=p.split(" "),z=B[B.length-1],K=B[0];if(K&&"none"!==K&&re.svg){this.fakeTS=!0,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(H,x,N){return 2*Number(x)+N}),this.removeTextOutline();let U=te.createElementNS(E,"tspan");P(U,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":K,"stroke-linejoin":"round"});let se=T.querySelector("textPath")||T;[].forEach.call(se.childNodes,H=>{let x=H.cloneNode(!0);x.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(N=>x.removeAttribute(N)),U.appendChild(x)});let S=0;[].forEach.call(se.querySelectorAll("text tspan"),H=>{S+=Number(H.getAttribute("dy"))});let $=te.createElementNS(E,"tspan");$.textContent="\u200b",P($,{x:Number(T.getAttribute("x")),dy:-S}),U.appendChild($),se.insertBefore(U,se.firstChild)}}attr(p,T,B,z){let se,S,H,K=this.element,U=C.symbolCustomAttribs,$=this;return"string"==typeof p&&void 0!==T&&(se=p,(p={})[se]=T),"string"==typeof p?$=(this[p+"Getter"]||this._defaultGetter).call(this,p,K):(v(p,function(x,N){H=!1,z||ue(this,N),this.symbolName&&-1!==U.indexOf(N)&&(S||(this.symbolAttr(p),S=!0),H=!0),this.rotation&&("x"===N||"y"===N)&&(this.doTransform=!0),H||(this[N+"Setter"]||this._defaultSetter).call(this,x,N,K)},this),this.afterSetters()),B&&B.call(this),$}clip(p){if(p&&!p.clipPath){let T=d()+"-",B=this.renderer.createElement("clipPath").attr({id:T}).add(this.renderer.defs);m(p,{clipPath:B,id:T,count:0}),p.add(B)}return this.attr("clip-path",p?`url(${this.renderer.url}#${p.id})`:"none")}crisp(p,T){let B=Math.round(T=T||p.strokeWidth||0)%2/2;return p.x=Math.floor(p.x||this.x||0)+B,p.y=Math.floor(p.y||this.y||0)+B,p.width=Math.floor((p.width||this.width||0)-2*B),p.height=Math.floor((p.height||this.height||0)-2*B),I(p.strokeWidth)&&(p.strokeWidth=T),p}complexColor(p,T,B){let K,U,se,S,$,H,x,N,R,Z,he,z=this.renderer,Y=[];w(this.renderer,"complexColor",{args:arguments},function(){if(p.radialGradient?U="radialGradient":p.linearGradient&&(U="linearGradient"),U){if(se=p[U],$=z.gradients,H=p.stops,R=B.radialReference,G(se)&&(p[U]=se={x1:se[0],y1:se[1],x2:se[2],y2:se[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===U&&R&&!I(se.gradientUnits)&&(S=se,se=g(se,z.getRadialAttr(R,S),{gradientUnits:"userSpaceOnUse"})),v(se,function(ge,_e){"id"!==_e&&Y.push(_e,ge)}),v(H,function(ge){Y.push(ge)}),$[Y=Y.join(",")])Z=$[Y].attr("id");else{se.id=Z=d();let ge=$[Y]=z.createElement(U).attr(se).add(z.defs);ge.radAttr=S,ge.stops=[],H.forEach(function(_e){0===_e[1].indexOf("rgba")?(x=(K=ne.parse(_e[1])).get("rgb"),N=K.get("a")):(x=_e[1],N=1);let Te=z.createElement("stop").attr({offset:_e[0],"stop-color":x,"stop-opacity":N}).add(ge);ge.stops.push(Te)})}he="url("+z.url+"#"+Z+")",B.setAttribute(T,he),B.gradient=Y,p.toString=function(){return he}}})}css(p){let K,T=this.styles,B={},z=this.element,U=!T;if(T&&v(p,function(se,S){T&&T[S]!==se&&(B[S]=se,U=!0)}),U){T&&(p=m(T,B)),null===p.width||"auto"===p.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&p.width&&(K=this.textWidth=n(p.width)),m(this.styles,p),K&&!X&&this.renderer.forExport&&delete p.width;let se=g(p);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(S=>se&&delete se[S]),se.color&&(se.fill=se.color)),A(z,se)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),p.textOutline&&this.applyTextOutline(p.textOutline)),this}dashstyleSetter(p){let T,B=this["stroke-width"];if("inherit"===B&&(B=1),p=p&&p.toLowerCase()){let z=p.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(T=z.length;T--;)z[T]=""+n(z[T])*o(B,NaN);p=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",p)}}destroy(){let U,se,p=this,T=p.element||{},B=p.renderer,z=T.ownerSVGElement,K="SPAN"===T.nodeName&&p.parentGroup||void 0;if(T.onclick=T.onmouseout=T.onmouseover=T.onmousemove=T.point=null,ue(p),p.clipPath&&z){let S=p.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function($){$.getAttribute("clip-path").indexOf(S.element.id)>-1&&$.removeAttribute("clip-path")}),p.clipPath=S.destroy()}if(p.connector=p.connector?.destroy(),p.stops){for(se=0;seK&&K.join?(U?z+" ":"")+K.join(" "):(K||"").toString(),"")),/(NaN| {2}|^$)/.test(p)&&(p="M 0 0"),this[T]!==p&&(B.setAttribute(T,p),this[T]=p)}fillSetter(p,T,B){"string"==typeof p?B.setAttribute(T,p):p&&this.complexColor(p,T,B)}hrefSetter(p,T,B){B.setAttributeNS("http://www.w3.org/1999/xlink",T,p)}getBBox(p,T){let B,z,K,U,{alignValue:se,element:S,renderer:$,styles:H,textStr:x}=this,{cache:N,cacheKeys:R}=$,Z=S.namespaceURI===this.SVG_NS,Y=o(T,this.rotation,0),he=$.styledMode?S&&C.prototype.getStyle.call(S,"font-size"):H.fontSize;if(I(x)&&(-1===(U=x.toString()).indexOf("<")&&(U=U.replace(/[0-9]/g,"0")),U+=["",$.rootFontSize,he,Y,this.textWidth,se,H.textOverflow,H.fontWeight].join(",")),U&&!p&&(B=N[U]),!B){if(Z||$.forExport){try{K=this.fakeTS&&function(ge){let _e=S.querySelector(".highcharts-text-outline");_e&&A(_e,{display:ge})},O(K)&&K("none"),B=S.getBBox?m({},S.getBBox()):{width:S.offsetWidth,height:S.offsetHeight,x:0,y:0},O(K)&&K("")}catch{}(!B||B.width<0)&&(B={x:0,y:0,width:0,height:0})}else B=this.htmlGetBBox();z=B.height,Z&&(B.height=z={"11px,17":14,"13px,20":16}[`${he||""},${Math.round(z)}`]||z),Y&&(B=this.getRotatedBox(B,Y))}if(U&&(""===x||B.height>0)){for(;R.length>250;)delete N[R.shift()];N[U]||R.push(U),N[U]=B}return B}getRotatedBox(p,T){let{x:B,y:z,width:K,height:U}=p,{alignValue:se,translateY:S,rotationOriginX:$=0,rotationOriginY:H=0}=this,x={right:1,center:.5}[se||0]||0,N=Number(this.element.getAttribute("y")||0)-(S?0:z),R=T*J,Z=(T-90)*J,Y=Math.cos(R),he=Math.sin(R),ge=K*Y,_e=K*he,Te=Math.cos(Z),Oe=Math.sin(Z),[[De,Be],[oe,ee]]=[$,H].map(pt=>[pt-pt*Y,pt*he]),be=B+x*(K-ge)+De+ee+N*Te,xe=be+ge,Ie=xe-U*Te,we=Ie-ge,Ee=z+N-x*_e-Be+oe+N*Oe,Me=Ee+_e,Xe=Me-U*Oe,Je=Xe-_e,lt=Math.min(be,xe,Ie,we),qe=Math.min(Ee,Me,Xe,Je);return{x:lt,y:qe,width:Math.max(be,xe,Ie,we)-lt,height:Math.max(Ee,Me,Xe,Je)-qe}}getStyle(p){return j.getComputedStyle(this.element||this,"").getPropertyValue(p)}hasClass(p){return-1!==(""+this.attr("class")).split(" ").indexOf(p)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(p,T){this.onEvents={},this.opacity=1,this.SVG_NS=E,this.element="span"===T||"body"===T?D(T):te.createElementNS(this.SVG_NS,T),this.renderer=p,this.styles={},w(this,"afterInit")}on(p,T){let{onEvents:B}=this;return B[p]&&B[p](),B[p]=F(this.element,p,T),this}opacitySetter(p,T,B){let z=Number(Number(p).toFixed(3));this.opacity=z,B.setAttribute(T,z)}removeClass(p){return this.attr("class",(""+this.attr("class")).replace(a(p)?RegExp(`(^| )${p}( |$)`):p," ").replace(/ +/g," ").trim())}removeTextOutline(){let p=this.element.querySelector("tspan.highcharts-text-outline");p&&this.safeRemoveChild(p)}safeRemoveChild(p){let T=p.parentNode;T&&T.removeChild(p)}setRadialReference(p){let T=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=p,T&&T.radAttr&&T.animate(this.renderer.getRadialAttr(p,T.radAttr)),this}setTextPath(p,T){T=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},T);let B=this.renderer.url,z=this.text||this,K=z.textPath,{attributes:U,enabled:se}=T;if(p=p||K&&K.path,K&&K.undo(),p&&se){let S=F(z,"afterModifyTree",$=>{if(p&&se){let H=p.attr("id");H||p.attr("id",H=d());let x={x:0,y:0};I(U.dx)&&(x.dx=U.dx,delete U.dx),I(U.dy)&&(x.dy=U.dy,delete U.dy),z.attr(x),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let N=$.nodes.slice(0);$.nodes.length=0,$.nodes[0]={tagName:"textPath",attributes:m(U,{"text-anchor":U.textAnchor,href:`${B}#${H}`}),children:N}}});z.textPath={path:p,undo:S}}else z.attr({dx:0,dy:0}),delete z.textPath;return this.added&&(z.textCache="",this.renderer.buildText(z)),this}shadow(p){let{renderer:T}=this,B=g(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(p)?p:{}),z=T.shadowDefinition(B);return this.attr({filter:p?`url(${T.url}#${z})`:"none"})}show(p=!0){return this.attr({visibility:p?"inherit":"visible"})}"stroke-widthSetter"(p,T,B){this[T]=p,B.setAttribute(T,p)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let B,p=this.getStyle("stroke-width"),T=0;return/px$/.test(p)?T=n(p):""!==p&&(P(B=te.createElementNS(E,"rect"),{width:p,"stroke-width":0}),this.element.parentNode.appendChild(B),T=B.getBBox().width,B.parentNode.removeChild(B)),T}symbolAttr(p){let T=this;C.symbolCustomAttribs.forEach(function(B){T[B]=o(p[B],T[B])}),T.attr({d:T.renderer.symbols[T.symbolName](T.x,T.y,T.width,T.height,T)})}textSetter(p){p!==this.textStr&&(delete this.textPxLength,this.textStr=p,this.added&&this.renderer.buildText(this))}titleSetter(p){let T=this.element,B=T.getElementsByTagName("title")[0]||te.createElementNS(this.SVG_NS,"title");T.insertBefore?T.insertBefore(B,T.firstChild):T.appendChild(B),B.textContent=r(o(p,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let p=this.element;return p.parentNode.appendChild(p),this}translate(p,T){return this.attr({translateX:p,translateY:T})}updateTransform(p="transform"){let{element:T,matrix:B,rotation:z=0,rotationOriginX:K,rotationOriginY:U,scaleX:se,scaleY:S,translateX:$=0,translateY:H=0}=this,x=["translate("+$+","+H+")"];I(B)&&x.push("matrix("+B.join(",")+")"),z&&(x.push("rotate("+z+" "+o(K,T.getAttribute("x"),0)+" "+o(U,T.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(K||0)-this.padding,rotationOriginY:(U||0)-this.padding})),(I(se)||I(S))&&x.push("scale("+o(se,1)+" "+o(S,1)+")"),x.length&&!(this.text||this).textPath&&T.setAttribute(p,x.join(" "))}visibilitySetter(p,T,B){"inherit"===p?B.removeAttribute(T):this[T]!==p&&B.setAttribute(T,p),this[T]=p}xGetter(p){return"circle"===this.element.nodeName&&("x"===p?p="cx":"y"===p&&(p="cy")),this._defaultGetter(p)}zIndexSetter(p,T){let S,$,H,N,Z,B=this.renderer,z=this.parentGroup,K=(z||B).element||B.box,U=this.element,se=K===B.box,x=!1,R=this.added;if(I(p)?(U.setAttribute("data-z-index",p),this[T]===(p=+p)&&(R=!1)):I(this[T])&&U.removeAttribute("data-z-index"),this[T]=p,R){for((p=this.zIndex)&&z&&(z.handleZ=!0),Z=(S=K.childNodes).length-1;Z>=0&&!x;Z--)N=!I(H=($=S[Z]).getAttribute("data-z-index")),$!==U&&(p<0&&N&&!se&&!Z?(K.insertBefore(U,S[Z]),x=!0):(n(H)<=p||N&&(!I(p)||p>=0))&&(K.insertBefore(U,S[Z+1]),x=!0));x||(K.insertBefore(U,S[se?3:0]),x=!0)}return x}}return C.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],C.prototype.strokeSetter=C.prototype.fillSetter,C.prototype.yGetter=C.prototype.xGetter,C.prototype.matrixSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.rotationSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.verticalAlignSetter=function(k,p){this[p]=k,this.doTransform=!0},C}),Le(V,"Core/Renderer/SVG/SVGLabel.js",[V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne){let{defined:re,extend:ve,isNumber:le,merge:pe,pick:ue,removeEvent:J}=ne;class te extends q{constructor(E,j,F,P,D,A,I,_,m,w){let G;super(E,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=j,this.x=F,this.y=P,this.anchorX=A,this.anchorY=I,this.baseline=m,this.className=w,this.addClass("button"===w?"highcharts-no-tooltip":"highcharts-label"),w&&this.addClass("highcharts-"+w),this.text=E.text(void 0,0,0,_).attr({zIndex:1}),"string"==typeof D&&((G=/^url\((.*?)\)$/.test(D))||this.renderer.symbols[D])&&(this.symbolKey=D),this.bBox=te.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=E.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(E){let j={left:0,center:.5,right:1}[E];j!==this.alignFactor&&(this.alignFactor=j,this.bBox&&le(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(E,j){this.anchorX=E,this.boxAttr(j,Math.round(E)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(E,j){this.anchorY=E,this.boxAttr(j,E-this.ySetting)}boxAttr(E,j){this.box?this.box.attr(E,j):this.deferredAttr[E]=j}css(E){if(E){let j={};E=pe(E),te.textProps.forEach(F=>{void 0!==E[F]&&(j[F]=E[F],delete E[F])}),this.text.css(j),"fontSize"in j||"fontWeight"in j?this.updateTextPadding():("width"in j||"textOverflow"in j)&&this.updateBoxSize()}return q.prototype.css.call(this,E)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),q.prototype.destroy.call(this)}fillSetter(E,j){E&&(this.needsBox=!0),this.fill=E,this.boxAttr(j,E)}getBBox(E,j){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:F,height:P=0,translateX:D=0,translateY:A=0,width:I=0}=this,_=ue(this.paddingLeft,F),m=j??(this.rotation||0),w={width:I,height:P,x:D+this.bBox.x-_,y:A+this.bBox.y-F+this.baselineOffset};return m&&(w=this.getRotatedBox(w,m)),w}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(E){this.heightSetting=E}onAdd(){this.text.add(this),this.attr({text:ue(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&re(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(E,j){le(E)?E!==this[j]&&(this[j]=E,this.updateTextPadding()):this[j]=void 0}rSetter(E,j){this.boxAttr(j,E)}strokeSetter(E,j){this.stroke=E,this.boxAttr(j,E)}"stroke-widthSetter"(E,j){E&&(this.needsBox=!0),this["stroke-width"]=E,this.boxAttr(j,E)}"text-alignSetter"(E){this.textAlign=E}textSetter(E){void 0!==E&&this.text.attr({text:E}),this.updateTextPadding()}updateBoxSize(){let E,j=this.text,F={},P=this.padding,D=this.bBox=le(this.widthSetting)&&le(this.heightSetting)&&!this.textAlign||!re(j.textStr)?te.emptyBBox:j.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||D.height||0)+2*P;let A=this.renderer.fontMetrics(j);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||A).b,D.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-A.h)/2),this.needsBox&&!j.textPath){if(!this.box){let I=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();I.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),I.add(this)}E=this.getCrispAdjust(),F.x=E,F.y=(this.baseline?-this.baselineOffset:0)+E,F.width=Math.round(this.width),F.height=Math.round(this.height),this.box.attr(ve(F,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let E=this.text;if(!E.textPath){this.updateBoxSize();let j=this.baseline?0:this.baselineOffset,F=ue(this.paddingLeft,this.padding);re(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(F+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(F!==E.x||j!==E.y)&&(E.attr("x",F),E.hasBoxWidthChanged&&(this.bBox=E.getBBox(!0)),void 0!==j&&E.attr("y",j)),E.x=F,E.y=j}}widthSetter(E){this.widthSetting=le(E)?E:void 0}getPaddedWidth(){let E=this.padding,j=ue(this.paddingLeft,E),F=ue(this.paddingRight,E);return(this.widthSetting||this.bBox.width||0)+j+F}xSetter(E){this.x=E,this.alignFactor&&(E-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(E),this.attr("translateX",this.xSetting)}ySetter(E){this.ySetting=this.y=Math.round(E),this.attr("translateY",this.ySetting)}}return te.emptyBBox={width:0,height:0,x:0,y:0},te.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],te}),Le(V,"Core/Renderer/SVG/Symbols.js",[V["Core/Utilities.js"]],function(q){let{defined:ne,isNumber:re,pick:ve}=q;function le(J,te,X,E,j){let F=[];if(j){let P=j.start||0,D=ve(j.r,X),A=ve(j.r,E||X),I=.001>Math.abs((j.end||0)-P-2*Math.PI),_=(j.end||0)-.001,m=j.innerR,w=ve(j.open,I),G=Math.cos(P),O=Math.sin(P),f=Math.cos(_),a=Math.sin(_),g=ve(j.longArc,_-P-Math.PI<.001?0:1),v=["A",D,A,0,g,ve(j.clockwise,1),J+D*f,te+A*a];v.params={start:P,end:_,cx:J,cy:te},F.push(["M",J+D*G,te+A*O],v),ne(m)&&((v=["A",m,m,0,g,ne(j.clockwise)?1-j.clockwise:0,J+m*G,te+m*O]).params={start:_,end:P,cx:J,cy:te},F.push(w?["M",J+m*f,te+m*a]:["L",J+m*f,te+m*a],v)),w||F.push(["Z"])}return F}function pe(J,te,X,E,j){return j&&j.r?ue(J,te,X,E,j):[["M",J,te],["L",J+X,te],["L",J+X,te+E],["L",J,te+E],["Z"]]}function ue(J,te,X,E,j){let F=j?.r||0;return[["M",J+F,te],["L",J+X-F,te],["A",F,F,0,0,1,J+X,te+F],["L",J+X,te+E-F],["A",F,F,0,0,1,J+X-F,te+E],["L",J+F,te+E],["A",F,F,0,0,1,J,te+E-F],["L",J,te+F],["A",F,F,0,0,1,J+F,te],["Z"]]}return{arc:le,callout:function(J,te,X,E,j){let F=Math.min(j&&j.r||0,X,E),P=F+6,D=j&&j.anchorX,A=j&&j.anchorY||0,I=ue(J,te,X,E,{r:F});if(!re(D)||D0&&A0)return I;if(J+D>X-P)if(A>te+P&&Ate+P&&A0){let _=AE&&DP&&I.splice(1,1,["L",D-6,te],["L",D,te-6],["L",D+6,te],["L",X-F,te]);return I},circle:function(J,te,X,E){return le(J+X/2,te+E/2,X/2,E/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E/2],["L",J+X/2,te+E],["L",J,te+E/2],["Z"]]},rect:pe,roundedRect:ue,square:pe,triangle:function(J,te,X,E){return[["M",J+X/2,te],["L",J+X,te+E],["L",J,te+E],["Z"]]},"triangle-down":function(J,te,X,E){return[["M",J,te],["L",J+X,te],["L",J+X/2,te+E],["Z"]]}}}),Le(V,"Core/Renderer/SVG/TextBuilder.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{doc:ve,SVG_NS:le,win:pe}=ne,{attr:ue,extend:J,fireEvent:te,isString:X,objectEach:E,pick:j}=re;return class{constructor(F){let P=F.styles;this.renderer=F.renderer,this.svgElement=F,this.width=F.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!(!P||"ellipsis"!==P.textOverflow),this.noWrap=!(!P||"nowrap"!==P.whiteSpace)}buildSVG(){let F=this.svgElement,P=F.element,D=F.renderer,A=j(F.textStr,"").toString(),I=-1!==A.indexOf("<"),_=P.childNodes,m=!F.added&&D.box,w=[A,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,F.getStyle("font-size"),this.width].join(",");if(w!==F.textCache){F.textCache=w,delete F.actualWidth;for(let G=_.length;G--;)P.removeChild(_[G]);if(I||this.ellipsis||this.width||F.textPath||-1!==A.indexOf(" ")&&(!this.noWrap||//g.test(A))){if(""!==A){m&&m.appendChild(P);let G=new q(A);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&-1!==(P.textContent||"").indexOf("\u2026")&&F.attr("title",this.unescapeEntities(F.textStr||"",["<",">"])),m&&m.removeChild(P)}}else P.appendChild(ve.createTextNode(this.unescapeEntities(A)));X(this.textOutline)&&F.applyTextOutline&&F.applyTextOutline(this.textOutline)}}modifyDOM(){let F,P=this.svgElement,D=ue(P.element,"x");for(P.firstLineMetrics=void 0;(F=P.element.firstChild)&&/^[\s\u200B]*$/.test(F.textContent||" ");)P.element.removeChild(F);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(m,w)=>{m.nextSibling&&m.previousSibling&&(0===w&&1===m.previousSibling.nodeType&&(P.firstLineMetrics=P.renderer.fontMetrics(m.previousSibling)),ue(m,{dy:this.getLineHeight(m.nextSibling),x:D}))});let A=this.width||0;if(!A)return;let I=(m,w)=>{let G=m.textContent||"",O=G.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(O.length>1||P.element.childNodes.length>1),a=this.getLineHeight(w),g=0,v=P.actualWidth;if(this.ellipsis)G&&this.truncate(m,G,void 0,0,Math.max(0,A-.8*a),(o,n)=>o.substring(0,n)+"\u2026");else if(f){let o=[],n=[];for(;w.firstChild&&w.firstChild!==m;)n.push(w.firstChild),w.removeChild(w.firstChild);for(;O.length;)O.length&&!this.noWrap&&g>0&&(o.push(m.textContent||""),m.textContent=O.join(" ").replace(/- /g,"-")),this.truncate(m,void 0,O,0===g&&v||0,A,(r,l)=>O.slice(0,l).join(" ").replace(/- /g,"-")),v=P.actualWidth,g++;n.forEach(r=>{w.insertBefore(r,m)}),o.forEach(r=>{w.insertBefore(ve.createTextNode(r),m);let l=ve.createElementNS(le,"tspan");l.textContent="\u200b",ue(l,{dy:a,x:D}),w.insertBefore(l,m)})}},_=m=>{[].slice.call(m.childNodes).forEach(w=>{w.nodeType===pe.Node.TEXT_NODE?I(w,m):(-1!==w.className.baseVal.indexOf("highcharts-br")&&(P.actualWidth=0),_(w))})};_(P.element)}getLineHeight(F){let P=F.nodeType===pe.Node.TEXT_NODE?F.parentElement:F;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(F){let P=(D,A)=>{let{attributes:I={},children:_,style:m={},tagName:w}=D,G=this.renderer.styledMode;if("b"===w||"strong"===w?G?I.class="highcharts-strong":m.fontWeight="bold":("i"===w||"em"===w)&&(G?I.class="highcharts-emphasized":m.fontStyle="italic"),m&&m.color&&(m.fill=m.color),"br"===w){I.class="highcharts-br",D.textContent="\u200b";let O=F[A+1];O&&O.textContent&&(O.textContent=O.textContent.replace(/^ +/gm,""))}else"a"===w&&_&&_.some(O=>"#text"===O.tagName)&&(D.children=[{children:_,tagName:"tspan"}]);"#text"!==w&&"a"!==w&&(D.tagName="tspan"),J(D,{attributes:I,style:m}),_&&_.filter(O=>"#text"!==O.tagName).forEach(P)};F.forEach(P),te(this.svgElement,"afterModifyTree",{nodes:F})}truncate(F,P,D,A,I,_){let m,w,G=this.svgElement,{rotation:O}=G,f=[],a=D?1:0,g=(P||D||"").length,v=g,o=function(n,r){let l=r||n,d=F.parentNode;if(d&&void 0===f[l]&&d.getSubStringLength)try{f[l]=A+d.getSubStringLength(0,D?l+1:l)}catch{}return f[l]};if(G.rotation=0,A+(w=o(F.textContent.length))>I){for(;a<=g;)v=Math.ceil((a+g)/2),D&&(m=_(D,v)),w=o(v,m&&m.length-1),a===g?a=g+1:w>I?g=v-1:a=v;0===g?F.textContent="":P&&g===P.length-1||(F.textContent=m||_(P||D,v))}D&&D.splice(0,v),G.actualWidth=w,G.rotation=O}unescapeEntities(F,P){return E(this.renderer.escapes,function(D,A){P&&-1!==P.indexOf(D)||(F=F.toString().replace(RegExp(D,"g"),A))}),F}}}),Le(V,"Core/Renderer/SVG/SVGRenderer.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGLabel.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Renderer/SVG/TextBuilder.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let X,{charts:E,deg2rad:j,doc:F,isFirefox:P,isMS:D,isWebKit:A,noop:I,SVG_NS:_,symbolSizes:m,win:w}=re,{addEvent:G,attr:O,createElement:f,css:a,defined:g,destroyObjectProperties:v,extend:o,isArray:n,isNumber:r,isObject:l,isString:d,merge:C,pick:k,pInt:p,replaceNested:T,uniqueKey:B}=te;class z{constructor(U,se,S,$,H,x,N){let R,Z,Y=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),he=Y.element;N||Y.css(this.getStyle($||{})),U.appendChild(he),O(U,"dir","ltr"),-1===U.innerHTML.indexOf("xmlns")&&O(he,"xmlns",this.SVG_NS),this.box=he,this.boxWrapper=Y,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 11.4.0")),this.defs=this.createElement("defs").add(),this.allowHTML=x,this.forExport=H,this.styledMode=N,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Y.getStyle("font-size"),this.setSize(se,S,!1),P&&U.getBoundingClientRect&&((R=function(){a(U,{left:0,top:0}),Z=U.getBoundingClientRect(),a(U,{left:Math.ceil(Z.left)-Z.left+"px",top:Math.ceil(Z.top)-Z.top+"px"})})(),this.unSubPixelFix=G(w,"resize",R))}definition(U){return new q([U]).addToDOM(this.defs.element)}getReferenceURL(){if((P||A)&&F.getElementsByTagName("base").length){if(!g(X)){let U=B(),se=new q([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:U},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${U})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(F.body);a(se,{position:"fixed",top:0,left:0,zIndex:9e5});let S=F.elementFromPoint(6,6);X="hitme"===(S&&S.id),F.body.removeChild(se)}if(X)return T(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(U){return this.style=o({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},U),this.style}setStyle(U){this.boxWrapper.css(this.getStyle(U))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let U=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),v(this.gradients||{}),this.gradients=null,this.defs=U.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(U){return new this.Element(this,U)}getRadialAttr(U,se){return{cx:U[0]-U[2]/2+(se.cx||0)*U[2],cy:U[1]-U[2]/2+(se.cy||0)*U[2],r:(se.r||0)*U[2]}}shadowDefinition(U){let se=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(U).map($=>`${$}-${U[$]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),S=C({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},U);return this.defs.element.querySelector(`#${se}`)||this.definition({tagName:"filter",attributes:{id:se,filterUnits:S.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:S.offsetX,dy:S.offsetY,"flood-color":S.color,"flood-opacity":Math.min(5*S.opacity,1),stdDeviation:S.width/2}}]}),se}buildText(U){new J(U).buildSVG()}getContrast(U){let se=ne.parse(U).rgba.map($=>{let H=$/255;return H<=.03928?H/12.92:Math.pow((H+.055)/1.055,2.4)}),S=.2126*se[0]+.7152*se[1]+.0722*se[2];return 1.05/(S+.05)>(S+.05)/.05?"#FFFFFF":"#000000"}button(U,se,S,$,H={},x,N,R,Z,Y){let he,ge,_e,Te=this.label(U,se,S,Z,void 0,void 0,Y,void 0,"button"),Oe=this.styledMode,De=H.states||{},Be=0;delete(H=C(H)).states;let oe=C({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},H.style);delete H.style;let ee=q.filterUserAttributes(H);return Te.attr(C({padding:8,r:2},ee)),Oe||(ee=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},ee),he=(x=C(ee,{fill:"#e6e6e6"},q.filterUserAttributes(x||De.hover||{}))).style,delete x.style,ge=(N=C(ee,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},q.filterUserAttributes(N||De.select||{}))).style,delete N.style,_e=(R=C(ee,{style:{color:"#cccccc"}},q.filterUserAttributes(R||De.disabled||{}))).style,delete R.style),G(Te.element,D?"mouseover":"mouseenter",function(){3!==Be&&Te.setState(1)}),G(Te.element,D?"mouseout":"mouseleave",function(){3!==Be&&Te.setState(Be)}),Te.setState=function(be){if(1!==be&&(Te.state=Be=be),Te.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][be||0]),!Oe){Te.attr([ee,x,N,R][be||0]);let xe=[oe,he,ge,_e][be||0];l(xe)&&Te.css(xe)}},!Oe&&(Te.attr(ee).css(o({cursor:"default"},oe)),Y&&Te.text.css({pointerEvents:"none"})),Te.on("touchstart",be=>be.stopPropagation()).on("click",function(be){3!==Be&&$.call(Te,be)})}crispLine(U,se,S="round"){let $=U[0],H=U[1];return g($[1])&&$[1]===H[1]&&($[1]=H[1]=Math[S]($[1])-se%2/2),g($[2])&&$[2]===H[2]&&($[2]=H[2]=Math[S]($[2])+se%2/2),U}path(U){let se=this.styledMode?{}:{fill:"none"};return n(U)?se.d=U:l(U)&&o(se,U),this.createElement("path").attr(se)}circle(U,se,S){let $=l(U)?U:void 0===U?{}:{x:U,y:se,r:S},H=this.createElement("circle");return H.xSetter=H.ySetter=function(x,N,R){R.setAttribute("c"+N,x)},H.attr($)}arc(U,se,S,$,H,x){let N;l(U)?(se=(N=U).y,S=N.r,$=N.innerR,H=N.start,x=N.end,U=N.x):N={innerR:$,start:H,end:x};let R=this.symbol("arc",U,se,S,S,N);return R.r=S,R}rect(U,se,S,$,H,x){let N=l(U)?U:void 0===U?{}:{x:U,y:se,r:H,width:Math.max(S||0,0),height:Math.max($||0,0)},R=this.createElement("rect");return this.styledMode||(void 0!==x&&(N["stroke-width"]=x,o(N,R.crisp(N))),N.fill="none"),R.rSetter=function(Z,Y,he){R.r=Z,O(he,{rx:Z,ry:Z})},R.rGetter=function(){return R.r||0},R.attr(N)}roundedRect(U){return this.symbol("roundedRect").attr(U)}setSize(U,se,S){this.width=U,this.height=se,this.boxWrapper.animate({width:U,height:se},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:k(S,!0)?void 0:0}),this.alignElements()}g(U){let se=this.createElement("g");return U?se.attr({class:"highcharts-"+U}):se}image(U,se,S,$,H,x){let N={preserveAspectRatio:"none"};r(se)&&(N.x=se),r(S)&&(N.y=S),r($)&&(N.width=$),r(H)&&(N.height=H);let R=this.createElement("image").attr(N),Z=function(Y){R.attr({href:U}),x.call(R,Y)};if(x){R.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Y=new w.Image;G(Y,"load",Z),Y.src=U,Y.complete&&Z({})}else R.attr({href:U});return R}symbol(U,se,S,$,H,x){let N,R,Z,Y,he=this,ge=/^url\((.*?)\)$/,_e=ge.test(U),Te=!_e&&(this.symbols[U]?U:"circle"),Oe=Te&&this.symbols[Te];if(Oe)"number"==typeof se&&(R=Oe.call(this.symbols,Math.round(se||0),Math.round(S||0),$||0,H||0,x)),N=this.path(R),he.styledMode||N.attr("fill","none"),o(N,{symbolName:Te||void 0,x:se,y:S,width:$,height:H}),x&&o(N,x);else if(_e){Z=U.match(ge)[1];let De=N=this.image(Z);De.imgwidth=k(x&&x.width,m[Z]&&m[Z].width),De.imgheight=k(x&&x.height,m[Z]&&m[Z].height),Y=Be=>Be.attr({width:Be.width,height:Be.height}),["width","height"].forEach(Be=>{De[`${Be}Setter`]=function(oe,ee){this[ee]=oe;let{alignByTranslate:be,element:xe,width:Ie,height:we,imgwidth:Ee,imgheight:Me}=this,Xe="width"===ee?Ee:Me,Je=1;x&&"within"===x.backgroundSize&&Ie&&we&&Ee&&Me?(Je=Math.min(Ie/Ee,we/Me),O(xe,{width:Math.round(Ee*Je),height:Math.round(Me*Je)})):xe&&Xe&&xe.setAttribute(ee,Xe),!be&&Ee&&Me&&this.translate(((Ie||0)-Ee*Je)/2,((we||0)-Me*Je)/2)}}),g(se)&&De.attr({x:se,y:S}),De.isImg=!0,g(De.imgwidth)&&g(De.imgheight)?Y(De):(De.attr({width:0,height:0}),f("img",{onload:function(){let Be=E[he.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),F.body.appendChild(this)),m[Z]={width:this.width,height:this.height},De.imgwidth=this.width,De.imgheight=this.height,De.element&&Y(De),this.parentNode&&this.parentNode.removeChild(this),he.imgCount--,he.imgCount||!Be||Be.hasLoaded||Be.onload()},src:Z}),this.imgCount++)}return N}clipRect(U,se,S,$){return this.rect(U,se,S,$,0)}text(U,se,S,$){let H={};if($&&(this.allowHTML||!this.forExport))return this.html(U,se,S);H.x=Math.round(se||0),S&&(H.y=Math.round(S)),g(U)&&(H.text=U);let x=this.createElement("text").attr(H);return $&&(!this.forExport||this.allowHTML)||(x.xSetter=function(N,R,Z){let Y=Z.getElementsByTagName("tspan"),he=Z.getAttribute(R);for(let _e,ge=0;geU.align())}}return o(z.prototype,{Element:le,SVG_NS:_,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ue,draw:I}),ve.registerRendererType("svg",z,!0),z}),Le(V,"Core/Renderer/HTML/HTMLElement.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Globals.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{composed:le}=ne,{attr:pe,css:ue,createElement:J,defined:te,extend:X,pInt:E,pushUnique:j}=ve;function F(I,_,m){let w=this.div?.style||m.style;re.prototype[`${_}Setter`].call(this,I,_,m),w&&(w[_]=I)}let P=(I,_)=>{if(!I.div){let m=pe(I.element,"class"),w=I.css,G=J("div",m?{className:m}:void 0,{position:"absolute",left:`${I.translateX||0}px`,top:`${I.translateY||0}px`,...I.styles,display:I.display,opacity:I.opacity,visibility:I.visibility},I.parentGroup?.div||_);I.classSetter=(O,f,a)=>{a.setAttribute("class",O),G.className=O},I.translateXSetter=I.translateYSetter=(O,f)=>{I[f]=O,G.style["translateX"===f?"left":"top"]=`${O}px`,I.doTransform=!0},I.opacitySetter=I.visibilitySetter=F,I.css=O=>(w.call(I,O),O.cursor&&(G.style.cursor=O.cursor),O.pointerEvents&&(G.style.pointerEvents=O.pointerEvents),I),I.on=function(){return re.prototype.on.apply({element:G,onEvents:I.onEvents},arguments),I},I.div=G}return I.div};class D extends re{static compose(_){j(le,this.compose)&&(_.prototype.html=function(m,w,G){return new D(this,"span").attr({text:m,x:Math.round(w),y:Math.round(G)})})}constructor(_,m){super(_,m),this.css({position:"absolute",..._.styledMode?{}:{fontFamily:_.style.fontFamily,fontSize:_.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(_,m,w){this.xCorr=-_*w,this.yCorr=-m}css(_){let m,{element:w}=this,G="SPAN"===w.tagName&&_&&"width"in _,O=G&&_.width;return G&&(delete _.width,this.textWidth=E(O)||void 0,m=!0),"ellipsis"===_?.textOverflow&&(_.whiteSpace="nowrap",_.overflow="hidden"),X(this.styles,_),ue(w,_),m&&this.updateTransform(),this}htmlGetBBox(){let{element:_}=this;return{x:_.offsetLeft,y:_.offsetTop,width:_.offsetWidth,height:_.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:_,renderer:m,rotation:w,rotationOriginX:G,rotationOriginY:O,styles:f,textAlign:a="left",textWidth:g,translateX:v=0,translateY:o=0,x:n=0,y:r=0}=this,l=f.whiteSpace;if(ue(_,{marginLeft:`${v}px`,marginTop:`${o}px`}),"SPAN"===_.tagName){let k,d=[w,a,_.innerHTML,g,this.textAlign].join(","),C=-1*this.parentGroup?.padding||0,p=!1;if(g!==this.oldTextWidth){let U=this.textPxLength?this.textPxLength:(ue(_,{width:"",whiteSpace:l||"nowrap"}),_.offsetWidth),se=g||0;(se>this.oldTextWidth||U>se)&&(/[ \-]/.test(_.textContent||_.innerText)||"ellipsis"===_.style.textOverflow)&&(ue(_,{width:U>se||w?g+"px":"auto",display:"block",whiteSpace:l||"normal"}),this.oldTextWidth=g,p=!0)}this.hasBoxWidthChanged=p,d!==this.cTT&&(k=m.fontMetrics(_).b,te(w)&&(w!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(w,C,C),this.getSpanCorrection(!te(w)&&this.textPxLength||_.offsetWidth,k,{left:0,center:.5,right:1}[a]));let{xCorr:T=0,yCorr:B=0}=this;ue(_,{left:`${n+T}px`,top:`${r+B}px`,transformOrigin:`${(G??n)-T-n-C}px ${(O??r)-B-r-C}px`}),this.cTT=d,this.oldRotation=w,this.oldAlign=a}}setSpanRotation(_,m,w){ue(this.element,{transform:`rotate(${_}deg)`,transformOrigin:`${m}% ${w}px`})}add(_){let m,w=this.renderer.box.parentNode,G=[];if(this.parentGroup=_,_&&!(m=_.div)){let O=_;for(;O;)G.push(O),O=O.parentGroup;for(let f of G.reverse())m=P(f,w)}return(m||w).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(_){_!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,q.setElementHTML(this.element,_??""),this.textStr=_,this.doTransform=!0)}alignSetter(_){this.alignValue=this.textAlign=_,this.doTransform=!0}xSetter(_,m){this[m]=_,this.doTransform=!0}}let A=D.prototype;return A.visibilitySetter=A.opacitySetter=F,A.ySetter=A.rotationSetter=A.rotationOriginXSetter=A.rotationOriginYSetter=A.xSetter,D}),Le(V,"Core/Axis/AxisDefaults.js",[],function(){var q,ne;return(ne=q||(q={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ne.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:re}=this.axis.chart;return re(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},q}),Le(V,"Core/Foundation.js",[V["Core/Utilities.js"]],function(q){var ne;let{addEvent:re,isFunction:ve,objectEach:le,removeEvent:pe}=q;return(ne||(ne={})).registerEventOptions=function(ue,J){ue.eventOptions=ue.eventOptions||{},le(J.events,function(te,X){ue.eventOptions[X]!==te&&(ue.eventOptions[X]&&(pe(ue,X,ue.eventOptions[X]),delete ue.eventOptions[X]),ve(te)&&(ue.eventOptions[X]=te,re(ue,X,te,{order:0})))})},ne}),Le(V,"Core/Axis/Tick.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{deg2rad:ve}=ne,{clamp:le,correctFloat:pe,defined:ue,destroyObjectProperties:J,extend:te,fireEvent:X,isNumber:E,merge:j,objectEach:F,pick:P}=re;return class{constructor(D,A,I,_,m){this.isNew=!0,this.isNewLabel=!0,this.axis=D,this.pos=A,this.type=I||"",this.parameters=m||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,X(this,"init"),I||_||this.addLabel()}addLabel(){let l,d,C,D=this,A=D.axis,I=A.options,_=A.chart,m=A.categories,w=A.logarithmic,G=A.names,O=D.pos,f=P(D.options&&D.options.labels,I.labels),a=A.tickPositions,g=O===a[0],v=O===a[a.length-1],o=(!f.step||1===f.step)&&1===A.tickInterval,n=a.info,r=D.label,k=this.parameters.category||(m?P(m[O],G[O],O):O);w&&E(k)&&(k=pe(w.lin2log(k))),A.dateTime&&(n?l=(d=_.time.resolveDTLFormat(I.dateTimeLabelFormats[!I.grid&&n.higherRanks[O]||n.unitName])).main:E(k)&&(l=A.dateTime.getXDateFormat(k,I.dateTimeLabelFormats||{}))),D.isFirst=g,D.isLast=v;let p={axis:A,chart:_,dateTimeLabelFormat:l,isFirst:g,isLast:v,pos:O,tick:D,tickPositionInfo:n,value:k};X(this,"labelFormat",p);let T=K=>f.formatter?f.formatter.call(K,K):f.format?(K.text=A.defaultLabelFormatter.call(K),q.format(f.format,K,_)):A.defaultLabelFormatter.call(K),B=T.call(p,p),z=d&&d.list;D.shortenLabel=z?function(){for(C=0;C0&&_+g*v>O&&(k=Math.round((m-_)/Math.cos(a*ve))):(d=_-g*v,C=_+(1-g)*v,dO&&(r=O-D.x+r*g,l=-1),(r=Math.min(o,r))r||A.autoRotation&&(f.styles||{}).width)&&(k=r)),k&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(k)+"px",(I.style||{}).textOverflow||(n.textOverflow="ellipsis"),f.css(n)))}moveLabel(D,A){let G,I=this,_=I.label,m=I.axis,w=!1;_&&_.textStr===D?(I.movedLabel=_,w=!0,delete I.label):F(m.ticks,function(O){w||O.isNew||O===I||!O.label||O.label.textStr!==D||(I.movedLabel=O.label,w=!0,O.labelPos=I.movedLabel.xy,delete O.label)}),!w&&(I.labelPos||_)&&(G=I.labelPos||_.xy,I.movedLabel=I.createLabel(D,A,G),I.movedLabel&&I.movedLabel.attr({opacity:0}))}render(D,A,I){let _=this.axis,m=_.horiz,w=this.pos,G=P(this.tickmarkOffset,_.tickmarkOffset),O=this.getPosition(m,w,G,A),f=O.x,a=O.y,g=_.pos,v=g+_.len,o=m&&f===v||!m&&a===g?-1:1,n=m?f:a;!_.chart.polar&&this.isNew&&(pe(n)v)&&(I=0);let r=P(I,this.label&&this.label.newOpacity,1);I=P(I,1),this.isActive=!0,this.renderGridLine(A,I,o),this.renderMark(O,I,o),this.renderLabel(O,A,r,D),this.isNew=!1,X(this,"afterRender")}renderGridLine(D,A,I){let v,_=this.axis,m=_.options,w={},G=this.pos,O=this.type,f=P(this.tickmarkOffset,_.tickmarkOffset),a=_.chart.renderer,g=this.gridLine,o=m.gridLineWidth,n=m.gridLineColor,r=m.gridLineDashStyle;"minor"===this.type&&(o=m.minorGridLineWidth,n=m.minorGridLineColor,r=m.minorGridLineDashStyle),g||(_.chart.styledMode||(w.stroke=n,w["stroke-width"]=o||0,w.dashstyle=r),O||(w.zIndex=1),D&&(A=0),this.gridLine=g=a.path().attr(w).addClass("highcharts-"+(O?O+"-":"")+"grid-line").add(_.gridGroup)),g&&(v=_.getPlotLinePath({value:G+f,lineWidth:g.strokeWidth()*I,force:"pass",old:D,acrossPanes:!1}))&&g[D||this.isNew?"attr":"animate"]({d:v,opacity:A})}renderMark(D,A,I){let _=this.axis,m=_.options,w=_.chart.renderer,G=this.type,O=_.tickSize(G?G+"Tick":"tick"),f=D.x,a=D.y,g=P(m["minor"!==G?"tickWidth":"minorTickWidth"],!G&&_.isXAxis?1:0),v=m["minor"!==G?"tickColor":"minorTickColor"],o=this.mark,n=!o;O&&(_.opposite&&(O[0]=-O[0]),o||(this.mark=o=w.path().addClass("highcharts-"+(G?G+"-":"")+"tick").add(_.axisGroup),_.chart.styledMode||o.attr({stroke:v,"stroke-width":g})),o[n?"attr":"animate"]({d:this.getMarkPath(f,a,O[0],o.strokeWidth()*I,_.horiz,w),opacity:A}))}renderLabel(D,A,I,_){let m=this.axis,w=m.horiz,G=m.options,O=this.label,f=G.labels,a=f.step,g=P(this.tickmarkOffset,m.tickmarkOffset),v=D.x,o=D.y,n=!0;O&&E(v)&&(O.xy=D=this.getLabelPosition(v,o,O,w,f,g,_,a),this.isFirst&&!this.isLast&&!G.showFirstLabel||this.isLast&&!this.isFirst&&!G.showLastLabel?n=!1:!w||f.step||f.rotation||A||0===I||this.handleOverflow(D),a&&_%a&&(n=!1),n&&E(D.y)?(D.opacity=I,O[this.isNewLabel?"attr":"animate"](D).show(!0),this.isNewLabel=!1):(O.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let D=this.label,A=this.axis;D&&!this.isNew&&(D.animate({opacity:0},void 0,D.destroy),delete this.label),A.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),Le(V,"Core/Axis/Axis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/AxisDefaults.js"],V["Core/Color/Color.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Axis/Tick.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{animObject:te}=q,{xAxis:X,yAxis:E}=ne,{defaultOptions:j}=ve,{registerEventOptions:F}=le,{deg2rad:P}=pe,{arrayMax:D,arrayMin:A,clamp:I,correctFloat:_,defined:m,destroyObjectProperties:w,erase:G,error:O,extend:f,fireEvent:a,getClosestDistance:g,insertItem:v,isArray:o,isNumber:n,isString:r,merge:l,normalizeTickInterval:d,objectEach:C,pick:k,relativeLength:p,removeEvent:T,splat:B,syncTimeout:z}=J,K=(se,S)=>d(S,void 0,void 0,k(se.options.allowDecimals,S<.5||void 0!==se.tickAmount),!!se.tickAmount);f(j,{xAxis:X,yAxis:l(X,E)});class U{constructor(S,$,H){this.init(S,$,H)}init(S,$,H=this.coll){let x="xAxis"===H,N=this.isZAxis||(S.inverted?!x:x);this.chart=S,this.horiz=N,this.isXAxis=x,this.coll=H,a(this,"init",{userOptions:$}),this.opposite=k($.opposite,this.opposite),this.side=k($.side,this.side,N?this.opposite?0:2:this.opposite?1:3),this.setOptions($);let R=this.options,Z=R.labels,Y=R.type;this.userOptions=$,this.minPixelPadding=0,this.reversed=k(R.reversed,this.reversed),this.visible=R.visible,this.zoomEnabled=R.zoomEnabled,this.hasNames="category"===Y||!0===R.categories,this.categories=o(R.categories)&&R.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=m(R.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=R.minRange||R.maxZoom,this.range=R.range,this.offset=R.offset||0,this.max=void 0,this.min=void 0;let he=k(R.crosshair,B(S.options.tooltip.crosshairs)[x?0:1]);this.crosshair=!0===he?{}:he,-1===S.axes.indexOf(this)&&(x?S.axes.splice(S.xAxis.length,0,this):S.axes.push(this),v(this,S[this.coll])),S.orderItems(this.coll),this.series=this.series||[],S.inverted&&!this.isZAxis&&x&&!m(this.reversed)&&(this.reversed=!0),this.labelRotation=n(Z.rotation)?Z.rotation:void 0,F(this,R),a(this,"afterInit")}setOptions(S){this.options=l(this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}},j[this.coll],S),a(this,"afterSetOptions",{userOptions:S})}defaultLabelFormatter(){let Te,Oe,S=this.axis,{numberFormatter:$}=this.chart,H=n(this.value)?this.value:NaN,x=S.chart.time,N=S.categories,R=this.dateTimeLabelFormat,Z=j.lang,Y=Z.numericSymbols,he=Z.numericSymbolMagnitude||1e3,ge=S.logarithmic?Math.abs(H):S.tickInterval,_e=Y&&Y.length;if(N)Oe=`${this.value}`;else if(R)Oe=x.dateFormat(R,H);else if(_e&&Y&&ge>=1e3)for(;_e--&&void 0===Oe;)ge>=(Te=Math.pow(he,_e+1))&&10*H%Te==0&&null!==Y[_e]&&0!==H&&(Oe=$(H/Te,-1)+Y[_e]);return void 0===Oe&&(Oe=Math.abs(H)>=1e4?$(H,-1):$(H,-1,void 0,"")),Oe}getSeriesExtremes(){let S,$=this;a(this,"getSeriesExtremes",null,function(){$.hasVisibleSeries=!1,$.dataMin=$.dataMax=$.threshold=void 0,$.softThreshold=!$.isXAxis,$.series.forEach(H=>{if(H.reserveSpace()){let N,Z,Y,x=H.options,R=x.threshold;if($.hasVisibleSeries=!0,$.positiveValuesOnly&&0>=(R||0)&&(R=void 0),$.isXAxis)(N=H.xData)&&N.length&&(N=$.logarithmic?N.filter(he=>he>0):N,Z=(S=H.getXExtremes(N)).min,Y=S.max,n(Z)||Z instanceof Date||(N=N.filter(n),Z=(S=H.getXExtremes(N)).min,Y=S.max),N.length&&($.dataMin=Math.min(k($.dataMin,Z),Z),$.dataMax=Math.max(k($.dataMax,Y),Y)));else{let he=H.applyExtremes();n(he.dataMin)&&(Z=he.dataMin,$.dataMin=Math.min(k($.dataMin,Z),Z)),n(he.dataMax)&&(Y=he.dataMax,$.dataMax=Math.max(k($.dataMax,Y),Y)),m(R)&&($.threshold=R),(!x.softThreshold||$.positiveValuesOnly)&&($.softThreshold=!1)}}})}),a(this,"afterGetSeriesExtremes")}translate(S,$,H,x,N,R){let Z=this.linkedParent||this,Y=x&&Z.old?Z.old.min:Z.min;if(!n(Y))return NaN;let he=Z.minPixelPadding,ge=(Z.isOrdinal||Z.brokenAxis?.hasBreaks||Z.logarithmic&&N)&&Z.lin2val,_e=1,Te=0,Oe=x&&Z.old?Z.old.transA:Z.transA,De=0;if(Oe||(Oe=Z.transA),H&&(_e*=-1,Te=Z.len),Z.reversed&&(_e*=-1,Te-=_e*(Z.sector||Z.len)),$)De=(S=S*_e+Te-he)/Oe+Y,ge&&(De=Z.lin2val(De));else{ge&&(S=Z.val2lin(S));let Be=_e*(S-Y)*Oe;De=(Z.isRadial?Be:_(Be))+Te+_e*he+(n(R)?Oe*R:0)}return De}toPixels(S,$){return this.translate(S,!1,!this.horiz,void 0,!0)+($?0:this.pos)}toValue(S,$){return this.translate(S-($?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(S){let De,Be,oe,ee,be,$=this,H=$.chart,x=$.left,N=$.top,R=S.old,Z=S.value,Y=S.lineWidth,he=R&&H.oldChartHeight||H.chartHeight,ge=R&&H.oldChartWidth||H.chartWidth,_e=$.transB,Te=S.translatedValue,Oe=S.force;function xe(we,Ee,Me){return"pass"!==Oe&&(weMe)&&(Oe?we=I(we,Ee,Me):be=!0),we}let Ie={value:Z,lineWidth:Y,old:R,force:Oe,acrossPanes:S.acrossPanes,translatedValue:Te};return a(this,"getPlotLinePath",Ie,function(we){De=oe=Math.round((Te=I(Te=k(Te,$.translate(Z,void 0,void 0,R)),-1e5,1e5))+_e),Be=ee=Math.round(he-Te-_e),n(Te)?$.horiz?(Be=N,ee=he-$.bottom+(H.scrollablePixelsY||0),De=oe=xe(De,x,x+$.width)):(De=x,oe=ge-$.right+(H.scrollablePixelsX||0),Be=ee=xe(Be,N,N+$.height)):(be=!0,Oe=!1),we.path=be&&!Oe?void 0:H.renderer.crispLine([["M",De,Be],["L",oe,ee]],Y||1)}),Ie.path}getLinearTickPositions(S,$,H){let x,N,R,Z=_(Math.floor($/S)*S),Y=_(Math.ceil(H/S)*S),he=[];if(_(Z+S)===Z&&(R=20),this.single)return[$];for(x=Z;x<=Y&&(he.push(x),(x=_(x+S,R))!==N);)N=x;return he}getMinorTickInterval(){let{minorTicks:S,minorTickInterval:$}=this.options;return!0===S?k($,"auto"):!1!==S?$:void 0}getMinorTickPositions(){let he,S=this.options,$=this.tickPositions,H=this.minorTickInterval,x=this.pointRangePadding||0,N=(this.min||0)-x,R=(this.max||0)+x,Z=R-N,Y=[];if(Z&&Z/H(ge.xIncrement?ge.xData?.slice(0,2):ge.xData)||[]))||0),this.dataMax-this.dataMin)),n(H)&&n(x)&&n(N)&&H-x=N,R=(N-H+x)/2,Y=[x-R,k(S.min,x-R)],Z&&(Y[2]=$?$.log2lin(this.dataMin):this.dataMin),he=[(x=D(Y))+N,k(S.max,x+N)],Z&&(he[2]=$?$.log2lin(this.dataMax):this.dataMax),(H=A(he))-xx-N),S=g([H]))}return S&&$?Math.min(S,$):S||$}nameToX(S){let N,$=o(this.options.categories),H=$?this.categories:this.names,x=S.options.x;return S.series.requireSorting=!1,m(x)||(x=this.options.uniqueNames&&H?$?H.indexOf(S.name):k(H.keys[S.name],-1):S.series.autoIncrement()),-1===x?!$&&H&&(N=H.length):N=x,void 0!==N?(this.names[N]=S.name,this.names.keys[S.name]=N):S.x&&(N=S.x),N}updateNames(){let S=this,$=this.names;$.length>0&&(Object.keys($.keys).forEach(function(H){delete $.keys[H]}),$.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(H=>{H.xIncrement=null,(!H.points||H.isDirtyData)&&(S.max=Math.max(S.max,H.xData.length-1),H.processData(),H.generatePoints()),H.data.forEach(function(x,N){let R;x?.options&&void 0!==x.name&&void 0!==(R=S.nameToX(x))&&R!==x.x&&(x.x=R,H.xData[N]=R)})}))}setAxisTranslation(){let Z,ge,S=this,$=S.max-S.min,H=S.linkedParent,x=!!S.categories,N=S.isXAxis,R=S.axisPointRange||0,Y=0,he=0,_e=S.transA;(N||x||R)&&(Z=S.getClosest(),H?(Y=H.minPointOffset,he=H.pointRangePadding):S.series.forEach(function(Te){let Oe=x?1:N?k(Te.options.pointRange,Z,0):S.axisPointRange||0,De=Te.options.pointPlacement;if(R=Math.max(R,Oe),!S.single||x){let Be=Te.is("xrange")?!N:N;Y=Math.max(Y,Be&&r(De)?0:Oe/2),he=Math.max(he,Be&&"on"===De?0:Oe)}}),ge=S.ordinal&&S.ordinal.slope&&Z?S.ordinal.slope/Z:1,S.minPointOffset=Y*=ge,S.pointRangePadding=he*=ge,S.pointRange=Math.min(R,S.single&&x?1:$),N&&Z&&(S.closestPointRange=Z)),S.translationSlope=S.transA=_e=S.staticScale||S.len/($+he||1),S.transB=S.horiz?S.left:S.bottom,S.minPixelPadding=_e*Y,a(this,"afterSetAxisTranslation")}minFromRange(){let{max:S,min:$}=this;return n(S)&&n($)&&S-$||void 0}setTickInterval(S){let Me,Je,lt,qe,st,{categories:$,chart:H,dataMax:x,dataMin:N,dateTime:R,isXAxis:Z,logarithmic:Y,options:he,softThreshold:ge}=this,_e=n(this.threshold)?this.threshold:void 0,Te=this.minRange||0,{ceiling:Oe,floor:De,linkedTo:Be,softMax:oe,softMin:ee}=he,be=n(Be)&&H[this.coll]?.[Be],xe=he.tickPixelInterval,Ie=he.maxPadding,we=he.minPadding,Ee=0,Xe=n(he.tickInterval)&&he.tickInterval>=0?he.tickInterval:void 0;if(R||$||be||this.getTickAmount(),qe=k(this.userMin,he.min),st=k(this.userMax,he.max),be?(this.linkedParent=be,Me=be.getExtremes(),this.min=k(Me.min,Me.dataMin),this.max=k(Me.max,Me.dataMax),he.type!==be.options.type&&O(11,!0,H)):(ge&&m(_e)&&n(x)&&n(N)&&(N>=_e?(Je=_e,we=0):x<=_e&&(lt=_e,Ie=0)),this.min=k(qe,Je,N),this.max=k(st,lt,x)),n(this.max)&&n(this.min)&&(Y&&(this.positiveValuesOnly&&!S&&0>=Math.min(this.min,k(N,this.min))&&O(10,!0,H),this.min=_(Y.log2lin(this.min),16),this.max=_(Y.log2lin(this.max),16)),this.range&&n(N)&&(this.userMin=this.min=qe=Math.max(N,this.minFromRange()||0),this.userMax=st=this.max,this.range=void 0)),a(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(ee)&&eethis.max&&(this.max=st=oe),$||this.axisPointRange||this.stacking?.usePercentage||be||!(Ee=this.max-this.min)||(!m(qe)&&we&&(this.min-=Ee*we),m(st)||!Ie||(this.max+=Ee*Ie)),!n(this.userMin)&&n(De)&&(this.min=Math.max(this.min,De)),!n(this.userMax)&&n(Oe)&&(this.max=Math.min(this.max,Oe)),ge&&n(N)&&n(x)){let pt=_e||0;!m(qe)&&this.min=pt?this.min=he.minRange?Math.min(pt,this.max-Te):pt:!m(st)&&this.max>pt&&x<=pt&&(this.max=he.minRange?Math.max(pt,this.min+Te):pt)}!H.polar&&this.min>this.max&&(m(he.min)?this.max=this.min:m(he.max)&&(this.min=this.max)),Ee=this.max-this.min}if(this.tickInterval=this.min!==this.max&&n(this.min)&&n(this.max)?be&&!Xe&&xe===be.options.tickPixelInterval?Xe=be.tickInterval:k(Xe,this.tickAmount?Ee/Math.max(this.tickAmount-1,1):void 0,$?1:Ee*xe/Math.max(this.len,xe)):1,Z&&!S){let pt=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ht){ht.forceCrop=ht.forceCropping?.(),ht.processData(pt)}),a(this,"postProcessData",{hasExtremesChanged:pt})}this.setAxisTranslation(),a(this,"initialAxisTranslation"),this.pointRange&&!Xe&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Tt=k(he.minTickInterval,R&&!this.series.some(pt=>pt.noSharedTooltip)?this.closestPointRange:0);!Xe&&this.tickIntervalMath.max(2*this.len,200))Y=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)Y=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,S.units),this.min,this.max,S.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)Y=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let ge=this.tickInterval,_e=ge;for(;_e<=2*ge&&(Y=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&Y.length>this.tickAmount);)this.tickInterval=K(this,_e*=1.1)}Y.length>this.len&&(Y=[Y[0],Y[Y.length-1]])[0]===Y[1]&&(Y.length=1),H&&(this.tickPositions=Y,(he=H.apply(this,[this.min,this.max]))&&(Y=he))}this.tickPositions=Y,this.paddedTicks=Y.slice(0),this.trimTicks(Y,R,Z),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&Y.length<2&&!this.categories&&!this.series.some(ge=>ge.is("heatmap")&&"between"===ge.options.pointPlacement)&&(this.min-=.5,this.max+=.5),$||he||this.adjustTickAmount()),a(this,"afterSetTickPositions")}trimTicks(S,$,H){let x=S[0],N=S[S.length-1],R=!this.isOrdinal&&this.minPointOffset||0;if(a(this,"trimTicks"),!this.isLinked){if($&&x!==-1/0)this.min=x;else for(;this.min-R>S[0];)S.shift();if(H)this.max=N;else for(;this.max+R{let{horiz:Te,options:Oe}=_e;return[Te?Oe.left:Oe.top,Oe.width,Oe.height,Oe.pane].join(",")},ge=he(this);H[this.coll].forEach(function(_e){let{series:Te}=_e;Te.length&&Te.some(Oe=>Oe.visible)&&_e!==$&&he(_e)===ge&&(S=!0,x.push(_e))})}if(S&&Z){x.forEach(ge=>{let _e=ge.getThresholdAlignment($);n(_e)&&Y.push(_e)});let he=Y.length>1?Y.reduce((ge,_e)=>ge+_e,0)/Y.length:void 0;x.forEach(ge=>{ge.thresholdAlignment=he})}return S}getThresholdAlignment(S){if((!n(this.dataMin)||this!==S&&this.series.some($=>$.isDirty||$.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let $=I((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&($=1-$),$}}getTickAmount(){let S=this.options,$=S.tickPixelInterval,H=S.tickAmount;m(S.tickInterval)||H||!(this.len<$)||this.isRadial||this.logarithmic||!S.startOnTick||!S.endOnTick||(H=2),!H&&this.alignToOthers()&&(H=Math.ceil(this.len/$)+1),H<4&&(this.finalTickAmt=H,H=5),this.tickAmount=H}adjustTickAmount(){let _e,Te,De,S=this,{finalTickAmt:$,max:H,min:x,options:N,tickPositions:R,tickAmount:Z,thresholdAlignment:Y}=S,he=R?.length,ge=k(S.threshold,S.softThreshold?0:null),Oe=S.tickInterval,Be=()=>R.push(_(R[R.length-1]+Oe)),oe=()=>R.unshift(_(R[0]-Oe));if(n(Y)&&(De=Y<.5?Math.ceil(Y*(Z-1)):Math.floor(Y*(Z-1)),N.reversed&&(De=Z-1-De)),S.hasData()&&n(x)&&n(H)){let ee=()=>{S.transA*=(he-1)/(Z-1),S.min=N.startOnTick?R[0]:Math.min(x,R[0]),S.max=N.endOnTick?R[R.length-1]:Math.max(H,R[R.length-1])};if(n(De)&&n(S.threshold)){for(;R[De]!==ge||R.length!==Z||R[0]>x||R[R.length-1]S.threshold?oe():Be();if(Oe>8*S.tickInterval)break;Oe*=2}ee()}else if(he0&&Te<_e-1)&&R.splice(Te,1);S.finalTickAmt=void 0}}}setScale(){let{coll:S,stacking:$}=this,H=!1,x=!1;this.series.forEach(R=>{H=H||R.isDirtyData||R.isDirty,x=x||R.xAxis&&R.xAxis.isDirty||!1}),this.setAxisSize();let N=this.len!==(this.old&&this.old.len);N||H||x||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?($&&"yAxis"===S&&$.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),$&&"xAxis"===S&&$.buildStacks(),this.isDirty||(this.isDirty=N||this.min!==this.old?.min||this.max!==this.old?.max)):$&&$.cleanStacks(),H&&delete this.allExtremes,a(this,"afterSetScale")}setExtremes(S,$,H=!0,x,N){this.series.forEach(R=>{delete R.kdTree}),a(this,"setExtremes",N=f(N,{min:S,max:$}),R=>{this.userMin=R.min,this.userMax=R.max,this.eventArgs=R,H&&this.chart.redraw(x)})}setAxisSize(){let S=this.chart,$=this.options,H=$.offsets||[0,0,0,0],x=this.horiz,N=this.width=Math.round(p(k($.width,S.plotWidth-H[3]+H[1]),S.plotWidth)),R=this.height=Math.round(p(k($.height,S.plotHeight-H[0]+H[2]),S.plotHeight)),Z=this.top=Math.round(p(k($.top,S.plotTop+H[0]),S.plotHeight,S.plotTop)),Y=this.left=Math.round(p(k($.left,S.plotLeft+H[3]),S.plotWidth,S.plotLeft));this.bottom=S.chartHeight-R-Z,this.right=S.chartWidth-N-Y,this.len=Math.max(x?N:R,0),this.pos=x?Y:Z}getExtremes(){let S=this.logarithmic;return{min:S?_(S.lin2log(this.min)):this.min,max:S?_(S.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(S){let $=this.logarithmic,H=$?$.lin2log(this.min):this.min,x=$?$.lin2log(this.max):this.max;return null===S||S===-1/0?S=H:S===1/0?S=x:H>S?S=H:x15&&$<165?x.align="right":$>195&&$<345&&(x.align="left")}),H.align}tickSize(S){let N,$=this.options,H=k($["tick"===S?"tickWidth":"minorTickWidth"],"tick"===S&&this.isXAxis&&!this.categories?1:0),x=$["tick"===S?"tickLength":"minorTickLength"];H&&x&&("inside"===$[S+"Position"]&&(x=-x),N=[x,H]);let R={tickSize:N};return a(this,"afterTickSize",R),R.tickSize}labelMetrics(){let S=this.chart.renderer,$=this.ticks,H=$[Object.keys($)[0]]||{};return this.chart.renderer.fontMetrics(H.label||H.movedLabel||S.box)}unsquish(){let ge,Te,S=this.options.labels,$=this.horiz,H=this.tickInterval,x=this.len/(((this.categories?1:0)+this.max-this.min)/H),N=S.rotation,R=this.labelMetrics().h,Z=Math.max(this.max-this.min,0),Y=function(Oe){let De=Oe/(x||1);return(De=De>1?Math.ceil(De):1)*H>Z&&Oe!==1/0&&x!==1/0&&Z&&(De=Math.ceil(Z/H)),_(De*H)},he=H,_e=Number.MAX_VALUE;if($){if(!S.staggerLines&&(n(N)?Te=[N]:x=-90&&Be<=90)&&(De=(Oe=Y(Math.abs(R/Math.sin(P*Be))))+Math.abs(Be/360))<_e&&(_e=De,ge=Be,he=Oe)}}else he=Y(.75*R);return this.autoRotation=Te,this.labelRotation=k(ge,n(N)?N:0),S.step?H:he}getSlotWidth(S){let $=this.chart,H=this.horiz,x=this.options.labels,N=Math.max(this.tickPositions.length-(this.categories?0:1),1),R=$.margin[3];if(S&&n(S.slotWidth))return S.slotWidth;if(H&&x.step<2)return x.rotation?0:(this.staggerLines||1)*this.len/N;if(!H){let Z=x.style.width;if(void 0!==Z)return parseInt(String(Z),10);if(R)return R-$.spacing[3]}return.33*$.chartWidth}renderUnsquish(){let Oe,De,oe,ee,S=this.chart,$=S.renderer,H=this.tickPositions,x=this.ticks,N=this.options.labels,R=N.style,Z=this.horiz,Y=this.getSlotWidth(),he=Math.max(1,Math.round(Y-2*N.padding)),ge={},_e=this.labelMetrics(),Te=R.textOverflow,Be=0;if(r(N.rotation)||(ge.rotation=N.rotation||0),H.forEach(function(be){let xe=x[be];xe.movedLabel&&xe.replaceMovedLabel(),xe&&xe.label&&xe.label.textPxLength>Be&&(Be=xe.label.textPxLength)}),this.maxLabelLength=Be,this.autoRotation)Be>he&&Be>_e.h?ge.rotation=this.labelRotation:this.labelRotation=0;else if(Y&&(Oe=he,!Te))for(De="clip",ee=H.length;!Z&&ee--;)(oe=x[H[ee]].label)&&("ellipsis"===oe.styles.textOverflow?oe.css({textOverflow:"clip"}):oe.textPxLength>Y&&oe.css({width:Y+"px"}),oe.getBBox().height>this.len/H.length-(_e.h-_e.f)&&(oe.specificTextOverflow="ellipsis"));ge.rotation&&(Oe=Be>.5*S.chartHeight?.33*S.chartHeight:Be,Te||(De="ellipsis")),this.labelAlign=N.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(ge.align=this.labelAlign),H.forEach(function(be){let xe=x[be],Ie=xe&&xe.label,we=R.width,Ee={};Ie&&(Ie.attr(ge),xe.shortenLabel?xe.shortenLabel():Oe&&!we&&"nowrap"!==R.whiteSpace&&(OeN.g(Z).attr({zIndex:he}).addClass(`highcharts-${H.toLowerCase()}${Y} `+(this.isRadial?`highcharts-radial-axis${Y} `:"")+(x.className||"")).add(S);this.axisGroup||(this.gridGroup=R("grid","-grid",x.gridZIndex),this.axisGroup=R("axis","",x.zIndex),this.labelGroup=R("axis-labels","-labels",x.labels.zIndex))}getOffset(){let ee,xe,Ee,Me,S=this,{chart:$,horiz:H,options:x,side:N,ticks:R,tickPositions:Z,coll:Y}=S,he=$.inverted&&!S.isZAxis?[1,0,3,2][N]:N,ge=S.hasData(),_e=x.title,Te=x.labels,Oe=n(x.crossing),De=$.axisOffset,Be=$.clipOffset,oe=[-1,1,1,-1][N],be=0,Ie=0,we=0;if(S.showAxis=ee=ge||x.showEmpty,S.staggerLines=S.horiz&&Te.staggerLines||void 0,S.createGroups(),ge||S.isLinked?(Z.forEach(function(Xe){S.generateTick(Xe)}),S.renderUnsquish(),S.reserveSpaceDefault=0===N||2===N||{1:"left",3:"right"}[N]===S.labelAlign,k(Te.reserveSpace,!Oe&&null,"center"===S.labelAlign||null,S.reserveSpaceDefault)&&Z.forEach(function(Xe){we=Math.max(R[Xe].getLabelSize(),we)}),S.staggerLines&&(we*=S.staggerLines),S.labelOffset=we*(S.opposite?-1:1)):C(R,function(Xe,Je){Xe.destroy(),delete R[Je]}),_e?.text&&!1!==_e.enabled&&(S.addTitle(ee),ee&&!Oe&&!1!==_e.reserveSpace&&(S.titleOffset=be=S.axisTitle.getBBox()[H?"height":"width"],Ie=m(xe=_e.offset)?0:k(_e.margin,H?5:10))),S.renderLine(),S.offset=oe*k(x.offset,De[N]?De[N]+(x.margin||0):0),S.tickRotCorr=S.tickRotCorr||{x:0,y:0},Me=0===N?-S.labelMetrics().h:2===N?S.tickRotCorr.y:0,Ee=Math.abs(we)+Ie,we&&(Ee-=Me,Ee+=oe*(H?k(Te.y,S.tickRotCorr.y+oe*Te.distance):k(Te.x,oe*Te.distance))),S.axisTitleMargin=k(xe,Ee),S.getMaxLabelDimensions&&(S.maxLabelDimensions=S.getMaxLabelDimensions(R,Z)),"colorAxis"!==Y){let Xe=this.tickSize("tick");De[N]=Math.max(De[N],(S.axisTitleMargin||0)+be+oe*S.offset,Ee,Z&&Z.length&&Xe?Xe[0]+oe*S.offset:0);let Je=!S.axisLine||x.offset?0:2*Math.floor(S.axisLine.strokeWidth()/2);Be[he]=Math.max(Be[he],Je)}a(this,"afterGetOffset")}getLinePath(S){let $=this.chart,H=this.opposite,x=this.offset,N=this.horiz,R=this.left+(H?this.width:0)+x,Z=$.chartHeight-this.bottom-(H?this.height:0)+x;return H&&(S*=-1),$.renderer.crispLine([["M",N?this.left:R,N?Z:this.top],["L",N?$.chartWidth-this.right:R,N?Z:$.chartHeight-this.bottom]],S)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(S){let $=this.horiz,H=this.left,x=this.top,N=this.len,R=this.options.title,Z=$?H:x,Y=this.opposite,he=this.offset,ge=R.x,_e=R.y,Te=this.chart.renderer.fontMetrics(S),Oe=S?Math.max(S.getBBox(!1,0).height-Te.h-1,0):0,De={low:Z+($?0:N),middle:Z+N/2,high:Z+($?N:0)}[R.align],Be=($?x+this.height:H)+($?1:-1)*(Y?-1:1)*(this.axisTitleMargin||0)+[-Oe,Oe,Te.f,-Oe][this.side],oe={x:$?De+ge:Be+(Y?this.width:0)+he+ge,y:$?Be+_e-(Y?this.height:0)+he:De+_e};return a(this,"afterGetTitlePosition",{titlePosition:oe}),oe}renderMinorTick(S,$){let H=this.minorTicks;H[S]||(H[S]=new ue(this,S,"minor")),$&&H[S].isNew&&H[S].render(null,!0),H[S].render(null,!1,1)}renderTick(S,$,H){let N=this.ticks;(!this.isLinked||S>=this.min&&S<=this.max||this.grid&&this.grid.isColumn)&&(N[S]||(N[S]=new ue(this,S)),H&&N[S].isNew&&N[S].render($,!0,-1),N[S].render($))}render(){let S,$,H=this,x=H.chart,N=H.logarithmic,Z=H.options,Y=H.isLinked,he=H.tickPositions,ge=H.axisTitle,_e=H.ticks,Te=H.minorTicks,Oe=H.alternateBands,De=Z.stackLabels,Be=Z.alternateGridColor,oe=Z.crossing,ee=H.tickmarkOffset,be=H.axisLine,xe=H.showAxis,Ie=te(x.renderer.globalAnimation);if(H.labelEdge.length=0,H.overlap=!1,[_e,Te,Oe].forEach(function(we){C(we,function(Ee){Ee.isActive=!1})}),n(oe)){let we=this.isXAxis?x.yAxis[0]:x.xAxis[0],Ee=[1,-1,-1,1][this.side];if(we){let Me=we.toPixels(oe,!0);H.horiz&&(Me=we.len-Me),H.offset=Ee*Me}}if(H.hasData()||Y){let we=H.chart.hasRendered&&H.old&&n(H.old.min);H.minorTickInterval&&!H.categories&&H.getMinorTickPositions().forEach(function(Ee){H.renderMinorTick(Ee,we)}),he.length&&(he.forEach(function(Ee,Me){H.renderTick(Ee,Me,we)}),ee&&(0===H.min||H.single)&&(_e[-1]||(_e[-1]=new ue(H,-1,null,!0)),_e[-1].render(-1))),Be&&he.forEach(function(Ee,Me){$=void 0!==he[Me+1]?he[Me+1]+ee:H.max-ee,Me%2==0&&Ee=.5)E=Math.round(E),_=D.getLinearTickPositions(E,j,F);else if(E>=.08){let m,w,G,O,f,a,g;for(m=E>.3?[1,2,4]:E>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],w=Math.floor(j);wj&&(!P||a<=F)&&void 0!==a&&_.push(a),a>F&&(g=!0),a=f}else{let m=this.lin2log(j),w=this.lin2log(F),G=P?D.getMinorTickInterval():I.tickInterval;E=ve(E=le("auto"===G?null:G,this.minorAutoInterval,I.tickPixelInterval/(P?5:1)*(w-m)/((P?A/D.tickPositions.length:A)||1))),_=D.getLinearTickPositions(E,m,w).map(this.log2lin),P||(this.minorAutoInterval=E/5)}return P||(D.tickInterval=E),_}lin2log(E){return Math.pow(10,E)}log2lin(E){return Math.log(E)/Math.LN10}}pe.Additions=te}(ne||(ne={})),ne}),Le(V,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[V["Core/Utilities.js"]],function(q){var ne;let{erase:re,extend:ve,isNumber:le}=q;return function(pe){let ue;function J(D){return this.addPlotBandOrLine(D,"plotBands")}function te(D,A){let I=this.userOptions,_=new ue(this,D);if(this.visible&&(_=_.render()),_){if(this._addedPlotLB||(this._addedPlotLB=!0,(I.plotLines||[]).concat(I.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),A){let m=I[A]||[];m.push(D),I[A]=m}this.plotLinesAndBands.push(_)}return _}function X(D){return this.addPlotBandOrLine(D,"plotLines")}function E(D,A,I){let f,g,_=this.getPlotLinePath({value:A,force:!0,acrossPanes:(I=I||this.options).acrossPanes}),m=[],w=this.horiz,G=!le(this.min)||!le(this.max)||Dthis.max&&A>this.max,O=this.getPlotLinePath({value:D,force:!0,acrossPanes:I.acrossPanes}),a=1;if(O&&_)for(G&&(g=O.toString()===_.toString(),a=0),f=0;f{r?.on(K,U=>{m[K].apply(this,[U])})}),this.eventsAdded=!0),!p&&r.d||!l?.length?r&&(l?(r.show(),r.animate({d:l})):r.d&&(r.hide(),n&&(this.label=n=n.destroy()))):r.attr({d:l}),o&&(le(o.text)||le(o.formatter))&&l?.length&&P.width>0&&P.height>0&&!l.isFlat?(o=te({align:A&&C&&"center",x:A?!C&&4:10,verticalAlign:!A&&C&&"middle",y:A?C?16:10:C?6:-4,rotation:A&&!C&&90},o),this.renderLabel(o,l,C,w)):n&&n.hide(),this}renderLabel(P,D,A,I){let _=this.axis,w=this.label;w||(this.label=w=_.chart.renderer.text(this.getLabelText(P),0,0,P.useHTML).attr({align:P.textAlign||P.align,rotation:P.rotation,class:"highcharts-plot-"+(A?"band":"line")+"-label"+(P.className||""),zIndex:I}),_.chart.styledMode||w.css(te({fontSize:"0.8em",textOverflow:"ellipsis"},P.style)),w.add());let G=D.xBounds||[D[0][1],D[1][1],A?D[2][1]:D[0][1]],O=D.yBounds||[D[0][2],D[1][2],A?D[2][2]:D[0][2]],f=ve(G),a=ve(O);w.align(P,!1,{x:f,y:a,width:re(G)-f,height:re(O)-a}),w.alignValue&&"left"!==w.alignValue||w.css({width:(90===w.rotation?_.height-(w.alignAttr.y-_.top):(P.clip?_.width:_.chart.chartWidth)-(w.alignAttr.x-_.left))+"px"}),w.show(!0)}getLabelText(P){return le(P.formatter)?P.formatter.call(this):P.text}destroy(){ue(this.axis.plotLinesAndBands,this),delete this.axis,pe(this)}}return j}),Le(V,"Core/Tooltip.js",[V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{format:ue}=q,{composed:J,doc:te,isSafari:X}=ne,{distribute:E}=re,{addEvent:j,clamp:F,css:P,discardElement:D,extend:A,fireEvent:I,isArray:_,isNumber:m,isString:w,merge:G,pick:O,pushUnique:f,splat:a,syncTimeout:g}=le;class v{constructor(n,r,l){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=n,this.init(n,r),this.pointer=l}bodyFormatter(n){return n.map(function(r){let l=r.series.tooltipOptions;return(l[(r.point.formatPrefix||"point")+"Formatter"]||r.point.tooltipFormatter).call(r.point,l[(r.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(n){this.chart.series.forEach(function(r){let l=r&&r.tt;l&&(!l.isActive||n?r.tt=l.destroy():l.isActive=!1)})}defaultFormatter(n){let r,l=this.points||a(this);return(r=(r=[n.tooltipFooterHeaderFormatter(l[0])]).concat(n.bodyFormatter(l))).push(n.tooltipFooterHeaderFormatter(l[0],!0)),r}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),le.clearTimeout(this.hideTimer),le.clearTimeout(this.tooltipTimeout)}getAnchor(n,r){let l,{chart:d,pointer:C}=this,k=d.inverted,p=d.plotTop,T=d.plotLeft;if((n=a(n))[0].series&&n[0].series.yAxis&&!n[0].series.yAxis.options.reversedStacks&&(n=n.slice().reverse()),this.followPointer&&r)void 0===r.chartX&&(r=C.normalize(r)),l=[r.chartX-T,r.chartY-p];else if(n[0].tooltipPos)l=n[0].tooltipPos;else{let B=0,z=0;n.forEach(function(K){let U=K.pos(!0);U&&(B+=U[0],z+=U[1])}),B/=n.length,z/=n.length,this.shared&&n.length>1&&r&&(k?B=r.chartX:z=r.chartY),l=[B-T,z-p]}return l.map(Math.round)}getClassName(n,r,l){let C=n.series,k=C.options;return[this.options.className,"highcharts-label",l&&"highcharts-tooltip-header",r?"highcharts-tooltip-box":"highcharts-tooltip",!l&&"highcharts-color-"+O(n.colorIndex,C.colorIndex),k&&k.className].filter(w).join(" ")}getLabel(){let n=this,r=this.chart.styledMode,l=this.options,d=this.split&&this.allowShared,C=this.container,k=this.chart.renderer;if(this.label){let p=!this.label.hasClass("highcharts-label");(!d&&p||d&&!p)&&this.destroy()}if(!this.label){if(this.outside){let p=this.chart.options.chart.style,T=ve.getRendererType();this.container=C=ne.doc.createElement("div"),C.className="highcharts-tooltip-container",P(C,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p&&p.zIndex||0)+3)}),this.renderer=k=new T(C,0,0,p,void 0,void 0,k.styledMode)}if(d?this.label=k.g("tooltip"):(this.label=k.label("",0,0,l.shape,void 0,void 0,l.useHTML,void 0,"tooltip").attr({padding:l.padding,r:l.borderRadius}),r||this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth||0}).css(l.style).css({pointerEvents:l.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),n.outside){let p=this.label,{xSetter:T,ySetter:B}=p;p.xSetter=function(z){T.call(p,n.distance),C&&(C.style.left=z+"px")},p.ySetter=function(z){B.call(p,n.distance),C&&(C.style.top=z+"px")}}this.label.attr({zIndex:8}).shadow(l.shadow).add()}return C&&!C.parentElement&&ne.doc.body.appendChild(C),this.label}getPlayingField(){let{body:n,documentElement:r}=te,{chart:l,distance:d,outside:C}=this;return{width:C?Math.max(n.scrollWidth,r.scrollWidth,n.offsetWidth,r.offsetWidth,r.clientWidth)-2*d:l.chartWidth,height:C?Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,r.clientHeight):l.chartHeight}}getPosition(n,r,l){let _e,{distance:d,chart:C,outside:k,pointer:p}=this,{inverted:T,plotLeft:B,plotTop:z,polar:K}=C,{plotX:U=0,plotY:se=0}=l,S={},$=T&&l.h||0,{height:H,width:x}=this.getPlayingField(),N=p.getChartPosition(),R=be=>be*N.scaleX,Z=be=>be*N.scaleY,Y=be=>{let xe="x"===be;return[be,xe?x:H,xe?n:r].concat(k?[xe?R(n):Z(r),xe?N.left-d+R(U+B):N.top-d+Z(se+z),0,xe?x:H]:[xe?n:r,xe?U+B:se+z,xe?B:z,xe?B+C.plotWidth:z+C.plotHeight])},he=Y("y"),ge=Y("x"),Te=!!l.negative;!K&&C.hoverSeries?.yAxis?.reversed&&(Te=!Te);let Oe=!this.followPointer&&O(l.ttBelow,!K&&!T===Te),De=function(be,xe,Ie,we,Ee,Me,Xe){let Je=k?"y"===be?Z(d):R(d):d,lt=(Ie-we)/2,qe=wexe?pt:pt+$)}},Be=function(be,xe,Ie,we,Ee){if(Eexe-d)return!1;S[be]=Eexe-we/2?xe-we-2:Ee-Ie/2},oe=function(be){[he,ge]=[ge,he],_e=be},ee=()=>{!1!==De.apply(0,he)?!1!==Be.apply(0,ge)||_e||(oe(!0),ee()):_e?S.x=S.y=0:(oe(!0),ee())};return(T&&!K||this.len>1)&&oe(),ee(),S}hide(n){let r=this;le.clearTimeout(this.hideTimer),n=O(n,this.options.hideDelay),this.isHidden||(this.hideTimer=g(function(){let l=r.getLabel();r.getLabel().animate({opacity:0},{duration:n&&150,complete:()=>{l.hide(),r.container&&r.container.remove()}}),r.isHidden=!0},n))}init(n,r){this.chart=n,this.options=r,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=r.split&&!n.inverted&&!n.polar,this.shared=r.shared||this.split,this.outside=O(r.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))}shouldStickOnContact(n){return!(this.followPointer||!this.options.stickOnContact||n&&!this.pointer.inClass(n.target,"highcharts-tooltip"))}move(n,r,l,d){let C=this,k=C.now,p=!1!==C.options.animation&&!C.isHidden&&(Math.abs(n-k.x)>1||Math.abs(r-k.y)>1),T=C.followPointer||C.len>1;A(k,{x:p?(2*k.x+n)/3:n,y:p?(k.y+r)/2:r,anchorX:T?void 0:p?(2*k.anchorX+l)/3:l,anchorY:T?void 0:p?(k.anchorY+d)/2:d}),C.getLabel().attr(k),C.drawTracker(),p&&(le.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){C&&C.move(n,r,l,d)},32))}refresh(n,r){let{chart:l,options:d,pointer:C,shared:k}=this,p=a(n),T=p[0],B=[],z=d.format,K=d.formatter||this.defaultFormatter,U=l.styledMode,se={};if(!d.enabled||!T.series)return;le.clearTimeout(this.hideTimer),this.allowShared=!(!_(n)&&n.series&&n.series.noSharedTooltip),this.followPointer=!this.split&&T.series.tooltipOptions.followPointer;let S=this.getAnchor(n,r),$=S[0],H=S[1];k&&this.allowShared?(C.applyInactiveState(p),p.forEach(function(R){R.setState("hover"),B.push(R.getLabelConfig())}),(se=T.getLabelConfig()).points=B):se=T.getLabelConfig(),this.len=B.length;let x=w(z)?ue(z,se,l):K.call(se,this),N=T.series;if(this.distance=O(N.tooltipOptions.distance,16),!1===x)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(x,p);else{let R=$,Z=H;if(r&&C.isDirectTouch&&(R=r.chartX-l.plotLeft,Z=r.chartY-l.plotTop),!l.polar&&!1!==N.options.clip&&!p.some(Y=>C.isDirectTouch||Y.series.shouldShowTooltip(R,Z)))return void this.hide();{let Y=this.getLabel();(!d.style.width||U)&&Y.css({width:(this.outside?this.getPlayingField():l.spacingBox).width+"px"}),Y.attr({text:x&&x.join?x.join(""):x}),Y.addClass(this.getClassName(T),!0),U||Y.attr({stroke:d.borderColor||T.color||N.color||"#666666"}),this.updatePosition({plotX:$,plotY:H,negative:T.negative,ttBelow:T.ttBelow,h:S[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}I(this,"refresh")}renderSplit(n,r){let l=this,{chart:d,chart:{chartWidth:C,chartHeight:k,plotHeight:p,plotLeft:T,plotTop:B,scrollablePixelsY:z=0,scrollablePixelsX:K,styledMode:U},distance:se,options:S,options:{positioner:$},pointer:H}=l,{scrollLeft:x=0,scrollTop:N=0}=d.scrollablePlotArea?.scrollingContainer||{},R=l.outside&&"number"!=typeof K?te.documentElement.getBoundingClientRect():{left:x,right:x+C,top:N,bottom:N+k},Z=l.getLabel(),Y=this.renderer||d.renderer,he=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:ge,top:_e}=H.getChartPosition(),Te=B+N,Oe=0,De=p-z;function Be(we,Ee,Me,Xe,Je=!0){let lt,qe;return Me?(lt=he?0:De,qe=F(we-Xe/2,R.left,R.right-Xe-(l.outside?ge:0))):(lt=Ee-Te,qe=F(qe=Je?we-Xe-se:we+se,Je?qe:R.left,R.right)),{x:qe,y:lt}}w(n)&&(n=[!1,n]);let oe=n.slice(0,r.length+1).reduce(function(we,Ee,Me){if(!1!==Ee&&""!==Ee){let Xe=r[Me-1]||{isHeader:!0,plotX:r[0].plotX,plotY:p,series:{}},Je=Xe.isHeader,lt=Je?l:Xe.series,qe=lt.tt=function(Pt,Gt,ti){let Dt=Pt,{isHeader:It,series:xt}=Gt;if(!Dt){let wt={padding:S.padding,r:S.borderRadius};U||(wt.fill=S.backgroundColor,wt["stroke-width"]=S.borderWidth??1),Dt=Y.label("",0,0,S[It?"headerShape":"shape"],void 0,void 0,S.useHTML).addClass(l.getClassName(Gt,!0,It)).attr(wt).add(Z)}return Dt.isActive=!0,Dt.attr({text:ti}),U||Dt.css(S.style).attr({stroke:S.borderColor||Gt.color||xt.color||"#333333"}),Dt}(lt.tt,Xe,Ee.toString()),st=qe.getBBox(),Tt=st.width+qe.strokeWidth();Je&&(Oe=st.height,De+=Oe,he&&(Te-=Oe));let{anchorX:pt,anchorY:ht}=function(Pt){let Gt,ti,{isHeader:Dt,plotX:It=0,plotY:xt=0,series:wt}=Pt;if(Dt)Gt=Math.max(T+It,T),ti=B+p/2;else{let{xAxis:Qt,yAxis:di}=wt;Gt=Qt.pos+F(It,-se,Qt.len+se),wt.shouldShowTooltip(0,di.pos-B+xt,{ignoreX:!0})&&(ti=di.pos+xt)}return{anchorX:Gt=F(Gt,R.left-se,R.right+se),anchorY:ti}}(Xe);if("number"==typeof ht){let Pt=st.height+1,Gt=$?$.call(l,Tt,Pt,Xe):Be(pt,ht,Je,Tt);we.push({align:$?0:void 0,anchorX:pt,anchorY:ht,boxWidth:Tt,point:Xe,rank:O(Gt.rank,Je?1:0),size:Pt,target:Gt.y,tt:qe,x:Gt.x})}else qe.isActive=!1}return we},[]);!$&&oe.some(we=>{let{outside:Ee}=l,Me=(Ee?ge:0)+we.anchorX;return MeMe})&&(oe=oe.map(we=>{let{x:Ee,y:Me}=Be(we.anchorX,we.anchorY,we.point.isHeader,we.boxWidth,!1);return A(we,{target:Me,x:Ee})})),l.cleanSplit(),E(oe,De);let ee={left:ge,right:ge};oe.forEach(function(we){let{x:Ee,boxWidth:Me,isHeader:Xe}=we;!Xe&&(l.outside&&ge+Eeee.right&&(ee.right=ge+Ee))}),oe.forEach(function(we){let{x:Ee,anchorX:Me,anchorY:Xe,pos:Je,point:{isHeader:lt}}=we,qe={visibility:void 0===Je?"hidden":"inherit",x:Ee,y:(Je||0)+Te,anchorX:Me,anchorY:Xe};if(l.outside&&Ee0&&(lt||(qe.x=Ee+st,qe.anchorX=Me+st),lt&&(qe.x=(ee.right-ee.left)/2,qe.anchorX=Me+st))}we.tt.attr(qe)});let{container:be,outside:xe,renderer:Ie}=l;if(xe&&be&&Ie){let{width:we,height:Ee,x:Me,y:Xe}=Z.getBBox();Ie.setSize(we+Me,Ee+Xe,!1),be.style.left=ee.left+"px",be.style.top=_e+"px"}X&&Z.attr({opacity:1===Z.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let n=this.chart,r=this.label,l=this.shared?n.hoverPoints:n.hoverPoint;if(!r||!l)return;let d={x:0,y:0,width:0,height:0},C=this.getAnchor(l),k=r.getBBox();C[0]+=n.plotLeft-(r.translateX||0),C[1]+=n.plotTop-(r.translateY||0),d.x=Math.min(0,C[0]),d.y=Math.min(0,C[1]),d.width=C[0]<0?Math.max(Math.abs(C[0]),k.width-C[0]):Math.max(Math.abs(C[0]),k.width),d.height=C[1]<0?Math.max(Math.abs(C[1]),k.height-Math.abs(C[1])):Math.max(Math.abs(C[1]),k.height),this.tracker?this.tracker.attr(d):(this.tracker=r.renderer.rect(d).addClass("highcharts-tracker").add(r),n.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(n){return n.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(n,r){let l=n.series,d=l.tooltipOptions,C=l.xAxis,k=C&&C.dateTime,p={isFooter:r,labelConfig:n},T=d.xDateFormat,B=d[r?"footerFormat":"headerFormat"];return I(this,"headerFormatter",p,function(z){k&&!T&&m(n.key)&&(T=k.getXDateFormat(n.key,d.dateTimeLabelFormats)),k&&T&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(K){B=B.replace("{point."+K+"}","{point."+K+":"+T+"}")}),l.chart.styledMode&&(B=this.styledModeFormat(B)),z.text=ue(B,{point:n,series:l},this.chart)}),p.text}update(n){this.destroy(),this.init(this.chart,G(!0,this.options,n))}updatePosition(n){let x,{chart:r,container:l,distance:d,options:C,pointer:k,renderer:p}=this,{height:T=0,width:B=0}=this.getLabel(),{left:z,top:K,scaleX:U,scaleY:se}=k.getChartPosition(),S=(C.positioner||this.getPosition).call(this,B,T,n),$=(n.plotX||0)+r.plotLeft,H=(n.plotY||0)+r.plotTop;p&&l&&(C.positioner&&(S.x+=z-d,S.y+=K-d),x=(C.borderWidth||0)+2*d+2,p.setSize(B+x,T+x,!1),(1!==U||1!==se)&&(P(l,{transform:`scale(${U}, ${se})`}),$*=U,H*=se),$+=z-S.x,H+=K-S.y),this.move(Math.round(S.x),Math.round(S.y||0),$,H)}}return(pe=v||(v={})).compose=function(o){f(J,"Core.Tooltip")&&j(o,"afterInit",function(){let n=this.chart;n.options.tooltip&&(n.tooltip=new pe(n,n.options.tooltip,this))})},v}),Le(V,"Core/Series/Point.js",[V["Core/Renderer/HTML/AST.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{animObject:pe}=ne,{defaultOptions:ue}=re,{format:J}=ve,{addEvent:te,erase:X,extend:E,fireEvent:j,getNestedProperty:F,isArray:P,isFunction:D,isNumber:A,isObject:I,pick:_,syncTimeout:m,removeEvent:w,uniqueKey:G}=le;class O{animateBeforeDestroy(){let a=this,g={x:a.startXPos,opacity:0},v=a.getGraphicalProps();v.singular.forEach(function(o){a[o]=a[o].animate("dataLabel"===o?{x:a[o].startXPos,y:a[o].startYPos,opacity:0}:g)}),v.plural.forEach(function(o){a[o].forEach(function(n){n.element&&n.animate(E({x:a.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(a,g){let v=this.series,o=v.options.pointValKey||v.pointValKey;return E(this,a=O.prototype.optionsToObject.call(this,a)),this.options=this.options?E(this.options,a):a,a.group&&delete this.group,a.dataLabels&&delete this.dataLabels,o&&(this.y=O.prototype.getNestedProperty.call(this,o)),this.selected&&(this.state="select"),"name"in this&&void 0===g&&v.xAxis&&v.xAxis.hasNames&&(this.x=v.xAxis.nameToX(this)),void 0===this.x&&v?this.x=void 0===g?v.autoIncrement():g:A(a.x)&&v.options.relativeXValue&&(this.x=v.autoIncrement(a.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let a=this,g=a.series,v=g.chart,o=g.options.dataSorting,n=v.hoverPoints,r=pe(a.series.chart.renderer.globalAnimation),l=()=>{for(let d in(a.graphic||a.graphics||a.dataLabel||a.dataLabels)&&(w(a),a.destroyElements()),a)delete a[d]};a.legendItem&&v.legend.destroyItem(a),n&&(a.setState(),X(n,a),n.length||(v.hoverPoints=null)),a===v.hoverPoint&&a.onMouseOut(),o&&o.enabled?(this.animateBeforeDestroy(),m(l,r.duration)):l(),v.pointCount--}this.destroyed=!0}destroyElements(a){let g=this,v=g.getGraphicalProps(a);v.singular.forEach(function(o){g[o]=g[o].destroy()}),v.plural.forEach(function(o){g[o].forEach(function(n){n&&n.element&&n.destroy()}),delete g[o]})}firePointEvent(a,g,v){let o=this,n=this.series.options;o.manageEvent(a),"click"===a&&n.allowPointSelect&&(v=function(r){!o.destroyed&&o.select&&o.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),j(o,a,g,v)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(a){let g,v,o=this,n=[],r={singular:[],plural:[]};for((a=a||{graphic:1,dataLabel:1}).graphic&&n.push("graphic","connector"),a.dataLabel&&n.push("dataLabel","dataLabelPath","dataLabelUpper"),v=n.length;v--;)o[g=n[v]]&&r.singular.push(g);return["graphic","dataLabel"].forEach(function(l){let d=l+"s";a[l]&&o[d]&&r.plural.push(d)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(a){return a?0===a.indexOf("custom.")?F(a,this.options):this[a]:void 0}getZone(){let o,a=this.series,g=a.zones,v=a.zoneAxis||"y",n=0;for(o=g[0];this[v]>=o.value;)o=g[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=o&&o.color&&!this.options.color?o.color:this.nonZonedColor,o}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(a,g,v){this.formatPrefix="point",this.visible=!0,this.series=a,this.applyOptions(g,v),this.id??(this.id=G()),this.resolveColor(),a.chart.pointCount++,j(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(a){let l,g=this.series,v=g.options.keys,o=v||g.pointArrayMap||["y"],n=o.length,r={},d=0,C=0;if(A(a)||null===a)r[o[0]]=a;else if(P(a))for(!v&&a.length>n&&("string"==(l=typeof a[0])?r.name=a[0]:"number"===l&&(r.x=a[0]),d++);C0?O.prototype.setNestedProperty(r,a[d],o[C]):r[o[C]]=a[d]),d++,C++;else"object"==typeof a&&(r=a,a.dataLabels&&(g.hasDataLabels=()=>!0),a.marker&&(g._hasPointMarkers=!0));return r}pos(a,g=this.plotY){if(!this.destroyed){let{plotX:v,series:o}=this,{chart:n,xAxis:r,yAxis:l}=o,d=0,C=0;if(A(v)&&A(g))return a&&(d=r?r.pos:n.plotLeft,C=l?l.pos:n.plotTop),n.inverted&&r&&l?[l.len-g+C,r.len-v+d]:[v+d,g+C]}}resolveColor(){let o,n,l,a=this.series,v=a.chart.styledMode,r=a.chart.options.chart.colorCount;delete this.nonZonedColor,a.options.colorByPoint?(v||(o=(n=a.options.colors||a.chart.options.colors)[a.colorCounter],r=n.length),l=a.colorCounter,a.colorCounter++,a.colorCounter===r&&(a.colorCounter=0)):(v||(o=a.color),l=a.colorIndex),this.colorIndex=_(this.options.colorIndex,l),this.color=_(this.options.color,o)}setNestedProperty(a,g,v){return v.split(".").reduce(function(o,n,r,l){return o[n]=l.length-1===r?g:I(o[n],!0)?o[n]:{},o[n]},a),a}shouldDraw(){return!this.isNull}tooltipFormatter(a){let g=this.series,v=g.tooltipOptions,o=_(v.valueDecimals,""),n=v.valuePrefix||"",r=v.valueSuffix||"";return g.chart.styledMode&&(a=g.chart.tooltip.styledModeFormat(a)),(g.pointArrayMap||["y"]).forEach(function(l){l="{point."+l,(n||r)&&(a=a.replace(RegExp(l+"}","g"),n+l+"}"+r)),a=a.replace(RegExp(l+"}","g"),l+":,."+o+"f}")}),J(a,{point:this,series:this.series},g.chart)}update(a,g,v,o){let n,r=this,l=r.series,d=r.graphic,C=l.chart,k=l.options;function p(){r.applyOptions(a);let T=d&&r.hasMockGraphic;d&&(null===r.y?!T:T)&&(r.graphic=d.destroy(),delete r.hasMockGraphic),I(a,!0)&&(d&&d.element&&a&&a.marker&&void 0!==a.marker.symbol&&(r.graphic=d.destroy()),a?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),n=r.index,l.updateParallelArrays(r,n),k.data[n]=I(k.data[n],!0)||I(a,!0)?r.options:_(a,k.data[n]),l.isDirty=l.isDirtyData=!0,!l.fixedBox&&l.hasCartesianSeries&&(C.isDirtyBox=!0),"point"===k.legendType&&(C.isDirtyLegend=!0),g&&C.redraw(v)}g=_(g,!0),!1===o?p():r.firePointEvent("update",{options:a},p)}remove(a,g){this.series.removePoint(this.series.data.indexOf(this),a,g)}select(a,g){let v=this,o=v.series,n=o.chart;a=_(a,!v.selected),this.selectedStaging=a,v.firePointEvent(a?"select":"unselect",{accumulate:g},function(){v.selected=v.options.selected=a,o.options.data[o.data.indexOf(v)]=v.options,v.setState(a&&"select"),g||n.getSelectedPoints().forEach(function(r){let l=r.series;r.selected&&r!==v&&(r.selected=r.options.selected=!1,l.options.data[l.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&l.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(a){let{inverted:g,pointer:v}=this.series.chart;v&&(a=a?v.normalize(a):v.getChartCoordinatesFromPoint(this,g),v.runPointActions(a,this))}onMouseOut(){let a=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(g){g.setState()}),a.hoverPoints=a.hoverPoint=null}manageEvent(a){let g=this.series.options.point||{},v=g.events?.[a];!D(v)||this.hcEvents?.[a]&&-1!==this.hcEvents?.[a]?.map(o=>o.fn).indexOf(v)?this.hasImportedEvents&&!v&&this.hcEvents?.[a]&&(w(this,a),delete this.hcEvents[a],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1)):(te(this,a,v),this.hasImportedEvents=!0)}setState(a,g){let z,K,U,S,v=this.series,o=this.state,n=v.options.states[a||"normal"]||{},r=ue.plotOptions[v.type].marker&&v.options.marker,d=r&&r.states&&r.states[a||"normal"]||{},k=this.marker||{},p=v.chart,T=r&&v.markerAttribs,B=v.halo,se=v.stateMarkerGraphic;if((a=a||"")===this.state&&!g||this.selected&&"select"!==a||!1===n.enabled||a&&(!1===d.enabled||r&&!1===r.enabled&&!1===d.enabled)||a&&k.states&&k.states[a]&&!1===k.states[a].enabled)return;if(this.state=a,T&&(z=v.markerAttribs(this,a)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),a&&this.graphic.addClass("highcharts-point-"+a),!p.styledMode){K=v.pointAttribs(this,a),U=_(p.options.chart.animation,n.animation);let N=K.opacity;v.options.inactiveOtherPoints&&A(N)&&(this.dataLabels||[]).forEach(function(R){R&&!R.hasClass("highcharts-data-label-hidden")&&(R.animate({opacity:N},U),R.connector&&R.connector.animate({opacity:N},U))}),this.graphic.animate(K,U)}z&&this.graphic.animate(z,_(p.options.chart.animation,d.animation,r.animation)),se&&se.hide()}else a&&d&&(S=k.symbol||v.symbol,se&&se.currentSymbol!==S&&(se=se.destroy()),z&&(se?se[g?"animate":"attr"]({x:z.x,y:z.y}):S&&(v.stateMarkerGraphic=se=p.renderer.symbol(S,z.x,z.y,z.width,z.height).add(v.markerGroup),se.currentSymbol=S)),!p.styledMode&&se&&"inactive"!==this.state&&se.attr(v.pointAttribs(this,a))),se&&(se[a&&this.isInside?"show":"hide"](),se.element.point=this,se.addClass(this.getClassName(),!0));let $=n.halo,H=this.graphic||se,x=H&&H.visibility||"inherit";$&&$.size&&H&&"hidden"!==x&&!this.isCluster?(B||(v.halo=B=p.renderer.path().add(H.parentGroup)),B.show()[g?"animate":"attr"]({d:this.haloPath($.size)}),B.attr({class:"highcharts-halo highcharts-color-"+_(this.colorIndex,v.colorIndex)+(this.className?" "+this.className:""),visibility:x,zIndex:-1}),B.point=this,p.styledMode||B.attr(E({fill:this.color||v.color,"fill-opacity":$.opacity},q.filterUserAttributes($.attributes||{})))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide),j(this,"afterSetState",{state:a})}haloPath(a){let g=this.pos();return g?this.series.chart.renderer.symbols.circle(Math.floor(g[0])-a,g[1]-a,2*a,2*a):[]}}return O}),Le(V,"Core/Pointer.js",[V["Core/Color/Color.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve;let{parse:le}=q,{charts:pe,composed:ue}=ne,{addEvent:J,attr:te,css:X,extend:E,find:j,fireEvent:F,isNumber:P,isObject:D,objectEach:A,offset:I,pick:_,pushUnique:m,splat:w}=re;class G{applyInactiveState(f){let g,a=[];(f||[]).forEach(function(v){g=v.series,a.push(g),g.linkedParent&&a.push(g.linkedParent),g.linkedSeries&&(a=a.concat(g.linkedSeries)),g.navigatorSeries&&a.push(g.navigatorSeries)}),this.chart.series.forEach(function(v){-1===a.indexOf(v)?v.setState("inactive",!0):v.options.inactiveOtherPoints&&v.setAllPointsToState("inactive")})}destroy(){let f=this;this.eventsToUnbind.forEach(a=>a()),this.eventsToUnbind=[],!ne.chartCount&&(G.unbindDocumentMouseUp&&(G.unbindDocumentMouseUp=G.unbindDocumentMouseUp()),G.unbindDocumentTouchEnd&&(G.unbindDocumentTouchEnd=G.unbindDocumentTouchEnd())),clearInterval(f.tooltipTimeout),A(f,function(a,g){f[g]=void 0})}getSelectionMarkerAttrs(f,a){let g={args:{chartX:f,chartY:a},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",g,v=>{let o,{chart:n,zoomHor:r,zoomVert:l}=this,{mouseDownX:d=0,mouseDownY:C=0}=n,k=v.attrs;k.x=n.plotLeft,k.y=n.plotTop,k.width=r?1:n.plotWidth,k.height=l?1:n.plotHeight,r&&(o=f-d,k.width=Math.max(1,Math.abs(o)),k.x=(o>0?0:o)+d),l&&(o=a-C,k.height=Math.max(1,Math.abs(o)),k.y=(o>0?0:o)+C)}),g}drag(f){let K,{chart:a}=this,{mouseDownX:g=0,mouseDownY:v=0}=a,{panning:o,panKey:n,selectionMarkerFill:r}=a.options.chart,l=a.plotLeft,d=a.plotTop,C=a.plotWidth,k=a.plotHeight,p=D(o)?o.enabled:o,T=n&&f[`${n}Key`],B=f.chartX,z=f.chartY,U=this.selectionMarker;if((!U||!U.touch)&&(Bl+C&&(B=l+C),zd+k&&(z=d+k),this.hasDragged=Math.sqrt(Math.pow(g-B,2)+Math.pow(v-z,2)),this.hasDragged>10)){K=a.isInsidePlot(g-l,v-d,{visiblePlotOnly:!0});let{shapeType:se,attrs:S}=this.getSelectionMarkerAttrs(B,z);(a.hasCartesianSeries||a.mapView)&&this.hasZoom&&K&&!T&&!U&&(this.selectionMarker=U=a.renderer[se](),U.attr({class:"highcharts-selection-marker",zIndex:7}).add(),a.styledMode||U.attr({fill:r||le("#334eff").setOpacity(.25).get()})),U&&U.attr(S),K&&!U&&p&&a.pan(f,o)}}dragStart(f){let a=this.chart;a.mouseIsDown=f.type,a.cancelClick=!1,a.mouseDownX=f.chartX,a.mouseDownY=f.chartY}getSelectionBox(f){let a={args:{marker:f},result:f.getBBox()};return F(this,"getSelectionBox",a),a.result}drop(f){let a,{chart:g,selectionMarker:v}=this;for(let o of g.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(n=>n.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),a=!0));if(a&&g.redraw(),v&&f){if(this.hasDragged){let o=this.getSelectionBox(v);g.transform({axes:g.axes.filter(n=>n.zoomEnabled&&("xAxis"===n.coll&&this.zoomX||"yAxis"===n.coll&&this.zoomY)),selection:{originalEvent:f,xAxis:[],yAxis:[],...o},from:o})}P(g.index)&&(this.selectionMarker=v.destroy())}g&&P(g.index)&&(X(g.container,{cursor:g._cursor}),g.cancelClick=this.hasDragged>10,g.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(f,a,g){let v;return f.forEach(function(o){let n=!(o.noSharedTooltip&&a)&&0>o.options.findNearestPointBy.indexOf("y"),r=o.searchPoint(g,n);D(r,!0)&&r.series&&(!D(v,!0)||function(l,d){let C=l.distX-d.distX,k=l.dist-d.dist,p=d.series.group?.zIndex-l.series.group?.zIndex;return 0!==C&&a?C:0!==k?k:0!==p?p:l.series.index>d.series.index?-1:1}(v,r)>0)&&(v=r)}),v}getChartCoordinatesFromPoint(f,a){let{xAxis:g,yAxis:v}=f.series,o=f.shapeArgs;if(g&&v){let n=f.clientX??f.plotX??0,r=f.plotY||0;return f.isNode&&o&&P(o.x)&&P(o.y)&&(n=o.x,r=o.y),a?{chartX:v.len+v.pos-r,chartY:g.len+g.pos-n}:{chartX:n+g.pos,chartY:r+v.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:f}=this.chart,a=I(f);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};let{offsetHeight:g,offsetWidth:v}=f;return v>2&&g>2&&(this.chartPosition.scaleX=a.width/v,this.chartPosition.scaleY=a.height/g),this.chartPosition}getCoordinates(f){let a={xAxis:[],yAxis:[]};for(let g of this.chart.axes)a[g.isXAxis?"xAxis":"yAxis"].push({axis:g,value:g.toValue(f[g.horiz?"chartX":"chartY"])});return a}getHoverData(f,a,g,v,o,n){let C,r=[],l=function(T){return T.visible&&!(!o&&T.directTouch)&&_(T.options.enableMouseTracking,!0)},d=a,k={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:o};F(this,"beforeGetHoverData",k),C=d&&!d.stickyTracking?[d]:g.filter(T=>T.stickyTracking&&(k.filter||l)(T));let p=v&&f||!n?f:this.findNearestKDPoint(C,o,n);return d=p&&p.series,p&&(o&&!d.noSharedTooltip?(C=g.filter(function(T){return k.filter?k.filter(T):l(T)&&!T.noSharedTooltip})).forEach(function(T){let B=j(T.points,function(z){return z.x===p.x&&!z.isNull});D(B)&&(T.boosted&&T.boost&&(B=T.boost.getPoint(B)),r.push(B))}):r.push(p)),F(this,"afterGetHoverData",k={hoverPoint:p}),{hoverPoint:k.hoverPoint,hoverSeries:d,hoverPoints:r}}getPointFromEvent(f){let g,a=f.target;for(;a&&!g;)g=a.point,a=a.parentNode;return g}onTrackerMouseOut(f){let g=f.relatedTarget,v=this.chart.hoverSeries;this.isDirectTouch=!1,!v||!g||v.stickyTracking||this.inClass(g,"highcharts-tooltip")||this.inClass(g,"highcharts-series-"+v.index)&&this.inClass(g,"highcharts-tracker")||v.onMouseOut()}inClass(f,a){let v,g=f;for(;g;){if(v=te(g,"class")){if(-1!==v.indexOf(a))return!0;if(-1!==v.indexOf("highcharts-container"))return!1}g=g.parentElement}}constructor(f,a){this.hasDragged=0,this.eventsToUnbind=[],this.options=a,this.chart=f,this.runChartClick=!!a.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(f,a){let g=f.touches,v=g?g.length?g.item(0):_(g.changedTouches,f.changedTouches)[0]:f;a||(a=this.getChartPosition());let o=v.pageX-a.left,n=v.pageY-a.top;return E(f,{chartX:Math.round(o/=a.scaleX),chartY:Math.round(n/=a.scaleY)})}onContainerClick(f){let a=this.chart,g=a.hoverPoint,v=this.normalize(f),o=a.plotLeft,n=a.plotTop;!a.cancelClick&&(g&&this.inClass(v.target,"highcharts-tracker")?(F(g.series,"click",E(v,{point:g})),a.hoverPoint&&g.firePointEvent("click",v)):(E(v,this.getCoordinates(v)),a.isInsidePlot(v.chartX-o,v.chartY-n,{visiblePlotOnly:!0})&&F(a,"click",v)))}onContainerMouseDown(f){let a=!(1&~(f.buttons||f.button));f=this.normalize(f),ne.isFirefox&&0!==f.button&&this.onContainerMouseMove(f),(void 0===f.button||a)&&(this.zoomOption(f),a&&f.preventDefault?.(),this.dragStart(f))}onContainerMouseLeave(f){let{pointer:a}=pe[_(G.hoverChartIndex,-1)]||{};f=this.normalize(f),this.onContainerMouseMove(f),a&&f.relatedTarget&&!this.inClass(f.relatedTarget,"highcharts-tooltip")&&(a.reset(),a.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(f){let a=this.chart,g=a.tooltip,v=this.normalize(f);this.setHoverChartIndex(f),("mousedown"===a.mouseIsDown||this.touchSelect(v))&&this.drag(v),!a.openMenu&&(this.inClass(v.target,"highcharts-tracker")||a.isInsidePlot(v.chartX-a.plotLeft,v.chartY-a.plotTop,{visiblePlotOnly:!0}))&&(!g||!g.shouldStickOnContact(v))&&(this.inClass(v.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(v))}onDocumentTouchEnd(f){this.onDocumentMouseUp(f)}onContainerTouchMove(f){this.touchSelect(f)?this.onContainerMouseMove(f):this.touch(f)}onContainerTouchStart(f){this.touchSelect(f)?this.onContainerMouseDown(f):(this.zoomOption(f),this.touch(f,!0))}onDocumentMouseMove(f){let a=this.chart,g=a.tooltip,v=this.chartPosition,o=this.normalize(f,v);!v||a.isInsidePlot(o.chartX-a.plotLeft,o.chartY-a.plotTop,{visiblePlotOnly:!0})||g&&g.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(f){pe[_(G.hoverChartIndex,-1)]?.pointer?.drop(f)}pinch(f){let a=this,{chart:g,hasZoom:v,lastTouches:o}=a,n=[].map.call(f.touches||[],k=>a.normalize(k)),r=n.length,l=1===r&&(a.inClass(f.target,"highcharts-tracker")&&g.runTrackerClick||a.runChartClick),d=g.tooltip,C=1===r&&_(d?.options.followTouchMove,!0);r>1?a.initiated=!0:C&&(a.initiated=!1),v&&a.initiated&&!l&&!1!==f.cancelable&&f.preventDefault(),"touchstart"===f.type?(a.pinchDown=n,a.res=!0):C?this.runPointActions(a.normalize(f)):o&&(F(g,"touchpan",{originalEvent:f,touches:n},()=>{let k=p=>{let T=p[0],B=p[1]||T;return{x:T.chartX,y:T.chartY,width:B.chartX-T.chartX,height:B.chartY-T.chartY}};g.transform({axes:g.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:k(n),from:k(o),trigger:f.type})}),a.res&&(a.res=!1,this.reset(!1,0))),a.lastTouches=n}reset(f,a){let g=this.chart,v=g.hoverSeries,o=g.hoverPoint,n=g.hoverPoints,r=g.tooltip,l=r&&r.shared?n:o;f&&l&&w(l).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(f=!1)}),f?r&&l&&w(l).length&&(r.refresh(l),r.shared&&n?n.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),g.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),n&&n.forEach(function(d){d.setState()}),v&&v.onMouseOut(),r&&r.hide(a),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),g.axes.forEach(function(d){d.hideCrosshair()}),g.hoverPoints=g.hoverPoint=void 0)}runPointActions(f,a,g){let v=this.chart,n=v.tooltip&&v.tooltip.options.enabled?v.tooltip:void 0,r=!!n&&n.shared,l=a||v.hoverPoint,d=l&&l.series||v.hoverSeries,k=this.getHoverData(l,d,v.series,(!f||"touchmove"!==f.type)&&(!!a||d&&d.directTouch&&this.isDirectTouch),r,f);l=k.hoverPoint,d=k.hoverSeries;let p=k.hoverPoints,T=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,B=r&&d&&!d.noSharedTooltip;if(l&&(g||l!==v.hoverPoint||n&&n.isHidden)){if((v.hoverPoints||[]).forEach(function(z){-1===p.indexOf(z)&&z.setState()}),v.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(z){z.setState("hover")}),v.hoverPoint&&v.hoverPoint.firePointEvent("mouseOut"),!l.series)return;v.hoverPoints=p,v.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{n&&l&&n.refresh(B?p:l,f)})}else if(T&&n&&!n.isHidden){let z=n.getAnchor([{}],f);v.isInsidePlot(z[0],z[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:z[0],plotY:z[1]})}this.unDocMouseMove||(this.unDocMouseMove=J(v.container.ownerDocument,"mousemove",z=>pe[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(z)),this.eventsToUnbind.push(this.unDocMouseMove)),v.axes.forEach(function(z){let K,U=_((z.crosshair||{}).snap,!0);!U||(K=v.hoverPoint)&&K.series[z.coll]===z||(K=j(p,se=>se.series&&se.series[z.coll]===z)),K||!U?z.drawCrosshair(f,K):z.hideCrosshair()})}setDOMEvents(){let f=this.chart.container,a=f.ownerDocument;f.onmousedown=this.onContainerMouseDown.bind(this),f.onmousemove=this.onContainerMouseMove.bind(this),f.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(J(f,"mouseenter",this.onContainerMouseEnter.bind(this)),J(f,"mouseleave",this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp||(G.unbindDocumentMouseUp=J(a,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(J(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;this.eventsToUnbind.push(J(f,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),J(f,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||(G.unbindDocumentTouchEnd=J(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1}))}setHoverChartIndex(f){let a=this.chart,g=ne.charts[_(G.hoverChartIndex,-1)];g&&g!==a&&g.pointer?.onContainerMouseLeave(f||{relatedTarget:a.container}),g&&g.mouseIsDown||(G.hoverChartIndex=a.index)}touch(f,a){let g,{chart:v,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===f.touches.length?(f=this.normalize(f),v.isInsidePlot(f.chartX-v.plotLeft,f.chartY-v.plotTop,{visiblePlotOnly:!0})&&!v.openMenu?(a&&this.runPointActions(f),"touchmove"===f.type&&(g=!!o[0]&&Math.pow(o[0].chartX-f.chartX,2)+Math.pow(o[0].chartY-f.chartY,2)>=16),_(g,!0)&&this.pinch(f)):a&&this.reset()):2===f.touches.length&&this.pinch(f)}touchSelect(f){return!(!this.chart.zooming.singleTouch||!f.touches||1!==f.touches.length)}zoomOption(f){let o,n,a=this.chart,g=a.inverted,v=a.zooming.type||"";/touch/.test(f.type)&&(v=_(a.zooming.pinchType,v)),this.zoomX=o=/x/.test(v),this.zoomY=n=/y/.test(v),this.zoomHor=o&&!g||n&&g,this.zoomVert=n&&!g||o&&g,this.hasZoom=o||n}}return(ve=G||(G={})).compose=function(O){m(ue,"Core.Pointer")&&J(O,"beforeRender",function(){this.pointer=new ve(this,this.options)})},G}),Le(V,"Core/Legend/Legend.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Templating.js"],V["Core/Globals.js"],V["Core/Series/Point.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){var ue;let{animObject:J,setAnimation:te}=q,{format:X}=ne,{composed:E,marginNames:j}=re,{distribute:F}=le,{addEvent:P,createElement:D,css:A,defined:I,discardElement:_,find:m,fireEvent:w,isNumber:G,merge:O,pick:f,pushUnique:a,relativeLength:g,stableSort:v,syncTimeout:o}=pe;class n{constructor(l,d){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=l,this.setOptions(d),d.enabled&&(this.render(),P(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),P(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(l){let d=f(l.padding,8);this.options=l,this.chart.styledMode||(this.itemStyle=l.itemStyle,this.itemHiddenStyle=O(this.itemStyle,l.itemHiddenStyle)),this.itemMarginTop=l.itemMarginTop,this.itemMarginBottom=l.itemMarginBottom,this.padding=d,this.initialItemY=d-5,this.symbolWidth=f(l.symbolWidth,16),this.pages=[],this.proximate="proximate"===l.layout&&!this.chart.inverted,this.baseline=void 0}update(l,d){let C=this.chart;this.setOptions(O(!0,this.options,l)),this.destroy(),C.isDirtyLegend=C.isDirtyBox=!0,f(d,!0)&&C.redraw(),w(this,"afterUpdate",{redraw:d})}colorizeItem(l,d){let{area:C,group:k,label:p,line:T,symbol:B}=l.legendItem||{};if(k?.[d?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:z={}}=this,K=z.color,{fillColor:U,fillOpacity:se,lineColor:S,marker:$}=l.options,H=x=>(!d&&(x.fill&&(x.fill=K),x.stroke&&(x.stroke=K)),x);p?.css(O(d?this.itemStyle:z)),T?.attr(H({stroke:S||l.color})),B&&B.attr(H($&&B.isMarker?l.pointAttribs():{fill:l.color})),C?.attr(H({fill:U||l.color,"fill-opacity":U?1:se??.75}))}w(this,"afterColorizeItem",{item:l,visible:d})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(l){let{group:d,x:C=0,y:k=0}=l.legendItem||{},p=this.options,z=l.checkbox;if(d&&d.element){let K={translateX:p.rtl?this.legendWidth-C-2*p.symbolPadding-4:C,translateY:k};d[I(d.translateY)?"animate":"attr"](K,void 0,()=>{w(this,"afterPositionItem",{item:l})})}z&&(z.x=C,z.y=k)}destroyItem(l){let d=l.checkbox,C=l.legendItem||{};for(let k of["group","label","line","symbol"])C[k]&&(C[k]=C[k].destroy());d&&_(d),l.legendItem=void 0}destroy(){for(let l of this.getAllItems())this.destroyItem(l);for(let l of["clipRect","up","down","pager","nav","box","title","group"])this[l]&&(this[l]=this[l].destroy());this.display=null}positionCheckboxes(){let l,d=this.group&&this.group.alignAttr,C=this.clipHeight||this.legendHeight,k=this.titleHeight;d&&(l=d.translateY,this.allItems.forEach(function(p){let T,B=p.checkbox;B&&(T=l+k+B.y+(this.scrollOffset||0)+3,A(B,{left:d.translateX+p.checkboxOffset+B.x-20+"px",top:T+"px",display:this.proximate||T>l-6&&T1.5*_e?ge.height:_e))}layoutItem(l){let d=this.options,C=this.padding,k="horizontal"===d.layout,p=l.itemHeight,T=this.itemMarginBottom,B=this.itemMarginTop,z=k?f(d.itemDistance,20):0,K=this.maxLegendWidth,U=d.alignColumns&&this.totalItemWidth>K?this.maxItemWidth:l.itemWidth,se=l.legendItem||{};k&&this.itemX-C+U>K&&(this.itemX=C,this.lastLineHeight&&(this.itemY+=B+this.lastLineHeight+T),this.lastLineHeight=0),this.lastItemY=B+this.itemY+T,this.lastLineHeight=Math.max(p,this.lastLineHeight),se.x=this.itemX,se.y=this.itemY,k?this.itemX+=U:(this.itemY+=B+p+T,this.lastLineHeight=p),this.offsetWidth=this.widthOption||Math.max((k?this.itemX-C-(l.checkbox?0:z):U)+C,this.offsetWidth)}getAllItems(){let l=[];return this.chart.series.forEach(function(d){let C=d&&d.options;d&&f(C.showInLegend,!I(C.linkedTo)&&void 0,!0)&&(l=l.concat((d.legendItem||{}).labels||("point"===C.legendType?d.data:d)))}),w(this,"afterGetAllItems",{allItems:l}),l}getAlignment(){let l=this.options;return this.proximate?l.align.charAt(0)+"tv":l.floating?"":l.align.charAt(0)+l.verticalAlign.charAt(0)+l.layout.charAt(0)}adjustMargins(l,d){let C=this.chart,k=this.options,p=this.getAlignment();p&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(T,B){T.test(p)&&!I(l[B])&&(C[j[B]]=Math.max(C[j[B]],C.legend[(B+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][B]*k[B%2?"x":"y"]+f(k.margin,12)+d[B]+(C.titleOffset[B]||0)))})}proximatePositions(){let l,d=this.chart,C=[],k="left"===this.options.align;for(let p of(this.allItems.forEach(function(T){let B,z,U,se,K=k;T.yAxis&&(T.xAxis.options.reversed&&(K=!K),T.points&&(B=m(K?T.points:T.points.slice(0).reverse(),function(S){return G(S.plotY)})),z=this.itemMarginTop+T.legendItem.label.getBBox().height+this.itemMarginBottom,se=T.yAxis.top-d.plotTop,U=T.visible?(B?B.plotY:T.yAxis.height)+(se-.3*z):se+T.yAxis.height,C.push({target:U,size:z,item:T}))},this),F(C,d.plotHeight)))l=p.item.legendItem||{},G(p.pos)&&(l.y=d.plotTop-d.spacing[0]+p.pos)}render(){let T,B,z,U,l=this.chart,d=l.renderer,C=this.options,k=this.padding,p=this.getAllItems(),K=this.group,se=this.box;this.itemX=k,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=g(C.width,l.spacingBox.width-k),U=l.spacingBox.width-2*k-C.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(U/=2),this.maxLegendWidth=this.widthOption||U,K||(this.group=K=d.g("legend").addClass(C.className||"").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(K),this.scrollGroup=d.g().add(this.contentGroup)),this.renderTitle(),v(p,(S,$)=>(S.options&&S.options.legendIndex||0)-($.options&&$.options.legendIndex||0)),C.reversed&&p.reverse(),this.allItems=p,this.display=T=!!p.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,p.forEach(this.renderItem,this),p.forEach(this.layoutItem,this),B=(this.widthOption||this.offsetWidth)+k,z=this.lastItemY+this.lastLineHeight+this.titleHeight,z=this.handleOverflow(z)+k,se||(this.box=se=d.rect().addClass("highcharts-legend-box").attr({r:C.borderRadius}).add(K)),l.styledMode||se.attr({stroke:C.borderColor,"stroke-width":C.borderWidth||0,fill:C.backgroundColor||"none"}).shadow(C.shadow),B>0&&z>0&&se[se.placed?"animate":"attr"](se.crisp.call({},{x:0,y:0,width:B,height:z},se.strokeWidth())),K[T?"show":"hide"](),l.styledMode&&"none"===K.getStyle("display")&&(B=z=0),this.legendWidth=B,this.legendHeight=z,T&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(l=this.chart.spacingBox){let d=this.chart,C=this.options,k=l.y;/(lth|ct|rth)/.test(this.getAlignment())&&d.titleOffset[0]>0?k+=d.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&d.titleOffset[2]>0&&(k-=d.titleOffset[2]),k!==l.y&&(l=O(l,{y:k})),d.hasRendered||(this.group.placed=!1),this.group.align(O(C,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":C.verticalAlign}),!0,l)}handleOverflow(l){let R,Z,Y,d=this,C=this.chart,k=C.renderer,p=this.options,T=p.y,B="top"===p.verticalAlign,z=this.padding,K=p.maxHeight,U=p.navigation,se=f(U.animation,!0),S=U.arrowSize||12,$=this.pages,H=this.allItems,x=function(Te){"number"==typeof Te?_e.attr({height:Te}):_e&&(d.clipRect=_e.destroy(),d.contentGroup.clip()),d.contentGroup.div&&(d.contentGroup.div.style.clip=Te?"rect("+z+"px,9999px,"+(z+Te)+"px,0)":"auto")},N=function(Te){return d[Te]=k.circle(0,0,1.3*S).translate(S/2,S/2).add(ge),C.styledMode||d[Te].attr("fill","rgba(0,0,0,0.0001)"),d[Te]},he=C.spacingBox.height+(B?-T:T)-z,ge=this.nav,_e=this.clipRect;return"horizontal"!==p.layout||"middle"===p.verticalAlign||p.floating||(he/=2),K&&(he=Math.min(he,K)),$.length=0,l&&he>0&&l>he&&!1!==U.enabled?(this.clipHeight=R=Math.max(he-20-this.titleHeight-z,0),this.currentPage=f(this.currentPage,1),this.fullHeight=l,H.forEach((Te,Oe)=>{let De=(Y=Te.legendItem||{}).y||0,Be=Math.round(Y.label.getBBox().height),oe=$.length;(!oe||De-$[oe-1]>R&&(Z||De)!==$[oe-1])&&($.push(Z||De),oe++),Y.pageIx=oe-1,Z&&((H[Oe-1].legendItem||{}).pageIx=oe-1),Oe===H.length-1&&De+Be-$[oe-1]>R&&De>$[oe-1]&&($.push(De),Y.pageIx=oe),De!==Z&&(Z=De)}),_e||(_e=d.clipRect=k.clipRect(0,z-2,9999,0),d.contentGroup.clip(_e)),x(R),ge||(this.nav=ge=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,S,S).add(ge),N("upTracker").on("click",function(){d.scroll(-1,se)}),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation"),!C.styledMode&&U.style&&this.pager.css(U.style),this.pager.add(ge),this.down=k.symbol("triangle-down",0,0,S,S).add(ge),N("downTracker").on("click",function(){d.scroll(1,se)})),d.scroll(0),l=he):ge&&(x(),this.nav=ge.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),l}scroll(l,d){let C=this.chart,k=this.pages,p=k.length,T=this.clipHeight,B=this.options.navigation,z=this.pager,K=this.padding,U=this.currentPage+l;U>p&&(U=p),U>0&&(void 0!==d&&te(d,C),this.nav.attr({translateX:K,translateY:T+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(se){se.attr({class:1===U?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),z.attr({text:U+"/"+p}),[this.down,this.downTracker].forEach(function(se){se.attr({x:18+this.pager.getBBox().width,class:U===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),C.styledMode||(this.up.attr({fill:1===U?B.inactiveColor:B.activeColor}),this.upTracker.css({cursor:1===U?"default":"pointer"}),this.down.attr({fill:U===p?B.inactiveColor:B.activeColor}),this.downTracker.css({cursor:U===p?"default":"pointer"})),this.scrollOffset=-k[U-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=U,this.positionCheckboxes(),o(()=>{w(this,"afterScroll",{currentPage:U})},J(f(d,C.renderer.globalAnimation,!0)).duration))}setItemEvents(l,d,C){let k=this,p=l.legendItem||{},T=k.chart.renderer.boxWrapper,B=l instanceof ve,z="highcharts-legend-"+(B?"point":"series")+"-active",K=k.chart.styledMode,U=C?[d,p.symbol]:[p.group],se=S=>{k.allItems.forEach($=>{l!==$&&[$].concat($.linkedSeries||[]).forEach(H=>{H.setState(S,!B)})})};for(let S of U)S&&S.on("mouseover",function(){l.visible&&se("inactive"),l.setState("hover"),l.visible&&T.addClass(z),K||d.css(k.options.itemHoverStyle)}).on("mouseout",function(){k.chart.styledMode||d.css(O(l.visible?k.itemStyle:k.itemHiddenStyle)),se(""),T.removeClass(z),l.setState()}).on("click",function($){let H="legendItemClick",x=function(){l.setVisible&&l.setVisible(),se(l.visible?"inactive":"")};T.removeClass(z),$={browserEvent:$},l.firePointEvent?l.firePointEvent(H,$,x):w(l,H,$,x)})}createCheckboxForItem(l){l.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:l.selected,defaultChecked:l.selected},this.options.itemCheckboxStyle,this.chart.container),P(l.checkbox,"click",function(d){w(l.series||l,"checkboxClick",{checked:d.target.checked,item:l},function(){l.select()})})}}return(ue=n||(n={})).compose=function(r){a(E,"Core.Legend")&&P(r,"beforeMargins",function(){this.legend=new ue(this,this.options.legend)})},n}),Le(V,"Core/Legend/LegendSymbol.js",[V["Core/Utilities.js"]],function(q){var ne;let{extend:re,merge:ve,pick:le}=q;return function(pe){function ue(J,te,X){let f,E=this.legendItem=this.legendItem||{},{chart:j,options:F}=this,{baseline:P=0,symbolWidth:D,symbolHeight:A}=J,I=this.symbol||"circle",_=A/2,m=j.renderer,w=E.group,G=P-Math.round(A*(X?.4:.3)),O={},a=F.marker,g=0;if(j.styledMode||(O["stroke-width"]=Math.min(F.lineWidth||0,24),F.dashStyle?O.dashstyle=F.dashStyle:"square"===F.linecap||(O["stroke-linecap"]="round")),E.line=m.path().addClass("highcharts-graph").attr(O).add(w),X&&(E.area=m.path().addClass("highcharts-area").add(w)),O["stroke-linecap"]&&(g=Math.min(E.line.strokeWidth(),D)/2),D){let v=[["M",g,G],["L",D-g,G]];E.line.attr({d:v}),E.area?.attr({d:[...v,["L",D-g,P],["L",g,P]]})}if(a&&!1!==a.enabled&&D){let v=Math.min(le(a.radius,_),_);0===I.indexOf("url")&&(a=ve(a,{width:A,height:A}),v=0),E.symbol=f=m.symbol(I,D/2-v,G-v,2*v,2*v,re({context:"legend"},a)).addClass("highcharts-point").add(w),f.isMarker=!0}}pe.areaMarker=function(J,te){ue.call(this,J,te,!0)},pe.lineMarker=ue,pe.rectangle=function(J,te){let X=te.legendItem||{},j=J.symbolHeight,F=J.options.squareSymbol;X.symbol=this.chart.renderer.rect(F?(J.symbolWidth-j)/2:0,J.baseline-j+1,F?j:J.symbolWidth,j,le(J.options.symbolRadius,j/2)).addClass("highcharts-point").attr({zIndex:3}).add(X.group)}}(ne||(ne={})),ne}),Le(V,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:q}=this.series.chart;return"number"!=typeof this.y?"":q(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),Le(V,"Core/Series/SeriesRegistry.js",[V["Core/Globals.js"],V["Core/Defaults.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{defaultOptions:pe}=ne,{extend:ue,extendClass:J,merge:te}=ve;return function(X){function E(j,F){let P=pe.plotOptions||{},D=F.defaultOptions,A=F.prototype;return A.type=j,A.pointClass||(A.pointClass=re),!X.seriesTypes[j]&&(D&&(P[j]=D),X.seriesTypes[j]=F,!0)}X.seriesTypes=q.seriesTypes,X.registerSeriesType=E,X.seriesType=function(j,F,P,D,A){let I=pe.plotOptions||{};if(I[j]=te(I[F=F||""],P),delete X.seriesTypes[j],E(j,J(X.seriesTypes[F]||function(){},D)),X.seriesTypes[j].prototype.type=j,A){class _ extends re{}ue(_.prototype,A),X.seriesTypes[j].prototype.pointClass=_}return X.seriesTypes[j]}}(le||(le={})),le}),Le(V,"Core/Series/Series.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Defaults.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Series/Point.js"],V["Core/Series/SeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X){let{animObject:E,setAnimation:j}=q,{defaultOptions:F}=ne,{registerEventOptions:P}=re,{svg:D,win:A}=ve,{seriesTypes:I}=J,{arrayMax:_,arrayMin:m,clamp:w,correctFloat:G,defined:O,destroyObjectProperties:f,diffObjects:a,erase:g,error:v,extend:o,find:n,fireEvent:r,getClosestDistance:l,getNestedProperty:d,insertItem:C,isArray:k,isNumber:p,isString:T,merge:B,objectEach:z,pick:K,removeEvent:U,splat:se,syncTimeout:S}=X;class ${constructor(){this.zoneAxis="y"}init(x,N){let R;r(this,"init",{options:N});let Z=this,Y=x.series;this.eventsToUnbind=[],Z.chart=x,Z.options=Z.setOptions(N);let he=Z.options,ge=!1!==he.visible;Z.linkedSeries=[],Z.bindAxes(),o(Z,{name:he.name,state:"",visible:ge,selected:!0===he.selected}),P(this,he);let _e=he.events;(_e&&_e.click||he.point&&he.point.events&&he.point.events.click||he.allowPointSelect)&&(x.runTrackerClick=!0),Z.getColor(),Z.getSymbol(),Z.parallelArrays.forEach(function(Te){Z[Te+"Data"]||(Z[Te+"Data"]=[])}),Z.isCartesian&&(x.hasCartesianSeries=!0),Y.length&&(R=Y[Y.length-1]),Z._i=K(R&&R._i,-1)+1,Z.opacity=Z.options.opacity,x.orderItems("series",C(this,Y)),he.dataSorting&&he.dataSorting.enabled?Z.setDataSortingOptions():Z.points||Z.data||Z.setData(he.data,!1),r(this,"afterInit")}is(x){return I[x]&&this instanceof I[x]}bindAxes(){let x,N=this,R=N.options,Z=N.chart;r(this,"bindAxes",null,function(){(N.axisTypes||[]).forEach(function(Y){Z[Y].forEach(function(he){x=he.options,(K(R[Y],0)===he.index||void 0!==R[Y]&&R[Y]===x.id)&&(C(N,he.series),N[Y]=he,he.isDirty=!0)}),N[Y]||N.optionalAxis===Y||v(18,!0,Z)})}),r(this,"afterBindAxes")}updateParallelArrays(x,N,R){let Z=x.series,Y=p(N)?function(he){let ge="y"===he&&Z.toYData?Z.toYData(x):x[he];Z[he+"Data"][N]=ge}:function(he){Array.prototype[N].apply(Z[he+"Data"],R)};Z.parallelArrays.forEach(Y)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(x,N){let R=x.marker,Z=N.marker||{};return R&&(Z.enabled&&!R.enabled||Z.symbol!==R.symbol||Z.height!==R.height||Z.width!==R.width)}autoIncrement(x){let ge,_e,N=this.options,R=N.pointIntervalUnit,Z=N.relativeXValue,Y=this.chart.time,he=this.xIncrement;return he=K(he,N.pointStart,0),this.pointInterval=_e=K(this.pointInterval,N.pointInterval,1),Z&&p(x)&&(_e*=x),R&&(ge=new Y.Date(he),"day"===R?Y.set("Date",ge,Y.get("Date",ge)+_e):"month"===R?Y.set("Month",ge,Y.get("Month",ge)+_e):"year"===R&&Y.set("FullYear",ge,Y.get("FullYear",ge)+_e),_e=ge.getTime()-he),Z&&p(x)?he+_e:(this.xIncrement=he+_e,he)}setDataSortingOptions(){let x=this.options;o(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),O(x.pointRange)||(x.pointRange=1)}setOptions(x){let N,R=this.chart,Z=R.options.plotOptions,Y=R.userOptions||{},he=B(x),ge=R.styledMode,_e={plotOptions:Z,userOptions:he};r(this,"setOptions",_e);let Te=_e.plotOptions[this.type],Oe=Y.plotOptions||{},De=Oe.series||{},Be=F.plotOptions[this.type]||{},oe=Oe[this.type]||{};this.userOptions=_e.userOptions;let ee=B(Te,Z.series,oe,he);this.tooltipOptions=B(F.tooltip,F.plotOptions.series?.tooltip,Be?.tooltip,R.userOptions.tooltip,Oe.series?.tooltip,oe.tooltip,he.tooltip),this.stickyTracking=K(he.stickyTracking,oe.stickyTracking,De.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||ee.stickyTracking),null===Te.marker&&delete ee.marker,this.zoneAxis=ee.zoneAxis||"y";let be=this.zones=(ee.zones||[]).map(xe=>({...xe}));return(ee.negativeColor||ee.negativeFillColor)&&!ee.zones&&(N={value:ee[this.zoneAxis+"Threshold"]||ee.threshold||0,className:"highcharts-negative"},ge||(N.color=ee.negativeColor,N.fillColor=ee.negativeFillColor),be.push(N)),be.length&&O(be[be.length-1].value)&&be.push(ge?{}:{color:this.color,fillColor:this.fillColor}),r(this,"afterSetOptions",{options:ee}),ee}getName(){return K(this.options.name,"Series "+(this.index+1))}getCyclic(x,N,R){let Z,Y,he=this.chart,ge=`${x}Index`,_e=`${x}Counter`,Te=R?.length||he.options.chart.colorCount;!N&&(O(Y=K("color"===x?this.options.colorIndex:void 0,this[ge]))?Z=Y:(he.series.length||(he[_e]=0),Z=he[_e]%Te,he[_e]+=1),R&&(N=R[Z])),void 0!==Z&&(this[ge]=Z),this[x]=N}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||F.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(x,N){let R,Z,Y,he=x.id,ge=x.x,_e=this.points,Te=this.options.dataSorting;if(he){let Oe=this.chart.get(he);Oe instanceof pe&&(R=Oe)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let Oe=De=>!De.touched&&De.index===x.index;if(Te&&Te.matchByName?Oe=De=>!De.touched&&De.name===x.name:this.options.relativeXValue&&(Oe=De=>!De.touched&&De.options.x===x.x),!(R=n(_e,Oe)))return}return R&&void 0!==(Y=R&&R.index)&&(Z=!0),void 0===Y&&p(ge)&&(Y=this.xData.indexOf(ge,N)),-1!==Y&&void 0!==Y&&this.cropped&&(Y=Y>=this.cropStart?Y-this.cropStart:Y),!Z&&p(Y)&&_e[Y]&&_e[Y].touched&&(Y=void 0),Y}updateData(x,N){let Te,Oe,De,Be,R=this.options,Z=R.dataSorting,Y=this.points,he=[],ge=this.requireSorting,_e=x.length===Y.length,oe=!0;if(this.xIncrement=null,x.forEach(function(ee,be){let xe,Ie=O(ee)&&this.pointClass.prototype.optionsToObject.call({series:this},ee)||{};Ie.id||p(Ie.x)?(-1===(xe=this.findPointIndex(Ie,Be))||void 0===xe?he.push(ee):Y[xe]&&ee!==R.data[xe]?(Y[xe].update(ee,!1,null,!1),Y[xe].touched=!0,ge&&(Be=xe+1)):Y[xe]&&(Y[xe].touched=!0),(!_e||be!==xe||Z&&Z.enabled||this.hasDerivedData)&&(Te=!0)):he.push(ee)},this),Te)for(Oe=Y.length;Oe--;)(De=Y[Oe])&&!De.touched&&De.remove&&De.remove(!1,N);else!_e||Z&&Z.enabled?oe=!1:(x.forEach(function(ee,be){ee===Y[be].y||Y[be].destroyed||Y[be].update(ee,!1,null,!1)}),he.length=0);return Y.forEach(function(ee){ee&&(ee.touched=!1)}),!!oe&&(he.forEach(function(ee){this.addPoint(ee,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=_(this.xData),this.autoIncrement()),!0)}setData(x,N=!0,R,Z){let we,Ee,Me,qe,Y=this,he=Y.points,ge=he&&he.length||0,_e=Y.options,Te=Y.chart,Oe=_e.dataSorting,De=Y.xAxis,Be=_e.turboThreshold,oe=this.xData,ee=this.yData,be=Y.pointArrayMap,xe=be&&be.length,Ie=_e.keys,Xe=0,Je=1,lt=null;Te.options.chart.allowMutatingData||(_e.data&&delete Y.options.data,Y.userOptions.data&&delete Y.userOptions.data,qe=B(!0,x));let st=(x=qe||x||[]).length;if(Oe&&Oe.enabled&&(x=this.sortData(x)),Te.options.chart.allowMutatingData&&!1!==Z&&st&&ge&&!Y.cropped&&!Y.hasGroupedData&&Y.visible&&!Y.boosted&&(Me=this.updateData(x,R)),!Me){if(Y.xIncrement=null,Y.colorCounter=0,this.parallelArrays.forEach(function(Tt){Y[Tt+"Data"].length=0}),Be&&st>Be)if(p(lt=Y.getFirstValidPoint(x)))for(we=0;we=0?Xe:0,Je=Je>=0?Je:1),1===lt.length&&(Je=0),Xe===Je)for(we=0;we{let ge=d(R,Y),_e=d(R,he);return _ege?1:0}).forEach(function(Y,he){Y.x=he},this),N.linkedSeries&&N.linkedSeries.forEach(function(Y){let he=Y.options,ge=he.data;he.dataSorting&&he.dataSorting.enabled||!ge||(ge.forEach(function(_e,Te){ge[Te]=Z(Y,_e),x[Te]&&(ge[Te].x=x[Te].x,ge[Te].index=Te)}),Y.setData(ge,!1))}),x}getProcessedData(x){let Te,Oe,Be,oe,ee,N=this,R=N.xAxis,Z=N.options,Y=Z.cropThreshold,he=x||N.getExtremesFromAll||Z.getExtremesFromAll,ge=R?.logarithmic,_e=N.isCartesian,De=0,be=N.xData,xe=N.yData,Ie=!1,we=be.length;R&&(oe=(Be=R.getExtremes()).min,ee=Be.max,Ie=!(!R.categories||R.names.length)),_e&&N.sorted&&!he&&(!Y||we>Y||N.forceCrop)&&(be[we-1]ee?(be=[],xe=[]):N.yData&&(be[0]ee)&&(be=(Te=this.cropData(N.xData,N.yData,oe,ee)).xData,xe=Te.yData,De=Te.start,Oe=!0));let Ee=l([ge?be.map(ge.log2lin):be],()=>N.requireSorting&&!Ie&&v(15,!1,N.chart));return{xData:be,yData:xe,cropped:Oe,cropStart:De,closestPointRange:Ee}}processData(x){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!x)return!1;let R=this.getProcessedData();this.cropped=R.cropped,this.cropStart=R.cropStart,this.processedXData=R.xData,this.processedYData=R.yData,this.closestPointRange=this.basePointRange=R.closestPointRange,r(this,"afterProcessData")}cropData(x,N,R,Z){let he,ge,Y=x.length,_e=0,Te=Y;for(he=0;he=R){_e=Math.max(0,he-1);break}for(ge=he;geZ){Te=ge+1;break}return{xData:x.slice(_e,Te),yData:N.slice(_e,Te),start:_e,end:Te}}generatePoints(){let Be,oe,ee,be,x=this.options,N=this.processedData||x.data,R=this.processedXData,Z=this.processedYData,Y=this.pointClass,he=R.length,ge=this.cropStart||0,_e=this.hasGroupedData,Te=x.keys,Oe=[],De=x.dataGrouping&&x.dataGrouping.groupAll?ge:0,xe=this.data;if(!xe&&!_e){let Ie=[];Ie.length=N.length,xe=this.data=Ie}for(Te&&_e&&(this.options.keys=!1),be=0;be0:oe.length)||!_e),De=N||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!R||(Y[ee+ge]||Be)>=xe&&(Y[ee-ge]||Be)<=Ie,Oe&&De)if(be=oe.length)for(;be--;)p(oe[be])&&(he[we++]=oe[be]);else he[we++]=oe;let Me={activeYData:he,dataMin:m(he),dataMax:_(he)};return r(this,"afterGetExtremes",{dataExtremes:Me}),Me}applyExtremes(){let x=this.getExtremes();return this.dataMin=x.dataMin,this.dataMax=x.dataMax,x}getFirstValidPoint(x){let N=x.length,R=0,Z=null;for(;null===Z&&R1)&&(he.step=function(Be,oe){De&&De.apply(oe,arguments),"width"===oe.prop&&Te?.element&&Te.attr(Y?"height":"width",Be+99)}),_e.addClass("highcharts-animating").animate(Oe,he)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(x,N,R)=>{x&&!this.chart.container.querySelector(`[clip-path="url(#${x.id})"]`)&&(x.destroy(),delete R[N])}),this.finishedAnimating=!0,r(this,"afterAnimate")}drawPoints(x=this.points){let N,R,Z,Y,he,ge,_e,Te=this.chart,Oe=Te.styledMode,{colorAxis:De,options:Be}=this,oe=Be.marker,ee=this[this.specialGroup||"markerGroup"],be=this.xAxis,xe=K(oe.enabled,!be||!!be.isRadial||null,this.closestPointRangePx>=oe.enabledThreshold*oe.radius);if(!1!==oe.enabled||this._hasPointMarkers)for(N=0;N0||R.hasImage)&&(R.graphic=Z=Te.renderer.symbol(Ie,_e.x,_e.y,_e.width,_e.height,ge?he:oe).add(ee),this.enabledDataSorting&&Te.hasRendered&&(Z.attr({x:R.startXPos}),Y="animate")),Z&&"animate"===Y&&Z[we?"show":"hide"](we).animate(_e),Z){let Ee=this.pointAttribs(R,Oe||!R.selected?void 0:"select");Oe?De&&Z.css({fill:Ee.fill}):Z[Y](Ee)}Z&&Z.addClass(R.getClassName(),!0)}else Z&&(R.graphic=Z.destroy())}markerAttribs(x,N){let _e,Te,R=this.options,Z=R.marker,Y=x.marker||{},he=Y.symbol||Z.symbol,ge={},Oe=K(Y.radius,Z&&Z.radius);N&&(_e=Z.states[N],Oe=K((Te=Y.states&&Y.states[N])&&Te.radius,_e&&_e.radius,Oe&&Oe+(_e&&_e.radiusPlus||0))),x.hasImage=he&&0===he.indexOf("url"),x.hasImage&&(Oe=0);let De=x.pos();return p(Oe)&&De&&(ge.x=De[0]-Oe,ge.y=De[1]-Oe,R.crisp&&(ge.x=Math.floor(ge.x))),Oe&&(ge.width=ge.height=2*Oe),ge}pointAttribs(x,N){let Te,Oe,Be,oe,R=this.options.marker,Z=x&&x.options,Y=Z&&Z.marker||{},he=Z&&Z.color,ge=x&&x.color,_e=x&&x.zone&&x.zone.color,De=this.color,ee=K(Y.lineWidth,R.lineWidth),be=1;return De=he||_e||ge||De,Be=Y.fillColor||R.fillColor||De,oe=Y.lineColor||R.lineColor||De,Te=R.states[N=N||"normal"]||{},ee=K((Oe=Y.states&&Y.states[N]||{}).lineWidth,Te.lineWidth,ee+K(Oe.lineWidthPlus,Te.lineWidthPlus,0)),Be=Oe.fillColor||Te.fillColor||Be,{stroke:oe=Oe.lineColor||Te.lineColor||oe,"stroke-width":ee,fill:Be,opacity:be=K(Oe.opacity,Te.opacity,be)}}destroy(x){let N,R,Z,Y=this,he=Y.chart,ge=/AppleWebKit\/533/.test(A.navigator.userAgent),_e=Y.data||[];for(r(Y,"destroy",{keepEventsForUpdate:x}),this.removeEvents(x),(Y.axisTypes||[]).forEach(function(Te){(Z=Y[Te])&&Z.series&&(g(Z.series,Y),Z.isDirty=Z.forceRedraw=!0)}),Y.legendItem&&Y.chart.legend.destroyItem(Y),N=_e.length;N--;)(R=_e[N])&&R.destroy&&R.destroy();for(let Te of Y.zones)f(Te,void 0,!0);X.clearTimeout(Y.animationTimeout),z(Y,function(Te,Oe){Te instanceof te&&!Te.survive&&Te[ge&&"group"===Oe?"hide":"destroy"]()}),he.hoverSeries===Y&&(he.hoverSeries=void 0),g(he.series,Y),he.orderItems("series"),z(Y,function(Te,Oe){x&&"hcEvents"===Oe||delete Y[Oe]})}applyZones(){let{area:x,chart:N,graph:R,zones:Z,points:Y,xAxis:he,yAxis:ge,zoneAxis:_e}=this,{inverted:Te,renderer:Oe}=N,De=this[`${_e}Axis`],{isXAxis:Be,len:oe=0}=De||{},ee=(R?.strokeWidth()||0)/2+1,be=(xe,Ie=0,we=0)=>{Te&&(we=oe-we);let{translated:Ee=0,lineClip:Me}=xe,Xe=we-Ee;Me?.push(["L",Ie,Math.abs(Xe){Me.forEach((Xe,Je)=>{("M"===Xe[0]||"L"===Xe[0])&&(Me[Je]=[Xe[0],Be?oe-Xe[1]:Xe[1],Be?Xe[2]:oe-Xe[2]])})};if(Z.forEach(Me=>{Me.lineClip=[],Me.translated=w(De.toPixels(K(Me.value,xe),!0)||0,0,oe)}),R&&!this.showLine&&R.hide(),x&&x.hide(),"y"===_e&&Y.length{let Xe=Me.lineClip||[],Je=Math.round(Me.translated||0);he.reversed&&Xe.reverse();let{clip:lt,simpleClip:qe}=Me,st=0,Tt=0,pt=he.len,ht=ge.len;Be?(st=Je,pt=Ee):(Tt=Je,ht=Ee);let Pt=[["M",st,Tt],["L",pt,Tt],["L",pt,ht],["L",st,ht],["Z"]],Gt=[Pt[0],...Xe,Pt[1],Pt[2],...we,Pt[3],Pt[4]];we=Xe.reverse(),Ee=Je,Te&&(Ie(Gt),x&&Ie(Pt)),lt?(lt.animate({d:Gt}),qe?.animate({d:Pt})):(lt=Me.clip=Oe.path(Gt),x&&(qe=Me.simpleClip=Oe.path(Pt))),R&&Me.graph?.clip(lt),x&&Me.area?.clip(qe)})}else this.visible&&(R&&R.show(),x&&x.show())}plotGroup(x,N,R,Z,Y){let he=this[x],ge=!he,_e={visibility:R,zIndex:Z||.1};return O(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(_e.opacity=this.opacity),he||(this[x]=he=this.chart.renderer.g().add(Y)),he.addClass("highcharts-"+N+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(O(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(he.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),he.attr(_e)[ge?"attr":"animate"](this.getPlotBox(N)),he}getPlotBox(x){let N=this.xAxis,R=this.yAxis,Z=this.chart,Y=Z.inverted&&!Z.polar&&N&&this.invertible&&"series"===x;return Z.inverted&&(N=R,R=this.xAxis),{translateX:N?N.left:Z.plotLeft,translateY:R?R.top:Z.plotTop,rotation:Y?90:0,rotationOriginX:Y?(N.len-R.len)/2:0,rotationOriginY:Y?(N.len+R.len)/2:0,scaleX:Y?-1:1,scaleY:1}}removeEvents(x){let{eventsToUnbind:N}=this;x||U(this),N.length&&(N.forEach(R=>{R()}),N.length=0)}render(){let x=this,{chart:N,options:R,hasRendered:Z}=x,Y=E(R.animation),he=x.visible?"inherit":"hidden",ge=R.zIndex,_e=N.seriesGroup,Te=x.finishedAnimating?0:Y.duration;r(this,"render"),x.plotGroup("group","series",he,ge,_e),x.markerGroup=x.plotGroup("markerGroup","markers",he,ge,_e),!1!==R.clip&&x.setClip(),Te&&x.animate?.(!0),x.drawGraph&&(x.drawGraph(),x.applyZones()),x.visible&&x.drawPoints(),x.drawDataLabels?.(),x.redrawPoints?.(),R.enableMouseTracking&&x.drawTracker?.(),Te&&x.animate?.(),Z||(Te&&Y.defer&&(Te+=Y.defer),x.animationTimeout=S(()=>{x.afterAnimate()},Te||0)),x.isDirty=!1,x.hasRendered=!0,r(x,"afterRender")}redraw(){let x=this.isDirty||this.isDirtyData;this.translate(),this.render(),x&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(x,N){let{xAxis:R,yAxis:Z}=this,Y=this.chart.inverted;return this.searchKDTree({clientX:Y?R.len-x.chartY+R.pos:x.chartX-R.pos,plotY:Y?Z.len-x.chartX+Z.pos:x.chartY-Z.pos},N,x)}buildKDTree(x){this.buildingKdTree=!0;let N=this,R=N.options.findNearestPointBy.indexOf("y")>-1?2:1;delete N.kdTree,S(function(){N.kdTree=function Z(Y,he,ge){let _e,Te,Oe=Y?.length;if(Oe)return _e=N.kdAxisArray[he%ge],Y.sort((De,Be)=>(De[_e]||0)-(Be[_e]||0)),{point:Y[Te=Math.floor(Oe/2)],left:Z(Y.slice(0,Te),he+1,ge),right:Z(Y.slice(Te+1),he+1,ge)}}(N.getValidPoints(void 0,!N.directTouch),R,R),N.buildingKdTree=!1},N.options.kdNow||"touchstart"===x?.type?0:1)}searchKDTree(x,N,R){let Z=this,[Y,he]=this.kdAxisArray,ge=N?"distX":"dist",_e=(Z.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Te=!!Z.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(R),this.kdTree)return function Oe(De,Be,oe,ee){let Ie,we,be=Be.point,xe=Z.kdAxisArray[oe%ee],Ee=be;!function(lt,qe){let st=lt[Y],Tt=qe[Y],pt=O(st)&&O(Tt)?st-Tt:null,ht=lt[he],Pt=qe[he],Gt=O(ht)&&O(Pt)?ht-Pt:0,ti=Te&&qe.marker?.radius||0;qe.dist=Math.sqrt((pt&&pt*pt||0)+Gt*Gt)-ti,qe.distX=O(pt)?Math.abs(pt)-ti:Number.MAX_VALUE}(De,be);let Me=(De[xe]||0)-(be[xe]||0)+(Te&&be.marker?.radius||0),Xe=Me<0?"left":"right",Je=Me<0?"right":"left";return Be[Xe]&&(Ee=(Ie=Oe(De,Be[Xe],oe+1,ee))[ge]=0&&he<=(Z?Z.len:N.plotHeight)&&Y>=0&&Y<=(R?R.len:N.plotWidth)}drawTracker(){let x=this,N=x.options,R=N.trackByArea,Z=[].concat((R?x.areaPath:x.graphPath)||[]),Y=x.chart,he=Y.pointer,ge=Y.renderer,_e=Y.options.tooltip?.snap||0,Te=()=>{N.enableMouseTracking&&Y.hoverSeries!==x&&x.onMouseOver()},Oe="rgba(192,192,192,"+(D?1e-4:.002)+")",De=x.tracker;De?De.attr({d:Z}):x.graph&&(x.tracker=De=ge.path(Z).attr({visibility:x.visible?"inherit":"hidden",zIndex:2}).addClass(R?"highcharts-tracker-area":"highcharts-tracker-line").add(x.group),Y.styledMode||De.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:Oe,fill:R?Oe:"none","stroke-width":x.graph.strokeWidth()+(R?0:2*_e)}),[x.tracker,x.markerGroup,x.dataLabelsGroup].forEach(Be=>{Be&&(Be.addClass("highcharts-tracker").on("mouseover",Te).on("mouseout",oe=>{he?.onTrackerMouseOut(oe)}),N.cursor&&!Y.styledMode&&Be.css({cursor:N.cursor}),Be.on("touchstart",Te))})),r(this,"afterDrawTracker")}addPoint(x,N,R,Z,Y){let he,ge,_e=this.options,Te=this.data,Oe=this.chart,De=this.xAxis,Be=De&&De.hasNames&&De.names,oe=_e.data,ee=this.xData;N=K(N,!0);let be={series:this};this.pointClass.prototype.applyOptions.apply(be,[x]);let xe=be.x;if(ge=ee.length,this.requireSorting&&xexe;)ge--;this.updateParallelArrays(be,"splice",[ge,0,0]),this.updateParallelArrays(be,ge),Be&&be.name&&(Be[xe]=be.name),oe.splice(ge,0,x),(he||this.processedData)&&(this.data.splice(ge,0,null),this.processData()),"point"===_e.legendType&&this.generatePoints(),R&&(Te[0]&&Te[0].remove?Te[0].remove(!1):(Te.shift(),this.updateParallelArrays(be,"shift"),oe.shift())),!1!==Y&&r(this,"addPoint",{point:be}),this.isDirty=!0,this.isDirtyData=!0,N&&Oe.redraw(Z)}removePoint(x,N,R){let Z=this,Y=Z.data,he=Y[x],ge=Z.points,_e=Z.chart,Te=function(){ge&&ge.length===Y.length&&ge.splice(x,1),Y.splice(x,1),Z.options.data.splice(x,1),Z.updateParallelArrays(he||{series:Z},"splice",[x,1]),he&&he.destroy(),Z.isDirty=!0,Z.isDirtyData=!0,N&&_e.redraw()};j(R,_e),N=K(N,!0),he?he.firePointEvent("remove",null,Te):Te()}remove(x,N,R,Z){let Y=this,he=Y.chart;function ge(){Y.destroy(Z),he.isDirtyLegend=he.isDirtyBox=!0,he.linkSeries(Z),K(x,!0)&&he.redraw(N)}!1!==R?r(Y,"remove",null,ge):ge()}update(x,N){r(this,"update",{options:x=a(x,this.userOptions)});let De,Be,R=this,Z=R.chart,Y=R.userOptions,he=R.initialType||R.type,ge=Z.options.plotOptions,_e=I[he].prototype,Te=R.finishedAnimating&&{animation:!1},Oe={},oe=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ee=x.type||Y.type||Z.options.chart.type,be=!(this.hasDerivedData||ee&&ee!==this.type||void 0!==x.pointStart||void 0!==x.pointInterval||void 0!==x.relativeXValue||x.joinBy||x.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(Ie=>R.hasOptionChanged(Ie)));ee=ee||he,be&&(oe.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==x.visible&&oe.push("area","graph"),R.parallelArrays.forEach(function(Ie){oe.push(Ie+"Data")}),x.data&&(x.dataSorting&&o(R.options.dataSorting,x.dataSorting),this.setData(x.data,!1))),x=B(Y,{index:void 0===Y.index?R.index:Y.index,pointStart:ge?.series?.pointStart??Y.pointStart??R.xData?.[0]},!be&&{data:R.options.data},x,Te),be&&x.data&&(x.data=R.options.data),(oe=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(oe)).forEach(function(Ie){oe[Ie]=R[Ie],delete R[Ie]});let xe=!1;if(I[ee]){if(xe=ee!==R.type,R.remove(!1,!1,!1,!0),xe)if(Z.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(R,I[ee].prototype);else{let Ie=Object.hasOwnProperty.call(R,"hcEvents")&&R.hcEvents;for(Be in _e)R[Be]=void 0;o(R,I[ee].prototype),Ie?R.hcEvents=Ie:delete R.hcEvents}}else v(17,!0,Z,{missingModuleFor:ee});if(oe.forEach(function(Ie){R[Ie]=oe[Ie]}),R.init(Z,x),be&&this.points)for(let Ie of(!1===(De=R.options).visible?(Oe.graphic=1,Oe.dataLabel=1):(this.hasMarkerChanged(De,Y)&&(Oe.graphic=1),R.hasDataLabels?.()||(Oe.dataLabel=1)),this.points))Ie&&Ie.series&&(Ie.resolveColor(),Object.keys(Oe).length&&Ie.destroyElements(Oe),!1===De.showInLegend&&Ie.legendItem&&Z.legend.destroyItem(Ie));R.initialType=he,Z.linkSeries(),Z.setSortedData(),xe&&R.linkedSeries.length&&(R.isDirtyData=!0),r(this,"afterUpdate"),K(N,!0)&&Z.redraw(!!be&&void 0)}setName(x){this.name=this.options.name=this.userOptions.name=x,this.chart.isDirtyLegend=!0}hasOptionChanged(x){let R=this.options[x],Z=this.chart.options.plotOptions,Y=this.userOptions[x],he=K(Z?.[this.type]?.[x],Z?.series?.[x]);return Y&&!O(he)?R!==Y:R!==K(he,R)}onMouseOver(){let x=this.chart,N=x.hoverSeries;x.pointer?.setHoverChartIndex(),N&&N!==this&&N.onMouseOut(),this.options.events.mouseOver&&r(this,"mouseOver"),this.setState("hover"),x.hoverSeries=this}onMouseOut(){let x=this.options,N=this.chart,R=N.tooltip,Z=N.hoverPoint;N.hoverSeries=null,Z&&Z.onMouseOut(),this&&x.events.mouseOut&&r(this,"mouseOut"),R&&!this.stickyTracking&&(!R.shared||this.noSharedTooltip)&&R.hide(),N.series.forEach(function(Y){Y.setState("",!0)})}setState(x,N){let R=this,Z=R.options,Y=R.graph,he=Z.inactiveOtherPoints,ge=Z.states,_e=K(ge[x||"normal"]&&ge[x||"normal"].animation,R.chart.options.chart.animation),Te=Z.lineWidth,Oe=Z.opacity;if(R.state!==(x=x||"")&&([R.group,R.markerGroup,R.dataLabelsGroup].forEach(function(De){De&&(R.state&&De.removeClass("highcharts-series-"+R.state),x&&De.addClass("highcharts-series-"+x))}),R.state=x,!R.chart.styledMode)){if(ge[x]&&!1===ge[x].enabled)return;if(x&&(Te=ge[x].lineWidth||Te+(ge[x].lineWidthPlus||0),Oe=K(ge[x].opacity,Oe)),Y&&!Y.dashstyle&&p(Te))for(let De of[Y,...this.zones.map(Be=>Be.graph)])De?.animate({"stroke-width":Te},_e);he||[R.group,R.markerGroup,R.dataLabelsGroup,R.labelBySeries].forEach(function(De){De&&De.animate({opacity:Oe},_e)})}N&&he&&R.points&&R.setAllPointsToState(x||void 0)}setAllPointsToState(x){this.points.forEach(function(N){N.setState&&N.setState(x)})}setVisible(x,N){let R=this,Z=R.chart,Y=Z.options.chart.ignoreHiddenSeries;R.visible=x=R.options.visible=R.userOptions.visible=void 0===x?!R.visible:x;let ge=x?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(_e=>{R[_e]?.[ge]()}),(Z.hoverSeries===R||Z.hoverPoint?.series===R)&&R.onMouseOut(),R.legendItem&&Z.legend.colorizeItem(R,x),R.isDirty=!0,R.options.stacking&&Z.series.forEach(_e=>{_e.options.stacking&&_e.visible&&(_e.isDirty=!0)}),R.linkedSeries.forEach(_e=>{_e.setVisible(x,!1)}),Y&&(Z.isDirtyBox=!0),r(R,ge),!1!==N&&Z.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(x){this.selected=x=this.options.selected=void 0===x?!this.selected:x,this.checkbox&&(this.checkbox.checked=x),r(this,x?"select":"unselect")}shouldShowTooltip(x,N,R={}){return R.series=this,R.visiblePlotOnly=!0,this.chart.isInsidePlot(x,N,R)}drawLegendSymbol(x,N){le[this.options.legendSymbol||"rectangle"]?.call(this,x,N)}}return $.defaultOptions=ue,$.types=J.seriesTypes,$.registerType=J.registerSeriesType,o($.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),J.series=$,$}),Le(V,"Core/Chart/Chart.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Templating.js"],V["Core/Foundation.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Time.js"],V["Core/Utilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Axis/Tick.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P){let{animate:D,animObject:A,setAnimation:I}=q,{defaultOptions:_,defaultTime:m}=re,{numberFormat:w}=ve,{registerEventOptions:G}=le,{charts:O,doc:f,marginNames:a,svg:g,win:v}=pe,{seriesTypes:o}=te,{addEvent:n,attr:r,createElement:l,css:d,defined:C,diffObjects:k,discardElement:p,erase:T,error:B,extend:z,find:K,fireEvent:U,getStyle:se,isArray:S,isNumber:$,isObject:H,isString:x,merge:N,objectEach:R,pick:Z,pInt:Y,relativeLength:he,removeEvent:ge,splat:_e,syncTimeout:Te,uniqueKey:Oe}=j;class De{static chart(oe,ee,be){return new De(oe,ee,be)}constructor(oe,ee,be){this.sharedClips={};let xe=[...arguments];(x(oe)||oe.nodeName)&&(this.renderTo=xe.shift()),this.init(xe[0],xe[1])}setZoomOptions(){let oe=this.options.chart,ee=oe.zooming;this.zooming={...ee,type:Z(oe.zoomType,ee.type),key:Z(oe.zoomKey,ee.key),pinchType:Z(oe.pinchType,ee.pinchType),singleTouch:Z(oe.zoomBySingleTouch,ee.singleTouch,!1),resetButton:N(ee.resetButton,oe.resetZoomButton)}}init(oe,ee){U(this,"init",{args:arguments},function(){let be=N(_,oe),xe=be.chart;this.userOptions=z({},oe),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=ee,this.isResizing=0,this.options=be,this.axes=[],this.series=[],this.time=oe.time&&Object.keys(oe.time).length?new E(oe.time):pe.time,this.numberFormatter=xe.numberFormatter||w,this.styledMode=xe.styledMode,this.hasCartesianSeries=xe.showAxes,this.index=O.length,O.push(this),pe.chartCount++,G(this,xe),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),U(this,"afterInit"),this.firstRender()})}initSeries(oe){let be=oe.type||this.options.chart.type,xe=o[be];xe||B(17,!0,this,{missingModuleFor:be});let Ie=new xe;return"function"==typeof Ie.init&&Ie.init(this,oe),Ie}setSortedData(){this.getSeriesOrderByLinks().forEach(function(oe){oe.points||oe.data||!oe.enabledDataSorting||oe.setData(oe.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(oe,ee){return oe.linkedSeries.length||ee.linkedSeries.length?ee.linkedSeries.length-oe.linkedSeries.length:0})}orderItems(oe,ee=0){let be=this[oe],xe=this.options[oe]=_e(this.options[oe]).slice(),Ie=this.userOptions[oe]=this.userOptions[oe]?_e(this.userOptions[oe]).slice():[];if(this.hasRendered&&(xe.splice(ee),Ie.splice(ee)),be)for(let we=ee,Ee=be.length;we=Math.max(Xe+we,ht.pos)&&Pt<=Math.min(Xe+we+qe.width,ht.pos+ht.len)||(pt.isInsidePlot=!1)}if(!be.ignoreY&&pt.isInsidePlot){let ht=!xe&&be.axis&&!be.axis.isXAxis&&be.axis||lt&&(xe?lt.xAxis:lt.yAxis)||{pos:Ee,len:1/0},Pt=be.paneCoordinates?ht.pos+Tt:Ee+Tt;Pt>=Math.max(Je+Ee,ht.pos)&&Pt<=Math.min(Je+Ee+qe.height,ht.pos+ht.len)||(pt.isInsidePlot=!1)}return U(this,"afterIsInsidePlot",pt),pt.isInsidePlot}redraw(oe){U(this,"beforeRedraw");let Je,lt,qe,pt,ee=this.hasCartesianSeries?this.axes:this.colorAxis||[],be=this.series,xe=this.pointer,Ie=this.legend,we=this.userOptions.legend,Ee=this.renderer,Me=Ee.isHidden(),Xe=[],st=this.isDirtyBox,Tt=this.isDirtyLegend;for(Ee.rootFontSize=Ee.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),I(!!this.hasRendered&&oe,this),Me&&this.temporaryDisplay(),this.layOutTitles(!1),qe=be.length;qe--;)if(((pt=be[qe]).options.stacking||pt.options.centerInCategory)&&(lt=!0,pt.isDirty)){Je=!0;break}if(Je)for(qe=be.length;qe--;)(pt=be[qe]).options.stacking&&(pt.isDirty=!0);be.forEach(function(ht){ht.isDirty&&("point"===ht.options.legendType?("function"==typeof ht.updateTotals&&ht.updateTotals(),Tt=!0):we&&(we.labelFormatter||we.labelFormat)&&(Tt=!0)),ht.isDirtyData&&U(ht,"updatedData")}),Tt&&Ie&&Ie.options.enabled&&(Ie.render(),this.isDirtyLegend=!1),lt&&this.getStacks(),ee.forEach(function(ht){ht.updateNames(),ht.setScale()}),this.getMargins(),ee.forEach(function(ht){ht.isDirty&&(st=!0)}),ee.forEach(function(ht){let Pt=ht.min+","+ht.max;ht.extKey!==Pt&&(ht.extKey=Pt,Xe.push(function(){U(ht,"afterSetExtremes",z(ht.eventArgs,ht.getExtremes())),delete ht.eventArgs})),(st||lt)&&ht.redraw()}),st&&this.drawChartBox(),U(this,"predraw"),be.forEach(function(ht){(st||ht.isDirty)&&ht.visible&&ht.redraw(),ht.isDirtyData=!1}),xe&&xe.reset(!0),Ee.draw(),U(this,"redraw"),U(this,"render"),Me&&this.temporaryDisplay(!0),Xe.forEach(function(ht){ht.call()})}get(oe){let ee=this.series;function be(Ie){return Ie.id===oe||Ie.options&&Ie.options.id===oe}let xe=K(this.axes,be)||K(this.series,be);for(let Ie=0;!xe&&Ie(ee.getPointsCollection().forEach(be=>{Z(be.selectedStaging,be.selected)&&oe.push(be)}),oe),[])}getSelectedSeries(){return this.series.filter(function(oe){return oe.selected})}setTitle(oe,ee,be){this.applyDescription("title",oe),this.applyDescription("subtitle",ee),this.applyDescription("caption",void 0),this.layOutTitles(be)}applyDescription(oe,ee){let be=this,xe=this.options[oe]=N(this.options[oe],ee),Ie=this[oe];Ie&&ee&&(this[oe]=Ie=Ie.destroy()),xe&&!Ie&&((Ie=this.renderer.text(xe.text,0,0,xe.useHTML).attr({align:xe.align,class:"highcharts-"+oe,zIndex:xe.zIndex||4}).add()).update=function(we,Ee){be.applyDescription(oe,we),be.layOutTitles(Ee)},this.styledMode||Ie.css(z("title"===oe?{fontSize:this.options.isStock?"1em":"1.2em"}:{},xe.style)),this[oe]=Ie)}layOutTitles(oe=!0){let ee=[0,0,0],be=this.renderer,xe=this.spacingBox;["title","subtitle","caption"].forEach(function(we){let Ee=this[we],Me=this.options[we],Xe=Me.verticalAlign||"top",Je="title"===we?"top"===Xe?-3:0:"top"===Xe?ee[0]+2:0;if(Ee){Ee.css({width:(Me.width||xe.width+(Me.widthAdjust||0))+"px"});let lt=be.fontMetrics(Ee).b,qe=Math.round(Ee.getBBox(Me.useHTML).height);Ee.align(z({y:"bottom"===Xe?lt:Je+lt,height:qe},Me),!1,"spacingBox"),Me.floating||("top"===Xe?ee[0]=Math.ceil(ee[0]+qe):"bottom"===Xe&&(ee[2]=Math.ceil(ee[2]+qe)))}},this),ee[0]&&"top"===(this.options.title.verticalAlign||"top")&&(ee[0]+=this.options.title.margin),ee[2]&&"bottom"===this.options.caption.verticalAlign&&(ee[2]+=this.options.caption.margin);let Ie=!this.titleOffset||this.titleOffset.join(",")!==ee.join(",");this.titleOffset=ee,U(this,"afterLayOutTitles"),!this.isDirtyBox&&Ie&&(this.isDirtyBox=this.isDirtyLegend=Ie,this.hasRendered&&oe&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:se(this.renderTo,"width",!0)||0,height:se(this.renderTo,"height",!0)||0}}getChartSize(){let oe=this.options.chart,ee=oe.width,be=oe.height,xe=this.getContainerBox();this.chartWidth=Math.max(0,ee||xe.width||600),this.chartHeight=Math.max(0,he(be,this.chartWidth)||(xe.height>1?xe.height:400)),this.containerBox=xe}temporaryDisplay(oe){let be,ee=this.renderTo;if(oe)for(;ee&&ee.style;)ee.hcOrigStyle&&(d(ee,ee.hcOrigStyle),delete ee.hcOrigStyle),ee.hcOrigDetached&&(f.body.removeChild(ee),ee.hcOrigDetached=!1),ee=ee.parentNode;else for(;ee&&ee.style&&(f.body.contains(ee)||ee.parentNode||(ee.hcOrigDetached=!0,f.body.appendChild(ee)),("none"===se(ee,"display",!1)||ee.hcOricDetached)&&(ee.hcOrigStyle={display:ee.style.display,height:ee.style.height,overflow:ee.style.overflow},be={display:"block",overflow:"hidden"},ee!==this.renderTo&&(be.height=0),d(ee,be),ee.offsetWidth||ee.style.setProperty("display","block","important")),(ee=ee.parentNode)!==f.body););}setClassName(oe){this.container.className="highcharts-container "+(oe||"")}getContainer(){let Ie,oe=this.options,ee=oe.chart,be="data-highcharts-chart",xe=Oe(),we=this.renderTo;we||(this.renderTo=we=ee.renderTo),x(we)&&(this.renderTo=we=f.getElementById(we)),we||B(13,!0,this);let Ee=Y(r(we,be));$(Ee)&&O[Ee]&&O[Ee].hasRendered&&O[Ee].destroy(),r(we,be,this.index),we.innerHTML=F.emptyHTML,ee.skipClone||we.offsetWidth||this.temporaryDisplay(),this.getChartSize();let Me=this.chartHeight,Xe=this.chartWidth;d(we,{overflow:"hidden"}),this.styledMode||(Ie=z({position:"relative",overflow:"hidden",width:Xe+"px",height:Me+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},ee.style||{}));let Je=l("div",{id:xe},Ie,we);this.container=Je,this.getChartSize(),Xe===this.chartWidth||(Xe=this.chartWidth,this.styledMode||d(Je,{width:Z(ee.style?.width,Xe+"px")})),this.containerBox=this.getContainerBox(),this._cursor=Je.style.cursor;let lt=ee.renderer||!g?ue.getRendererType(ee.renderer):X;if(this.renderer=new lt(Je,Xe,Me,void 0,ee.forExport,oe.exporting&&oe.exporting.allowHTML,this.styledMode),I(void 0,this),this.setClassName(ee.className),this.styledMode)for(let qe in oe.defs)this.renderer.definition(oe.defs[qe]);else this.renderer.setStyle(ee.style);this.renderer.chartIndex=this.index,U(this,"afterGetContainer")}getMargins(oe){let{spacing:ee,margin:be,titleOffset:xe}=this;this.resetMargins(),xe[0]&&!C(be[0])&&(this.plotTop=Math.max(this.plotTop,xe[0]+ee[0])),xe[2]&&!C(be[2])&&(this.marginBottom=Math.max(this.marginBottom,xe[2]+ee[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(be,ee),U(this,"getMargins"),oe||this.getAxisMargins()}getAxisMargins(){let oe=this,ee=oe.axisOffset=[0,0,0,0],be=oe.colorAxis,xe=oe.margin,Ie=function(we){we.forEach(function(Ee){Ee.visible&&Ee.getOffset()})};oe.hasCartesianSeries?Ie(oe.axes):be&&be.length&&Ie(be),a.forEach(function(we,Ee){C(xe[Ee])||(oe[we]+=ee[Ee])}),oe.setChartSize()}getOptions(){return k(this.userOptions,_)}reflow(oe){let ee=this,be=ee.containerBox,xe=ee.getContainerBox();delete ee.pointer?.chartPosition,!ee.isPrinting&&!ee.isResizing&&be&&xe.width&&((xe.width!==be.width||xe.height!==be.height)&&(j.clearTimeout(ee.reflowTimeout),ee.reflowTimeout=Te(function(){ee.container&&ee.setSize(void 0,void 0,!1)},oe?100:0)),ee.containerBox=xe)}setReflow(){let oe=this,ee=be=>{oe.options?.chart.reflow&&oe.hasLoaded&&oe.reflow(be)};if("function"==typeof ResizeObserver)new ResizeObserver(ee).observe(oe.renderTo);else{let be=n(v,"resize",ee);n(this,"destroy",be)}}setSize(oe,ee,be){let xe=this,Ie=xe.renderer;xe.isResizing+=1,I(be,xe);let we=Ie.globalAnimation;xe.oldChartHeight=xe.chartHeight,xe.oldChartWidth=xe.chartWidth,void 0!==oe&&(xe.options.chart.width=oe),void 0!==ee&&(xe.options.chart.height=ee),xe.getChartSize();let{chartWidth:Ee,chartHeight:Me,scrollablePixelsX:Xe=0,scrollablePixelsY:Je=0}=xe;(xe.isDirtyBox||Ee!==xe.oldChartWidth||Me!==xe.oldChartHeight)&&(xe.styledMode||(we?D:d)(xe.container,{width:`${Ee+Xe}px`,height:`${Me+Je}px`},we),xe.setChartSize(!0),Ie.setSize(Ee,Me,we),xe.axes.forEach(function(lt){lt.isDirty=!0,lt.setScale()}),xe.isDirtyLegend=!0,xe.isDirtyBox=!0,xe.layOutTitles(),xe.getMargins(),xe.redraw(we),xe.oldChartHeight=void 0,U(xe,"resize"),setTimeout(()=>{xe&&U(xe,"endResize",void 0,()=>{xe.isResizing-=1})},A(we).duration))}setChartSize(oe){let ee,be,xe,Ie,we=this.inverted,Ee=this.renderer,Me=this.chartWidth,Xe=this.chartHeight,Je=this.options.chart,lt=this.spacing,qe=this.clipOffset;this.plotLeft=ee=Math.round(this.plotLeft),this.plotTop=be=Math.round(this.plotTop),this.plotWidth=xe=Math.max(0,Math.round(Me-ee-this.marginRight)),this.plotHeight=Ie=Math.max(0,Math.round(Xe-be-this.marginBottom)),this.plotSizeX=we?Ie:xe,this.plotSizeY=we?xe:Ie,this.plotBorderWidth=Je.plotBorderWidth||0,this.spacingBox=Ee.spacingBox={x:lt[3],y:lt[0],width:Me-lt[3]-lt[1],height:Xe-lt[0]-lt[2]},this.plotBox=Ee.plotBox={x:ee,y:be,width:xe,height:Ie};let st=2*Math.floor(this.plotBorderWidth/2),Tt=Math.ceil(Math.max(st,qe[3])/2),pt=Math.ceil(Math.max(st,qe[0])/2);this.clipBox={x:Tt,y:pt,width:Math.floor(this.plotSizeX-Math.max(st,qe[1])/2-Tt),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(st,qe[2])/2-pt))},oe||(this.axes.forEach(function(ht){ht.setAxisSize(),ht.setAxisTranslation()}),Ee.alignElements()),U(this,"afterSetChartSize",{skipAxes:oe})}resetMargins(){U(this,"resetMargins");let oe=this,ee=oe.options.chart;["margin","spacing"].forEach(function(be){let xe=ee[be],Ie=H(xe)?xe:[xe,xe,xe,xe];["Top","Right","Bottom","Left"].forEach(function(we,Ee){oe[be][Ee]=Z(ee[be+we],Ie[Ee])})}),a.forEach(function(be,xe){oe[be]=Z(oe.margin[xe],oe.spacing[xe])}),oe.axisOffset=[0,0,0,0],oe.clipOffset=[0,0,0,0]}drawChartBox(){let Dt,It,xt,oe=this.options.chart,ee=this.renderer,be=this.chartWidth,xe=this.chartHeight,Ie=this.styledMode,we=this.plotBGImage,Ee=oe.backgroundColor,Me=oe.plotBackgroundColor,Xe=oe.plotBackgroundImage,Je=this.plotLeft,lt=this.plotTop,qe=this.plotWidth,st=this.plotHeight,Tt=this.plotBox,pt=this.clipRect,ht=this.clipBox,Pt=this.chartBackground,Gt=this.plotBackground,ti=this.plotBorder,wt="animate";Pt||(this.chartBackground=Pt=ee.rect().addClass("highcharts-background").add(),wt="attr"),Ie?Dt=It=Pt.strokeWidth():(It=(Dt=oe.borderWidth||0)+(oe.shadow?8:0),xt={fill:Ee||"none"},(Dt||Pt["stroke-width"])&&(xt.stroke=oe.borderColor,xt["stroke-width"]=Dt),Pt.attr(xt).shadow(oe.shadow)),Pt[wt]({x:It/2,y:It/2,width:be-It-Dt%2,height:xe-It-Dt%2,r:oe.borderRadius}),wt="animate",Gt||(wt="attr",this.plotBackground=Gt=ee.rect().addClass("highcharts-plot-background").add()),Gt[wt](Tt),!Ie&&(Gt.attr({fill:Me||"none"}).shadow(oe.plotShadow),Xe&&(we?(Xe!==we.attr("href")&&we.attr("href",Xe),we.animate(Tt)):this.plotBGImage=ee.image(Xe,Je,lt,qe,st).add())),pt?pt.animate({width:ht.width,height:ht.height}):this.clipRect=ee.clipRect(ht),wt="animate",ti||(wt="attr",this.plotBorder=ti=ee.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Ie||ti.attr({stroke:oe.plotBorderColor,"stroke-width":oe.plotBorderWidth||0,fill:"none"}),ti[wt](ti.crisp({x:Je,y:lt,width:qe,height:st},-ti.strokeWidth())),this.isDirtyBox=!1,U(this,"afterDrawChartBox")}propFromSeries(){let oe,ee,be,xe=this,Ie=xe.options.chart,we=xe.options.series;["inverted","angular","polar"].forEach(function(Ee){for(ee=o[Ie.type],be=Ie[Ee]||ee&&ee.prototype[Ee],oe=we&&we.length;!be&&oe--;)(ee=o[we[oe].type])&&ee.prototype[Ee]&&(be=!0);xe[Ee]=be})}linkSeries(oe){let ee=this,be=ee.series;be.forEach(function(xe){xe.linkedSeries.length=0}),be.forEach(function(xe){let{linkedTo:Ie}=xe.options;if(x(Ie)){let we;(we=":previous"===Ie?ee.series[xe.index-1]:ee.get(Ie))&&we.linkedParent!==xe&&(we.linkedSeries.push(xe),xe.linkedParent=we,we.enabledDataSorting&&xe.setDataSortingOptions(),xe.visible=Z(xe.options.visible,we.options.visible,xe.visible))}}),U(this,"afterLinkSeries",{isUpdating:oe})}renderSeries(){this.series.forEach(function(oe){oe.translate(),oe.render()})}render(){let Me,oe=this.axes,ee=this.colorAxis,be=this.renderer,xe=this.options.chart.axisLayoutRuns||2,Ie=Je=>{Je.forEach(lt=>{lt.visible&<.render()})},we=0,Ee=!0,Xe=0;for(let Je of(this.setTitle(),U(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),oe)){let{options:lt}=Je,{labels:qe}=lt;if(Je.horiz&&Je.visible&&qe.enabled&&Je.series.length&&"colorAxis"!==Je.coll&&!this.polar){we=lt.tickLength,Je.createGroups();let st=new P(Je,0,"",!0),Tt=st.createLabel("x",qe);if(st.destroy(),Tt&&Z(qe.reserveSpace,!$(lt.crossing))&&(we=Tt.getBBox().height+qe.distance+Math.max(lt.offset||0,0)),we){Tt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-we,0);(Ee||Me||xe>1)&&Xe(Xe?1:1.1),Me=lt/this.plotHeight>(Xe?1:1.05),Xe++}this.drawChartBox(),this.hasCartesianSeries?Ie(oe):ee&&ee.length&&Ie(ee),this.seriesGroup||(this.seriesGroup=be.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(oe){let ee=this,be=N(!0,this.options.credits,oe);be.enabled&&!this.credits&&(this.credits=this.renderer.text(be.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){be.href&&(v.location.href=be.href)}).attr({align:be.position.align,zIndex:8}),ee.styledMode||this.credits.css(be.style),this.credits.add().align(be.position),this.credits.update=function(xe){ee.credits=ee.credits.destroy(),ee.addCredits(xe)})}destroy(){let oe,ee=this,be=ee.axes,xe=ee.series,Ie=ee.container,we=Ie&&Ie.parentNode;for(U(ee,"destroy"),ee.renderer.forExport?T(O,ee):O[ee.index]=void 0,pe.chartCount--,ee.renderTo.removeAttribute("data-highcharts-chart"),ge(ee),oe=be.length;oe--;)be[oe]=be[oe].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),oe=xe.length;oe--;)xe[oe]=xe[oe].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(Ee){let Me=ee[Ee];Me&&Me.destroy&&(ee[Ee]=Me.destroy())}),Ie&&(Ie.innerHTML=F.emptyHTML,ge(Ie),we&&p(Ie)),R(ee,function(Ee,Me){delete ee[Me]})}firstRender(){let oe=this,ee=oe.options;oe.getContainer(),oe.resetMargins(),oe.setChartSize(),oe.propFromSeries(),oe.getAxes();let be=S(ee.series)?ee.series:[];ee.series=[],be.forEach(function(xe){oe.initSeries(xe)}),oe.linkSeries(),oe.setSortedData(),U(oe,"beforeRender"),oe.render(),oe.pointer?.getChartPosition(),oe.renderer.imgCount||oe.hasLoaded||oe.onload(),oe.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(oe){oe&&void 0!==this.index&&oe.apply(this,[this])},this),U(this,"load"),U(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:oe,title:ee}=this;!oe||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(ee&&ee.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(oe,ee){let be=this,xe="object"==typeof ee?ee:{enabled:ee,type:"x"},Ie=xe.type,we=Ie&&be[{x:"xAxis",xy:"axes",y:"yAxis"}[Ie]].filter(Me=>Me.options.panningEnabled&&!Me.options.isInternal),Ee=be.options.chart;Ee?.panning&&(Ee.panning=xe),U(this,"pan",{originalEvent:oe},()=>{be.transform({axes:we,event:oe,to:{x:oe.chartX-(be.mouseDownX||0),y:oe.chartY-(be.mouseDownY||0)},trigger:"pan"}),d(be.container,{cursor:"move"})})}transform(oe){let qe,{axes:ee=this.axes,event:be,from:xe={},reset:Ie,selection:we,to:Ee={},trigger:Me}=oe,{inverted:Xe,resetZoomButton:Je}=this,lt=!1;for(let st of(this.hoverPoints?.forEach(Tt=>Tt.setState()),ee)){let{horiz:Tt,len:pt,minPointOffset:ht=0,options:Pt,reversed:Gt}=st,ti=Tt?"width":"height",Dt=Tt?"x":"y",It=Ee[ti]||st.len,xt=xe[ti]||st.len,wt=10>Math.abs(It)?1:It/xt,Qt=(xe[Dt]||0)+xt/2-st.pos,di=Qt-((Ee[Dt]??st.pos)+It/2-st.pos)/wt,Ni=Gt&&!Xe||!Gt&&Xe?-1:1;if(!Ie&&(Qt<0||Qt>st.len))continue;let mi=st.toValue(di,!0)+ht*Ni,vi=st.toValue(di+pt/wt,!0)-(ht*Ni||0),zi=st.allExtremes;if(mi>vi&&([mi,vi]=[vi,mi]),1===wt&&!Ie&&"yAxis"===st.coll&&!zi){for(let js of st.series){let On=js.getExtremes(js.getProcessedData(!0).yData,!0);zi??(zi={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),$(On.dataMin)&&$(On.dataMax)&&(zi.dataMin=Math.min(On.dataMin,zi.dataMin),zi.dataMax=Math.max(On.dataMax,zi.dataMax))}st.allExtremes=zi}let{dataMin:gs,dataMax:Fn,min:as,max:ms}=z(st.getExtremes(),zi||{}),Ln=gs??Pt.min,fn=Fn??Pt.max,ki=vi-mi,Cs=st.categories?0:Math.min(ki,fn-Ln),Kn=Ln-Cs*(C(Pt.min)?0:Pt.minPadding),In=fn+Cs*(C(Pt.max)?0:Pt.maxPadding),Bs=st.allowZoomOutside||1===wt||"zoom"!==Me&&wt>1,qn=Math.min(Pt.min??Kn,Kn,Bs?as:Kn),Wi=Math.max(Pt.max??In,In,Bs?ms:In);(!st.isOrdinal||1!==wt||Ie)&&(mi=1&&(vi=mi+ki)),vi>Wi&&(vi=Wi,wt>=1&&(mi=vi-ki)),(Ie||st.series.length&&(mi!==as||vi!==ms)&&mi>=qn&&vi<=Wi)&&(we?we[st.coll].push({axis:st,min:mi,max:vi}):(st.isPanning="zoom"!==Me,st.setExtremes(Ie?void 0:mi,Ie?void 0:vi,!1,!1,{move:di,trigger:Me,scale:wt}),!Ie&&(mi>qn||vi{delete oe.selection,oe.trigger="zoom",this.transform(oe)}):(qe&&!Je?this.showResetZoom():!qe&&Je&&(this.resetZoomButton=Je.destroy()),this.redraw("zoom"===Me&&(this.options.chart.animation??this.pointCount<100)))),lt}}return z(De.prototype,{callbacks:[],collectionsWithInit:{xAxis:[De.prototype.addAxis,[!0]],yAxis:[De.prototype.addAxis,[!1]],series:[De.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),De}),Le(V,"Extensions/ScrollablePlotArea.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Globals.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{stop:le}=q,{composed:pe}=ne,{addEvent:ue,createElement:J,css:te,defined:X,merge:E,pushUnique:j}=ve;function F(){let A=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!A&&(this.scrollablePlotArea=A=new D(this)),A?.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class D{static compose(I,_,m){j(pe,this.compose)&&(ue(I,"afterInit",P),ue(_,"afterSetChartSize",w=>this.afterSetSize(w.target,w)),ue(_,"render",F),ue(m,"show",P))}static afterSetSize(I,_){let m,w,G,{minWidth:O,minHeight:f}=I.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:g,inverted:v,renderer:o}=I;if(!o.forExport&&(O?(I.scrollablePixelsX=m=Math.max(0,O-I.chartWidth),m&&(I.scrollablePlotBox=E(I.plotBox),g.width=I.plotWidth+=m,a[v?"height":"width"]+=m,G=!0)):f&&(I.scrollablePixelsY=w=Math.max(0,f-I.chartHeight),X(w)&&(I.scrollablePlotBox=E(I.plotBox),g.height=I.plotHeight+=w,a[v?"width":"height"]+=w,G=!1)),X(G)&&!_.skipAxes))for(let n of I.axes)n.horiz===G&&(n.setAxisSize(),n.setAxisTranslation())}constructor(I){let _,m=I.options.chart,w=re.getRendererType(),G=m.scrollablePlotArea||{},O=this.moveFixedElements.bind(this),f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};I.scrollablePixelsX&&(f.overflowX="auto"),I.scrollablePixelsY&&(f.overflowY="auto"),this.chart=I;let a=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},I.renderTo),g=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},f,a),v=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,g),o=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(m.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new w(o,I.chartWidth,I.chartHeight,m.style);this.mask=n.path().attr({fill:m.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(o,g),te(I.renderTo,{overflow:"visible"}),ue(I,"afterShowResetZoom",O),ue(I,"afterApplyDrilldown",O),ue(I,"afterLayOutTitles",O),ue(g,"scroll",()=>{let{pointer:r,hoverPoint:l}=I;r&&(delete r.chartPosition,l&&(_=l),r.runPointActions(void 0,_,!0))}),v.appendChild(I.container)}applyFixed(){let{chart:I,fixedRenderer:_,isDirty:m,scrollingContainer:w}=this,{axisOffset:G,chartWidth:O,chartHeight:f,container:a,plotHeight:g,plotLeft:v,plotTop:o,plotWidth:n,scrollablePixelsX:r=0,scrollablePixelsY:l=0}=I,{scrollPositionX:d=0,scrollPositionY:C=0}=I.options.chart.scrollablePlotArea||{},k=O+r,p=f+l;_.setSize(O,f),(m??!0)&&(this.isDirty=!1,this.moveFixedElements()),le(I.container),te(a,{width:`${k}px`,height:`${p}px`}),I.renderer.boxWrapper.attr({width:k,height:p,viewBox:[0,0,k,p].join(" ")}),I.chartBackground?.attr({width:k,height:p}),te(w,{width:`${O}px`,height:`${f}px`}),X(m)||(w.scrollLeft=r*d,w.scrollTop=l*C);let T=o-G[0]-1,B=v-G[3]-1,z=o+g+G[2]+1,K=v+n+G[1]+1,U=v+n-r,se=o+g-l,S=[["M",0,0]];r?S=[["M",0,T],["L",v-1,T],["L",v-1,z],["L",0,z],["Z"],["M",U,T],["L",O,T],["L",O,z],["L",U,z],["Z"]]:l&&(S=[["M",B,0],["L",B,o-1],["L",K,o-1],["L",K,0],["Z"],["M",B,se],["L",B,f],["L",K,f],["L",K,se],["Z"]]),"adjustHeight"!==I.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let I,{container:_,inverted:m,scrollablePixelsX:w,scrollablePixelsY:G}=this.chart,O=this.fixedRenderer,f=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let a of(w&&!m?I=".highcharts-yaxis":w&&m||G&&!m?I=".highcharts-xaxis":G&&m&&(I=".highcharts-yaxis"),I&&f.push(`${I}:not(.highcharts-radial-axis)`,`${I}-labels:not(.highcharts-radial-axis-labels)`),f))[].forEach.call(_.querySelectorAll(a),g=>{(g.namespaceURI===O.SVG_NS?O.box:O.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return D}),Le(V,"Core/Axis/Stacking/StackItem.js",[V["Core/Templating.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{format:ve}=q,{series:le}=ne,{destroyObjectProperties:pe,fireEvent:ue,isNumber:J,pick:te}=re;return class{constructor(X,E,j,F,P){let D=X.chart.inverted,A=X.reversed;this.axis=X;let I=this.isNegative=!!j!=!!A;this.options=E=E||{},this.x=F,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:E.align||(D?I?"left":"right":"center"),verticalAlign:E.verticalAlign||(D?"middle":I?"bottom":"top"),y:E.y,x:E.x},this.textAlign=E.textAlign||(D?I?"right":"left":"center")}destroy(){pe(this,this.axis)}render(X){let E=this.axis.chart,j=this.options,F=j.format,P=F?ve(F,this,E):j.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=E.renderer.label(P,null,void 0,j.shape,void 0,void 0,j.useHTML,!1,"stack-labels");let D={r:j.borderRadius||0,text:P,padding:te(j.padding,5),visibility:"hidden"};E.styledMode||(D.fill=j.backgroundColor,D.stroke=j.borderColor,D["stroke-width"]=j.borderWidth,this.label.css(j.style||{})),this.label.attr(D),this.label.added||this.label.add(X)}this.label.labelrank=E.plotSizeY,ue(this,"afterRender")}setOffset(X,E,j,F,P,D){let{alignOptions:A,axis:I,label:_,options:m,textAlign:w}=this,G=I.chart,O=this.getStackBox({xOffset:X,width:E,boxBottom:j,boxTop:F,defaultX:P,xAxis:D}),{verticalAlign:f}=A;if(_&&O){let o,a=_.getBBox(void 0,0),g=_.padding,v="justify"===te(m.overflow,"justify");A.x=m.x||0,A.y=m.y||0;let{x:n,y:r}=this.adjustStackPosition({labelBox:a,verticalAlign:f,textAlign:w});O.x-=n,O.y-=r,_.align(A,!1,O),(o=G.isInsidePlot(_.alignAttr.x+A.x+n,_.alignAttr.y+A.y+r))||(v=!1),v&&le.prototype.justifyDataLabel.call(I,_,A,_.alignAttr,a,O),_.attr({x:_.alignAttr.x,y:_.alignAttr.y,rotation:m.rotation,rotationOriginX:a.width*{left:0,center:.5,right:1}[m.textAlign||"center"],rotationOriginY:a.height/2}),te(!v&&m.crop,!0)&&(o=J(_.x)&&J(_.y)&&G.isInsidePlot(_.x-g+(_.width||0),_.y)&&G.isInsidePlot(_.x+g,_.y)),_[o?"show":"hide"]()}ue(this,"afterSetOffset",{xOffset:X,width:E})}adjustStackPosition({labelBox:X,verticalAlign:E,textAlign:j}){let F={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:X.width/2+X.width/2*F[j],y:X.height/2*F[E]}}getStackBox(X){let E=this.axis,j=E.chart,{boxTop:F,defaultX:P,xOffset:D,width:A,boxBottom:I}=X,_=E.stacking.usePercentage?100:te(F,this.total,0),m=E.toPixels(_),w=X.xAxis||j.xAxis[0],G=te(P,w.translate(this.x))+D,O=Math.abs(m-E.toPixels(I||J(E.min)&&E.logarithmic&&E.logarithmic.lin2log(E.min)||0)),a=this.isNegative;return j.inverted?{x:(a?m:m-O)-j.plotLeft,y:w.height-G-A,width:O,height:A}:{x:G+w.transB-j.plotLeft,y:(a?m-O:m)-j.plotTop,width:A,height:O}}}}),Le(V,"Core/Axis/Stacking/StackingAxis.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Axis/Axis.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{getDeferredAnimation:ue}=q,{series:{prototype:J}}=re,{addEvent:te,correctFloat:X,defined:E,destroyObjectProperties:j,fireEvent:F,isArray:P,isNumber:D,objectEach:A,pick:I}=le;function _(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let r=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,I(n.options.stack,""),o?r.top:r.left,o?r.height:r.width].join(","))})}function m(){let o=this.stacking;if(o){let n=o.stacks;A(n,(r,l)=>{j(r),delete n[l]}),o.stackTotalGroup?.destroy()}}function w(){this.stacking||(this.stacking=new v(this))}function G(o,n,r,l){return!E(o)||o.x!==n||l&&o.stackKey!==l?o={x:n,index:0,key:l,stackKey:l}:o.index++,o.key=[r,n,o.index].join(","),o}function O(){let o,n=this,l=n.stackKey||"",d=n.yAxis.stacking.stacks,C=n.processedXData,p=n[n.options.stacking+"Stacker"];p&&[l,"-"+l].forEach(T=>{let z,K,U,B=C.length;for(;B--;)z=C[B],o=n.getStackIndicator(o,z,n.index,T),K=d[T]?.[z],(U=K?.points[o.key||""])&&p.call(n,U,K,B)})}function f(o,n,r){let l=n.total?100/n.total:0;o[0]=X(o[0]*l),o[1]=X(o[1]*l),this.stackedYData[r]=o[1]}function a(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function g(o,n){let r,l,d,C,k,p,T,B,z,K=n||this.options.stacking;if(!K||!this.reserveSpace()||({group:"xAxis"}[K]||"yAxis")!==o.coll)return;let U=this.processedXData,se=this.processedYData,S=[],$=se.length,H=this.options,x=H.threshold||0,N=H.startFromThreshold?x:0,R=H.stack,Z=n?`${this.type},${K}`:this.stackKey||"",Y="-"+Z,he=this.negStacks,ge=o.stacking,_e=ge.stacks,Te=ge.oldStacks;for(ge.stacksTouched+=1,T=0;T<$;T++){B=U[T],z=se[T],p=(r=this.getStackIndicator(r,B,this.index)).key||"",_e[k=(l=he&&z<(N?0:x))?Y:Z]||(_e[k]={}),_e[k][B]||(Te[k]?.[B]?(_e[k][B]=Te[k][B],_e[k][B].total=null):_e[k][B]=new ve(o,o.options.stackLabels,!!l,B,R)),d=_e[k][B],null!==z?(d.points[p]=d.points[this.index]=[I(d.cumulative,N)],E(d.cumulative)||(d.base=p),d.touched=ge.stacksTouched,r.index>0&&!1===this.singleStacks&&(d.points[p][0]=d.points[this.index+","+B+",0"][0])):(delete d.points[p],delete d.points[this.index]);let Oe=d.total||0;"percent"===K?(C=l?Z:Y,Oe=he&&_e[C]?.[B]?(C=_e[C][B]).total=Math.max(C.total||0,Oe)+Math.abs(z)||0:X(Oe+(Math.abs(z)||0))):"group"===K?(P(z)&&(z=z[0]),null!==z&&Oe++):Oe=X(Oe+(z||0)),d.cumulative="group"===K?(Oe||1)-1:X(I(d.cumulative,N)+(z||0)),d.total=Oe,null!==z&&(d.points[p].push(d.cumulative),S[T]=d.cumulative,d.hasValidPoints=!0)}"percent"===K&&(ge.usePercentage=!0),"group"!==K&&(this.stackedYData=S),ge.oldStacks={}}class v{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,r,l=this.axis,d=l.series,C="xAxis"===l.coll,k=l.options.reversedStacks,p=d.length;for(this.resetStacks(),this.usePercentage=!1,r=p;r--;)n=d[k?r:p-r-1],C&&n.setGroupedPoints(l),n.setStackedPoints(l);if(!C)for(r=0;r{A(n,r=>{r.cumulative=r.total})}))}resetStacks(){A(this.stacks,n=>{A(n,(r,l)=>{D(r.touched)&&r.touched{A(p,T=>{T.render(k)})}),k.animate({opacity:1},C)}}return(pe||(pe={})).compose=function(o,n,r){let l=n.prototype,d=r.prototype;l.getStacks||(te(o,"init",w),te(o,"destroy",m),l.getStacks=_,d.getStackIndicator=G,d.modifyStacks=O,d.percentStacker=f,d.setGroupedPoints=a,d.setStackedPoints=g)},pe}),Le(V,"Series/Line/LineSeries.js",[V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defined:ve,merge:le,isObject:pe}=re;class ue extends q{drawGraph(){let te=this.options,X=(this.gappedPath||this.getGraphPath).call(this),E=this.chart.styledMode;[this,...this.zones].forEach((j,F)=>{let P,D=j.graph,A=D?"animate":"attr",I=j.dashStyle||te.dashStyle;D?(D.endX=this.preventGraphAnimation?null:X.xMap,D.animate({d:X})):X.length&&(j.graph=D=this.chart.renderer.path(X).addClass("highcharts-graph"+(F?` highcharts-zone-graph-${F-1} `:" ")+(F&&j.className||"")).attr({zIndex:1}).add(this.group)),D&&!E&&(P={stroke:!F&&te.lineColor||j.color||this.color||"#cccccc","stroke-width":te.lineWidth||0,fill:this.fillGraph&&this.color||"none"},I?P.dashstyle=I:"square"!==te.linecap&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),D[A](P).shadow(F<2&&te.shadow&&le({filterUnits:"userSpaceOnUse"},pe(te.shadow)?te.shadow:{}))),D&&(D.startX=X.xMap,D.isArea=X.isArea)})}getGraphPath(te,X,E){let A,j=this,F=j.options,P=[],D=[],I=F.step,_=(te=te||j.points).reversed;return _&&te.reverse(),(I={right:1,center:2}[I]||I&&3)&&_&&(I=4-I),(te=this.getValidPoints(te,!1,!(F.connectNulls&&!X&&!E))).forEach(function(m,w){let G,O=m.plotX,f=m.plotY,a=te[w-1],g=m.isNull||"number"!=typeof f;(m.leftCliff||a&&a.rightCliff)&&!E&&(A=!0),g&&!ve(X)&&w>0?A=!F.connectNulls:g&&!X?A=!0:(0===w||A?G=[["M",m.plotX,m.plotY]]:j.getPointSpline?G=[j.getPointSpline(te,m,w)]:I?(G=1===I?[["L",a.plotX,f]]:2===I?[["L",(a.plotX+O)/2,a.plotY],["L",(a.plotX+O)/2,f]]:[["L",O,a.plotY]]).push(["L",O,f]):G=[["L",O,f]],D.push(m.x),I&&(D.push(m.x),2===I&&D.push(m.x)),P.push.apply(P,G),A=!1)}),P.xMap=D,j.graphPath=P,P}}return ue.defaultOptions=le(q.defaultOptions,{legendSymbol:"lineMarker"}),ne.registerSeriesType("line",ue),ue}),Le(V,"Series/Area/AreaSeries.js",[V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne){let{seriesTypes:{line:re}}=q,{extend:ve,merge:le,objectEach:pe,pick:ue}=ne;class J extends re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:X,options:E}=this;[this,...this.zones].forEach((j,F)=>{let P={},D=j.fillColor||E.fillColor,A=j.area,I=A?"animate":"attr";A?(A.endX=this.preventGraphAnimation?null:X.xMap,A.animate({d:X})):(P.zIndex=0,(A=j.area=this.chart.renderer.path(X).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(P.fill=D||j.color||this.color,P["fill-opacity"]=D?1:E.fillOpacity??.75,A.css({pointerEvents:this.stickyTracking?"none":"auto"})),A[I](P),A.startX=X.xMap,A.shiftUnit=E.step?2:1})}getGraphPath(X){let E,j,F,P=re.prototype.getGraphPath,D=this.options,A=D.stacking,I=this.yAxis,_=[],m=[],w=this.index,G=I.stacking.stacks[this.stackKey],O=D.threshold,f=Math.round(I.getThreshold(D.threshold)),a=ue(D.connectNulls,"percent"===A),g=function(d,C,k){let K,U,p=X[d],T=A&&G[p.x].points[w],B=p[k+"Null"]||0,z=p[k+"Cliff"]||0,se=!0;z||B?(K=(B?T[0]:T[1])+z,U=T[0]+z,se=!!B):!A&&X[C]&&X[C].isNull&&(K=U=O),void 0!==K&&(m.push({plotX:E,plotY:null===K?f:I.getThreshold(K),isNull:se,isCliff:!0}),_.push({plotX:E,plotY:null===U?f:I.getThreshold(U),doCurve:!1}))};X=X||this.points,A&&(X=this.getStackPoints(X));for(let d=0,C=X.length;df.visible);F.forEach(function(f,a){let v,o,g=0;if(I[f]&&!I[f].isNull)j.push(I[f]),[-1,1].forEach(function(n){let r=1===n?"rightNull":"leftNull",l=A[F[a+n]],d=0;if(l){let C=G;for(;C>=0&&C=0&&nO&&j>A?(j=Math.max(O,A),P=2*A-j):ja&&P>A?(P=Math.max(a,A),j=2*A-P):P=Math.abs(f)&&r>.5;return g=r-(f=Math.round(f)+n),l&&g&&(f-=1,g+=1),{x:O,y:f,width:a,height:g}}adjustForMissingColumns(O,f,a,g){if(!a.isNull&&g.columnCount>1){let v=this.xAxis.series.filter(l=>l.visible).map(l=>l.index),o=0,n=0;m(this.xAxis.stacking?.stacks,l=>{if("number"==typeof a.x){let d=l[a.x.toString()];if(d&&D(d.points[this.index])){let C=Object.keys(d.points).filter(k=>!k.match(",")&&d.points[k]&&d.points[k].length>1).map(parseFloat).filter(k=>-1!==v.indexOf(k)).sort((k,p)=>p-k);o=C.indexOf(this.index),n=C.length}}}),o=this.xAxis.reversed?n-1-o:o,O=(a.plotX||0)+((n-1)*g.paddedWidth+f)/2-f-o*g.paddedWidth}return O}translate(){let O=this,f=O.chart,a=O.options,g=O.dense=O.closestPointRange*O.xAxis.transA<2,v=O.borderWidth=_(a.borderWidth,g?0:1),o=O.xAxis,n=O.yAxis,r=a.threshold,l=_(a.minPointLength,5),d=O.getColumnMetrics(),C=d.width,k=O.pointXOffset=d.offset,p=O.dataMin,T=O.dataMax,B=O.barW=Math.max(C,1+2*v),z=O.translatedThreshold=n.getThreshold(r);f.inverted&&(z-=.5),a.pointPadding&&(B=Math.ceil(B)),le.prototype.translate.apply(O),O.points.forEach(function(K){let H,U=_(K.yBottom,z),se=999+Math.abs(U),S=K.plotX||0,$=E(K.plotY,-se,n.len+se),x=Math.min($,U),N=Math.max($,U)-x,R=C,Z=S+k,Y=B;l&&Math.abs(N)l?U-l:z-(H?l:0)),j(K.options.pointWidth)&&(Z-=Math.round(((R=Y=Math.ceil(K.options.pointWidth))-C)/2)),a.centerInCategory&&!a.stacking&&(Z=O.adjustForMissingColumns(Z,R,K,d)),K.barX=Z,K.pointWidth=R,K.tooltipPos=f.inverted?[E(n.len+n.pos-f.plotLeft-$,n.pos-f.plotLeft,n.len+n.pos-f.plotLeft),o.len+o.pos-f.plotTop-Z-Y/2,N]:[o.left-f.plotLeft+Z+Y/2,E($+n.pos-f.plotTop,n.pos-f.plotTop,n.len+n.pos-f.plotTop),N],K.shapeType=O.pointClass.prototype.shapeType||"roundedRect",K.shapeArgs=O.crispCol(Z,K.isNull?z:x,Y,K.isNull?0:N)}),P(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(O,f){let n,r,l,a=this.options,g=this.pointAttrToOptions||{},v=g.stroke||"borderColor",o=g["stroke-width"]||"borderWidth",d=O&&O.color||this.color,C=O&&O[v]||a[v]||d,k=O&&O.options.dashStyle||a.dashStyle,p=O&&O[o]||a[o]||this[o]||0,T=_(O&&O.opacity,a.opacity,1);O&&this.zones.length&&(r=O.getZone(),d=O.options.color||r&&(r.color||O.nonZonedColor)||this.color,r&&(C=r.borderColor||C,k=r.dashStyle||k,p=r.borderWidth||p)),f&&O&&(l=(n=I(a.states[f],O.options.states&&O.options.states[f]||{})).brightness,d=n.color||void 0!==l&&te(d).brighten(n.brightness).get()||d,C=n[v]||C,p=n[o]||p,k=n.dashStyle||k,T=_(n.opacity,T));let B={fill:d,stroke:C,"stroke-width":p,opacity:T};return k&&(B.dashstyle=k),B}drawPoints(O=this.points){let f,a=this,g=this.chart,v=a.options,o=g.renderer,n=v.animationLimit||250;O.forEach(function(r){let d=r.graphic,C=!!d,k=d&&g.pointCounto?.enabled)}function m(o,n,r,l,d){let C=this.chart,k=this.isCartesian&&C.inverted,p=this.enabledDataSorting,T=o.plotX,B=o.plotY,z=r.rotation||0,K=ue(T)&&ue(B)&&C.isInsidePlot(T,Math.round(B),{inverted:k,paneCoordinates:!0,series:this}),U=0===z&&"justify"===P(r.overflow,p?"none":"justify"),se=this.visible&&!1!==o.visible&&ue(T)&&(o.series.forceDL||p&&!U||K||P(r.inside,!!this.options.stacking)&&l&&C.isInsidePlot(T,k?l.x+1:l.y+l.height-1,{inverted:k,paneCoordinates:!0,series:this})),S=o.pos();if(se&&S){let H=n.getBBox(),x=n.getBBox(void 0,0),N={right:1,center:.5}[r.align||0]||0,R={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(l=J({x:S[0],y:Math.round(S[1]),width:0,height:0},l||{}),J(r,{width:H.width,height:H.height}),p&&this.xAxis&&!U&&this.setDataLabelStartPos(o,n,d,K,l),n.align(j(r,{width:x.width,height:x.height}),!1,l,!1),n.alignAttr.x+=N*(x.width-H.width),n.alignAttr.y+=R*(x.height-H.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(H.width-x.width)/2,y:n.alignAttr.y+(H.height-x.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),U&&l.height>=0)this.justifyDataLabel(n,r,n.alignAttr,H,l,d);else if(P(r.crop,!0)){let{x:Z,y:Y}=n.alignAttr;se=C.isInsidePlot(Z,Y,{paneCoordinates:!0,series:this})&&C.isInsidePlot(Z+H.width-1,Y+H.height-1,{paneCoordinates:!0,series:this})}r.shape&&!z&&n[d?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}d&&p&&(n.placed=!1),se||p&&!U?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function w(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(o){let n=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+n});return!n&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},o):r.attr({opacity:1})),r}function O(o){let n;o=o||this.points;let r=this,l=r.chart,d=r.options,C=l.renderer,{backgroundColor:k,plotBackgroundColor:p}=l.options.chart,T=C.getContrast(E(p)&&p||E(k)&&k||"#000000"),B=g(r),{animation:z,defer:K}=B[0],U=K?le(l,z,r):{defer:0,duration:0};te(this,"drawDataLabels"),r.hasDataLabels?.()&&(n=this.initDataLabels(U),o.forEach(se=>{let S=se.dataLabels||[];A(a(B,se.dlOptions||se.options?.dataLabels)).forEach((H,x)=>{let ge,_e,Te,Oe,ee,N=H.enabled&&(se.visible||se.dataLabelOnHidden)&&(!se.isNull||se.dataLabelOnNull)&&function(be,xe){let Ie=xe.filter;if(Ie){let we=Ie.operator,Ee=be[Ie.property],Me=Ie.value;return">"===we&&Ee>Me||"<"===we&&Ee="===we&&Ee>=Me||"<="===we&&Ee<=Me||"=="===we&&Ee==Me||"==="===we&&Ee===Me||"!="===we&&Ee!=Me||"!=="===we&&Ee!==Me}return!0}(se,H),{backgroundColor:R,borderColor:Z,distance:Y,style:he={}}=H,De={},Be=S[x],oe=!Be;if(N&&(_e=P(H[se.formatPrefix+"Format"],H.format),ge=se.getLabelConfig(),Te=ue(_e)?pe(_e,ge,l):(H[se.formatPrefix+"Formatter"]||H.formatter).call(ge,H),Oe=H.rotation,!l.styledMode&&(he.color=P(H.color,he.color,E(r.color)?r.color:void 0,"#000000"),"contrast"===he.color?("none"!==R&&(ee=R),se.contrastColor=C.getContrast("auto"!==ee&&ee||se.color||r.color),he.color=ee||!ue(Y)&&H.inside||0>D(Y||0)||d.stacking?se.contrastColor:T):delete se.contrastColor,d.cursor&&(he.cursor=d.cursor)),De={r:H.borderRadius||0,rotation:Oe,padding:H.padding,zIndex:1},l.styledMode||(De.fill="auto"===R?se.color:R,De.stroke="auto"===Z?se.color:Z,De["stroke-width"]=H.borderWidth),F(De,(be,xe)=>{void 0===be&&delete De[xe]})),!Be||N&&ue(Te)&&!!Be.div==!!H.useHTML&&(Be.rotation&&H.rotation||Be.rotation===H.rotation)||(Be=void 0,oe=!0),N&&ue(Te)&&(Be?De.text=Te:(Be=C.label(Te,0,0,H.shape,void 0,void 0,H.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+se.colorIndex+" "+(H.className||"")+(H.useHTML?" highcharts-tracker":"")),Be)){Be.options=H,Be.attr(De),l.styledMode||Be.css(he).shadow(H.shadow);let be=H[se.formatPrefix+"TextPath"]||H.textPath;be&&!H.useHTML&&(Be.setTextPath(se.getDataLabelPath?.(Be)||se.graphic,be),se.dataLabelPath&&!be.enabled&&(se.dataLabelPath=se.dataLabelPath.destroy())),Be.added||Be.add(n),r.alignDataLabel(se,Be,H,void 0,oe),Be.isActive=!0,S[x]&&S[x]!==Be&&S[x].destroy(),S[x]=Be}});let $=S.length;for(;$--;)S[$]&&S[$].isActive?S[$].isActive=!1:(S[$]?.destroy(),S.splice($,1));se.dataLabel=S[0],se.dataLabels=S})),te(this,"afterDrawDataLabels")}function f(o,n,r,l,d,C){let U,se,k=this.chart,p=n.align,T=n.verticalAlign,B=o.box?0:o.padding||0,{x:z=0,y:K=0}=n;return(U=(r.x||0)+B)<0&&("right"===p&&z>=0?(n.align="left",n.inside=!0):z-=U,se=!0),(U=(r.x||0)+l.width-B)>k.plotWidth&&("left"===p&&z<=0?(n.align="right",n.inside=!0):z+=k.plotWidth-U,se=!0),(U=r.y+B)<0&&("bottom"===T&&K>=0?(n.verticalAlign="top",n.inside=!0):K-=U,se=!0),(U=(r.y||0)+l.height-B)>k.plotHeight&&("top"===T&&K<=0?(n.verticalAlign="bottom",n.inside=!0):K+=k.plotHeight-U,se=!0),se&&(n.x=z,n.y=K,o.placed=!C,o.align(n,void 0,d)),se}function a(o,n){let l,r=[];if(X(o)&&!X(n))r=o.map(function(d){return j(d,n)});else if(X(n)&&!X(o))r=n.map(function(d){return j(o,d)});else if(X(o)||X(n)){if(X(o)&&X(n))for(l=Math.max(o.length,n.length);l--;)r[l]=j(o[l],n[l])}else r=j(o,n);return r}function g(o){let n=o.chart.options.plotOptions;return A(a(a(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function v(o,n,r,l,d){let C=this.chart,k=C.inverted,p=this.xAxis,T=p.reversed,B=((k?n.height:n.width)||0)/2,z=o.pointWidth,K=z?z/2:0;n.startXPos=k?d.x:T?-B-K:p.width-B+K,n.startYPos=k?T?this.yAxis.height-B+K:-B-K:d.y,l?"hidden"===n.visibility&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),C.hasRendered&&(r&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}I.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=G,n.initDataLabelsGroup=w,n.alignDataLabel=m,n.drawDataLabels=O,n.justifyDataLabel=f,n.setDataLabelStartPos=v,n.hasDataLabels=_)}}(ve||(ve={})),ve}),Le(V,"Series/Column/ColumnDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{series:ue}=re,{merge:J,pick:te,pushUnique:X}=ve;return function(E){function j(F,P,D,A,I){let _=this.chart.inverted,m=F.series,w=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||0,G=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0,O=F.dlBox||F.shapeArgs,f=te(F.below,F.plotY>te(this.translatedThreshold,G)),a=te(D.inside,!!this.options.stacking);if(O){if(A=J(O),"allow"!==D.overflow||!1!==D.crop){A.y<0&&(A.height+=A.y,A.y=0);let g=A.y+A.height-G;g>0&&g\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),Le(V,"Series/Scatter/ScatterSeries.js",[V["Series/Scatter/ScatterSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re){let{column:ve,line:le}=ne.seriesTypes,{addEvent:pe,extend:ue,merge:J}=re;class te extends le{applyJitter(){let E=this,j=this.options.jitter,F=this.points.length;j&&this.points.forEach(function(P,D){["x","y"].forEach(function(A,I){let _,w,G,O,m="plot"+A.toUpperCase();j[A]&&!P.isNull&&(_=E[A+"Axis"],O=j[A]*_.transA,_&&!_.isLog&&(w=Math.max(0,P[m]-O),G=Math.min(_.len,P[m]+O),P[m]=w+(G-w)*function(f){let a=1e4*Math.sin(f);return a-Math.floor(a)}(D+I*F),"x"===A&&(P.clientX=P.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return te.defaultOptions=J(le.defaultOptions,q),ue(te.prototype,{drawTracker:ve.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),pe(te,"afterTranslate",function(){this.applyJitter()}),ne.registerSeriesType("scatter",te),te}),Le(V,"Series/CenteredUtilities.js",[V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re){var ve,le;let{deg2rad:pe}=q,{fireEvent:ue,isNumber:J,pick:te,relativeLength:X}=re;return(le=ve||(ve={})).getCenter=function(){let m,O,f,E=this.options,j=this.chart,F=2*(E.slicedOffset||0),P=j.plotWidth-2*F,D=j.plotHeight-2*F,A=E.center,I=Math.min(P,D),_=E.thickness,w=E.size,G=E.innerSize||0;"string"==typeof w&&(w=parseFloat(w)),"string"==typeof G&&(G=parseFloat(G));let a=[te(A[0],"50%"),te(A[1],"50%"),te(w&&w<0?void 0:E.size,"100%"),te(G&&G<0?void 0:E.innerSize||0,"0%")];for(!j.angular||this instanceof ne||(a[3]=0),O=0;O<4;++O)f=a[O],m=O<2||2===O&&/%$/.test(f),a[O]=X(f,[P,D,I,a[2]][O])+(m?F:0);return a[3]>a[2]&&(a[3]=a[2]),J(_)&&2*_0&&(a[3]=a[2]-2*_),ue(this,"afterGetCenter",{positions:a}),a},le.getStartAndEndRadians=function(E,j){let F=J(E)?E:0,P=J(j)&&j>F&&j-F<360?j:F+360;return{start:pe*(F+-90),end:pe*(P+-90)}},ve}),Le(V,"Series/Pie/PiePoint.js",[V["Core/Animation/AnimationUtilities.js"],V["Core/Series/Point.js"],V["Core/Utilities.js"]],function(q,ne,re){let{setAnimation:ve}=q,{addEvent:le,defined:pe,extend:ue,isNumber:J,pick:te,relativeLength:X}=re;class E extends ne{getConnectorPath(F){let P=F.dataLabelPosition,D=F.options||{},A=D.connectorShape;return P&&(this.connectorShapes[A]||A).call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,D)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(F){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+F,P.r+F,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(F,P,D){super(F,P,D),this.half=0,this.name??(this.name="Slice");let A=I=>{this.slice("select"===I.type)};le(this,"select",A),le(this,"unselect",A)}isValid(){return J(this.y)&&this.y>=0}setVisible(F,P=!0){F!==this.visible&&this.update({visible:F??!this.visible},P,void 0,!1)}slice(F,P,D){let A=this.series;ve(D,A.chart),P=te(P,!0),this.sliced=this.options.sliced=F=pe(F)?F:!this.sliced,A.options.data[A.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return ue(E.prototype,{connectorShapes:{fixedOffset:function(j,F,P){let D=F.breakAt,A=F.touchingSliceAt;return[["M",j.x,j.y],P.softConnector?["C",j.x+("left"===j.alignment?-5:5),j.y,2*D.x-A.x,2*D.y-A.y,D.x,D.y]:["L",D.x,D.y],["L",A.x,A.y]]},straight:function(j,F){let P=F.touchingSliceAt;return[["M",j.x,j.y],["L",P.x,P.y]]},crookedLine:function(j,F,P){let{breakAt:D,touchingSliceAt:A}=F,{series:I}=this,[_,m,w]=I.center,G=w/2,{plotLeft:O,plotWidth:f}=I.chart,a="left"===j.alignment,{x:g,y:v}=j,o=D.x;if(P.crookDistance){let r=X(P.crookDistance,1);o=a?_+G+(f+O-_-G)*(1-r):O+(_-G)*r}else o=_+(m-v)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",g,v]];return(a?o<=g&&o>=D.x:o>=g&&o<=D.x)&&n.push(["L",o,v]),n.push(["L",D.x,D.y],["L",A.x,A.y]),n}}}),E}),Le(V,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),Le(V,"Series/Pie/PieSeries.js",[V["Series/CenteredUtilities.js"],V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Series/Pie/PiePoint.js"],V["Series/Pie/PieSeriesDefaults.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/Symbols.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{getStartAndEndRadians:X}=q,{noop:E}=re,{clamp:j,extend:F,fireEvent:P,merge:D,pick:A}=te;class I extends pe{animate(m){let w=this,O=w.startAngleRad;m||w.points.forEach(function(f){let a=f.graphic,g=f.shapeArgs;a&&g&&(a.attr({r:A(f.startR,w.center&&w.center[3]/2),start:O,end:O}),a.animate({r:g.r,start:g.start,end:g.end},w.options.animation))})}drawEmpty(){let m,w,G=this.startAngleRad,O=this.endAngleRad,f=this.options;0===this.total&&this.center?(m=this.center[0],w=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(m,w,this.center[1]/2,0,G,O).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(m,w,this.center[2]/2,0,{start:G,end:O,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let m=this.chart.renderer;this.points.forEach(function(w){w.graphic&&w.hasNewShapeType()&&(w.graphic=w.graphic.destroy()),w.graphic||(w.graphic=m[w.shapeType](w.shapeArgs).add(w.series.group),w.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(m,w,G,O){let f=this.center,a=this.radii?this.radii[G.index]||0:f[2]/2,g=O.dataLabelPosition,v=g?.distance||0,o=Math.asin(j((m-f[1])/(a+v),-1,1));return f[0]+Math.cos(o)*(a+v)*(w?-1:1)+(v>0?(w?-1:1)*(O.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let m,w,G,O,f=this,a=f.chart;this.drawEmpty(),f.group&&!a.styledMode&&f.group.shadow(f.options.shadow),f.points.forEach(function(g){let v={};w=g.graphic,!g.isNull&&w?(O=g.shapeArgs,m=g.getTranslate(),a.styledMode||(G=f.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(w.setRadialReference(f.center).attr(O).attr(m),a.styledMode||w.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(w.setRadialReference(f.center),a.styledMode||D(!0,v,G),D(!0,v,O,m),w.animate(v)),w.attr({visibility:g.visible?"inherit":"hidden"}),w.addClass(g.getClassName(),!0)):w&&(g.graphic=w.destroy())})}sortByAngle(m,w){m.sort(function(G,O){return void 0!==G.angle&&(O.angle-G.angle)*w})}translate(m){P(this,"translate"),this.generatePoints();let n,r,l,d,C,k,p,w=this.options,G=w.slicedOffset,O=X(w.startAngle,w.endAngle),f=this.startAngleRad=O.start,a=(this.endAngleRad=O.end)-f,g=this.points,v=w.ignoreHiddenPoint,o=g.length,T=0;for(m||(this.center=m=this.getCenter()),k=0;k1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI),p.slicedTranslation={translateX:Math.round(Math.cos(l)*G),translateY:Math.round(Math.sin(l)*G)},d=Math.cos(l)*m[2]/2,C=Math.sin(l)*m[2]/2,p.tooltipPos=[m[0]+.7*d,m[1]+.7*C],p.half=l<-Math.PI/2||l>Math.PI/2?1:0,p.angle=l}P(this,"afterTranslate")}updateTotals(){let O,f,m=this.points,w=m.length,G=this.options.ignoreHiddenPoint,a=0;for(O=0;O0&&(f.visible||!G)?f.y/a*100:0,f.total=a}}return I.defaultOptions=D(pe.defaultOptions,le),F(I.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ne.prototype.drawTracker,getCenter:q.getCenter,getSymbol:E,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ne.prototype.pointAttribs,pointClass:ve,requireSorting:!1,searchPoint:E,trackerGroups:["group","dataLabelsGroup"]}),ue.registerSeriesType("pie",I),I}),Le(V,"Series/Pie/PieDataLabel.js",[V["Core/Series/DataLabel.js"],V["Core/Globals.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){var pe;let{composed:ue,noop:J}=ne,{distribute:te}=re,{series:X}=ve,{arrayMax:E,clamp:j,defined:F,pick:P,pushUnique:D,relativeLength:A}=le;return function(I){let _={radialDistributionY:function(f,a){return(a.dataLabelPosition?.top||0)+f.distributeBox.pos},radialDistributionX:function(f,a,g,v,o){let n=o.dataLabelPosition;return f.getX(g<(n?.top||0)+2||g>(n?.bottom||0)-2?v:g,a.half,a,o)},justify:function(f,a,g,v){return v[0]+(f.half?-1:1)*(g+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(f,a,g,v){let o=f.getBBox().width;return a?o+v:g-o-v},alignToConnectors:function(f,a,g,v){let n,o=0;return f.forEach(function(r){(n=r.dataLabel.getBBox().width)>o&&(o=n)}),a?o+v:g-o-v}};function m(f,a){let{center:g,options:v}=this,o=g[2]/2,n=f.angle||0,r=Math.cos(n),l=Math.sin(n),d=g[0]+r*o,C=g[1]+l*o,k=Math.min((v.slicedOffset||0)+(v.borderWidth||0),a/5);return{natural:{x:d+r*a,y:C+l*a},computed:{},alignment:a<0?"center":f.half?"right":"left",connectorPosition:{breakAt:{x:d+r*k,y:C+l*k},touchingSliceAt:{x:d,y:C}},distance:a}}function w(){let B,z,K,f=this,a=f.points,g=f.chart,v=g.plotWidth,o=g.plotHeight,n=g.plotLeft,r=Math.round(g.chartWidth/3),l=f.center,d=l[2]/2,C=l[1],k=[[],[]],p=[0,0,0,0],T=f.dataLabelPositioners,U=0;f.visible&&f.hasDataLabels?.()&&(a.forEach(se=>{(se.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),X.prototype.drawDataLabels.apply(f),a.forEach(se=>{(se.dataLabels||[]).forEach((S,$)=>{let H=l[2]/2,x=S.options,N=A(x?.distance||0,H);0===$&&k[se.half].push(se),!F(x?.style?.width)&&S.getBBox().width>r&&(S.css({width:Math.round(.7*r)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(se,N),U=Math.max(U,N)})}),k.forEach((se,S)=>{let x,N,Z,H=[],R=0;se.length&&(f.sortByAngle(se,S-.5),U>0&&(x=Math.max(0,C-d-U),N=Math.min(C+d+U,g.plotHeight),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.dataLabelPosition;ge&&ge.distance>0&&(ge.top=Math.max(0,C-d-ge.distance),ge.bottom=Math.min(C+d+ge.distance,g.plotHeight),R=he.getBBox().height||21,Y.distributeBox={target:(he.dataLabelPosition?.natural.y||0)-ge.top+R/2,size:R,rank:Y.y},H.push(Y.distributeBox))})}),te(H,Z=N+R-x,Z/5)),se.forEach(Y=>{(Y.dataLabels||[]).forEach(he=>{let ge=he.options||{},_e=Y.distributeBox,Te=he.dataLabelPosition,Oe=Te?.natural.y||0,De=ge.connectorPadding||0,Be=0,oe=Oe,ee="inherit";if(Te){if(H&&F(_e)&&Te.distance>0&&(void 0===_e.pos?ee="hidden":(K=_e.size,oe=T.radialDistributionY(Y,he))),ge.justify)Be=T.justify(Y,he,d,l);else switch(ge.alignTo){case"connectors":Be=T.alignToConnectors(se,S,v,n);break;case"plotEdges":Be=T.alignToPlotEdges(he,S,v,n);break;default:Be=T.radialDistributionX(f,Y,oe,Oe,he)}if(Te.attribs={visibility:ee,align:Te.alignment},Te.posAttribs={x:Be+(ge.x||0)+({left:De,right:-De}[Te.alignment]||0),y:oe+(ge.y||0)-he.getBBox().height/2},Te.computed.x=Be,Te.computed.y=oe,P(ge.crop,!0)){let be;Be-(z=he.getBBox().width)v-De&&0===S&&(be=Math.round(Be+z-v+De),p[1]=Math.max(be,p[1])),oe-K/2<0?p[0]=Math.max(Math.round(K/2-oe),p[0]):oe+K/2>o&&(p[2]=Math.max(Math.round(oe+K/2-o),p[2])),Te.sideOverflow=be}}})}))}),(0===E(p)||this.verifyDataLabelOverflow(p))&&(this.placeDataLabels(),this.points.forEach(se=>{(se.dataLabels||[]).forEach(S=>{let{connectorColor:$,connectorWidth:H=1}=S.options||{},x=S.dataLabelPosition;if(H){let N;B=S.connector,x&&x.distance>0?(N=!B,B||(S.connector=B=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+se.colorIndex+(se.className?" "+se.className:"")).add(f.dataLabelsGroup)),g.styledMode||B.attr({"stroke-width":H,stroke:$||se.color||"#666666"}),B[N?"attr":"animate"]({d:se.getConnectorPath(S)}),B.attr({visibility:x.attribs?.visibility})):B&&(S.connector=B.destroy())}})})))}function G(){this.points.forEach(f=>{(f.dataLabels||[]).forEach(a=>{let g=a.dataLabelPosition;g?(g.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(g.attribs),a[a.moved?"animate":"attr"](g.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete f.distributeBox},this)}function O(f){let a=this.center,g=this.options,v=g.center,o=g.minSize||80,n=o,r=null!==g.size;return!r&&(null!==v[0]?n=Math.max(a[2]-Math.max(f[1],f[3]),o):(n=Math.max(a[2]-f[1]-f[3],o),a[0]+=(f[3]-f[1])/2),null!==v[1]?n=j(n,o,a[2]-Math.max(f[0],f[2])):(n=j(n,o,a[2]-f[0]-f[2]),a[1]+=(f[0]-f[2])/2),n!(m.x>=_.x+_.width||m.x+m.width<=_.x||m.y>=_.y+_.height||m.y+m.height<=_.y),I=!1;for(let _=0;_(m.labelrank||0)-(_.labelrank||0));for(let _=0;_{ve(j,F=>{F.label&&X.push(F.label)})});for(let E of te.series||[])if(E.visible&&E.hasDataLabels?.()){let j=F=>{for(let P of F)P.visible&&(P.dataLabels||[]).forEach(D=>{let A=D.options||{};D.labelrank=le(A.labelrank,P.labelrank,P.shapeArgs?.height),A.allowOverlap??Number(A.distance)>0?(D.oldOpacity=D.opacity,D.newOpacity=1,ue(D,te)):X.push(D)})};j(E.nodes||[]),j(E.points)}this.hideOverlappingLabels(X)}return{compose:function(te){let X=te.prototype;X.hideOverlappingLabels||(X.hideOverlappingLabels=pe,ne(te,"render",J))}}}),Le(V,"Extensions/BorderRadius.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne,re){let{defaultOptions:ve}=q,{noop:le}=ne,{addEvent:pe,extend:ue,isObject:J,merge:te,relativeLength:X}=re,E={radius:0,scope:"stack",where:void 0},j=le,F=le;function P(m,w,G,O,f={}){let a=j(m,w,G,O,f),{innerR:g=0,r:v=G,start:o=0,end:n=0}=f;if(f.open||!f.borderRadius)return a;let r=n-o,l=Math.sin(r/2),d=Math.max(Math.min(X(f.borderRadius||0,v-g),(v-g)/2,v*l/(1+l)),0),C=Math.min(d,r/Math.PI*2*g),k=a.length-1;for(;k--;)!function(p,T,B){let z,K,U,se=p[T],S=p[T+1];if("Z"===S[0]&&(S=p[0]),"M"!==se[0]&&"L"!==se[0]||"A"!==S[0]?"A"===se[0]&&("M"===S[0]||"L"===S[0])&&(z=S,K=se):(z=se,K=S,U=!0),z&&K&&K.params){let $=K[1],H=K[5],x=K.params,{start:N,end:R,cx:Z,cy:Y}=x,he=H?$-B:$+B,ge=he?Math.asin(B/he):0,_e=H?ge:-ge,Te=Math.cos(ge)*he;U?(x.start=N+_e,z[1]=Z+Te*Math.cos(N),z[2]=Y+Te*Math.sin(N),p.splice(T+1,0,["A",B,B,0,0,1,Z+$*Math.cos(x.start),Y+$*Math.sin(x.start)])):(x.end=R-_e,K[6]=Z+$*Math.cos(x.end),K[7]=Y+$*Math.sin(x.end),p.splice(T+1,0,["A",B,B,0,0,1,Z+Te*Math.cos(R),Y+Te*Math.sin(R)])),K[4]=Math.abs(x.end-x.start)1?C:d);return a}function D(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:m,yAxis:w}=this,G="percent"===m.stacking,O=ve.plotOptions?.[this.type]?.borderRadius,f=A(m.borderRadius,J(O)?O:{}),a=w.options.reversed;for(let g of this.points){let{shapeArgs:v}=g;if("roundedRect"===g.shapeType&&v){let{width:o=0,height:n=0,y:r=0}=v,l=r,d=n;if("stack"===f.scope&&g.stackTotal){let T=w.translate(G?100:g.stackTotal,!1,!0,!1,!0),B=w.translate(m.threshold||0,!1,!0,!1,!0),z=this.crispCol(0,Math.min(T,B),0,Math.abs(T-B));l=z.y,d=z.height}let C=(g.negative?-1:1)*(a?-1:1)==-1,k=f.where;!k&&this.is("waterfall")&&Math.abs((g.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(k="all"),k||(k="end");let p=Math.min(X(f.radius,o),o/2,"all"===k?n/2:1/0)||0;"end"===k&&(C&&(l-=p),d+=p),ue(v,{brBoxHeight:d,brBoxY:l,r:p})}}}}function A(m,w){return J(m)||(m={radius:m||0}),te(E,w,m)}function I(){let m=A(this.options.borderRadius);for(let w of this.points){let G=w.shapeArgs;G&&(G.borderRadius=X(m.radius,(G.r||0)-(G.innerR||0)))}}function _(m,w,G,O,f={}){let a=F(m,w,G,O,f),{r:g=0,brBoxHeight:v=O,brBoxY:o=w}=f,n=w-o,r=o+v-(w+O),l=n-g>-.1?0:g,d=r-g>-.1?0:g,C=Math.max(l&&n,0),k=Math.max(d&&r,0),p=[m+l,w],T=[m+G-l,w],B=[m+G,w+l],z=[m+G,w+O-d],K=[m+G-d,w+O],U=[m+d,w+O],se=[m,w+O-d],S=[m,w+l],$=(H,x)=>Math.sqrt(Math.pow(H,2)-Math.pow(x,2));if(C){let H=$(l,l-C);p[0]-=H,T[0]+=H,B[1]=S[1]=w+l-C}if(O=ue(P.minWidth,0)&&this.chartHeight>=ue(P.minHeight,0)}).call(this)&&F.push(j._id)}function E(j,F){let I,P=this.options.responsive,D=this.currentResponsive,A=[];!F&&P&&P.rules&&P.rules.forEach(w=>{void 0===w._id&&(w._id=J()),this.matchResponsiveRule(w,A)},this);let _=pe(...A.map(w=>le((P||{}).rules||[],G=>G._id===w)).map(w=>w&&w.chartOptions));_.isResponsiveOptions=!0,A=A.toString()||void 0,A!==(D&&D.ruleIds)&&(D&&this.update(D.undoOptions,j,!0),A?((I=re(_,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:A,mergedOptions:_,undoOptions:I},this.update(_,j,!0)):this.currentResponsive=void 0)}te.compose=function(j){let F=j.prototype;return F.matchResponsiveRule||ve(F,{matchResponsiveRule:X,setResponsive:E}),j}}(ne||(ne={})),ne}),Le(V,"masters/highcharts.src.js",[V["Core/Globals.js"],V["Core/Utilities.js"],V["Core/Defaults.js"],V["Core/Animation/Fx.js"],V["Core/Animation/AnimationUtilities.js"],V["Core/Renderer/HTML/AST.js"],V["Core/Templating.js"],V["Core/Renderer/RendererRegistry.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Renderer/SVG/SVGRenderer.js"],V["Core/Renderer/HTML/HTMLElement.js"],V["Core/Axis/Axis.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Axis/LogarithmicAxis.js"],V["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],V["Core/Axis/Tick.js"],V["Core/Tooltip.js"],V["Core/Series/Point.js"],V["Core/Pointer.js"],V["Core/Legend/Legend.js"],V["Core/Legend/LegendSymbol.js"],V["Core/Chart/Chart.js"],V["Extensions/ScrollablePlotArea.js"],V["Core/Axis/Stacking/StackingAxis.js"],V["Core/Axis/Stacking/StackItem.js"],V["Core/Series/Series.js"],V["Core/Series/SeriesRegistry.js"],V["Series/Column/ColumnDataLabel.js"],V["Series/Pie/PieDataLabel.js"],V["Core/Series/DataLabel.js"],V["Extensions/OverlappingDataLabels.js"],V["Extensions/BorderRadius.js"],V["Core/Responsive.js"],V["Core/Color/Color.js"],V["Core/Time.js"]],function(q,ne,re,ve,le,pe,ue,J,te,X,E,j,F,P,D,A,I,_,m,w,G,O,f,a,g,v,o,n,r,l,d,C,k,p,T,B){return q.AST=pe,q.Axis=F,q.Chart=f,q.Color=T,q.DataLabel=d,q.Fx=ve,q.HTMLElement=j,q.Legend=G,q.LegendSymbol=O,q.OverlappingDataLabels=q.OverlappingDataLabels||C,q.PlotLineOrBand=A,q.Point=m,q.Pointer=w,q.RendererRegistry=J,q.Series=o,q.SeriesRegistry=n,q.StackItem=v,q.SVGElement=X,q.SVGRenderer=E,q.Templating=ue,q.Tick=I,q.Time=B,q.Tooltip=_,q.animate=le.animate,q.animObject=le.animObject,q.chart=f.chart,q.color=T.parse,q.dateFormat=ue.dateFormat,q.defaultOptions=re.defaultOptions,q.distribute=te.distribute,q.format=ue.format,q.getDeferredAnimation=le.getDeferredAnimation,q.getOptions=re.getOptions,q.numberFormat=ue.numberFormat,q.seriesType=n.seriesType,q.setAnimation=le.setAnimation,q.setOptions=re.setOptions,q.stop=le.stop,q.time=re.defaultTime,q.timers=ve.timers,k.compose(q.Series,q.SVGElement,q.SVGRenderer),r.compose(q.Series.types.column),d.compose(q.Series),P.compose(q.Axis),j.compose(q.SVGRenderer),G.compose(q.Chart),D.compose(q.Axis),C.compose(q.Chart),l.compose(q.Series.types.pie),A.compose(q.Axis),w.compose(q.Chart),p.compose(q.Chart),a.compose(q.Axis,q.Chart,q.Series),g.compose(q.Axis,q.Chart,q.Series),_.compose(q.Pointer),ne.extend(q,ne),q}),Le(V,"Series/DataModifyComposition.js",[V["Core/Axis/Axis.js"],V["Core/Series/Point.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{tooltipFormatter:pe}=ne.prototype,{addEvent:ue,arrayMax:J,arrayMin:te,correctFloat:X,defined:E,isArray:j,isNumber:F,isString:P,pick:D}=ve;return function(A){function I(o,n,r){!this.isXAxis&&(this.series.forEach(function(l){"compare"===o&&"boolean"!=typeof n?l.setCompare(n,!1):"cumulative"!==o||P(n)||l.setCumulative(n,!1)}),D(r,!0)&&this.chart.redraw())}function _(o){let n=this,{numberFormatter:r}=n.series.chart,l=function(d){o=o.replace("{point."+d+"}",(n[d]>0&&"change"===d?"+":"")+r(n[d],D(n.series.tooltipOptions.changeDecimals,2)))};return E(n.change)&&l("change"),E(n.cumulativeSum)&&l("cumulativeSum"),pe.apply(this,[o])}function m(){let o,n=this.options.compare;("percent"===n||"value"===n||this.options.cumulative)&&(o=new v(this),"percent"===n||"value"===n?o.initCompare(n):o.initCumulative()),this.dataModify=o}function w(o){let n=o.dataExtremes,r=n.activeYData;if(this.dataModify&&n){let l;this.options.compare?l=[this.dataModify.modifyValue(n.dataMin),this.dataModify.modifyValue(n.dataMax)]:this.options.cumulative&&j(r)&&r.length>=2&&(l=v.getCumulativeExtremes(r)),l&&(n.dataMin=te(l),n.dataMax=J(l))}}function G(o,n){this.options.compare=this.userOptions.compare=o,this.update({},D(n,!0)),!this.dataModify||"value"!==o&&"percent"!==o?this.points.forEach(r=>{delete r.change}):this.dataModify.initCompare(o)}function O(){if(this.xAxis&&this.processedYData&&this.dataModify){let C,o=this.processedXData,n=this.processedYData,r=n.length,l=!0===this.options.compareStart?0:1,d=-1;for(this.pointArrayMap&&(d=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),C=0;C-1?n[C][d]:n[C];if(F(k)&&0!==k&&o[C+l]>=(this.xAxis.min||0)){this.dataModify.compareValue=k;break}}}}function f(o,n){this.setModifier("compare",o,n)}function a(o,n){o=D(o,!1),this.options.cumulative=this.userOptions.cumulative=o,this.update({},D(n,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(r=>{delete r.cumulativeSum})}function g(o,n){this.setModifier("cumulative",o,n)}A.compose=function(o,n,r){let l=n.prototype,d=r.prototype,C=o.prototype;return C.setCompare||(C.setCompare=G,C.setCumulative=a,ue(o,"afterInit",m),ue(o,"afterGetExtremes",w),ue(o,"afterProcessData",O)),l.setCompare||(l.setCompare=f,l.setModifier=I,l.setCumulative=g,d.tooltipFormatter=_),o};class v{constructor(n){this.series=n}modifyValue(){return 0}static getCumulativeExtremes(n){let r=1/0,l=-1/0;return n.reduce((d,C)=>{let k=d+C;return r=Math.min(r,k,d),l=Math.max(l,k,d),k}),[r,l]}initCompare(n){this.modifyValue=function(r,l){null===r&&(r=0);let d=this.compareValue;if(void 0!==r&&void 0!==d){if("value"===n?r-=d:r=r/d*100-(100===this.series.options.compareBase?0:100),void 0!==l){let C=this.series.points[l];C&&(C.change=r)}return r}return 0}}initCumulative(){this.modifyValue=function(n,r){if(null===n&&(n=0),void 0!==n&&void 0!==r){let l=r>0?this.series.points[r-1]:null;l&&l.cumulativeSum&&(n=X(l.cumulativeSum+n));let d=this.series.points[r];return d&&(d.cumulativeSum=n),n}return 0}}}A.Additions=v}(le||(le={})),le}),Le(V,"Stock/Navigator/ChartNavigatorComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let re,{isTouchDevice:ve}=q,{addEvent:le,merge:pe,pick:ue}=ne,J=[];function te(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function X(){let A,I,_,m=this.legend,w=this.navigator;if(w){A=m&&m.options,I=w.xAxis,_=w.yAxis;let{scrollbarHeight:G,scrollButtonSize:O}=w;this.inverted?(w.left=w.opposite?this.chartWidth-G-w.height:this.spacing[3]+G,w.top=this.plotTop+O):(w.left=ue(I.left,this.plotLeft+O),w.top=w.navigatorOptions.top||this.chartHeight-w.height-G-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(A&&"bottom"===A.verticalAlign&&"proximate"!==A.layout&&A.enabled&&!A.floating?m.legendHeight+ue(A.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),I&&_&&(this.inverted?I.options.left=_.options.left=w.left:I.options.top=_.options.top=w.top,I.setAxisSize(),_.setAxisSize())}}function E(A){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this),ue(A.redraw,!0)&&this.redraw(A.animation))}function j(){let A=this.options;(A.navigator.enabled||A.scrollbar.enabled)&&(this.scroller=this.navigator=new re(this))}function F(){let A=this.options,I=A.navigator,_=A.rangeSelector;if((I&&I.enabled||_&&_.enabled)&&(!ve&&"x"===this.zooming.type||ve&&"x"===this.zooming.pinchType))return!1}function P(A){let I=A.navigator;if(I&&A.xAxis[0]){let _=A.xAxis[0].getExtremes();I.render(_.min,_.max)}}function D(A){let I=A.options.navigator||{},_=A.options.scrollbar||{};!this.navigator&&!this.scroller&&(I.enabled||_.enabled)&&(pe(!0,this.options.navigator,I),pe(!0,this.options.scrollbar,_),delete A.options.navigator,delete A.options.scrollbar)}return{compose:function(A,I){ne.pushUnique(J,A)&&(re=I,A.prototype.callbacks.push(P),le(A,"afterAddSeries",te),le(A,"afterSetChartSize",X),le(A,"afterUpdate",E),le(A,"beforeRender",j),le(A,"beforeShowResetZoom",F),le(A,"update",D))}}}),Le(V,"Core/Axis/NavigatorAxisComposition.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){let{isTouchDevice:re}=q,{addEvent:ve,correctFloat:le,defined:pe,isNumber:ue,pick:J}=ne;function te(){this.navigatorAxis||(this.navigatorAxis=new E(this))}function X(j){let F,P=this.chart,D=P.options,A=D.navigator,I=this.navigatorAxis,_=P.zooming.pinchType,m=D.rangeSelector,w=P.zooming.type;if(this.isXAxis&&(A?.enabled||m?.enabled))if("y"===w&&"zoom"===j.trigger)F=!1;else if(("zoom"===j.trigger&&"xy"===w||re&&"xy"===_)&&this.options.range){let G=I.previousZoom;pe(j.min)?I.previousZoom=[this.min,this.max]:G&&(j.min=G[0],j.max=G[1],I.previousZoom=void 0)}void 0!==F&&j.preventDefault()}class E{static compose(F){F.keepProps.includes("navigatorAxis")||(F.keepProps.push("navigatorAxis"),ve(F,"init",te),ve(F,"setExtremes",X))}constructor(F){this.axis=F}destroy(){this.axis=void 0}toFixedRange(F,P,D,A){let I=this.axis,_=I.chart,m=J(I.ordinal?.convertOverscroll(I.options.overscroll),0),w=J(D,I.translate(F,!0,!I.horiz)),G=J(A,I.translate(P,!0,!I.horiz)),O=_&&_.fixedRange,f=(I.pointRange||0)/2;if(pe(D)||(w=le(w+f)),pe(A)||(G=le(G-f)),O&&I.dataMin&&I.dataMax){let a=I.dataMax+m;G>=a&&(w=le(a-O),G=le(a)),w<=I.dataMin&&(G=le(I.dataMin+O))}return ue(w)&&ue(G)||(w=G=void 0),{min:w,max:G}}}return E}),Le(V,"Stock/Navigator/NavigatorDefaults.js",[V["Core/Color/Color.js"],V["Core/Series/SeriesRegistry.js"]],function(q,ne){let{parse:re}=q,{seriesTypes:ve}=ne;return{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:re("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===ve.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),Le(V,"Stock/Navigator/NavigatorSymbols.js",[],function(){return{"navigator-handle":function(q,ne,re,ve,le={}){let pe=le.width?le.width/2:re,ue=Math.round(pe/3)+.5;return[["M",-pe-1,.5],["L",pe,.5],["L",pe,(ve=le.height||ve)+.5],["L",-pe-1,ve+.5],["L",-pe-1,.5],["M",-ue,4],["L",-ue,ve-3],["M",ue-1,4],["L",ue-1,ve-3]]}}}),Le(V,"Stock/Utilities/StockUtilities.js",[V["Core/Utilities.js"]],function(q){let{defined:ne}=q;return{setFixedRange:function(re){let ve=this.xAxis[0];this.fixedRange=ne(ve.dataMax)&&ne(ve.dataMin)&&re?Math.min(re,ve.dataMax-ve.dataMin):re}}}),Le(V,"Stock/Navigator/NavigatorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorDefaults.js"],V["Stock/Navigator/NavigatorSymbols.js"],V["Core/Renderer/RendererRegistry.js"],V["Stock/Utilities/StockUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{setOptions:te}=q,{composed:X}=ne,{getRendererType:E}=pe,{setFixedRange:j}=ue,{addEvent:F,extend:P,pushUnique:D}=J;function A(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(I,_,m){re.compose(_),D(X,"Navigator")&&(I.prototype.setFixedRange=j,P(E().prototype.symbols,le),F(m,"afterUpdate",A),te({navigator:ve}))}}}),Le(V,"Core/Axis/ScrollbarAxis.js",[V["Core/Globals.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{composed:ve}=q,{addEvent:le,defined:pe,pick:ue,pushUnique:J}=ne;return function(te){let X;function E(D){let A=ue(D.options&&D.options.min,D.min),I=ue(D.options&&D.options.max,D.max);return{axisMin:A,axisMax:I,scrollMin:pe(D.dataMin)?Math.min(A,D.min,D.dataMin,ue(D.threshold,1/0)):A,scrollMax:pe(D.dataMax)?Math.max(I,D.max,D.dataMax,ue(D.threshold,-1/0)):I}}function j(){let D=this.scrollbar,I=this.horiz?2:D&&!D.options.opposite?3:1;D&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[I]+=D.size+(D.options.margin||0))}function F(){let D=this;D.options&&D.options.scrollbar&&D.options.scrollbar.enabled&&(D.options.scrollbar.vertical=!D.horiz,D.options.startOnTick=D.options.endOnTick=!1,D.scrollbar=new X(D.chart.renderer,D.options.scrollbar,D.chart),le(D.scrollbar,"changed",function(A){let I,_,{axisMin:m,axisMax:w,scrollMin:G,scrollMax:O}=E(D),f=O-G;pe(m)&&pe(w)&&(D.horiz&&!D.reversed||!D.horiz&&D.reversed?(I=G+f*this.to,_=G+f*this.from):(I=G+f*(1-this.from),_=G+f*(1-this.to)),this.shouldUpdateExtremes(A.DOMType)?D.setExtremes(_,I,!0,"mousemove"!==A.DOMType&&"touchmove"!==A.DOMType&&void 0,A):this.setRange(this.from,this.to))}))}function P(){let D,A,I,{scrollMin:_,scrollMax:m}=E(this),w=this.scrollbar,G=this.axisTitleMargin+(this.titleOffset||0),O=this.chart.scrollbarsOffsets,f=this.options.margin||0;if(w&&O){if(this.horiz)this.opposite||(O[1]+=G),w.position(this.left,this.top+this.height+2+O[1]-(this.opposite?f:0),this.width,this.height),this.opposite||(O[1]+=f),D=1;else{let a;this.opposite&&(O[0]+=G),a=w.options.opposite?this.left+this.width+2+O[0]-(this.opposite?0:f):this.opposite?0:f,w.position(a,this.top,this.width,this.height),this.opposite&&(O[0]+=f),D=0}O[D]+=w.size+(w.options.margin||0),isNaN(_)||isNaN(m)||!pe(this.min)||!pe(this.max)||this.min===this.max?w.setRange(0,1):(A=(this.min-_)/(m-_),I=(this.max-_)/(m-_),this.horiz&&!this.reversed||!this.horiz&&this.reversed?w.setRange(A,I):w.setRange(1-I,1-A))}}te.compose=function(D,A){J(ve,"Axis.Scrollbar")&&(X=A,le(D,"afterGetOffset",j),le(D,"afterInit",F),le(D,"afterRender",P))}}(re||(re={})),re}),Le(V,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),Le(V,"Stock/Scrollbar/Scrollbar.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/ScrollbarAxis.js"],V["Stock/Scrollbar/ScrollbarDefaults.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{defaultOptions:pe}=q,{addEvent:ue,correctFloat:J,defined:te,destroyObjectProperties:X,fireEvent:E,merge:j,pick:F,removeEvent:P}=le;class D{static compose(I){re.compose(I,D)}static swapXY(I,_){return _&&I.forEach(m=>{let w,G=m.length;for(let O=0;Othis.calculatedWidth?_.minWidth:0;return{chartX:(I.chartX-this.x-this.xOffset)/(this.barWidth-m),chartY:(I.chartY-this.y-this.yOffset)/(this.barWidth-m)}}destroy(){let I=this,_=I.chart.scroller;I.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(m){I[m]&&I[m].destroy&&(I[m]=I[m].destroy())}),_&&I===_.scrollbar&&(_.scrollbar=null,X(_.scrollbarButtons))}drawScrollbarButton(I){let _=this.renderer,m=this.scrollbarButtons,w=this.options,G=this.size,O=_.g().add(this.group);if(m.push(O),w.buttonsEnabled){let f=_.rect().addClass("highcharts-scrollbar-button").add(O);this.chart.styledMode||f.attr({stroke:w.buttonBorderColor,"stroke-width":w.buttonBorderWidth,fill:w.buttonBackgroundColor}),f.attr(f.crisp({x:-.5,y:-.5,width:G+1,height:G+1,r:w.buttonBorderRadius},f.strokeWidth()));let a=_.path(D.swapXY([["M",G/2+(I?-1:1),G/2-3],["L",G/2+(I?-1:1),G/2+3],["L",G/2+(I?2:-2),G/2]],w.vertical)).addClass("highcharts-scrollbar-arrow").add(m[I]);this.chart.styledMode||a.attr({fill:w.buttonArrowColor})}}init(I,_,m){this.scrollbarButtons=[],this.renderer=I,this.userOptions=_,this.options=j(ve,pe.scrollbar,_),this.options.margin=F(this.options.margin,10),this.chart=m,this.size=F(this.options.size,this.options.height),_.enabled&&(this.render(),this.addEvents())}mouseDownHandler(I){let _=this.chart.pointer?.normalize(I)||I,m=this.cursorToScrollbarPosition(_);this.chartX=m.chartX,this.chartY=m.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(I){let _,m=this.chart.pointer?.normalize(I)||I,w=this.options.vertical?"chartY":"chartX",G=this.initPositions||[];this.grabbedCenter&&(!I.touches||0!==I.touches[0][w])&&(_=this.cursorToScrollbarPosition(m)[w]-this[w],this.hasDragged=!0,this.updatePosition(G[0]+_,G[1]+_),this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:I.type,DOMEvent:I}))}mouseUpHandler(I){this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:I.type,DOMEvent:I}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(I,_,m,w){let{buttonsEnabled:G,margin:O=0,vertical:f}=this.options,a=this.rendered?"animate":"attr",g=w,v=0;this.group.show(),this.x=I,this.y=_+this.trackBorderWidth,this.width=m,this.height=w,this.xOffset=g,this.yOffset=v,f?(this.width=this.yOffset=m=v=this.size,this.xOffset=g=0,this.yOffset=v=G?this.size:0,this.barWidth=w-(G?2*m:0),this.x=I+=O):(this.height=w=this.size,this.xOffset=g=G?this.size:0,this.barWidth=m-(G?2*w:0),this.y=this.y+O),this.group[a]({translateX:I,translateY:this.y}),this.track[a]({width:m,height:w}),this.scrollbarButtons[1][a]({translateX:f?0:m-g,translateY:f?w-v:0})}removeEvents(){this._events.forEach(function(I){P.apply(null,I)}),this._events.length=0}render(){let I=this.renderer,_=this.options,m=this.size,w=this.chart.styledMode,G=I.g("scrollbar").attr({zIndex:_.zIndex}).hide().add();this.group=G,this.track=I.rect().addClass("highcharts-scrollbar-track").attr({r:_.trackBorderRadius||0,height:m,width:m}).add(G),w||this.track.attr({fill:_.trackBackgroundColor,stroke:_.trackBorderColor,"stroke-width":_.trackBorderWidth});let O=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-O%2/2,y:-O%2/2}),this.scrollbarGroup=I.g().add(G),this.scrollbar=I.rect().addClass("highcharts-scrollbar-thumb").attr({height:m-O,width:m-O,r:_.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=I.path(D.swapXY([["M",-3,m/4],["L",-3,2*m/3],["M",0,m/4],["L",0,2*m/3],["M",3,m/4],["L",3,2*m/3]],_.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),w||(this.scrollbar.attr({fill:_.barBackgroundColor,stroke:_.barBorderColor,"stroke-width":_.barBorderWidth}),this.scrollbarRifles.attr({stroke:_.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(I,_){let m,w,G=this.options,O=G.vertical,f=G.minWidth,a=this.barWidth,g=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!te(a))return;let v=a*Math.min(_,1);m=Math.ceil(a*(I=Math.max(I,0))),this.calculatedWidth=w=J(v-m),w=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(I){return F(this.options.liveRedraw,ne.svg&&!ne.isTouchDevice&&!this.chart.boosted)||"mouseup"===I||"touchend"===I||!te(I)}trackClick(I){let _=this.chart.pointer?.normalize(I)||I,m=this.to-this.from;this.options.vertical&&_.chartY>this.y+this.scrollbarTop||!this.options.vertical&&_.chartX>this.x+this.scrollbarLeft?this.updatePosition(this.from+m,this.to+m):this.updatePosition(this.from-m,this.to-m),E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:I})}update(I){this.destroy(),this.init(this.chart.renderer,j(!0,this.options,I),this.chart)}updatePosition(I,_){_>1&&(I=J(1-J(_-I)),_=1),I<0&&(_=J(_-I),I=0),this.from=I,this.to=_}}return D.defaultOptions=ve,pe.scrollbar=j(!0,D.defaultOptions,pe.scrollbar),D}),Le(V,"Stock/Navigator/Navigator.js",[V["Core/Axis/Axis.js"],V["Stock/Navigator/ChartNavigatorComposition.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Core/Axis/NavigatorAxisComposition.js"],V["Stock/Navigator/NavigatorComposition.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{defaultOptions:te}=re,{isTouchDevice:X}=ve,{addEvent:E,clamp:j,correctFloat:F,defined:P,destroyObjectProperties:D,erase:A,extend:I,find:_,fireEvent:m,isArray:w,isNumber:G,merge:O,pick:f,removeEvent:a,splat:g}=J;function v(n,...r){let l=[].filter.call(r,G);if(l.length)return Math[n].apply(0,l)}class o{static compose(r,l,d){ne.compose(r,o),pe.compose(r,l,d)}constructor(r){this.scrollbarHeight=0,this.init(r)}drawHandle(r,l,d,C){let k=this.navigatorOptions.handles.height;this.handles[l][C](d?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(r,10)+.5-k)}:{translateX:Math.round(this.left+parseInt(r,10)),translateY:Math.round(this.top+this.height/2-k/2-1)})}drawOutline(r,l,d,C){let x,N,k=this.navigatorOptions.maskInside,p=this.outline.strokeWidth(),T=p/2,B=p%2/2,z=this.scrollButtonSize,K=this.size,U=this.top,se=this.height,S=U-T,$=U+se,H=this.left;d?(x=U+l+B,N=[["M",H+se,U-z-B],["L",H+se,x],["L",H,x],["M",H,l=U+r+B],["L",H+se,l],["L",H+se,U+K+z]],k&&N.push(["M",H+se,x-T],["L",H+se,l+T])):(H-=z,N=[["M",H,S],["L",r+=H+z-B,S],["L",r,$],["M",l+=H+z-B,$],["L",l,S],["L",H+K+2*z,U+T]],k&&N.push(["M",r-T,S],["L",l+T,S])),this.outline[C]({d:N})}drawMasks(r,l,d,C){let k,p,T,B,z=this.left,K=this.top,U=this.height;d?(T=[z,z,z],B=[K,K+r,K+l],p=[U,U,U],k=[r,l-r,this.size-l]):(T=[z,z+r,z+l],B=[K,K,K],p=[r,l-r,this.size-l],k=[U,U,U]),this.shades.forEach((se,S)=>{se[C]({x:T[S],y:B[S],width:p[S],height:k[S]})})}renderElements(){let r=this,l=r.navigatorOptions,d=l.maskInside,C=r.chart,p=C.renderer,T={cursor:C.inverted?"ns-resize":"ew-resize"},B=r.navigatorGroup=p.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();if([!d,d,!d].forEach((z,K)=>{let U=p.rect().addClass("highcharts-navigator-mask"+(1===K?"-inside":"-outside")).add(B);C.styledMode||(U.attr({fill:z?l.maskFill:"rgba(0,0,0,0)"}),1===K&&U.css(T)),r.shades[K]=U}),r.outline=p.path().addClass("highcharts-navigator-outline").add(B),C.styledMode||r.outline.attr({"stroke-width":l.outlineWidth,stroke:l.outlineColor}),l.handles&&l.handles.enabled){let z=l.handles,{height:K,width:U}=z;[0,1].forEach(se=>{r.handles[se]=p.symbol(z.symbols[se],-U/2-1,0,U,K,z),C.inverted&&r.handles[se].attr({rotation:90,rotationOriginX:Math.floor(-U/2),rotationOriginY:(K+U)/2}),r.handles[se].attr({zIndex:7-se}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][se]).add(B),C.styledMode||r.handles[se].attr({fill:z.backgroundColor,stroke:z.borderColor,"stroke-width":z.lineWidth}).css(T)})}}update(r){(this.series||[]).forEach(l=>{l.baseSeries&&delete l.baseSeries.navigatorSeries}),this.destroy(),O(!0,this.chart.options.navigator,r),this.init(this.chart)}render(r,l,d,C){let H,x,N,Z,Y,k=this.chart,p=this.xAxis,T=p.pointRange||0,B=p.navigatorAxis.fake?k.xAxis[0]:p,z=this.navigatorEnabled,K=this.rendered,U=k.inverted,se=k.xAxis[0].minRange,S=k.xAxis[0].options.maxRange,$=this.scrollButtonSize,R=this.scrollbarHeight;if(this.hasDragged&&!P(d))return;if(r=F(r-T/2),l=F(l+T/2),!G(r)||!G(l)){if(!K)return;d=0,C=f(p.width,B.width)}this.left=f(p.left,k.plotLeft+$+(U?k.plotWidth:0));let he=this.size=Z=f(p.len,(U?k.plotHeight:k.plotWidth)-2*$);H=U?R:Z+2*$,d=f(d,p.toPixels(r,!0)),C=f(C,p.toPixels(l,!0)),G(d)&&Math.abs(d)!==1/0||(d=0,C=H);let ge=p.toValue(d,!0),_e=p.toValue(C,!0),Te=Math.abs(F(_e-ge));TeS&&(this.grabbedLeft?d=p.toPixels(_e-S-T,!0):this.grabbedRight&&(C=p.toPixels(ge+S+T,!0))),this.zoomedMax=j(Math.max(d,C),0,he),this.zoomedMin=j(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,C),0,he),this.range=this.zoomedMax-this.zoomedMin,he=Math.round(this.zoomedMax);let Oe=Math.round(this.zoomedMin);z&&(this.navigatorGroup.attr({visibility:"inherit"}),Y=K&&!this.hasDragged?"animate":"attr",this.drawMasks(Oe,he,U,Y),this.drawOutline(Oe,he,U,Y),this.navigatorOptions.handles.enabled&&(this.drawHandle(Oe,0,U,Y),this.drawHandle(he,1,U,Y))),this.scrollbar&&(U?(N=this.top-$,x=this.left-R+(z||!B.opposite?0:(B.titleOffset||0)+B.axisTitleMargin),R=Z+2*$):(N=this.top+(z?this.height:-R),x=this.left-$),this.scrollbar.position(x,N,H,R),this.scrollbar.setRange(this.zoomedMin/(Z||1),this.zoomedMax/(Z||1))),this.rendered=!0,m(this,"afterRender")}addMouseEvents(){let k,p,r=this,l=r.chart,d=l.container,C=[];r.mouseMoveHandler=k=function(T){r.onMouseMove(T)},r.mouseUpHandler=p=function(T){r.onMouseUp(T)},(C=r.getPartsEvents("mousedown")).push(E(l.renderTo,"mousemove",k),E(d.ownerDocument,"mouseup",p),E(l.renderTo,"touchmove",k),E(d.ownerDocument,"touchend",p)),C.concat(r.getPartsEvents("touchstart")),r.eventsToUnbind=C,r.series&&r.series[0]&&C.push(E(r.series[0].xAxis,"foundExtremes",function(){l.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(r){let l=this,d=[];return["shades","handles"].forEach(function(C){l[C].forEach(function(k,p){d.push(E(k.element,r,function(T){l[C+"Mousedown"](T,p)}))})}),d}shadesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let K,U,se,S,C=this.xAxis,k=this.zoomedMin,p=this.size,T=this.range,B=this.left,z=r.chartX;this.chart.inverted&&(z=r.chartY,B=this.top),1===l?(this.grabbedCenter=z,this.fixedWidth=T,this.dragOffset=z-k):(S=z-B-T/2,0===l?S=Math.max(0,S):2===l&&S+T>=p&&(S=p-T,this.reversedExtremes?(S-=T,U=this.getUnionExtremes().dataMin):K=this.getUnionExtremes().dataMax),S!==k&&(this.fixedWidth=T,P((se=C.navigatorAxis.toFixedRange(S,S+T,U,K)).min)&&m(this,"setRange",{min:Math.min(se.min,se.max),max:Math.max(se.min,se.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(r,l){r=this.chart.pointer?.normalize(r)||r;let d=this.chart,C=d.xAxis[0],k=this.reversedExtremes;0===l?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=k?C.min:C.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=k?C.max:C.min),d.setFixedRange(void 0)}onMouseMove(r){let z,l=this,d=l.chart,C=l.navigatorSize,k=l.range,p=l.dragOffset,T=d.inverted,B=l.left;(!r.touches||0!==r.touches[0].pageX)&&(z=(r=d.pointer?.normalize(r)||r).chartX,T&&(B=l.top,z=r.chartY),l.grabbedLeft?(l.hasDragged=!0,l.render(0,0,z-B,l.otherHandlePos)):l.grabbedRight?(l.hasDragged=!0,l.render(0,0,l.otherHandlePos,z-B)):l.grabbedCenter&&(l.hasDragged=!0,zC+p-k&&(z=C+p-k),l.render(0,0,z-p,z-p+k)),l.hasDragged&&l.scrollbar&&f(l.scrollbar.options.liveRedraw,!X&&!this.chart.boosted)&&(r.DOMType=r.type,setTimeout(function(){l.onMouseUp(r)},0)))}onMouseUp(r){let l,d,C,k,p,T,z=this.xAxis,K=this.scrollbar,U=r.DOMEvent||r,se=this.chart.inverted,S=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!K||!K.hasDragged)||"scrollbar"===r.trigger)&&(C=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?k=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(p=this.fixedExtreme),this.zoomedMax===this.size&&(p=this.reversedExtremes?C.dataMin:C.dataMax),0===this.zoomedMin&&(k=this.reversedExtremes?C.dataMax:C.dataMin),P((T=z.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,k,p)).min)&&m(this,"setRange",{min:Math.min(T.min,T.max),max:Math.max(T.min,T.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:U}})),"mousemove"!==r.DOMType&&"touchmove"!==r.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&G(this.zoomedMin)&&G(this.zoomedMax)&&(d=Math.round(this.zoomedMin),l=Math.round(this.zoomedMax),this.shades&&this.drawMasks(d,l,se,S),this.outline&&this.drawOutline(d,l,se,S),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(d,0,se,S),this.drawHandle(l,1,se,S)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(r){r()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let r=this.baseSeries||[];this.navigatorEnabled&&r[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&r.forEach(function(l){a(l,"updatedData",this.updatedDataHandler)},this),r[0].xAxis&&a(r[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(r){let l=r.options,d=l.navigator||{},C=d.enabled,k=l.scrollbar||{},p=k.enabled,T=C&&d.height||0,B=p&&k.height||0,z=k.buttonsEnabled&&B||0;this.handles=[],this.shades=[],this.chart=r,this.setBaseSeries(),this.height=T,this.scrollbarHeight=B,this.scrollButtonSize=z,this.scrollbarEnabled=p,this.navigatorEnabled=C,this.navigatorOptions=d,this.scrollbarOptions=k,this.opposite=f(d.opposite,!(C||!r.inverted));let K=this,U=K.baseSeries,se=r.xAxis.length,S=r.yAxis.length,$=U&&U[0]&&U[0].xAxis||r.xAxis[0]||{options:{}};if(r.isDirtyBox=!0,K.navigatorEnabled?(K.xAxis=new q(r,O({breaks:$.options.breaks,ordinal:$.options.ordinal,overscroll:$.options.overscroll},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:se,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},r.inverted?{offsets:[z,0,-z,0],width:T}:{offsets:[0,-z,0,z],height:T}),"xAxis"),K.yAxis=new q(r,O(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:S,isInternal:!0,reversed:f(d.yAxis&&d.yAxis.reversed,r.yAxis[0]&&r.yAxis[0].reversed,!1),zoomEnabled:!1},r.inverted?{width:T}:{height:T}),"yAxis"),U||d.series.data?K.updateNavigatorSeries(!1):0===r.series.length&&(K.unbindRedraw=E(r,"beforeRedraw",function(){r.series.length>0&&!K.series&&(K.setBaseSeries(),K.unbindRedraw())})),K.reversedExtremes=r.inverted&&!K.xAxis.reversed||!r.inverted&&K.xAxis.reversed,K.renderElements(),K.addMouseEvents()):(K.xAxis={chart:r,navigatorAxis:{fake:!0},translate:function(H,x){let N=r.xAxis[0],R=N.getExtremes(),Z=N.len-2*z,Y=v("min",N.options.min,R.dataMin),he=v("max",N.options.max,R.dataMax)-Y;return x?H*he/Z+Y:Z*(H-Y)/he},toPixels:function(H){return this.translate(H)},toValue:function(H){return this.translate(H,!0)}},K.xAxis.navigatorAxis.axis=K.xAxis,K.xAxis.navigatorAxis.toFixedRange=le.prototype.toFixedRange.bind(K.xAxis.navigatorAxis)),r.options.scrollbar.enabled){let H=O(r.options.scrollbar,{vertical:r.inverted});!G(H.margin)&&K.navigatorEnabled&&(H.margin=r.inverted?-3:3),r.scrollbar=K.scrollbar=new ue(r.renderer,H,r),E(K.scrollbar,"changed",function(x){let N=K.size,R=N*this.to,Z=N*this.from;K.hasDragged=K.scrollbar.hasDragged,K.render(0,0,Z,R),this.shouldUpdateExtremes(x.DOMType)&&setTimeout(function(){K.onMouseUp(x)})})}K.addBaseSeriesEvents(),K.addChartEvents()}getUnionExtremes(r){let l,d=this.chart.xAxis[0],C=this.xAxis,k=C.options,p=d.options;return r&&null===d.dataMin||(l={dataMin:f(k&&k.min,v("min",p.min,d.dataMin,C.dataMin,C.min)),dataMax:f(k&&k.max,v("max",p.max,d.dataMax,C.dataMax,C.max))}),l}setBaseSeries(r,l){let d=this.chart,C=this.baseSeries=[];r=r||d.options&&d.options.navigator.baseSeries||(d.series.length?_(d.series,k=>!k.options.isInternal).index:0),(d.series||[]).forEach((k,p)=>{!k.options.isInternal&&(k.options.showInNavigator||(p===r||k.options.id===r)&&!1!==k.options.showInNavigator)&&C.push(k)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,l)}updateNavigatorSeries(r,l){let B,z,U,d=this,C=d.chart,k=d.baseSeries,p={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},T=d.series=(d.series||[]).filter(se=>{let S=se.baseSeries;return!(0>k.indexOf(S)&&(S&&(a(S,"updatedData",d.updatedDataHandler),delete S.navigatorSeries),se.chart&&se.destroy(),1))}),K=d.navigatorOptions.series;k&&k.length&&k.forEach(se=>{let S=se.navigatorSeries,$=I({color:se.color,visible:se.visible},w(K)?te.navigator.series:K);if(S&&!1===d.navigatorOptions.adaptToUpdatedData)return;p.name="Navigator "+k.length,U=(B=se.options||{}).navigatorOptions||{},$.dataLabels=g($.dataLabels),(z=O(B,p,$,U)).pointRange=f($.pointRange,U.pointRange,te.plotOptions[z.type||"line"].pointRange);let H=U.data||$.data;d.hasNavigatorData=d.hasNavigatorData||!!H,z.data=H||B.data&&B.data.slice(0),S&&S.options?S.update(z,l):(se.navigatorSeries=C.initSeries(z),C.setSortedData(),se.navigatorSeries.baseSeries=se,T.push(se.navigatorSeries))}),(K.data&&!(k&&k.length)||w(K))&&(d.hasNavigatorData=!1,(K=g(K)).forEach((se,S)=>{p.name="Navigator "+(T.length+1),(z=O(te.navigator.series,{color:C.series[S]&&!C.series[S].options.isInternal&&C.series[S].color||C.options.colors[S]||C.options.colors[0]},p,se)).data=se.data,z.data&&(d.hasNavigatorData=!0,T.push(C.initSeries(z)))})),r&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let r=this,l=r.baseSeries||[];l[0]&&l[0].xAxis&&l[0].eventsToUnbind.push(E(l[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),l.forEach(d=>{d.eventsToUnbind.push(E(d,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),d.eventsToUnbind.push(E(d,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&d.xAxis&&d.eventsToUnbind.push(E(d,"updatedData",this.updatedDataHandler)),d.eventsToUnbind.push(E(d,"remove",function(){this.navigatorSeries&&(A(r.series,this.navigatorSeries),P(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(r){return this.baseSeries.reduce(function(l,d){return Math.min(l,d.xData&&d.xData.length?d.xData[0]:l)},r)}modifyNavigatorAxisExtremes(){let r=this.xAxis;if(void 0!==r.getExtremes){let l=this.getUnionExtremes(!0);l&&(l.dataMin!==r.min||l.dataMax!==r.max)&&(r.min=l.dataMin,r.max=l.dataMax)}}modifyBaseAxisExtremes(){let r,l,d=this.chart.navigator,C=this.getExtremes(),T=C.dataMin,B=C.dataMax,z=C.max-C.min,K=d.stickToMin,U=d.stickToMax,se=f(this.ordinal?.convertOverscroll(this.options.overscroll),0),S=d.series&&d.series[0],$=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(K&&(r=(l=T)+z),U&&(r=B+se,K||(l=Math.max(T,r-z,d.getBaseSeriesMin(S&&S.xData?S.xData[0]:-Number.MAX_VALUE)))),$&&(K||U)&&G(l)&&(this.min=this.userMin=l,this.max=this.userMax=r)),d.stickToMin=d.stickToMax=null}updatedDataHandler(){let r=this.chart.navigator,l=this.navigatorSeries,d=r.reversedExtremes?0===Math.round(r.zoomedMin):Math.round(r.zoomedMax)>=Math.round(r.size);r.stickToMax=f(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,d),r.stickToMin=r.shouldStickToMin(this,r),l&&!r.hasNavigatorData&&(l.options.pointStart=this.xData[0],l.setData(this.options.data,!1,null,!1))}shouldStickToMin(r,l){let d=l.getBaseSeriesMin(r.xData[0]),C=r.xAxis,k=C.max,p=C.min,T=C.options.range;return!(!G(k)||!G(p))&&(T&&k-d>0?k-d{r.destroy&&r.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(r=>{this[r]&&this[r].destroy&&this[r].destroy(),this[r]=null}),[this.handles].forEach(r=>{D(r)})}}return o}),Le(V,"Core/Axis/OrdinalAxis.js",[V["Core/Axis/Axis.js"],V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{addEvent:pe,correctFloat:ue,css:J,defined:te,error:X,isNumber:E,pick:j,timeUnits:F,isString:P}=ve;return function(D){function A(n,r,l,d,C=[],k=0,p){let U,se,S,$,H,T={},B=this.options.tickPixelInterval,z=this.chart.time,K=[],x=0,N=[],R=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!C||C.length<3||void 0===r)return z.getTimeTicks.apply(z,arguments);let Z=C.length;for(U=0;Ul,C[U]5*k||H){if(C[U]>R){for(se=z.getTimeTicks(n,C[x],C[U],d);se.length&&se[0]<=R;)se.shift();se.length&&(R=se[se.length-1]),K.push(N.length),N=N.concat(se)}x=U+1}if(H)break}if(se){if($=se.info,p&&$.unitRange<=F.hour){for(x=1,U=N.length-1;xl?Y-1:Y,Oe=void 0;oe--;)Be=Math.abs(Oe-(Te=he[oe])),Oe&&Be<.8*B&&(null===De||Be<.8*De)?(T[N[oe]]&&!T[N[oe+1]]?(_e=oe+1,Oe=Te):_e=oe,N.splice(_e,1)):Oe=Te}return N}function I(n){let r=this.ordinal.positions;if(!r)return n;let d,l=r.length-1;return n<0?n=r[0]:n>l?n=r[l]:(l=Math.floor(n),d=n-l),void 0!==d&&void 0!==r[l]?r[l]+(d?d*(r[l+1]-r[l]):0):n}function _(n){let r=this.ordinal,l=this.old?this.old.min:this.min,d=this.old?this.old.transA:this.transA,C=r.getExtendedPositions();if(C&&C.length){let k=ue((n-l)*d+this.minPixelPadding),p=ue(r.getIndexOfPoint(k,C)),T=ue(p%1);if(p>=0&&p<=C.length-1){let B=C[Math.floor(p)],z=C[Math.ceil(p)];return C[Math.floor(p)]+T*(z-B)}}return n}function m(n,r){let l=D.Additions.findIndexOf(n,r,!0);return n[l]===r?l:l+(r-n[l])/(n[l+1]-n[l])}function w(){this.ordinal||(this.ordinal=new D.Additions(this))}function G(){let{eventArgs:n,options:r}=this;if(this.isXAxis&&te(r.overscroll)&&0!==r.overscroll&&E(this.max)&&E(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==n?.trigger||this.isInternal)&&"navigator"!==n?.trigger)){let l=this.ordinal.convertOverscroll(r.overscroll);this.max+=l,!this.isInternal&&te(this.userMin)&&"mousewheel"!==n?.trigger&&(this.min+=l)}}function O(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function f(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function a(n){let r=this.xAxis[0],l=r.ordinal.convertOverscroll(r.options.overscroll),d=n.originalEvent.chartX,C=this.options.chart.panning,k=!1;if(C&&"y"!==C.type&&r.options.ordinal&&r.series.length){let p,T,B=this.mouseDownX,z=r.getExtremes(),K=z.dataMax,U=z.min,se=z.max,S=this.hoverPoints,H=Math.round((B-d)/(r.translationSlope*(r.ordinal.slope||r.closestPointRange||r.ordinal&&r.ordinal.overscrollPointsRange))),x=r.ordinal.getExtendedPositions(),N={ordinal:{positions:x,extendedOrdinalPositions:x}},R=r.index2val,Z=r.val2lin;N.ordinal.positions?Math.abs(H)>1&&(S&&S.forEach(function(Y){Y.setState()}),K>(T=N.ordinal.positions)[T.length-1]&&T.push(K),this.setFixedRange(se-U),(p=r.navigatorAxis.toFixedRange(void 0,void 0,R.apply(N,[Z.apply(N,[U,!0])+H]),R.apply(N,[Z.apply(N,[se,!0])+H]))).min>=Math.min(z.dataMin,U)&&p.max<=Math.max(K,se)+l&&r.setExtremes(p.min,p.max,!0,!1,{trigger:"pan"}),this.mouseDownX=d,J(this.container,{cursor:"move"})):k=!0}else k=!0;k||C&&/y/.test(C.type)?l&&(r.max=r.dataMax+l):n.preventDefault()}function g(){let n=this.xAxis;n&&n.options.ordinal&&(delete n.ordinal.index,delete n.ordinal.originalOrdinalRange)}function v(n,r){let l,p,d=this.ordinal,C=d.positions,k=d.slope;if(!C)return n;if(C[0]<=n&&C[C.length-1]>=n)l=m(C,n);else{if(!(p=d.getExtendedPositions&&d.getExtendedPositions())||!p.length)return n;let B=p.length;k||(k=(p[B-1]-p[0])/B);let z=m(p,C[0]);if(n>=p[0]&&n<=p[B-1])l=m(p,n)-z;else{if(!r)return n;l=n0&&"highcharts-navigator-series"!==he.options.id&&he.processedXData.length>1&&(R=Y!==he.processedXData[1]-he.processedXData[0]),Y=he.processedXData[1]-he.processedXData[0],he.boosted&&(Z=he.boosted),he.reserveSpace()&&(!1!==he.takeOrdinalPosition||p)&&(B=(H=H.concat(he.processedXData)).length,H.sort(function(_e,Te){return _e-Te}),x=Math.min(x,j(he.closestPointRange,x)),B)){for(ge=0;ge2){for(K=H[1]-H[0],$=B-1;$--&&!N;)H[$+1]-H[$]!==K&&(N=!0);!r.options.keepOrdinalPadding&&(H[0]-C>K||k-H[H.length-1]>K)&&(N=!0)}else r.options.overscroll&&(2===B?x=H[1]-H[0]:1===B?(x=r.ordinal.convertOverscroll(r.options.overscroll),H=[H[0],H[0]+x]):x=l.overscrollPointsRange);N||r.forceOrdinal?(r.options.overscroll&&(l.overscrollPointsRange=x,H=H.concat(l.getOverscrollPositions())),l.positions=H,U=r.ordinal2lin(Math.max(C,H[0]),!0),se=Math.max(r.ordinal2lin(Math.min(k,H[H.length-1]),!0),1),l.slope=S=(k-C)/(se-U),l.offset=C-U*S):(l.overscrollPointsRange=j(r.closestPointRange,l.overscrollPointsRange),l.positions=r.ordinal.slope=l.offset=void 0)}r.isOrdinal=T&&N,l.groupIntervalFactor=null}static findIndexOf(r,l,d){let p,C=0,k=r.length-1;for(;C{let K=z.points?.[0];te(K?.plotX)&&(K.plotXse.x>=K&&se.x<=U)}(z)&&(d=K.plotX,k=K.x)}),d??(d=C.minPixelPadding);let B=ue((r-d)/(C.translationSlope*(this.slope||C.closestPointRange||this.overscrollPointsRange)));return o.findIndexOf(l,k,!0)+B}getOverscrollPositions(){let r=this.axis,l=this.convertOverscroll(r.options.overscroll),d=this.overscrollPointsRange,C=[],k=r.dataMax;if(te(d))for(;k<=r.dataMax+l;)C.push(k+=d);return C}postProcessTickInterval(r){let l=this.axis,d=this.slope;return d?l.options.breaks?l.closestPointRange||r:r/(d/l.closestPointRange):r}convertOverscroll(r=0){let l=this,d=l.axis,C=function(k){return j(l.originalOrdinalRange,te(d.dataMax)&&te(d.dataMin)?d.dataMax-d.dataMin:0)*k};if(P(r)){let k=parseInt(r,10);if(/%$/.test(r))return C(k/100);if(/px/.test(r)){let p=Math.min(k,.9*d.len)/d.len;return C(p/(1-p))}return 0}return r}}D.Additions=o}(le||(le={})),le}),Le(V,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),Le(V,"Stock/RangeSelector/RangeSelectorComposition.js",[V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorDefaults.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let le,{defaultOptions:pe}=q,{composed:ue}=ne,{addEvent:J,defined:te,extend:X,find:E,isNumber:j,merge:F,pick:P,pushUnique:D}=ve,A=[];function I(){let g,v,o=this.range,n=o.type,r=this.max,l=this.chart.time,d=function(k,p){let T="year"===n?"FullYear":"Month",B=new l.Date(k),z=l.get(T,B);return l.set(T,B,z+p),z===l.get(T,B)&&l.set("Date",B,0),B.getTime()-k};j(o)?(g=r-o,v=o):o&&(g=r+d(r,-(o.count||1)),this.chart&&this.chart.setFixedRange(r-g));let C=P(this.dataMin,Number.MIN_VALUE);return j(g)||(g=C),g<=C&&(g=C,void 0===v&&(v=d(g,o.count)),this.newMax=Math.min(g+v,P(this.dataMax,Number.MAX_VALUE))),j(r)?!j(o)&&o&&o._offsetMin&&(g+=o._offsetMin):g=void 0,g}function _(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new le(this))}function m(){let g=this.axes,v=this.rangeSelector;if(v){j(v.deferredYTDClick)&&(v.clickButton(v.deferredYTDClick),delete v.deferredYTDClick),g.forEach(n=>{n.updateNames(),n.setScale()}),this.getAxisMargins(),v.render();let o=v.options.verticalAlign;v.options.floating||("bottom"===o?this.extraBottomMargin=!0:"middle"===o||(this.extraTopMargin=!0))}}function w(g){let v,o,n,r,l=g.rangeSelector,d=()=>{l&&(v=g.xAxis[0].getExtremes(),o=g.legend,r=l&&l.options.verticalAlign,j(v.min)&&l.render(v.min,v.max),o.display&&"top"===r&&r===o.options.verticalAlign&&(n=F(g.spacingBox),"vertical"===o.options.layout?n.y=g.plotTop:n.y+=l.getHeight(),o.group.placed=!1,o.align(n)))};l&&(E(A,C=>C[0]===g)||A.push([g,[J(g.xAxis[0],"afterSetExtremes",function(C){l&&l.render(C.min,C.max)}),J(g,"redraw",d)]]),d())}function G(){for(let g=0,v=A.length;gn()),void A.splice(g,1)}}function O(){let g=this.rangeSelector;if(g){let v=g.getHeight();this.extraTopMargin&&(this.plotTop+=v),this.extraBottomMargin&&(this.marginBottom+=v)}}function f(){let g=this.rangeSelector;if(g&&!g.options.floating){g.render();let v=g.options.verticalAlign;"bottom"===v?this.extraBottomMargin=!0:"middle"!==v&&(this.extraTopMargin=!0)}}function a(g){let v=g.options.rangeSelector,o=this.extraBottomMargin,n=this.extraTopMargin,r=this.rangeSelector;if(v&&v.enabled&&!te(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new le(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){w(this);let l=v&&v.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===l?this.extraBottomMargin=!0:"middle"===l||(this.extraTopMargin=!0)),(this.extraBottomMargin!==o||this.extraTopMargin!==n)&&(this.isDirtyBox=!0)}}return{compose:function(g,v,o){if(le=o,D(ue,"RangeSelector")){let n=v.prototype;g.prototype.minFromRange=I,J(v,"afterGetContainer",_),J(v,"beforeRender",m),J(v,"destroy",G),J(v,"getMargins",O),J(v,"render",f),J(v,"update",a),n.callbacks.push(w),X(pe,{rangeSelector:re.rangeSelector}),X(pe.lang,re.lang)}}}}),Le(V,"Stock/RangeSelector/RangeSelector.js",[V["Core/Axis/Axis.js"],V["Core/Defaults.js"],V["Core/Globals.js"],V["Stock/RangeSelector/RangeSelectorComposition.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{defaultOptions:ue}=ne,{addEvent:J,createElement:te,css:X,defined:E,destroyObjectProperties:j,discardElement:F,extend:P,fireEvent:D,isNumber:A,merge:I,objectEach:_,pad:m,pick:w,pInt:G,splat:O}=pe;class f{static compose(g,v){ve.compose(g,v,f)}constructor(g){this.buttonOptions=f.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.chart=g,this.init(g)}clickButton(g,v){let T,z,U,se,S,$,H,o=this.chart,n=this.buttonOptions[g],r=o.xAxis[0],l=o.scroller&&o.scroller.getUnionExtremes()||r||{},d=n.type,C=n.dataGrouping,k=l.dataMin,p=l.dataMax,B=r&&Math.round(Math.min(r.max,w(p,r.max))),K=n._range,x=!0;if(null!==k&&null!==p){if(this.setSelected(g),C&&(this.forcedDataGrouping=!0,q.prototype.setDataGrouping.call(r||{chart:this.chart},C,!1),this.frozenStates=n.preserveDataGrouping),"month"===d||"year"===d)r?($={range:n,max:B,chart:o,dataMin:k,dataMax:p},T=r.minFromRange.call($),A($.newMax)&&(B=$.newMax),x=!1):K=n;else if(K)B=Math.min((T=Math.max(B-K,k))+K,p),x=!1;else if("ytd"===d){if(!r)return void(this.deferredYTDClick=g);(void 0===p||void 0===k)&&(k=Number.MAX_VALUE,p=Number.MIN_VALUE,o.series.forEach(N=>{let R=N.xData;R&&(k=Math.min(R[0],k),p=Math.max(R[R.length-1],p))}),v=!1),T=U=(H=this.getYTDExtremes(p,k,o.time.useUTC)).min,B=H.max}else"all"===d&&r&&(o.navigator&&o.navigator.baseSeries[0]&&(o.navigator.baseSeries[0].xAxis.options.range=void 0),T=k,B=p);x&&n._offsetMin&&E(T)&&(T+=n._offsetMin),n._offsetMax&&E(B)&&(B+=n._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=g+1),r?(r.setExtremes(T,B,w(v,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:n}),o.setFixedRange(n._range)):(S=(z=O(o.options.xAxis)[0]).range,z.range=K,se=z.min,z.min=U,J(o,"load",function(){o.setFixedRange(n._range),z.range=S,z.min=se})),D(this,"afterBtnClick")}}setSelected(g){this.selected=this.options.selected=g}init(g){let v=this,o=g.options.rangeSelector,n=o.buttons||v.defaultButtons.slice(),r=o.selected,l=function(){let d=v.minInput,C=v.maxInput;d&&d.blur&&D(d,"blur"),C&&C.blur&&D(C,"blur")};v.chart=g,v.options=o,v.buttons=[],v.buttonOptions=n,this.eventsToUnbind=[],this.eventsToUnbind.push(J(g.container,"mousedown",l)),this.eventsToUnbind.push(J(g,"resize",l)),n.forEach(v.computeButtonRange),void 0!==r&&n[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(J(g,"load",function(){g.xAxis&&g.xAxis[0]&&J(g.xAxis[0],"setExtremes",function(d){A(this.max)&&A(this.min)&&this.max-this.min!==g.fixedRange&&"rangeSelectorButton"!==d.trigger&&"updatedData"!==d.trigger&&v.forcedDataGrouping&&!v.frozenStates&&this.setDataGrouping(!1,!1)})}))}updateButtonStates(){let g=this,v=this.chart,o=this.dropdown,n=v.xAxis[0],r=Math.round(n.max-n.min),l=!n.hasVisibleSeries,d=864e5,C=v.scroller&&v.scroller.getUnionExtremes()||n,k=C.dataMin,p=C.dataMax,T=g.getYTDExtremes(p,k,v.time.useUTC),B=T.min,z=T.max,K=g.selected,U=g.options.allButtonsEnabled,se=g.buttons,S=A(K),$=!1;g.buttonOptions.forEach((H,x)=>{let N=H._range,R=H.type,Z=H.count||1,Y=se[x],he=H._offsetMax-H._offsetMin,ge=x===K,_e=N>p-k,Te=NN&&(oe=!0)}else("month"===R||"year"===R)&&r+36e5>={month:28,year:365}[R]*d*Z-he&&r-36e5<={month:31,year:366}[R]*d*Z+he?oe=!0:"ytd"===R?(oe=z-B+he===r,De=!ge):"all"===R&&(oe=n.max-n.min>=p-k,Be=!ge&&S&&oe);let ee=!U&&!($&&"all"===R)&&(_e||Te||Be||l);ee?Oe=3:($&&"all"===R||ge&&oe||oe&&!S&&!De||ge&&g.frozenStates)&&(S=!0,Oe=2),Y.state!==Oe&&(Y.setState(Oe),o&&(o.options[x+1].disabled=ee,2===Oe&&(o.selectedIndex=x+1)),0===Oe&&K===x?g.setSelected():(2===Oe&&!E(K)||$)&&g.setSelected(x))})}computeButtonRange(g){let v=g.type,o=g.count||1,n={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};n[v]?g._range=n[v]*o:("month"===v||"year"===v)&&(g._range=24*{month:30,year:365}[v]*36e5*o),g._offsetMin=w(g.offsetMin,0),g._offsetMax=w(g.offsetMax,0),g._range+=g._offsetMax-g._offsetMin}getInputValue(g){let v="min"===g?this.minInput:this.maxInput,n=this.chart.time;return v?("text"===v.type&&this.chart.options.rangeSelector.inputDateParser||this.defaultInputDateParser)(v.value,n.useUTC,n):0}setInputValue(g,v){let o=this.options,n=this.chart.time,r="min"===g?this.minInput:this.maxInput,l="min"===g?this.minDateBox:this.maxDateBox;if(r){let d=r.getAttribute("data-hc-time"),C=E(d)?Number(d):void 0;if(E(v)){let k=C;E(k)&&r.setAttribute("data-hc-time-previous",k),r.setAttribute("data-hc-time",v),C=v}r.value=n.dateFormat(this.inputTypeFormats[r.type]||o.inputEditDateFormat,C),l&&l.attr({text:n.dateFormat(o.inputDateFormat,C)})}}setInputExtremes(g,v,o){let n="min"===g?this.minInput:this.maxInput;if(n){let r=this.inputTypeFormats[n.type],l=this.chart.time;if(r){let d=l.dateFormat(r,v);n.min!==d&&(n.min=d);let C=l.dateFormat(r,o);n.max!==C&&(n.max=C)}}}showInput(g){let v="min"===g?this.minDateBox:this.maxDateBox,o="min"===g?this.minInput:this.maxInput;if(o&&v&&this.inputGroup){let n="text"===o.type,{translateX:r=0,translateY:l=0}=this.inputGroup,{x:d=0,width:C=0,height:k=0}=v,{inputBoxWidth:p}=this.options;X(o,{width:n?C+(p?-2:20)+"px":"auto",height:k-2+"px",border:"2px solid silver"}),X(o,n&&p?{left:r+d+"px",top:l+"px"}:{left:Math.min(Math.round(d+r-(o.offsetWidth-C)/2),this.chart.chartWidth-o.offsetWidth)+"px",top:l-(o.offsetHeight-k)/2+"px"})}}hideInput(g){let v="min"===g?this.minInput:this.maxInput;v&&X(v,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(g,v,o){let n=g.split("/").join("-").split(" ").join("T");if(-1===n.indexOf("T")&&(n+="T00:00"),v)n+="Z";else{let l;if(re.isSafari&&(!((l=n).length>6)||l.lastIndexOf("-")!==l.length-6&&l.lastIndexOf("+")!==l.length-6)){let d=new Date(n).getTimezoneOffset()/60;n+=d<=0?`+${m(-d)}:00`:`-${m(d)}:00`}}let r=Date.parse(n);if(!A(r)){let l=g.split("-");r=Date.UTC(G(l[0]),G(l[1])-1,G(l[2]))}return o&&v&&A(r)&&(r+=o.getTimezoneOffset(r)),r}drawInput(g){let{chart:v,div:o,inputGroup:n}=this,r=this,l=v.renderer.style||{},d=v.renderer,C=v.options.rangeSelector,p="min"===g;function T(){let{maxInput:S,minInput:$}=r,H=v.xAxis[0],x=v.scroller&&v.scroller.getUnionExtremes()||H,N=x.dataMin,R=x.dataMax,Z=r.getInputValue(g);Z!==Number(U.getAttribute("data-hc-time-previous"))&&A(Z)&&(U.setAttribute("data-hc-time-previous",Z),p&&S&&A(N)?Z>Number(S.getAttribute("data-hc-time"))?Z=void 0:ZR&&(Z=R)),void 0!==Z&&H.setExtremes(p?Z:H.min,p?H.max:Z,void 0,void 0,{trigger:"rangeSelectorInput"}))}let B=ue.lang[p?"rangeSelectorFrom":"rangeSelectorTo"]||"",z=d.label(B,0).addClass("highcharts-range-label").attr({padding:B?2:0,height:B?C.inputBoxHeight:0}).add(n),K=d.label("",0).addClass("highcharts-range-input").attr({padding:2,width:C.inputBoxWidth,height:C.inputBoxHeight,"text-align":"center"}).on("click",function(){r.showInput(g),r[g+"Input"].focus()});v.styledMode||K.attr({stroke:C.inputBoxBorderColor,"stroke-width":1}),K.add(n);let U=te("input",{name:g,className:"highcharts-range-selector"},void 0,o);U.setAttribute("type",function(S){if(-1!==S.indexOf("%L"))return"text";let $=["a","A","d","e","w","b","B","m","o","y","Y"].some(x=>-1!==S.indexOf("%"+x)),H=["H","k","I","l","M","S"].some(x=>-1!==S.indexOf("%"+x));return $&&H?"datetime-local":$?"date":H?"time":"text"}(C.inputDateFormat||"%e %b %Y")),v.styledMode||(z.css(I(l,C.labelStyle)),K.css(I({color:"#333333"},l,C.inputStyle)),X(U,P({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:l.fontSize,fontFamily:l.fontFamily,top:"-9999em"},C.inputStyle))),U.onfocus=()=>{r.showInput(g)},U.onblur=()=>{U===re.doc.activeElement&&T(),r.hideInput(g),r.setInputValue(g),U.blur()};let se=!1;return U.onchange=()=>{se||(T(),r.hideInput(g),U.blur())},U.onkeypress=S=>{13===S.keyCode&&T()},U.onkeydown=S=>{se=!0,(38===S.keyCode||40===S.keyCode)&&T()},U.onkeyup=()=>{se=!1},{dateBox:K,input:U,label:z}}getPosition(){let g=this.chart,v=g.options.rangeSelector,o="top"===v.verticalAlign?g.plotTop-g.axisOffset[0]:0;return{buttonTop:o+v.buttonPosition.y,inputTop:o+v.inputPosition.y-10}}getYTDExtremes(g,v,o){let n=this.chart.time,r=new n.Date(g),l=n.get("FullYear",r),d=Math.max(v,o?n.Date.UTC(l,0,1):+new n.Date(l,0,1)),C=r.getTime();return{max:Math.min(g||C,C),min:d}}render(g,v){let o=this.chart,n=o.renderer,r=o.container,l=o.options,d=l.rangeSelector,C=w(l.chart.style&&l.chart.style.zIndex,0)+1,k=d.inputEnabled;if(!1!==d.enabled){if(!this.rendered&&(this.group=n.g("range-selector-group").attr({zIndex:7}).add(),this.div=te("div",void 0,{position:"relative",height:0,zIndex:C}),this.buttonOptions.length&&this.renderButtons(),r.parentNode&&r.parentNode.insertBefore(this.div,r),k)){this.inputGroup=n.g("input-group").add(this.group);let T=this.drawInput("min");this.minDateBox=T.dateBox,this.minLabel=T.label,this.minInput=T.input;let B=this.drawInput("max");this.maxDateBox=B.dateBox,this.maxLabel=B.label,this.maxInput=B.input}if(k){this.setInputValue("min",g),this.setInputValue("max",v);let T=o.scroller&&o.scroller.getUnionExtremes()||o.xAxis[0]||{};if(E(T.dataMin)&&E(T.dataMax)){let B=o.xAxis[0].minRange||0;this.setInputExtremes("min",T.dataMin,Math.min(T.dataMax,this.getInputValue("max"))-B),this.setInputExtremes("max",Math.max(T.dataMin,this.getInputValue("min"))+B,T.dataMax)}if(this.inputGroup){let B=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(z=>{if(z){let{width:K}=z.getBBox();K&&(z.attr({x:B}),B+=K+d.inputSpacing)}})}}this.alignElements(),this.rendered=!0}}renderButtons(){let{buttons:g,chart:v,options:o}=this,n=ue.lang,r=v.renderer,l=I(o.buttonTheme),d=l&&l.states,C=l.width||28;delete l.width,delete l.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group);let k=this.dropdown=te("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:1e-4},this.div);J(k,"touchstart",()=>{k.style.fontSize="16px"}),[[re.isMS?"mouseover":"mouseenter"],[re.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(([p,T])=>{J(k,p,()=>{let B=g[this.currentButtonIndex()];B&&D(B.element,T||p)})}),this.zoomText=r.label(n&&n.rangeSelectorZoom||"",0).attr({padding:o.buttonTheme.padding,height:o.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(o.labelStyle),l["stroke-width"]=w(l["stroke-width"],0)),te("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,k),this.buttonOptions.forEach((p,T)=>{te("option",{textContent:p.title||p.text},void 0,k),g[T]=r.button(p.text,0,0,B=>{let z,K=p.events&&p.events.click;K&&(z=K.call(p,B)),!1!==z&&this.clickButton(T),this.isActive=!0},l,d&&d.hover,d&&d.select,d&&d.disabled).attr({"text-align":"center",width:C}).add(this.buttonGroup),p.title&&g[T].attr("title",p.title)})}alignElements(){let{buttonGroup:g,buttons:v,chart:o,group:n,inputGroup:r,options:l,zoomText:d}=this,C=o.options,k=C.exporting&&!1!==C.exporting.enabled&&C.navigation&&C.navigation.buttonOptions,{buttonPosition:p,inputPosition:T,verticalAlign:B}=l,z=(U,se)=>k&&this.titleCollision(o)&&"top"===B&&"right"===se.align&&se.y-U.getBBox().height-12<(k.y||0)+(k.height||0)+o.spacing[0]?-40:0,K=o.plotLeft;if(n&&p&&T){let U=p.x-o.spacing[3];if(g){if(this.positionButtons(),!this.initialButtonGroupWidth){let Y=0;d&&(Y+=d.getBBox().width+5),v.forEach((he,ge)=>{Y+=he.width||0,ge!==v.length-1&&(Y+=l.buttonSpacing)}),this.initialButtonGroupWidth=Y}K-=o.spacing[3],this.updateButtonStates();let Z=z(g,p);this.alignButtonGroup(Z),n.placed=g.placed=o.hasLoaded}let se=0;r&&(se=z(r,T),"left"===T.align?U=K:"right"===T.align&&(U=-Math.max(o.axisOffset[1],-se)),r.align({y:T.y,width:r.getBBox().width,align:T.align,x:T.x+U-2},!0,o.spacingBox),r.placed=o.hasLoaded),this.handleCollision(se),n.align({verticalAlign:B},!0,o.spacingBox);let S=n.alignAttr.translateY,$=n.getBBox().height+20,H=0;if("bottom"===B){let Z=o.legend&&o.legend.options;H=S-($=$+(Z&&"bottom"===Z.verticalAlign&&Z.enabled&&!Z.floating?o.legend.legendHeight+w(Z.margin,10):0)-20)-(l.floating?0:l.y)-(o.titleOffset?o.titleOffset[2]:0)-10}"top"===B?(l.floating&&(H=0),o.titleOffset&&o.titleOffset[0]&&(H=o.titleOffset[0]),H+=o.margin[0]-o.spacing[0]||0):"middle"===B&&(T.y===p.y?H=S:(T.y||p.y)&&(T.y<0||p.y<0?H-=Math.min(T.y,p.y):H=S-$)),n.translate(l.x,l.y+Math.floor(H));let{minInput:x,maxInput:N,dropdown:R}=this;l.inputEnabled&&x&&N&&(x.style.marginTop=n.translateY+"px",N.style.marginTop=n.translateY+"px"),R&&(R.style.marginTop=n.translateY+"px")}}alignButtonGroup(g,v){let{chart:o,options:n,buttonGroup:r}=this,{buttonPosition:l}=n,d=o.plotLeft-o.spacing[3],C=l.x-o.spacing[3];"right"===l.align?C+=g-d:"center"===l.align&&(C-=d/2),r&&r.align({y:l.y,width:w(v,this.initialButtonGroupWidth),align:l.align,x:C},!0,o.spacingBox)}positionButtons(){let{buttons:g,chart:v,options:o,zoomText:n}=this,r=v.hasLoaded?"animate":"attr",{buttonPosition:l}=o,d=v.plotLeft,C=d;n&&"hidden"!==n.visibility&&(n[r]({x:w(d+l.x,d)}),C+=l.x+n.getBBox().width+5);for(let k=0,p=this.buttonOptions.length;k{let T=0;return this.buttons.forEach(B=>{let z=B.getBBox();z.width>T&&(T=z.width)}),T},k=T=>{if(n&&o){let B=n.alignAttr.translateX+n.alignOptions.x-g+n.getBBox().x+2,z=n.alignOptions.width,K=o.alignAttr.translateX+o.getBBox().x;return K+T>B&&B+z>K&&r.y{n&&o&&n.attr({translateX:n.alignAttr.translateX+(v.axisOffset[1]>=-g?0:-g),translateY:n.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===l)return this.collapseButtons(g),void(k(C())&&p());"never"===l&&this.expandButtons()}n&&o?d.align===r.align||k(this.initialButtonGroupWidth+20)?"responsive"===l?(this.collapseButtons(g),k(C())&&p()):p():"responsive"===l&&this.expandButtons():o&&"responsive"===l&&(this.initialButtonGroupWidth>v.plotWidth?this.collapseButtons(g):this.expandButtons())}collapseButtons(g){let{buttons:v,buttonOptions:o,chart:n,dropdown:r,options:l,zoomText:d}=this;if(!0===this.isCollapsed)return;this.isCollapsed=!0;let C=n.userOptions.rangeSelector&&n.userOptions.rangeSelector.buttonTheme||{},k=B=>({text:B?`${B} \u25be`:"\u25be",width:"auto",paddingLeft:w(l.buttonTheme.paddingLeft,C.padding,8),paddingRight:w(l.buttonTheme.paddingRight,C.padding,8)});d&&d.hide();let p=!1;o.forEach((B,z)=>{let K=v[z];2!==K.state?K.hide():(K.show(),K.attr(k(B.text)),p=!0)}),p||(r&&(r.selectedIndex=0),v[0].show(),v[0].attr(k(this.zoomText&&this.zoomText.textStr)));let{align:T}=l.buttonPosition;this.positionButtons(),("right"===T||"center"===T)&&this.alignButtonGroup(g,v[this.currentButtonIndex()].getBBox().width),this.showDropdown()}expandButtons(){let{buttons:g,buttonOptions:v,options:o,zoomText:n}=this;this.hideDropdown(),!1!==this.isCollapsed&&(this.isCollapsed=!1,n&&n.show(),v.forEach((r,l)=>{let d=g[l];d.show(),d.attr({text:r.text,width:o.buttonTheme.width||28,paddingLeft:w(o.buttonTheme.paddingLeft,"unset"),paddingRight:w(o.buttonTheme.paddingRight,"unset")}),d.state<2&&d.setState(0)}),this.positionButtons())}currentButtonIndex(){let{dropdown:g}=this;return g&&g.selectedIndex>0?g.selectedIndex-1:0}showDropdown(){let{buttonGroup:g,buttons:v,chart:o,dropdown:n}=this;if(g&&n){let{translateX:r=0,translateY:l=0}=g,d=v[this.currentButtonIndex()].getBBox();X(n,{left:o.plotLeft+r+"px",top:l+.5+"px",width:d.width+"px",height:d.height+"px"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:g}=this;g&&(X(g,{top:"-9999em",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let g=this.options,v=this.group,r=g.y,l=g.buttonPosition.y,d=g.inputPosition.y,C=0;if(g.height)return g.height;this.alignElements(),C=v?v.getBBox(!0).height+13+r:0;let k=Math.min(d,l);return(d<0&&l<0||d>0&&l>0)&&(C+=Math.abs(k)),C}titleCollision(g){return!(g.options.title.text||g.options.subtitle.text)}update(g){let v=this.chart;I(!0,v.options.rangeSelector,g),this.destroy(),this.init(v),this.render()}destroy(){let g=this,v=g.minInput,o=g.maxInput;g.eventsToUnbind&&(g.eventsToUnbind.forEach(n=>n()),g.eventsToUnbind=void 0),j(g.buttons),v&&(v.onfocus=v.onblur=v.onchange=null),o&&(o.onfocus=o.onblur=o.onchange=null),_(g,function(n,r){n&&"chart"!==r&&(n instanceof le?n.destroy():n instanceof e.HTMLElement&&F(n)),n!==f.prototype[r]&&(g[r]=null)},this)}}return P(f.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),f}),Le(V,"Core/Chart/StockChart.js",[V["Core/Chart/Chart.js"],V["Core/Templating.js"],V["Core/Defaults.js"],V["Stock/Navigator/NavigatorDefaults.js"],V["Stock/RangeSelector/RangeSelectorDefaults.js"],V["Stock/Scrollbar/ScrollbarDefaults.js"],V["Stock/Utilities/StockUtilities.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J){let{format:te}=ne,{getOptions:X}=re,{setFixedRange:E}=ue,{addEvent:j,clamp:F,defined:P,extend:D,find:A,isNumber:I,isString:_,merge:m,pick:w,splat:G}=J;function O(g,v,o){return"xAxis"===g?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===g?{labels:{y:-2},opposite:o.opposite??v.opposite??!0,showLastLabel:!(!v.categories&&"category"!==v.type),title:{text:"Values"!==o.title?.text?o.title?.text:null}}:{}}function f(g,v){if("xAxis"===g){let n={type:"datetime",categories:void 0};return w(v.navigator&&v.navigator.enabled,ve.enabled,!0)&&(n.startOnTick=!1,n.endOnTick=!1),n}return{}}class a extends q{init(v,o){let n=X(),r=v.xAxis,l=v.yAxis,d=w(v.navigator&&v.navigator.enabled,ve.enabled,!0);v.xAxis=v.yAxis=void 0;let C=m({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:d},scrollbar:{enabled:w(pe.enabled,!0)},rangeSelector:{enabled:w(le.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:w(n.tooltip&&n.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},v,{isStock:!0});v.xAxis=r,v.yAxis=l,C.xAxis=G(v.xAxis||{}).map(k=>m(O("xAxis",k,n.xAxis),k,f("xAxis",v))),C.yAxis=G(v.yAxis||{}).map(k=>m(O("yAxis",k,n.yAxis),k)),super.init(C,o)}createAxis(v,o){return o.axis=m(O(v,o.axis,X()[v]),o.axis,f(v,this.userOptions)),super.createAxis(v,o)}}return j(q,"update",function(g){let v=g.options;"scrollbar"in v&&this.navigator&&(m(!0,this.options.scrollbar,v.scrollbar),this.navigator.update({}),delete v.scrollbar)}),function(g){function v(p){if(!(this.crosshair&&this.crosshair.label&&this.crosshair.label.enabled&&this.cross&&I(this.min)&&I(this.max)))return;let Y,he,Te,T=this.chart,B=this.logarithmic,z=this.crosshair.label,K=this.horiz,U=this.opposite,se=this.left,S=this.top,$=this.width,H="inside"===this.options.tickPosition,x=!1!==this.crosshair.snap,N=p.e||this.cross&&this.cross.e,R=p.point,Z=this.crossLabel,ge=z.format,_e="",Oe=0,De=this.min,Be=this.max;B&&(De=B.lin2log(this.min),Be=B.lin2log(this.max));let oe=K?"center":U?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";Z||(Z=this.crossLabel=T.renderer.label("",0,void 0,z.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(R&&R.series?R.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:z.align||oe,padding:w(z.padding,8),r:w(z.borderRadius,3),zIndex:2}).add(this.labelGroup),T.styledMode||Z.attr({fill:z.backgroundColor||R&&R.series&&R.series.color||"#666666",stroke:z.borderColor||"","stroke-width":z.borderWidth||0}).css(D({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},z.style||{}))),K?(Y=x?(R.plotX||0)+se:N.chartX,he=S+(U?0:this.height)):(Y=se+this.offset+(U?$:0),he=x?(R.plotY||0)+S:N.chartY),ge||z.formatter||(this.dateTime&&(_e="%b %d, %Y"),ge="{value"+(_e?":"+_e:"")+"}");let ee=x?this.isXAxis?R.x:R.y:this.toValue(K?N.chartX:N.chartY),be=R&&R.series?R.series.isPointInside(R):I(ee)&&ee>De&&ee=Te.right&&(Oe=-(we+Ie.width-Te.right)),Z.attr({x:Y+Oe,y:he,anchorX:K?Y:this.opposite?0:T.chartWidth,anchorY:K?this.opposite?T.chartHeight:0:he+Ie.height/2})}function o(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function n(p){let T=this.chart,B=this.options,z=T._labelPanes=T._labelPanes||{},K=B.labels;if(T.options.isStock&&"yAxis"===this.coll){let U=B.top+","+B.height;!z[U]&&K.enabled&&(15===K.distance&&1===this.side&&(K.distance=0),void 0===K.align&&(K.align="right"),z[U]=this,p.align="right",p.preventDefault())}}function r(){let p=this.chart,T=this.options&&this.options.top+","+this.options.height;T&&p._labelPanes&&p._labelPanes[T]===this&&delete p._labelPanes[T]}function l(p){let N,R,Z,Y,ge,_e,T=this,B=T.isLinked&&!T.series&&T.linkedParent?T.linkedParent.series:T.series,z=T.chart,K=z.renderer,U=T.left,se=T.top,S=[],$=p.translatedValue,H=p.value,x=p.force,he=[];if(z.options.isStock&&!1!==p.acrossPanes&&"xAxis"===T.coll||"yAxis"===T.coll){for(let Te of(p.preventDefault(),he=(Oe=>{let De="xAxis"===Oe?"yAxis":"xAxis",Be=T.options[De];return I(Be)?[z[De][Be]]:_(Be)?[z.get(Be)]:B.map(oe=>oe[De])})(T.coll),T.isXAxis?z.yAxis:z.xAxis))if(!P(Te.options.id)||-1===Te.options.id.indexOf("navigator")){let Oe=Te.isXAxis?"yAxis":"xAxis";T===(P(Te.options[Oe])?z[Oe][Te.options[Oe]]:z[Oe][0])&&he.push(Te)}for(let Te of(ge=he.length?[]:[T.isXAxis?z.yAxis[0]:z.xAxis[0]],he))-1!==ge.indexOf(Te)||A(ge,Oe=>Oe.pos===Te.pos&&Oe.len===Te.len)||ge.push(Te);if(I(_e=w($,T.translate(H||0,void 0,void 0,p.old))))if(T.horiz)for(let Te of ge){let Oe;Y=(R=Te.pos)+Te.len,N=Z=Math.round(_e+T.transB),"pass"!==x&&(NU+T.width)&&(x?N=Z=F(N,U,U+T.width):Oe=!0),Oe||S.push(["M",N,R],["L",Z,Y])}else for(let Te of ge){let Oe;Z=(N=Te.pos)+Te.len,R=Y=Math.round(se+T.height-_e),"pass"!==x&&(Rse+T.height)&&(x?R=Y=F(R,se,se+T.height):Oe=!0),Oe||S.push(["M",N,R],["L",Z,Y])}p.path=S.length>0?K.crispPolyLine(S,p.lineWidth||1):void 0}}function d(p){if(this.chart.options.isStock){let T;this.is("column")||this.is("columnrange")?T={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(T={marker:{enabled:!1,radius:2}}),T&&(p.plotOptions[this.type]=m(p.plotOptions[this.type],T))}}function C(){let T=this.options.dataGrouping;return!1!==this.allowDG&&T&&w(T.enabled,this.chart.options.isStock)}function k(p,T){for(let B=0;B\u25cf {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}}),Le(V,"Series/HLC/HLCSeries.js",[V["Series/HLC/HLCPoint.js"],V["Series/HLC/HLCSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){let{column:le}=re.seriesTypes,{extend:pe,merge:ue}=ve;class J extends le{extendStem(X,E,j){let F=X[0],P=X[1];"number"==typeof F[2]&&(F[2]=Math.max(j+E,F[2])),"number"==typeof P[2]&&(P[2]=Math.min(j-E,P[2]))}getPointPath(X,E){let j=E.strokeWidth(),F=X.series,P=j%2/2,D=Math.round(X.plotX)-P,A=Math.round(X.shapeArgs.width/2),I=X.plotClose,_=[["M",D,Math.round(X.yBottom)],["L",D,Math.round(X.plotHigh)]];return null!==X.close&&(I=Math.round(X.plotClose)+P,_.push(["M",D,I],["L",D+A,I]),F.extendStem(_,j/2,I)),_}drawSinglePoint(X){let F,E=X.series,j=E.chart,P=X.graphic;void 0!==X.plotY&&(P||(X.graphic=P=j.renderer.path().add(E.group)),j.styledMode||P.attr(E.pointAttribs(X,X.selected&&"select")),F=E.getPointPath(X,P),P[P?"animate":"attr"]({d:F}).addClass(X.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(X,E){let j=super.pointAttribs.call(this,X,E);return delete j.fill,j}toYData(X){return[X.high,X.low,X.close]}translate(){let X=this,E=X.yAxis,j=this.pointArrayMap&&this.pointArrayMap.slice()||[],F=j.map(P=>`plot${P.charAt(0).toUpperCase()+P.slice(1)}`);F.push("yBottom"),j.push("low"),super.translate.apply(X),X.points.forEach(function(P){j.forEach(function(D,A){let I=P[D];null!==I&&(X.dataModify&&(I=X.dataModify.modifyValue(I)),P[F[A]]=E.toPixels(I,!0))}),P.tooltipPos[1]=P.plotHigh+E.pos-X.chart.plotTop})}}return J.defaultOptions=ue(le.defaultOptions,ne),pe(J.prototype,{pointClass:q,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),re.registerSeriesType("hlc",J),J}),Le(V,"Series/OHLC/OHLCPoint.js",[V["Core/Series/SeriesRegistry.js"]],function(q){let{seriesTypes:{hlc:ne}}=q;return class re extends ne.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open\u25cf {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}}),Le(V,"Series/OHLC/OHLCSeries.js",[V["Core/Globals.js"],V["Series/OHLC/OHLCPoint.js"],V["Series/OHLC/OHLCSeriesDefaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le){let{composed:pe}=q,{hlc:ue}=ve.seriesTypes,{addEvent:J,extend:te,merge:X,pushUnique:E}=le;function j(D){let A=D.options,I=A.dataGrouping;I&&A.useOhlcData&&"highcharts-navigator-series"!==A.id&&(I.approximation="ohlc")}function F(D){let A=D.options;A.useOhlcData&&"highcharts-navigator-series"!==A.id&&te(this,{pointValKey:P.prototype.pointValKey,pointArrayMap:P.prototype.pointArrayMap,toYData:P.prototype.toYData})}class P extends ue{static compose(A,...I){E(pe,"OHLCSeries")&&(J(A,"afterSetOptions",j),J(A,"init",F))}getPointPath(A,I){let _=super.getPointPath(A,I),m=I.strokeWidth(),w=m%2/2,G=Math.round(A.plotX)-w,O=Math.round(A.shapeArgs.width/2),f=A.plotOpen;return null!==A.open&&(f=Math.round(A.plotOpen)+w,_.push(["M",G,f],["L",G-O,f]),super.extendStem(_,m/2,f)),_}pointAttribs(A,I){let _=super.pointAttribs.call(this,A,I),m=this.options;return delete _.fill,!A.options.color&&m.upColor&&A.openE&&(te-=Math.round((j-E)/2),E=j),P=ue[J](te,X,E,j),D&&A){let I=D;if("circle"===J)I=te+E/2;else{let m=P[0],w=P[1];"M"===m[0]&&"L"===w[0]&&(I=(m[1]+w[1])/2)}P.push(["M",I,X>A?X:X+j],["L",D,A]),P=P.concat(ue.circle(D-1,A-1,2,2))}return P}}re.compose=function(ue){if(-1===ve.indexOf(ue)){ve.push(ue);let te=ue.prototype.symbols;te.flag=le,pe(te,"circle"),pe(te,"square")}let J=q.getRendererType();ve.indexOf(J)&&ve.push(J)}}(ne||(ne={})),ne}),Le(V,"Series/OnSeriesComposition.js",[V["Series/Column/ColumnSeries.js"],V["Core/Globals.js"],V["Core/Series/Series.js"],V["Core/Utilities.js"]],function(q,ne,re,ve){var le;let{composed:pe}=ne,{prototype:ue}=q,{prototype:J}=re,{defined:te,pushUnique:X,stableSort:E}=ve;return function(j){function F(D){return J.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,D)}function P(){ue.translate.apply(this);let o,n,C,k,p,T,B,D=this,A=D.options,I=D.chart,_=D.points,m=A.onSeries,w=m&&I.get(m),G=w&&w.options.step,O=w&&w.points,f=I.inverted,a=D.xAxis,g=D.yAxis,v=_.length-1,r=A.onKey||"y",l=O&&O.length,d=0;if(w&&w.visible&&l)for(d=(w.pointXOffset||0)+(w.barW||0)/2,T=w.currentDataGrouping,k=O[l-1].x+(T?T.totalRange:0),E(_,(z,K)=>z.x-K.x),r="plot"+r[0].toUpperCase()+r.substr(1);l--&&_[v];)if(C=O[l],(o=_[v]).y=C.y,C.x<=o.x&&void 0!==C[r]){if(o.x<=k&&(o.plotY=C[r],C.xMath.pow(1-N,3)*z[R]+3*(1-N)*(1-N)*N*U[R]+3*(1-N)*N*N*se[R]+N*N*N*K[R],$=0,H=1;for(let N=0;N<100;N++){let R=($+H)/2,Z=S(R,0);if(null===Z)break;if(.25>Math.abs(Z-o.plotX)){x=R;break}Z{let U;z.plotX+=d,(void 0===z.plotY||f)&&(z.plotX>=0&&z.plotX<=a.len?f?(z.plotY=a.translate(z.x,0,1,0,1),z.plotX=te(z.y)?g.translate(z.y,0,0,0,1):0):z.plotY=(a.opposite?0:D.yAxis.len)+a.offset:z.shapeArgs={}),(n=_[K-1])&&n.plotX===z.plotX&&(void 0===n.stackIndex&&(n.stackIndex=0),U=n.stackIndex+1),z.stackIndex=U}),this.onSeries=w}j.compose=function(D){if(X(pe,"OnSeries")){let A=D.prototype;A.getPlotBox=F,A.translate=P}return D},j.getPlotBox=F,j.translate=P}(le||(le={})),le}),Le(V,"Series/Flags/FlagsSeries.js",[V["Series/Flags/FlagsPoint.js"],V["Series/Flags/FlagsSeriesDefaults.js"],V["Series/Flags/FlagsSymbols.js"],V["Core/Globals.js"],V["Series/OnSeriesComposition.js"],V["Core/Renderer/RendererUtilities.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Renderer/SVG/SVGElement.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe,ue,J,te){let{noop:X}=ve,{distribute:E}=pe,{series:j,seriesTypes:{column:F}}=ue,{addEvent:P,defined:D,extend:A,merge:I,objectEach:_,wrap:m}=te;class w extends F{animate(O){O&&this.setClip()}drawPoints(){let O,f,a,g,v,o,n,r,l,d,C,k=this.points,p=this.chart,T=p.renderer,B=p.inverted,z=this.options,K=z.y,U=this.yAxis,se={},S=[];for(g=k.length;g--;)v=k[g],d=(B?v.plotY:v.plotX)>this.xAxis.len,O=v.plotX,n=v.stackIndex,a=v.options.shape||z.shape,void 0!==(f=v.plotY)&&(f=v.plotY+K-(void 0!==n&&n*z.stackDistance)),v.anchorX=n?void 0:v.plotX,r=n?void 0:v.plotY,C="flag"!==a,o=v.graphic,void 0!==f&&O>=0&&!d?(o&&v.hasNewShapeType()&&(o=o.destroy()),o||(o=v.graphic=T.label("",null,null,a,null,null,z.useHTML).addClass("highcharts-point").add(this.markerGroup),v.graphic.div&&(v.graphic.div.point=v),o.isNew=!0),o.attr({align:C?"center":"left",width:z.width,height:z.height,"text-align":z.textAlign}),p.styledMode||o.attr(this.pointAttribs(v)).css(I(z.style,v.style)).shadow(z.shadow),O>0&&(O-=o.strokeWidth()%2),l={y:f,anchorY:r},z.allowOverlapX&&(l.x=O,l.anchorX=v.anchorX),o.attr({text:v.options.title||z.title||"A"})[o.isNew?"attr":"animate"](l),z.allowOverlapX||(se[v.plotX]?se[v.plotX].size=Math.max(se[v.plotX].size,o.width||0):se[v.plotX]={align:C?.5:0,size:o.width||0,target:O,anchorX:O}),v.tooltipPos=[O,f+U.pos-p.plotTop]):o&&(v.graphic=o.destroy());if(!z.allowOverlapX){let $=100;for(let H of(_(se,function(x){x.plotX=x.anchorX,S.push(x),$=Math.max(x.size,$)}),E(S,B?U.len:this.xAxis.len,$),k)){let N=H.graphic,R=N&&se[H.plotX];R&&N&&(D(R.pos)?N[N.isNew?"attr":"animate"]({x:R.pos+(R.align||0)*R.size,anchorX:H.anchorX}).show().isNew=!1:N.hide().isNew=!0)}}z.useHTML&&this.markerGroup&&m(this.markerGroup,"on",function($){return J.prototype.on.apply($.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})}drawTracker(){let O=this.points;for(let f of(super.drawTracker(),O)){let a=f.graphic;a&&(f.unbindMouseOver&&f.unbindMouseOver(),f.unbindMouseOver=P(a.element,"mouseover",function(){for(let g of(f.stackIndex>0&&!f.raised&&(f._y=a.y,a.attr({y:f._y-8}),f.raised=!0),O))g!==f&&g.raised&&g.graphic&&(g.graphic.attr({y:g._y}),g.raised=!1)}))}}pointAttribs(O,f){let a=this.options,g=O&&O.color||this.color,v=a.lineColor,o=O&&O.lineWidth,n=O&&O.fillColor||a.fillColor;return f&&(n=a.states[f].fillColor,v=a.states[f].lineColor,o=a.states[f].lineWidth),{fill:n||g,stroke:v||g,"stroke-width":o||a.lineWidth||0}}setClip(){j.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}return w.compose=re.compose,w.defaultOptions=I(F.defaultOptions,ne),le.compose(w),A(w.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:q,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:X,init:j.prototype.init}),ue.registerSeriesType("flags",w),w}),Le(V,"Core/Axis/BrokenAxis.js",[V["Core/Axis/Stacking/StackItem.js"],V["Core/Utilities.js"]],function(q,ne){var re;let{addEvent:ve,find:le,fireEvent:pe,isArray:ue,isNumber:J,pick:te}=ne;return function(X){function E(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function j(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function F(){let w=this.brokenAxis;if(w?.hasBreaks){let G=this.tickPositions,O=this.tickPositions.info,f=[];for(let a=0;ad.to||f>d.from&&ad.from&&ad.from&&a>d.to&&a0){let v,o;for("value"!==this.options.gapUnit&&(a*=this.basePointRange),G&&G>a&&G>=this.basePointRange&&(a=G);g--;)if(o&&!1!==o.visible||(o=O[g+1]),v=O[g],!1!==o.visible&&!1!==v.visible){if(o.x-v.x>a){let n=(v.x+o.x)/2;O.splice(g+1,0,{isNull:!0,x:n}),f.stacking&&this.options.stacking&&((f.stacking.stacks[this.stackKey][n]=new q(f,f.options.stackLabels,!1,n,this.stack)).total=0)}o=v}}return this.getGraphPath(O)}X.compose=function(w,G){if(!w.keepProps.includes("brokenAxis")){w.keepProps.push("brokenAxis"),ve(w,"init",P),ve(w,"afterInit",E),ve(w,"afterSetTickPositions",F),ve(w,"afterSetOptions",j);let O=G.prototype;O.drawBreaks=I,O.gappedPath=_,ve(G,"afterGeneratePoints",D),ve(G,"afterRender",A)}return w};class m{static isInBreak(G,O){let f=G.repeat||1/0,a=G.from,g=G.to-G.from,v=O>=a?(O-a)%f:f-(a-O)%f;return G.inclusive?v<=g:v=a);v++)(g.to=G)break;if(m.isInBreak(g,G)){a-=G-g.from;break}}return a}constructor(G){this.hasBreaks=!1,this.axis=G}findBreakAt(G,O){return le(O,function(f){return f.fromk;)T-=C;for(;Tthis.chart.plotSizeX/P||A&&I.forced)&&(D=!0));return D?P:0}function X(){this.series.forEach(function(j){j.hasProcessed=!1})}function E(j,F){let P;if(F=ue(F,!0),j||(j={forced:!1,units:null}),this instanceof re)for(P=this.series.length;P--;)this.series[P].update({dataGrouping:j},!1);else this.chart.options.series.forEach(function(D){D.dataGrouping="boolean"==typeof j?j:pe(j,D.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),F&&this.chart.redraw()}return{compose:function(j){re=j;let F=j.prototype;F.applyGrouping||(ve(j,"afterSetScale",X),ve(j,"postProcessData",J),le(F,{applyGrouping:J,getGroupPixelWidth:te,setDataGrouping:E}))}}}),Le(V,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[V["Extensions/DataGrouping/ApproximationRegistry.js"],V["Extensions/DataGrouping/DataGroupingDefaults.js"],V["Core/Axis/DateTimeAxis.js"],V["Core/Defaults.js"],V["Core/Series/SeriesRegistry.js"],V["Core/Utilities.js"]],function(q,ne,re,ve,le,pe){let{series:{prototype:ue}}=le,{addEvent:J,defined:te,error:X,extend:E,isNumber:j,merge:F,pick:P}=pe,D=ue.generatePoints;function A(O){var f;let a,g,d,C,v=this.chart,o=this.options.dataGrouping,n=!1!==this.allowDG&&o&&P(o.enabled,v.options.isStock),r=this.reserveSpace(),l=this.currentDataGrouping,k=!1;n&&!this.requireSorting&&(this.requireSorting=k=!0);let p=!(!this.isCartesian||this.isDirty||this.xAxis.isDirty||this.yAxis.isDirty||O)||!n;if(k&&(this.requireSorting=!1),p)return;this.destroyGroupedData();let T=o.groupAll?this.xData:this.processedXData,B=o.groupAll?this.yData:this.processedYData,z=v.plotSizeX,K=this.xAxis,U=K.options.ordinal,se=this.groupPixelWidth;if(se&&T&&T.length&&z){g=!0,this.isDirty=!0,this.points=null;let S=K.getExtremes(),$=S.min,H=S.max,x=U&&K.ordinal&&K.ordinal.getGroupIntervalFactor($,H,this)||1,R=K.getTimeTicks(re.Additions.prototype.normalizeTimeTickInterval(se*(H-$)/z*x,o.units||ne.units),Math.min($,T[0]),Math.max(H,T[T.length-1]),K.options.startOfWeek,T,this.closestPointRange),Z=ue.groupData.apply(this,[T,B,R,o.approximation]),Y=Z.groupedXData,he=Z.groupedYData,ge=0;for(o&&o.smoothed&&Y.length&&(o.firstAnchor="firstPoint",o.anchor="middle",o.lastAnchor="lastPoint",X(32,!1,v,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),a=1;a=Te[0]){let Ee;we++;let Me=_e.groupMap[0].start,Xe=_e.groupMap[0].length;j(Me)&&j(Xe)&&(Ee=Me+(Xe-1)),Te[0]={start:Te[0],middle:Te[0]+.5*Be,end:Te[0]+Be,firstPoint:_e.xData[0],lastPoint:Ee&&_e.xData[Ee]}[be]}if(oe>0&&xe&&Be&&Te[oe]>=Oe-Be){Ie--;let Ee=_e.groupMap[_e.groupMap.length-1].start;Te[oe]={start:Te[oe],middle:Te[oe]+.5*Be,end:Te[oe]+Be,firstPoint:Ee&&_e.xData[Ee],lastPoint:_e.xData[_e.xData.length-1]}[xe]}if(ee&&"start"!==ee){let Ee=Be*{middle:.5,end:1}[ee];for(;Ie>=we;)Te[Ie]+=Ee,Ie--}}(this,Y,H),r&&(te((f=Y)[0])&&j(K.min)&&j(K.dataMin)&&f[0]K.max&&((!te(K.options.max)&&j(K.dataMax)&&K.max>=K.dataMax||K.max===K.dataMax)&&(K.max=Math.max(f[f.length-1],K.max)),K.dataMax=Math.max(f[f.length-1],K.dataMax))),o.groupAll&&(this.allGroupedData=he,Y=(C=this.cropData(Y,he,K.min,K.max)).xData,he=C.yData,this.cropStart=C.start),this.processedXData=Y,this.processedYData=he}else this.groupMap=null;this.hasGroupedData=g,this.preventGraphAnimation=(l&&l.totalRange)!==(d&&d.totalRange)}function I(){this.groupedData&&(this.groupedData.forEach(function(O,f){O&&(this.groupedData[f]=O.destroy?O.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function _(){D.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function m(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function w(O,f,a,g){let U,se,S,v=this,o=v.data,n=v.options&&v.options.data,r=[],l=[],d=[],C=O.length,k=!!f,p=[],T=v.pointArrayMap,B=T&&T.length,z=["x"].concat(T||["y"]),K=this.options.dataGrouping&&this.options.dataGrouping.groupAll,$=0,H=0,x="function"==typeof g?g:g&&q[g]?q[g]:q[v.getDGApproximation&&v.getDGApproximation()||"average"];if(B){let R=T.length;for(;R--;)p.push([])}else p.push([]);let N=B||1;for(let R=0;R<=C;R++)if(!(O[R]=a[$+1]||R===C;){U=a[$],v.dataGroupInfo={start:K?H:v.cropStart+H,length:p[0].length,groupStart:U},S=x.apply(v,p),v.pointClass&&!te(v.dataGroupInfo.options)&&(v.dataGroupInfo.options=F(v.pointClass.prototype.optionsToObject.call({series:v},v.options.data[v.cropStart+H])),z.forEach(function(Z){delete v.dataGroupInfo.options[Z]})),void 0!==S&&(r.push(U),l.push(S),d.push(v.dataGroupInfo)),H=R;for(let Z=0;Z{let J=ue.axis.getExtremes(),te=J.min,X=J.max,E=ve(ue.axis.minPointOffset,0);return re(te)&&re(X)&&ue.value>=te-E&&ue.value<=X+E&&!ue.axis.options.isInternal})[0]},getFieldType:function(pe,ue){let J=le[pe],te=typeof ue;return ne(J)&&(te=J),{string:"text",number:"number",boolean:"checkbox"}[te]}}}),Le(V,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[V["Core/Utilities.js"],V["Extensions/Annotations/NavigationBindingsUtilities.js"]],function(q,ne){let re,{addEvent:ve,isObject:le,pick:pe,defined:ue,merge:J}=q,{getAssignedAxis:te}=ne,X=[],E={enabled:!0,sensitivity:1.1};function P(){let D=(D=>(le(D)||(D={enabled:D??!0}),J(E,D)))(this.zooming.mouseWheel);D.enabled&&ve(this.container,"wheel",A=>{A=this.pointer?.normalize(A)||A;let{pointer:I}=this,_=I&&!I.inClass(A.target,"highcharts-no-mousewheel");if(this.isInsidePlot(A.chartX-this.plotLeft,A.chartY-this.plotTop)&&_){let m=D.sensitivity||1.1,w=A.detail||(A.deltaY||0)/120,G=te(I.getCoordinates(A).xAxis),O=te(I.getCoordinates(A).yAxis);(function(D,A,I,_,m,w,G){let O=pe(G.type,D.zooming.type,""),f=[];"x"===O?f=I:"y"===O?f=_:"xy"===O&&(f=D.axes);let a=D.transform({axes:f,to:{x:m-5,y:w-5,width:10,height:10},from:{x:m-5*A,y:w-5*A,width:10*A,height:10*A},trigger:"mousewheel"});return a&&(ue(re)&&clearTimeout(re),re=setTimeout(()=>{D.pointer?.drop()},400)),a})(this,Math.pow(m,w),G?[G.axis]:this.xAxis,O?[O.axis]:this.yAxis,A.chartX,A.chartY,D)&&A.preventDefault?.()}})}return{compose:function(D){-1===X.indexOf(D)&&(X.push(D),ve(D,"afterGetContainer",P))}}}),Le(V,"masters/modules/mouse-wheel-zoom.src.js",[V["Core/Globals.js"],V["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],function(q,ne){return q.MouseWheelZoom=q.MouseWheelZoom||ne,q.MouseWheelZoom.compose(q.Chart),q}),Le(V,"masters/modules/stock.src.js",[V["Core/Globals.js"],V["Series/DataModifyComposition.js"],V["Stock/Navigator/Navigator.js"],V["Core/Axis/OrdinalAxis.js"],V["Stock/RangeSelector/RangeSelector.js"],V["Stock/Scrollbar/Scrollbar.js"],V["Core/Chart/StockChart.js"],V["Series/OHLC/OHLCSeries.js"],V["Series/Flags/FlagsSeries.js"]],function(q,ne,re,ve,le,pe,ue,J,te){return q.Navigator=q.Navigator||re,q.OrdinalAxis=q.OrdinalAxis||ve,q.RangeSelector=q.RangeSelector||le,q.Scrollbar=q.Scrollbar||pe,q.stockChart=q.stockChart||ue.stockChart,q.StockChart=q.StockChart||q.stockChart,q.extend(q.StockChart,ue),ne.compose(q.Series,q.Axis,q.Point),te.compose(q.Renderer),J.compose(q.Series),q.Navigator.compose(q.Chart,q.Axis,q.Series),q.OrdinalAxis.compose(q.Axis,q.Series,q.Chart),q.RangeSelector.compose(q.Axis,q.Chart),q.Scrollbar.compose(q.Axis),q.StockChart.compose(q.Chart,q.Axis,q.Series,q.SVGRenderer),q}),Le(V,"masters/highstock.src.js",[V["masters/highcharts.src.js"]],function(q){return q.product="Highstock",q}),V["masters/highstock.src.js"]._modules=V,V["masters/highstock.src.js"]},ri.exports?(V.default=V,ri.exports=e&&e.document?V(e):V):void 0!==(M=function(){return V(e)}.call(Bt,We,Bt,ri))&&(ri.exports=M)},38833:(ri,Bt,We)=>{var M,e,V;V=function(V){"use strict";var Le=V?V._modules:{};function q(ne,re,ve,le){ne.hasOwnProperty(re)||(ne[re]=le.apply(null,ve),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:re,module:ne[re]}})))}q(Le,"Core/Chart/ChartNavigationComposition.js",[],function(){var ne;return function(re){re.compose=function ve(pe){return pe.navigation||(pe.navigation=new le(pe)),pe};class le{constructor(ue){this.updates=[],this.chart=ue}addUpdate(ue){this.chart.navigation.updates.push(ue)}update(ue,J){this.updates.forEach(te=>{te.call(this.chart,ue,J)})}}re.Additions=le}(ne||(ne={})),ne}),q(Le,"Extensions/Exporting/ExportingDefaults.js",[Le["Core/Globals.js"]],function(ne){const{isTouchDevice:re}=ne;return{exporting:{allowTableSorting:!0,type:"image/png",url:"https://export.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadPDF","downloadSVG"]}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen&&this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:3,height:28,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:re?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}}}),q(Le,"Extensions/Exporting/ExportingSymbols.js",[],function(){var ne;return function(re){const ve=[];function pe(J,te,X,E){return[["M",J,te+2.5],["L",J+X,te+2.5],["M",J,te+E/2+.5],["L",J+X,te+E/2+.5],["M",J,te+E-1.5],["L",J+X,te+E-1.5]]}function ue(J,te,X,E){const j=E/3-2;let F=[];return F=F.concat(this.circle(X-j,te,j,j),this.circle(X-j,te+j+4,j,j),this.circle(X-j,te+2*(j+4),j,j)),F}re.compose=function le(J){if(-1===ve.indexOf(J)){ve.push(J);const te=J.prototype.symbols;te.menu=pe,te.menuball=ue.bind(te)}}}(ne||(ne={})),ne}),q(Le,"Extensions/Exporting/Fullscreen.js",[Le["Core/Renderer/HTML/AST.js"],Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re,ve){const{composed:le}=re,{addEvent:pe,fireEvent:ue,pushUnique:J}=ve;function te(){this.fullscreen=new X(this)}class X{static compose(j){J(le,"Fullscreen")&&pe(j,"beforeRender",te)}constructor(j){this.chart=j,this.isOpen=!1;const F=j.renderTo;this.browserProps||("function"==typeof F.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:F.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:F.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:F.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){const j=this,F=j.chart,P=F.options.chart;ue(F,"fullscreenClose",null,function(){j.isOpen&&j.browserProps&&F.container.ownerDocument instanceof Document&&F.container.ownerDocument[j.browserProps.exitFullscreen](),j.unbindFullscreenEvent&&(j.unbindFullscreenEvent=j.unbindFullscreenEvent()),F.setSize(j.origWidth,j.origHeight,!1),j.origWidth=void 0,j.origHeight=void 0,P.width=j.origWidthOption,P.height=j.origHeightOption,j.origWidthOption=void 0,j.origHeightOption=void 0,j.isOpen=!1,j.setButtonText()})}open(){const j=this,F=j.chart,P=F.options.chart;ue(F,"fullscreenOpen",null,function(){if(P&&(j.origWidthOption=P.width,j.origHeightOption=P.height),j.origWidth=F.chartWidth,j.origHeight=F.chartHeight,j.browserProps){const D=pe(F.container.ownerDocument,j.browserProps.fullscreenChange,function(){j.isOpen?(j.isOpen=!1,j.close()):(F.setSize(null,null,!1),j.isOpen=!0,j.setButtonText())}),A=pe(F,"destroy",D);j.unbindFullscreenEvent=()=>{D(),A()};const I=F.renderTo[j.browserProps.requestFullscreen]();I&&I.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){const j=this.chart,F=j.exportDivElements,P=j.options.exporting,D=P&&P.buttons&&P.buttons.contextButton.menuItems,A=j.options.lang;if(P&&P.menuItemDefinitions&&A&&A.exitFullscreen&&A.viewFullscreen&&D&&F){const I=F[D.indexOf("viewFullscreen")];I&&ne.setElementHTML(I,this.isOpen?A.exitFullscreen:P.menuItemDefinitions.viewFullscreen.text||A.viewFullscreen)}}toggle(){const j=this;j.isOpen?j.close():j.open()}}return X}),q(Le,"Core/HttpUtilities.js",[Le["Core/Globals.js"],Le["Core/Utilities.js"]],function(ne,re){const{win:ve}=ne,{discardElement:le,objectEach:pe}=re,X={ajax:function ue(E){const j={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},F=new XMLHttpRequest;function P(D,A){E.error&&E.error(D,A)}if(!E.url)return!1;F.open((E.type||"get").toUpperCase(),E.url,!0),(!E.headers||!E.headers["Content-Type"])&&F.setRequestHeader("Content-Type",j[E.dataType||"json"]||j.text),pe(E.headers,function(D,A){F.setRequestHeader(A,D)}),E.responseType&&(F.responseType=E.responseType),F.onreadystatechange=function(){let D;if(4===F.readyState){if(200===F.status){if("blob"!==E.responseType&&(D=F.responseText,"json"===E.dataType))try{D=JSON.parse(D)}catch(A){if(A instanceof Error)return P(F,A)}return E.success&&E.success(D,F)}P(F,F.responseText)}},E.data&&"string"!=typeof E.data&&(E.data=JSON.stringify(E.data)),F.send(E.data)},getJSON:function J(E,j){X.ajax({url:E,success:j,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function te(E,j,F){const P=new ve.FormData;pe(j,function(I,_){P.append(_,I)}),P.append("b64","true");const{filename:D,type:A}=j;return ve.fetch(E,{method:"POST",body:P,...F}).then(I=>{I.ok&&I.text().then(_=>{const m=document.createElement("a");m.href=`data:${A};base64,${_}`,m.download=D,m.click(),le(m)})})}};return X}),q(Le,"Extensions/Exporting/Exporting.js",[Le["Core/Renderer/HTML/AST.js"],Le["Core/Chart/Chart.js"],Le["Core/Chart/ChartNavigationComposition.js"],Le["Core/Defaults.js"],Le["Extensions/Exporting/ExportingDefaults.js"],Le["Extensions/Exporting/ExportingSymbols.js"],Le["Extensions/Exporting/Fullscreen.js"],Le["Core/Globals.js"],Le["Core/HttpUtilities.js"],Le["Core/Utilities.js"]],function(ne,re,ve,le,pe,ue,J,te,X,E){const{defaultOptions:j}=le,{doc:F,SVG_NS:P,win:D}=te,{addEvent:A,css:I,createElement:_,discardElement:m,extend:w,find:G,fireEvent:O,isObject:f,merge:a,objectEach:g,pick:v,removeEvent:o,uniqueKey:n}=E;var r;return function(l){const d=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^[0-9]+$/],C=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"];l.inlineAllowlist=[];const k=["clipPath","defs","desc"];let p;function T(De){const Be=this,oe=Be.renderer,ee=a(Be.options.navigation.buttonOptions,De),be=ee.onclick,xe=ee.menuItems,Ie=ee.symbolSize||12;let we;if(Be.btnCount||(Be.btnCount=0),Be.exportDivElements||(Be.exportDivElements=[],Be.exportSVGElements=[]),!1===ee.enabled||!ee.theme)return;const Ee=ee.theme;let Me;Be.styledMode||(Ee.fill=v(Ee.fill,"#ffffff"),Ee.stroke=v(Ee.stroke,"none")),be?Me=function(Je){Je&&Je.stopPropagation(),be.call(Be,Je)}:xe&&(Me=function(Je){Je&&Je.stopPropagation(),Be.contextMenu(Xe.menuClassName,xe,Xe.translateX||0,Xe.translateY||0,Xe.width||0,Xe.height||0,Xe),Xe.setState(2)}),ee.text&&ee.symbol?Ee.paddingLeft=v(Ee.paddingLeft,30):ee.text||w(Ee,{width:ee.width,height:ee.height,padding:0}),Be.styledMode||(Ee["stroke-linecap"]="round",Ee.fill=v(Ee.fill,"#ffffff"),Ee.stroke=v(Ee.stroke,"none"));const Xe=oe.button(ee.text,0,0,Me,Ee,void 0,void 0,void 0,void 0,ee.useHTML).addClass(De.className).attr({title:v(Be.options.lang[ee._titleKey||ee.titleKey],"")});Xe.menuClassName=De.menuClassName||"highcharts-menu-"+Be.btnCount++,ee.symbol&&(we=oe.symbol(ee.symbol,ee.symbolX-Ie/2,ee.symbolY-Ie/2,Ie,Ie,{width:Ie,height:Ie}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(Xe),Be.styledMode||we.attr({stroke:ee.symbolStroke,fill:ee.symbolFill,"stroke-width":ee.symbolStrokeWidth||1})),Xe.add(Be.exportingGroup).align(w(ee,{width:Xe.width,x:v(ee.x,Be.buttonOffset)}),!0,"spacingBox"),Be.buttonOffset+=((Xe.width||0)+ee.buttonSpacing)*("right"===ee.align?-1:1),Be.exportSVGElements.push(Xe,we)}function B(){const De=this;if(!De.printReverseInfo)return;const{childNodes:Be,origDisplay:oe,resetParams:ee}=De.printReverseInfo;De.moveContainers(De.renderTo),[].forEach.call(Be,function(be,xe){1===be.nodeType&&(be.style.display=oe[xe]||"")}),De.isPrinting=!1,ee&&De.setSize.apply(De,ee),delete De.printReverseInfo,p=void 0,O(De,"afterPrint")}function z(){const De=this,Be=F.body,oe=De.options.exporting.printMaxWidth,ee={childNodes:Be.childNodes,origDisplay:[],resetParams:void 0};De.isPrinting=!0,De.pointer?.reset(void 0,0),O(De,"beforePrint"),oe&&De.chartWidth>oe&&(ee.resetParams=[De.options.chart.width,void 0,!1],De.setSize(oe,void 0,!1)),[].forEach.call(ee.childNodes,function(xe,Ie){1===xe.nodeType&&(ee.origDisplay[Ie]=xe.style.display,xe.style.display="none")}),De.moveContainers(Be),De.printReverseInfo=ee}function K(De){const Be=De;Be.renderExporting(),A(De,"redraw",Be.renderExporting),A(De,"destroy",Be.destroyExport)}function se(De,Be,oe,ee,be,xe,Ie){const we=this,Ee=we.options.navigation,Me=we.chartWidth,Xe=we.chartHeight,Je="cache-"+De,lt=Math.max(be,xe);let qe,st=we[Je];st||(we.exportContextMenu=we[Je]=st=_("div",{className:De},{position:"absolute",zIndex:1e3,padding:lt+"px",pointerEvents:"auto",...we.renderer.style},we.scrollablePlotArea?.fixedDiv||we.container),qe=_("ul",{className:"highcharts-menu"},we.styledMode?{}:{listStyle:"none",margin:0,padding:0},st),we.styledMode||I(qe,w({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},Ee.menuStyle)),st.hideMenu=function(){I(st,{display:"none"}),Ie&&Ie.setState(0),we.openMenu=!1,I(we.renderTo,{overflow:"hidden"}),I(we.container,{overflow:"hidden"}),E.clearTimeout(st.hideTimer),O(we,"exportMenuHidden")},we.exportEvents.push(A(st,"mouseleave",function(){st.hideTimer=D.setTimeout(st.hideMenu,500)}),A(st,"mouseenter",function(){E.clearTimeout(st.hideTimer)}),A(F,"mouseup",function(pt){we.pointer?.inClass(pt.target,De)||st.hideMenu()}),A(st,"click",function(){we.openMenu&&st.hideMenu()})),Be.forEach(function(pt){if("string"==typeof pt&&(pt=we.options.exporting.menuItemDefinitions[pt]),f(pt,!0)){let ht;pt.separator?ht=_("hr",void 0,void 0,qe):("viewData"===pt.textKey&&we.isDataTableVisible&&(pt.textKey="hideData"),ht=_("li",{className:"highcharts-menu-item",onclick:function(Pt){Pt&&Pt.stopPropagation(),st.hideMenu(),"string"!=typeof pt&&pt.onclick&&pt.onclick.apply(we,arguments)}},void 0,qe),ne.setElementHTML(ht,pt.text||we.options.lang[pt.textKey]),we.styledMode||(ht.onmouseover=function(){I(this,Ee.menuItemHoverStyle)},ht.onmouseout=function(){I(this,Ee.menuItemStyle)},I(ht,w({cursor:"pointer"},Ee.menuItemStyle||{})))),we.exportDivElements.push(ht)}}),we.exportDivElements.push(qe,st),we.exportMenuWidth=st.offsetWidth,we.exportMenuHeight=st.offsetHeight);const Tt={display:"block"};oe+we.exportMenuWidth>Me?Tt.right=Me-oe-be-lt+"px":Tt.left=oe-lt+"px",ee+xe+we.exportMenuHeight>Xe&&"top"!==Ie.alignOptions.verticalAlign?Tt.bottom=Xe-ee-lt+"px":Tt.top=ee+xe-lt+"px",I(st,Tt),I(we.renderTo,{overflow:""}),I(we.container,{overflow:""}),we.openMenu=!0,O(we,"exportMenuShown")}function S(De){const Be=De?De.target:this,oe=Be.exportSVGElements,ee=Be.exportDivElements,be=Be.exportEvents;let xe;oe&&(oe.forEach((Ie,we)=>{Ie&&(Ie.onclick=Ie.ontouchstart=null,xe="cache-"+Ie.menuClassName,Be[xe]&&delete Be[xe],oe[we]=Ie.destroy())}),oe.length=0),Be.exportingGroup&&(Be.exportingGroup.destroy(),delete Be.exportingGroup),ee&&(ee.forEach(function(Ie,we){Ie&&(E.clearTimeout(Ie.hideTimer),o(Ie,"mouseleave"),ee[we]=Ie.onmouseout=Ie.onmouseover=Ie.ontouchstart=Ie.onclick=null,m(Ie))}),ee.length=0),be&&(be.forEach(function(Ie){Ie()}),be.length=0)}function $(De,Be){const oe=this.getSVGForExport(De,Be);De=a(this.options.exporting,De),X.post(De.url,{filename:De.filename?De.filename.replace(/\//g,"-"):this.getFilename(),type:De.type,width:De.width,scale:De.scale,svg:oe},De.fetchOptions)}function H(){return this.styledMode&&this.inlineStyles(),this.container.innerHTML}function x(){const De=this.userOptions.title&&this.userOptions.title.text;let Be=this.options.exporting.filename;return Be?Be.replace(/\//g,"-"):("string"==typeof De&&(Be=De.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z0-9\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!Be||Be.length<5)&&(Be="chart"),Be)}function N(De){const Be=this;let oe,ee,be=a(Be.options,De);be.plotOptions=a(Be.userOptions.plotOptions,De&&De.plotOptions),be.time=a(Be.userOptions.time,De&&De.time);const xe=_("div",null,{position:"absolute",top:"-9999em",width:Be.chartWidth+"px",height:Be.chartHeight+"px"},F.body),Ie=Be.renderTo.style.width,we=Be.renderTo.style.height,Ee=be.exporting.sourceWidth||be.chart.width||/px$/.test(Ie)&&parseInt(Ie,10)||(be.isGantt?800:600),Me=be.exporting.sourceHeight||be.chart.height||/px$/.test(we)&&parseInt(we,10)||400;w(be.chart,{animation:!1,renderTo:xe,forExport:!0,renderer:"SVGRenderer",width:Ee,height:Me}),be.exporting.enabled=!1,delete be.data,be.series=[],Be.series.forEach(function(lt){ee=a(lt.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:lt.visible}),ee.isInternal||be.series.push(ee)});const Xe={};Be.axes.forEach(function(lt){lt.userOptions.internalKey||(lt.userOptions.internalKey=n()),lt.options.isInternal||(Xe[lt.coll]||(Xe[lt.coll]=!0,be[lt.coll]=[]),be[lt.coll].push(a(lt.userOptions,{visible:lt.visible})))}),be.colorAxis=Be.userOptions.colorAxis;const Je=new Be.constructor(be,Be.callback);return De&&["xAxis","yAxis","series"].forEach(function(lt){const qe={};De[lt]&&(qe[lt]=De[lt],Je.update(qe))}),Be.axes.forEach(function(lt){const qe=G(Je.axes,function(ht){return ht.options.internalKey===lt.userOptions.internalKey}),st=lt.getExtremes(),Tt=st.userMin,pt=st.userMax;qe&&(typeof Tt<"u"&&Tt!==qe.min||typeof pt<"u"&&pt!==qe.max)&&qe.setExtremes(Tt,pt,!0,!1)}),oe=Je.getChartHTML(),O(this,"getSVG",{chartCopy:Je}),oe=Be.sanitizeSVG(oe,be),be=null,Je.destroy(),m(xe),oe}function R(De,Be){const oe=this.options.exporting;return this.getSVG(a({chart:{borderRadius:0}},oe.chartOptions,Be,{exporting:{sourceWidth:De&&De.sourceWidth||oe.sourceWidth,sourceHeight:De&&De.sourceHeight||oe.sourceHeight}}))}function Y(){const De=d,Be=l.inlineAllowlist,oe={};let ee;const be=F.createElement("iframe");I(be,{width:"1px",height:"1px",visibility:"hidden"}),F.body.appendChild(be);const xe=be.contentWindow&&be.contentWindow.document;xe&&xe.body.appendChild(xe.createElementNS(P,"svg")),function Ie(Ee){const Me={};let Xe,Je,lt,qe,st,Tt;function pt(ht,Pt){if(qe=st=!1,Be.length){for(Tt=Be.length;Tt--&&!st;)st=Be[Tt].test(Pt);qe=!st}for("transform"===Pt&&"none"===ht&&(qe=!0),Tt=De.length;Tt--&&!qe;)qe=De[Tt].test(Pt)||"function"==typeof ht;qe||(Je[Pt]!==ht||"svg"===Ee.nodeName)&&oe[Ee.nodeName][Pt]!==ht&&(C&&-1===C.indexOf(Pt)?Me[Pt]=ht:ht&&Ee.setAttribute(function Z(De){return De.replace(/([A-Z])/g,function(Be,oe){return"-"+oe.toLowerCase()})}(Pt),ht))}if(xe&&1===Ee.nodeType&&-1===k.indexOf(Ee.nodeName)){if(Xe=D.getComputedStyle(Ee,null),Je="svg"===Ee.nodeName?{}:D.getComputedStyle(Ee.parentNode,null),!oe[Ee.nodeName]){ee=xe.getElementsByTagName("svg")[0],lt=xe.createElementNS(Ee.namespaceURI,Ee.nodeName),ee.appendChild(lt);const ht=D.getComputedStyle(lt,null),Pt={};for(const Gt in ht)"string"==typeof ht[Gt]&&!/^[0-9]+$/.test(Gt)&&(Pt[Gt]=ht[Gt]);oe[Ee.nodeName]=Pt,"text"===Ee.nodeName&&delete oe.text.fill,ee.removeChild(lt)}for(const ht in Xe)(te.isFirefox||te.isMS||te.isSafari||Object.hasOwnProperty.call(Xe,ht))&&pt(Xe[ht],ht);if(I(Ee,Me),"svg"===Ee.nodeName&&Ee.setAttribute("stroke-width","1px"),"text"===Ee.nodeName)return;[].forEach.call(Ee.children||Ee.childNodes,Ie)}}(this.container.querySelector("svg")),function we(){ee.parentNode.removeChild(ee),be.parentNode.removeChild(be)}()}function he(De){const{scrollablePlotArea:Be}=this;(Be?[Be.fixedDiv,Be.scrollingContainer]:[this.container]).forEach(function(oe){De.appendChild(oe)})}function ge(){const De=this,Be=(oe,ee,be)=>{De.isDirtyExporting=!0,a(!0,De.options[oe],ee),v(be,!0)&&De.redraw()};De.exporting={update:function(oe,ee){Be("exporting",oe,ee)}},ve.compose(De).navigation.addUpdate((oe,ee)=>{Be("navigation",oe,ee)})}function _e(){const De=this;De.isPrinting||(p=De,te.isSafari||De.beforePrint(),setTimeout(()=>{D.focus(),D.print(),te.isSafari||setTimeout(()=>{De.afterPrint()},1e3)},1))}function Te(){const De=this,Be=De.options.exporting,oe=Be.buttons,ee=De.isDirtyExporting||!De.exportSVGElements;De.buttonOffset=0,De.isDirtyExporting&&De.destroyExport(),ee&&!1!==Be.enabled&&(De.exportEvents=[],De.exportingGroup=De.exportingGroup||De.renderer.g("exporting-group").attr({zIndex:3}).add(),g(oe,function(be){De.addButton(be)}),De.isDirtyExporting=!1)}function Oe(De,Be){const oe=De.indexOf("")+6;let ee=De.substr(oe);return De=De.substr(0,oe),Be&&Be.exporting&&Be.exporting.allowHTML&&ee&&(ee=''+ee.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />")+"",De=De.replace("",ee+"")),De.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|")\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/{"use strict";function Bt(e){return e instanceof Buffer?Buffer.from(e):new e.constructor(e.buffer.slice(),e.byteOffset,e.length)}ri.exports=function We(e){return(e=e||{}).circles?function M(e){var V=[],Le=[];return e.proto?function re(ve){if("object"!=typeof ve||null===ve)return ve;if(ve instanceof Date)return new Date(ve);if(Array.isArray(ve))return q(ve,re);if(ve instanceof Map)return new Map(q(Array.from(ve),re));if(ve instanceof Set)return new Set(q(Array.from(ve),re));var le={};for(var pe in V.push(ve),Le.push(le),ve){var ue=ve[pe];if("object"!=typeof ue||null===ue)le[pe]=ue;else if(ue instanceof Date)le[pe]=new Date(ue);else if(ue instanceof Map)le[pe]=new Map(q(Array.from(ue),re));else if(ue instanceof Set)le[pe]=new Set(q(Array.from(ue),re));else if(ArrayBuffer.isView(ue))le[pe]=Bt(ue);else{var J=V.indexOf(ue);le[pe]=-1!==J?Le[J]:re(ue)}}return V.pop(),Le.pop(),le}:function ne(ve){if("object"!=typeof ve||null===ve)return ve;if(ve instanceof Date)return new Date(ve);if(Array.isArray(ve))return q(ve,ne);if(ve instanceof Map)return new Map(q(Array.from(ve),ne));if(ve instanceof Set)return new Set(q(Array.from(ve),ne));var le={};for(var pe in V.push(ve),Le.push(le),ve)if(!1!==Object.hasOwnProperty.call(ve,pe)){var ue=ve[pe];if("object"!=typeof ue||null===ue)le[pe]=ue;else if(ue instanceof Date)le[pe]=new Date(ue);else if(ue instanceof Map)le[pe]=new Map(q(Array.from(ue),ne));else if(ue instanceof Set)le[pe]=new Set(q(Array.from(ue),ne));else if(ArrayBuffer.isView(ue))le[pe]=Bt(ue);else{var J=V.indexOf(ue);le[pe]=-1!==J?Le[J]:ne(ue)}}return V.pop(),Le.pop(),le};function q(ve,le){for(var pe=Object.keys(ve),ue=new Array(pe.length),J=0;J{"use strict";We.d(Bt,{t:()=>e});var M=We(21413);class e extends M.B{constructor(Le){super(),this._value=Le}get value(){return this.getValue()}_subscribe(Le){const q=super._subscribe(Le);return!q.closed&&Le.next(this._value),q}getValue(){const{hasError:Le,thrownError:q,_value:ne}=this;if(Le)throw q;return this._throwIfClosed(),ne}next(Le){super.next(this._value=Le)}}},71985:(ri,Bt,We)=>{"use strict";We.d(Bt,{c:()=>ve});var M=We(47707),e=We(18359),V=We(3494),Le=We(71203),q=We(41026),ne=We(98071),re=We(49786);let ve=(()=>{class J{constructor(X){X&&(this._subscribe=X)}lift(X){const E=new J;return E.source=this,E.operator=X,E}subscribe(X,E,j){const F=function ue(J){return J&&J instanceof M.vU||function pe(J){return J&&(0,ne.T)(J.next)&&(0,ne.T)(J.error)&&(0,ne.T)(J.complete)}(J)&&(0,e.Uv)(J)}(X)?X:new M.Ms(X,E,j);return(0,re.Y)(()=>{const{operator:P,source:D}=this;F.add(P?P.call(F,D):D?this._subscribe(F):this._trySubscribe(F))}),F}_trySubscribe(X){try{return this._subscribe(X)}catch(E){X.error(E)}}forEach(X,E){return new(E=le(E))((j,F)=>{const P=new M.Ms({next:D=>{try{X(D)}catch(A){F(A),P.unsubscribe()}},error:F,complete:j});this.subscribe(P)})}_subscribe(X){var E;return null===(E=this.source)||void 0===E?void 0:E.subscribe(X)}[V.s](){return this}pipe(...X){return(0,Le.m)(X)(this)}toPromise(X){return new(X=le(X))((E,j)=>{let F;this.subscribe(P=>F=P,P=>j(P),()=>E(F))})}}return J.create=te=>new J(te),J})();function le(J){var te;return null!==(te=J??q.$.Promise)&&void 0!==te?te:Promise}},21413:(ri,Bt,We)=>{"use strict";We.d(Bt,{B:()=>re});var M=We(71985),e=We(18359);const Le=(0,We(81853).L)(le=>function(){le(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var q=We(57908),ne=We(49786);let re=(()=>{class le extends M.c{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(ue){const J=new ve(this,this);return J.operator=ue,J}_throwIfClosed(){if(this.closed)throw new Le}next(ue){(0,ne.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const J of this.currentObservers)J.next(ue)}})}error(ue){(0,ne.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=ue;const{observers:J}=this;for(;J.length;)J.shift().error(ue)}})}complete(){(0,ne.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:ue}=this;for(;ue.length;)ue.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var ue;return(null===(ue=this.observers)||void 0===ue?void 0:ue.length)>0}_trySubscribe(ue){return this._throwIfClosed(),super._trySubscribe(ue)}_subscribe(ue){return this._throwIfClosed(),this._checkFinalizedStatuses(ue),this._innerSubscribe(ue)}_innerSubscribe(ue){const{hasError:J,isStopped:te,observers:X}=this;return J||te?e.Kn:(this.currentObservers=null,X.push(ue),new e.yU(()=>{this.currentObservers=null,(0,q.o)(X,ue)}))}_checkFinalizedStatuses(ue){const{hasError:J,thrownError:te,isStopped:X}=this;J?ue.error(te):X&&ue.complete()}asObservable(){const ue=new M.c;return ue.source=this,ue}}return le.create=(pe,ue)=>new ve(pe,ue),le})();class ve extends re{constructor(pe,ue){super(),this.destination=pe,this.source=ue}next(pe){var ue,J;null===(J=null===(ue=this.destination)||void 0===ue?void 0:ue.next)||void 0===J||J.call(ue,pe)}error(pe){var ue,J;null===(J=null===(ue=this.destination)||void 0===ue?void 0:ue.error)||void 0===J||J.call(ue,pe)}complete(){var pe,ue;null===(ue=null===(pe=this.destination)||void 0===pe?void 0:pe.complete)||void 0===ue||ue.call(pe)}_subscribe(pe){var ue,J;return null!==(J=null===(ue=this.source)||void 0===ue?void 0:ue.subscribe(pe))&&void 0!==J?J:e.Kn}}},47707:(ri,Bt,We)=>{"use strict";We.d(Bt,{Ms:()=>j,vU:()=>J});var M=We(98071),e=We(18359),V=We(41026),Le=We(45334),q=We(85343);const ne=le("C",void 0,void 0);function le(I,_,m){return{kind:I,value:_,error:m}}var pe=We(19270),ue=We(49786);class J extends e.yU{constructor(_){super(),this.isStopped=!1,_?(this.destination=_,(0,e.Uv)(_)&&_.add(this)):this.destination=A}static create(_,m,w){return new j(_,m,w)}next(_){this.isStopped?D(function ve(I){return le("N",I,void 0)}(_),this):this._next(_)}error(_){this.isStopped?D(function re(I){return le("E",void 0,I)}(_),this):(this.isStopped=!0,this._error(_))}complete(){this.isStopped?D(ne,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(_){this.destination.next(_)}_error(_){try{this.destination.error(_)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const te=Function.prototype.bind;function X(I,_){return te.call(I,_)}class E{constructor(_){this.partialObserver=_}next(_){const{partialObserver:m}=this;if(m.next)try{m.next(_)}catch(w){F(w)}}error(_){const{partialObserver:m}=this;if(m.error)try{m.error(_)}catch(w){F(w)}else F(_)}complete(){const{partialObserver:_}=this;if(_.complete)try{_.complete()}catch(m){F(m)}}}class j extends J{constructor(_,m,w){let G;if(super(),(0,M.T)(_)||!_)G={next:_??void 0,error:m??void 0,complete:w??void 0};else{let O;this&&V.$.useDeprecatedNextContext?(O=Object.create(_),O.unsubscribe=()=>this.unsubscribe(),G={next:_.next&&X(_.next,O),error:_.error&&X(_.error,O),complete:_.complete&&X(_.complete,O)}):G=_}this.destination=new E(G)}}function F(I){V.$.useDeprecatedSynchronousErrorHandling?(0,ue.l)(I):(0,Le.m)(I)}function D(I,_){const{onStoppedNotification:m}=V.$;m&&pe.f.setTimeout(()=>m(I,_))}const A={closed:!0,next:q.l,error:function P(I){throw I},complete:q.l}},18359:(ri,Bt,We)=>{"use strict";We.d(Bt,{Kn:()=>ne,yU:()=>q,Uv:()=>re});var M=We(98071);const V=(0,We(81853).L)(le=>function(ue){le(this),this.message=ue?`${ue.length} errors occurred during unsubscription:\n${ue.map((J,te)=>`${te+1}) ${J.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=ue});var Le=We(57908);class q{constructor(pe){this.initialTeardown=pe,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let pe;if(!this.closed){this.closed=!0;const{_parentage:ue}=this;if(ue)if(this._parentage=null,Array.isArray(ue))for(const X of ue)X.remove(this);else ue.remove(this);const{initialTeardown:J}=this;if((0,M.T)(J))try{J()}catch(X){pe=X instanceof V?X.errors:[X]}const{_finalizers:te}=this;if(te){this._finalizers=null;for(const X of te)try{ve(X)}catch(E){pe=pe??[],E instanceof V?pe=[...pe,...E.errors]:pe.push(E)}}if(pe)throw new V(pe)}}add(pe){var ue;if(pe&&pe!==this)if(this.closed)ve(pe);else{if(pe instanceof q){if(pe.closed||pe._hasParent(this))return;pe._addParent(this)}(this._finalizers=null!==(ue=this._finalizers)&&void 0!==ue?ue:[]).push(pe)}}_hasParent(pe){const{_parentage:ue}=this;return ue===pe||Array.isArray(ue)&&ue.includes(pe)}_addParent(pe){const{_parentage:ue}=this;this._parentage=Array.isArray(ue)?(ue.push(pe),ue):ue?[ue,pe]:pe}_removeParent(pe){const{_parentage:ue}=this;ue===pe?this._parentage=null:Array.isArray(ue)&&(0,Le.o)(ue,pe)}remove(pe){const{_finalizers:ue}=this;ue&&(0,Le.o)(ue,pe),pe instanceof q&&pe._removeParent(this)}}q.EMPTY=(()=>{const le=new q;return le.closed=!0,le})();const ne=q.EMPTY;function re(le){return le instanceof q||le&&"closed"in le&&(0,M.T)(le.remove)&&(0,M.T)(le.add)&&(0,M.T)(le.unsubscribe)}function ve(le){(0,M.T)(le)?le():le.unsubscribe()}},41026:(ri,Bt,We)=>{"use strict";We.d(Bt,{$:()=>M});const M={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},28793:(ri,Bt,We)=>{"use strict";We.d(Bt,{x:()=>q});var M=We(26365),V=We(9326),Le=We(86648);function q(...ne){return function e(){return(0,M.U)(1)}()((0,Le.H)(ne,(0,V.lI)(ne)))}},59030:(ri,Bt,We)=>{"use strict";We.d(Bt,{v:()=>V});var M=We(71985),e=We(58750);function V(Le){return new M.c(q=>{(0,e.Tg)(Le()).subscribe(q)})}},983:(ri,Bt,We)=>{"use strict";We.d(Bt,{w:()=>e});const e=new(We(71985).c)(q=>q.complete())},27468:(ri,Bt,We)=>{"use strict";We.d(Bt,{p:()=>ve});var M=We(71985),e=We(93073),V=We(58750),Le=We(9326),q=We(54360),ne=We(6450),re=We(58496);function ve(...le){const pe=(0,Le.ms)(le),{args:ue,keys:J}=(0,e.D)(le),te=new M.c(X=>{const{length:E}=ue;if(!E)return void X.complete();const j=new Array(E);let F=E,P=E;for(let D=0;D{A||(A=!0,P--),j[D]=I},()=>F--,void 0,()=>{(!F||!A)&&(P||X.next(J?(0,re.e)(J,j):j),X.complete())}))}});return pe?te.pipe((0,ne.I)(pe)):te}},86648:(ri,Bt,We)=>{"use strict";We.d(Bt,{H:()=>w});var M=We(58750),e=We(45225),V=We(39974),Le=We(54360);function q(G,O=0){return(0,V.N)((f,a)=>{f.subscribe((0,Le._)(a,g=>(0,e.N)(a,G,()=>a.next(g),O),()=>(0,e.N)(a,G,()=>a.complete(),O),g=>(0,e.N)(a,G,()=>a.error(g),O)))})}function ne(G,O=0){return(0,V.N)((f,a)=>{a.add(G.schedule(()=>f.subscribe(a),O))})}var le=We(71985),ue=We(4761),J=We(98071);function X(G,O){if(!G)throw new Error("Iterable cannot be null");return new le.c(f=>{(0,e.N)(f,O,()=>{const a=G[Symbol.asyncIterator]();(0,e.N)(f,O,()=>{a.next().then(g=>{g.done?f.complete():f.next(g.value)})},0,!0)})})}var E=We(55055),j=We(59858),F=We(47441),P=We(85397),D=We(37953),A=We(50591),I=We(15196);function w(G,O){return O?function m(G,O){if(null!=G){if((0,E.l)(G))return function re(G,O){return(0,M.Tg)(G).pipe(ne(O),q(O))}(G,O);if((0,F.X)(G))return function pe(G,O){return new le.c(f=>{let a=0;return O.schedule(function(){a===G.length?f.complete():(f.next(G[a++]),f.closed||this.schedule())})})}(G,O);if((0,j.y)(G))return function ve(G,O){return(0,M.Tg)(G).pipe(ne(O),q(O))}(G,O);if((0,D.T)(G))return X(G,O);if((0,P.x)(G))return function te(G,O){return new le.c(f=>{let a;return(0,e.N)(f,O,()=>{a=G[ue.l](),(0,e.N)(f,O,()=>{let g,v;try{({value:g,done:v}=a.next())}catch(o){return void f.error(o)}v?f.complete():f.next(g)},0,!0)}),()=>(0,J.T)(a?.return)&&a.return()})}(G,O);if((0,I.U)(G))return function _(G,O){return X((0,I.C)(G),O)}(G,O)}throw(0,A.L)(G)}(G,O):(0,M.Tg)(G)}},33726:(ri,Bt,We)=>{"use strict";We.d(Bt,{R:()=>pe});var M=We(58750),e=We(71985),V=We(73028),Le=We(47441),q=We(98071),ne=We(6450);const re=["addListener","removeListener"],ve=["addEventListener","removeEventListener"],le=["on","off"];function pe(E,j,F,P){if((0,q.T)(F)&&(P=F,F=void 0),P)return pe(E,j,F).pipe((0,ne.I)(P));const[D,A]=function X(E){return(0,q.T)(E.addEventListener)&&(0,q.T)(E.removeEventListener)}(E)?ve.map(I=>_=>E[I](j,_,F)):function J(E){return(0,q.T)(E.addListener)&&(0,q.T)(E.removeListener)}(E)?re.map(ue(E,j)):function te(E){return(0,q.T)(E.on)&&(0,q.T)(E.off)}(E)?le.map(ue(E,j)):[];if(!D&&(0,Le.X)(E))return(0,V.Z)(I=>pe(I,j,F))((0,M.Tg)(E));if(!D)throw new TypeError("Invalid event target");return new e.c(I=>{const _=(...m)=>I.next(1A(_)})}function ue(E,j){return F=>P=>E[F](j,P)}},58750:(ri,Bt,We)=>{"use strict";We.d(Bt,{Sx:()=>j,Tg:()=>te});var M=We(31635),e=We(47441),V=We(59858),Le=We(71985),q=We(55055),ne=We(37953),re=We(50591),ve=We(85397),le=We(15196),pe=We(98071),ue=We(45334),J=We(3494);function te(I){if(I instanceof Le.c)return I;if(null!=I){if((0,q.l)(I))return function X(I){return new Le.c(_=>{const m=I[J.s]();if((0,pe.T)(m.subscribe))return m.subscribe(_);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(I);if((0,e.X)(I))return function E(I){return new Le.c(_=>{for(let m=0;m{for(const m of I)if(_.next(m),_.closed)return;_.complete()})}(I);if((0,le.U)(I))return function D(I){return P((0,le.C)(I))}(I)}throw(0,re.L)(I)}function j(I){return new Le.c(_=>{I.then(m=>{_.closed||(_.next(m),_.complete())},m=>_.error(m)).then(null,ue.m)})}function P(I){return new Le.c(_=>{(function A(I,_){var m,w,G,O;return(0,M.sH)(this,void 0,void 0,function*(){try{for(m=(0,M.xN)(I);!(w=yield m.next()).done;)if(_.next(w.value),_.closed)return}catch(f){G={error:f}}finally{try{w&&!w.done&&(O=m.return)&&(yield O.call(m))}finally{if(G)throw G.error}}_.complete()})})(I,_).catch(m=>_.error(m))})}},57786:(ri,Bt,We)=>{"use strict";We.d(Bt,{h:()=>ne});var M=We(26365),e=We(58750),V=We(983),Le=We(9326),q=We(86648);function ne(...re){const ve=(0,Le.lI)(re),le=(0,Le.R0)(re,1/0),pe=re;return pe.length?1===pe.length?(0,e.Tg)(pe[0]):(0,M.U)(le)((0,q.H)(pe,ve)):V.w}},7673:(ri,Bt,We)=>{"use strict";We.d(Bt,{of:()=>V});var M=We(9326),e=We(86648);function V(...Le){const q=(0,M.lI)(Le);return(0,e.H)(Le,q)}},18810:(ri,Bt,We)=>{"use strict";We.d(Bt,{$:()=>V});var M=We(71985),e=We(98071);function V(Le,q){const ne=(0,e.T)(Le)?Le:()=>Le,re=ve=>ve.error(ne());return new M.c(q?ve=>q.schedule(re,0,ve):re)}},41584:(ri,Bt,We)=>{"use strict";We.d(Bt,{O:()=>q});var M=We(71985),e=We(43236),V=We(79470);function q(ne=0,re,ve=e.b){let le=-1;return null!=re&&((0,V.m)(re)?ve=re:le=re),new M.c(pe=>{let ue=function Le(ne){return ne instanceof Date&&!isNaN(ne)}(ne)?+ne-ve.now():ne;ue<0&&(ue=0);let J=0;return ve.schedule(function(){pe.closed||(pe.next(J++),0<=le?this.schedule(void 0,le):pe.complete())},ue)})}},54360:(ri,Bt,We)=>{"use strict";We.d(Bt,{_:()=>e});var M=We(47707);function e(Le,q,ne,re,ve){return new V(Le,q,ne,re,ve)}class V extends M.vU{constructor(q,ne,re,ve,le,pe){super(q),this.onFinalize=le,this.shouldUnsubscribe=pe,this._next=ne?function(ue){try{ne(ue)}catch(J){q.error(J)}}:super._next,this._error=ve?function(ue){try{ve(ue)}catch(J){q.error(J)}finally{this.unsubscribe()}}:super._error,this._complete=re?function(){try{re()}catch(ue){q.error(ue)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var q;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:ne}=this;super.unsubscribe(),!ne&&(null===(q=this.onFinalize)||void 0===q||q.call(this))}}}},99437:(ri,Bt,We)=>{"use strict";We.d(Bt,{W:()=>Le});var M=We(58750),e=We(54360),V=We(39974);function Le(q){return(0,V.N)((ne,re)=>{let pe,ve=null,le=!1;ve=ne.subscribe((0,e._)(re,void 0,void 0,ue=>{pe=(0,M.Tg)(q(ue,Le(q)(ne))),ve?(ve.unsubscribe(),ve=null,pe.subscribe(re)):le=!0})),le&&(ve.unsubscribe(),ve=null,pe.subscribe(re))})}},70274:(ri,Bt,We)=>{"use strict";We.d(Bt,{H:()=>V});var M=We(73028),e=We(98071);function V(Le,q){return(0,e.T)(q)?(0,M.Z)(Le,q,1):(0,M.Z)(Le,1)}},70152:(ri,Bt,We)=>{"use strict";We.d(Bt,{B:()=>Le});var M=We(43236),e=We(39974),V=We(54360);function Le(q,ne=M.E){return(0,e.N)((re,ve)=>{let le=null,pe=null,ue=null;const J=()=>{if(le){le.unsubscribe(),le=null;const X=pe;pe=null,ve.next(X)}};function te(){const X=ue+q,E=ne.now();if(E{pe=X,ue=ne.now(),le||(le=ne.schedule(te,q),ve.add(le))},()=>{J(),ve.complete()},void 0,()=>{pe=le=null}))})}},91986:(ri,Bt,We)=>{"use strict";We.d(Bt,{c:()=>te});var M=We(43236),e=We(28793),V=We(96697),Le=We(39974),q=We(54360),ne=We(85343),ve=We(73703),le=We(73028),pe=We(58750);function ue(X,E){return E?j=>(0,e.x)(E.pipe((0,V.s)(1),function re(){return(0,Le.N)((X,E)=>{X.subscribe((0,q._)(E,ne.l))})}()),j.pipe(ue(X))):(0,le.Z)((j,F)=>(0,pe.Tg)(X(j,F)).pipe((0,V.s)(1),(0,ve.u)(j)))}var J=We(41584);function te(X,E=M.E){const j=(0,J.O)(X,E);return ue(()=>j)}},23294:(ri,Bt,We)=>{"use strict";We.d(Bt,{F:()=>Le});var M=We(33669),e=We(39974),V=We(54360);function Le(ne,re=M.D){return ne=ne??q,(0,e.N)((ve,le)=>{let pe,ue=!0;ve.subscribe((0,V._)(le,J=>{const te=re(J);(ue||!ne(pe,te))&&(ue=!1,pe=te,le.next(J))}))})}function q(ne,re){return ne===re}},5964:(ri,Bt,We)=>{"use strict";We.d(Bt,{p:()=>V});var M=We(39974),e=We(54360);function V(Le,q){return(0,M.N)((ne,re)=>{let ve=0;ne.subscribe((0,e._)(re,le=>Le.call(q,le,ve++)&&re.next(le)))})}},70980:(ri,Bt,We)=>{"use strict";We.d(Bt,{j:()=>e});var M=We(39974);function e(V){return(0,M.N)((Le,q)=>{try{Le.subscribe(q)}finally{q.add(V)}})}},96354:(ri,Bt,We)=>{"use strict";We.d(Bt,{T:()=>V});var M=We(39974),e=We(54360);function V(Le,q){return(0,M.N)((ne,re)=>{let ve=0;ne.subscribe((0,e._)(re,le=>{re.next(Le.call(q,le,ve++))}))})}},73703:(ri,Bt,We)=>{"use strict";We.d(Bt,{u:()=>e});var M=We(96354);function e(V){return(0,M.T)(()=>V)}},26365:(ri,Bt,We)=>{"use strict";We.d(Bt,{U:()=>V});var M=We(73028),e=We(33669);function V(Le=1/0){return(0,M.Z)(e.D,Le)}},85412:(ri,Bt,We)=>{"use strict";We.d(Bt,{h:()=>Le});var M=We(58750),e=We(45225),V=We(54360);function Le(q,ne,re,ve,le,pe,ue,J){const te=[];let X=0,E=0,j=!1;const F=()=>{j&&!te.length&&!X&&ne.complete()},P=A=>X{pe&&ne.next(A),X++;let I=!1;(0,M.Tg)(re(A,E++)).subscribe((0,V._)(ne,_=>{le?.(_),pe?P(_):ne.next(_)},()=>{I=!0},void 0,()=>{if(I)try{for(X--;te.length&&XD(_)):D(_)}F()}catch(_){ne.error(_)}}))};return q.subscribe((0,V._)(ne,P,()=>{j=!0,F()})),()=>{J?.()}}},73028:(ri,Bt,We)=>{"use strict";We.d(Bt,{Z:()=>ne});var M=We(96354),e=We(58750),V=We(39974),Le=We(85412),q=We(98071);function ne(re,ve,le=1/0){return(0,q.T)(ve)?ne((pe,ue)=>(0,M.T)((J,te)=>ve(pe,J,ue,te))((0,e.Tg)(re(pe,ue))),le):("number"==typeof ve&&(le=ve),(0,V.N)((pe,ue)=>(0,Le.h)(pe,ue,re,le)))}},97647:(ri,Bt,We)=>{"use strict";We.d(Bt,{u:()=>q});var M=We(58750),e=We(21413),V=We(47707),Le=We(39974);function q(re={}){const{connector:ve=(()=>new e.B),resetOnError:le=!0,resetOnComplete:pe=!0,resetOnRefCountZero:ue=!0}=re;return J=>{let te,X,E,j=0,F=!1,P=!1;const D=()=>{X?.unsubscribe(),X=void 0},A=()=>{D(),te=E=void 0,F=P=!1},I=()=>{const _=te;A(),_?.unsubscribe()};return(0,Le.N)((_,m)=>{j++,!P&&!F&&D();const w=E=E??ve();m.add(()=>{j--,0===j&&!P&&!F&&(X=ne(I,ue))}),w.subscribe(m),!te&&j>0&&(te=new V.Ms({next:G=>w.next(G),error:G=>{P=!0,D(),X=ne(A,le,G),w.error(G)},complete:()=>{F=!0,D(),X=ne(A,pe),w.complete()}}),(0,M.Tg)(_).subscribe(te))})(J)}}function ne(re,ve,...le){if(!0===ve)return void re();if(!1===ve)return;const pe=new V.Ms({next:()=>{pe.unsubscribe(),re()}});return(0,M.Tg)(ve(...le)).subscribe(pe)}},99172:(ri,Bt,We)=>{"use strict";We.d(Bt,{Z:()=>Le});var M=We(28793),e=We(9326),V=We(39974);function Le(...q){const ne=(0,e.lI)(q);return(0,V.N)((re,ve)=>{(ne?(0,M.x)(q,re,ne):(0,M.x)(q,re)).subscribe(ve)})}},25558:(ri,Bt,We)=>{"use strict";We.d(Bt,{n:()=>Le});var M=We(58750),e=We(39974),V=We(54360);function Le(q,ne){return(0,e.N)((re,ve)=>{let le=null,pe=0,ue=!1;const J=()=>ue&&!le&&ve.complete();re.subscribe((0,V._)(ve,te=>{le?.unsubscribe();let X=0;const E=pe++;(0,M.Tg)(q(te,E)).subscribe(le=(0,V._)(ve,j=>ve.next(ne?ne(te,j,E,X++):j),()=>{le=null,J()}))},()=>{ue=!0,J()}))})}},96697:(ri,Bt,We)=>{"use strict";We.d(Bt,{s:()=>Le});var M=We(983),e=We(39974),V=We(54360);function Le(q){return q<=0?()=>M.w:(0,e.N)((ne,re)=>{let ve=0;ne.subscribe((0,V._)(re,le=>{++ve<=q&&(re.next(le),q<=ve&&re.complete())}))})}},56977:(ri,Bt,We)=>{"use strict";We.d(Bt,{Q:()=>q});var M=We(39974),e=We(54360),V=We(58750),Le=We(85343);function q(ne){return(0,M.N)((re,ve)=>{(0,V.Tg)(ne).subscribe((0,e._)(ve,()=>ve.complete(),Le.l)),!ve.closed&&re.subscribe(ve)})}},88141:(ri,Bt,We)=>{"use strict";We.d(Bt,{M:()=>q});var M=We(98071),e=We(39974),V=We(54360),Le=We(33669);function q(ne,re,ve){const le=(0,M.T)(ne)||re||ve?{next:ne,error:re,complete:ve}:ne;return le?(0,e.N)((pe,ue)=>{var J;null===(J=le.subscribe)||void 0===J||J.call(le);let te=!0;pe.subscribe((0,V._)(ue,X=>{var E;null===(E=le.next)||void 0===E||E.call(le,X),ue.next(X)},()=>{var X;te=!1,null===(X=le.complete)||void 0===X||X.call(le),ue.complete()},X=>{var E;te=!1,null===(E=le.error)||void 0===E||E.call(le,X),ue.error(X)},()=>{var X,E;te&&(null===(X=le.unsubscribe)||void 0===X||X.call(le)),null===(E=le.finalize)||void 0===E||E.call(le)}))}):Le.D}},96780:(ri,Bt,We)=>{"use strict";We.d(Bt,{R:()=>q});var M=We(18359);class e extends M.yU{constructor(re,ve){super()}schedule(re,ve=0){return this}}const V={setInterval(ne,re,...ve){const{delegate:le}=V;return le?.setInterval?le.setInterval(ne,re,...ve):setInterval(ne,re,...ve)},clearInterval(ne){const{delegate:re}=V;return(re?.clearInterval||clearInterval)(ne)},delegate:void 0};var Le=We(57908);class q extends e{constructor(re,ve){super(re,ve),this.scheduler=re,this.work=ve,this.pending=!1}schedule(re,ve=0){var le;if(this.closed)return this;this.state=re;const pe=this.id,ue=this.scheduler;return null!=pe&&(this.id=this.recycleAsyncId(ue,pe,ve)),this.pending=!0,this.delay=ve,this.id=null!==(le=this.id)&&void 0!==le?le:this.requestAsyncId(ue,this.id,ve),this}requestAsyncId(re,ve,le=0){return V.setInterval(re.flush.bind(re,this),le)}recycleAsyncId(re,ve,le=0){if(null!=le&&this.delay===le&&!1===this.pending)return ve;null!=ve&&V.clearInterval(ve)}execute(re,ve){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const le=this._execute(re,ve);if(le)return le;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(re,ve){let pe,le=!1;try{this.work(re)}catch(ue){le=!0,pe=ue||new Error("Scheduled action threw falsy error")}if(le)return this.unsubscribe(),pe}unsubscribe(){if(!this.closed){const{id:re,scheduler:ve}=this,{actions:le}=ve;this.work=this.state=this.scheduler=null,this.pending=!1,(0,Le.o)(le,this),null!=re&&(this.id=this.recycleAsyncId(ve,re,null)),this.delay=null,super.unsubscribe()}}}},39687:(ri,Bt,We)=>{"use strict";We.d(Bt,{q:()=>V});var M=We(86129);class e{constructor(q,ne=e.now){this.schedulerActionCtor=q,this.now=ne}schedule(q,ne=0,re){return new this.schedulerActionCtor(this,q).schedule(re,ne)}}e.now=M.U.now;class V extends e{constructor(q,ne=e.now){super(q,ne),this.actions=[],this._active=!1}flush(q){const{actions:ne}=this;if(this._active)return void ne.push(q);let re;this._active=!0;do{if(re=q.execute(q.state,q.delay))break}while(q=ne.shift());if(this._active=!1,re){for(;q=ne.shift();)q.unsubscribe();throw re}}}},30536:(ri,Bt,We)=>{"use strict";We.d(Bt,{X:()=>re});var M=We(96780),e=We(18359);const V={schedule(le){let pe=requestAnimationFrame,ue=cancelAnimationFrame;const{delegate:J}=V;J&&(pe=J.requestAnimationFrame,ue=J.cancelAnimationFrame);const te=pe(X=>{ue=void 0,le(X)});return new e.yU(()=>ue?.(te))},requestAnimationFrame(...le){const{delegate:pe}=V;return(pe?.requestAnimationFrame||requestAnimationFrame)(...le)},cancelAnimationFrame(...le){const{delegate:pe}=V;return(pe?.cancelAnimationFrame||cancelAnimationFrame)(...le)},delegate:void 0};var q=We(39687);const re=new class ne extends q.q{flush(pe){this._active=!0;const ue=this._scheduled;this._scheduled=void 0;const{actions:J}=this;let te;pe=pe||J.shift();do{if(te=pe.execute(pe.state,pe.delay))break}while((pe=J[0])&&pe.id===ue&&J.shift());if(this._active=!1,te){for(;(pe=J[0])&&pe.id===ue&&J.shift();)pe.unsubscribe();throw te}}}(class Le extends M.R{constructor(pe,ue){super(pe,ue),this.scheduler=pe,this.work=ue}requestAsyncId(pe,ue,J=0){return null!==J&&J>0?super.requestAsyncId(pe,ue,J):(pe.actions.push(this),pe._scheduled||(pe._scheduled=V.requestAnimationFrame(()=>pe.flush(void 0))))}recycleAsyncId(pe,ue,J=0){var te;if(null!=J?J>0:this.delay>0)return super.recycleAsyncId(pe,ue,J);const{actions:X}=pe;null!=ue&&(null===(te=X[X.length-1])||void 0===te?void 0:te.id)!==ue&&(V.cancelAnimationFrame(ue),pe._scheduled=void 0)}})},43236:(ri,Bt,We)=>{"use strict";We.d(Bt,{E:()=>V,b:()=>Le});var M=We(96780);const V=new(We(39687).q)(M.R),Le=V},86129:(ri,Bt,We)=>{"use strict";We.d(Bt,{U:()=>M});const M={now:()=>(M.delegate||Date).now(),delegate:void 0}},19270:(ri,Bt,We)=>{"use strict";We.d(Bt,{f:()=>M});const M={setTimeout(e,V,...Le){const{delegate:q}=M;return q?.setTimeout?q.setTimeout(e,V,...Le):setTimeout(e,V,...Le)},clearTimeout(e){const{delegate:V}=M;return(V?.clearTimeout||clearTimeout)(e)},delegate:void 0}},4761:(ri,Bt,We)=>{"use strict";We.d(Bt,{l:()=>e});const e=function M(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}()},3494:(ri,Bt,We)=>{"use strict";We.d(Bt,{s:()=>M});const M="function"==typeof Symbol&&Symbol.observable||"@@observable"},9326:(ri,Bt,We)=>{"use strict";We.d(Bt,{R0:()=>ne,lI:()=>q,ms:()=>Le});var M=We(98071),e=We(79470);function V(re){return re[re.length-1]}function Le(re){return(0,M.T)(V(re))?re.pop():void 0}function q(re){return(0,e.m)(V(re))?re.pop():void 0}function ne(re,ve){return"number"==typeof V(re)?re.pop():ve}},93073:(ri,Bt,We)=>{"use strict";We.d(Bt,{D:()=>q});const{isArray:M}=Array,{getPrototypeOf:e,prototype:V,keys:Le}=Object;function q(re){if(1===re.length){const ve=re[0];if(M(ve))return{args:ve,keys:null};if(function ne(re){return re&&"object"==typeof re&&e(re)===V}(ve)){const le=Le(ve);return{args:le.map(pe=>ve[pe]),keys:le}}}return{args:re,keys:null}}},57908:(ri,Bt,We)=>{"use strict";function M(e,V){if(e){const Le=e.indexOf(V);0<=Le&&e.splice(Le,1)}}We.d(Bt,{o:()=>M})},81853:(ri,Bt,We)=>{"use strict";function M(e){const Le=e(q=>{Error.call(q),q.stack=(new Error).stack});return Le.prototype=Object.create(Error.prototype),Le.prototype.constructor=Le,Le}We.d(Bt,{L:()=>M})},58496:(ri,Bt,We)=>{"use strict";function M(e,V){return e.reduce((Le,q,ne)=>(Le[q]=V[ne],Le),{})}We.d(Bt,{e:()=>M})},49786:(ri,Bt,We)=>{"use strict";We.d(Bt,{Y:()=>V,l:()=>Le});var M=We(41026);let e=null;function V(q){if(M.$.useDeprecatedSynchronousErrorHandling){const ne=!e;if(ne&&(e={errorThrown:!1,error:null}),q(),ne){const{errorThrown:re,error:ve}=e;if(e=null,re)throw ve}}else q()}function Le(q){M.$.useDeprecatedSynchronousErrorHandling&&e&&(e.errorThrown=!0,e.error=q)}},45225:(ri,Bt,We)=>{"use strict";function M(e,V,Le,q=0,ne=!1){const re=V.schedule(function(){Le(),ne?e.add(this.schedule(null,q)):this.unsubscribe()},q);if(e.add(re),!ne)return re}We.d(Bt,{N:()=>M})},33669:(ri,Bt,We)=>{"use strict";function M(e){return e}We.d(Bt,{D:()=>M})},47441:(ri,Bt,We)=>{"use strict";We.d(Bt,{X:()=>M});const M=e=>e&&"number"==typeof e.length&&"function"!=typeof e},37953:(ri,Bt,We)=>{"use strict";We.d(Bt,{T:()=>e});var M=We(98071);function e(V){return Symbol.asyncIterator&&(0,M.T)(V?.[Symbol.asyncIterator])}},98071:(ri,Bt,We)=>{"use strict";function M(e){return"function"==typeof e}We.d(Bt,{T:()=>M})},55055:(ri,Bt,We)=>{"use strict";We.d(Bt,{l:()=>V});var M=We(3494),e=We(98071);function V(Le){return(0,e.T)(Le[M.s])}},85397:(ri,Bt,We)=>{"use strict";We.d(Bt,{x:()=>V});var M=We(4761),e=We(98071);function V(Le){return(0,e.T)(Le?.[M.l])}},74402:(ri,Bt,We)=>{"use strict";We.d(Bt,{A:()=>V});var M=We(71985),e=We(98071);function V(Le){return!!Le&&(Le instanceof M.c||(0,e.T)(Le.lift)&&(0,e.T)(Le.subscribe))}},59858:(ri,Bt,We)=>{"use strict";We.d(Bt,{y:()=>e});var M=We(98071);function e(V){return(0,M.T)(V?.then)}},15196:(ri,Bt,We)=>{"use strict";We.d(Bt,{C:()=>V,U:()=>Le});var M=We(31635),e=We(98071);function V(q){return(0,M.AQ)(this,arguments,function*(){const re=q.getReader();try{for(;;){const{value:ve,done:le}=yield(0,M.N3)(re.read());if(le)return yield(0,M.N3)(void 0);yield yield(0,M.N3)(ve)}}finally{re.releaseLock()}})}function Le(q){return(0,e.T)(q?.getReader)}},79470:(ri,Bt,We)=>{"use strict";We.d(Bt,{m:()=>e});var M=We(98071);function e(V){return V&&(0,M.T)(V.schedule)}},39974:(ri,Bt,We)=>{"use strict";We.d(Bt,{N:()=>V,S:()=>e});var M=We(98071);function e(Le){return(0,M.T)(Le?.lift)}function V(Le){return q=>{if(e(q))return q.lift(function(ne){try{return Le(ne,this)}catch(re){this.error(re)}});throw new TypeError("Unable to lift unknown Observable type")}}},6450:(ri,Bt,We)=>{"use strict";We.d(Bt,{I:()=>Le});var M=We(96354);const{isArray:e}=Array;function Le(q){return(0,M.T)(ne=>function V(q,ne){return e(ne)?q(...ne):q(ne)}(q,ne))}},85343:(ri,Bt,We)=>{"use strict";function M(){}We.d(Bt,{l:()=>M})},71203:(ri,Bt,We)=>{"use strict";We.d(Bt,{F:()=>e,m:()=>V});var M=We(33669);function e(...Le){return V(Le)}function V(Le){return 0===Le.length?M.D:1===Le.length?Le[0]:function(ne){return Le.reduce((re,ve)=>ve(re),ne)}}},45334:(ri,Bt,We)=>{"use strict";We.d(Bt,{m:()=>V});var M=We(41026),e=We(19270);function V(Le){e.f.setTimeout(()=>{const{onUnhandledError:q}=M.$;if(!q)throw Le;q(Le)})}},50591:(ri,Bt,We)=>{"use strict";function M(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}We.d(Bt,{L:()=>M})},49969:(ri,Bt,We)=>{"use strict";We.d(Bt,{FX:()=>O,If:()=>M,K2:()=>ne,hZ:()=>V,i0:()=>Le,iF:()=>re,kY:()=>pe,kp:()=>e,lY:()=>ue,sM:()=>te,sf:()=>w,ui:()=>G,wk:()=>ve});var M=function(f){return f[f.State=0]="State",f[f.Transition=1]="Transition",f[f.Sequence=2]="Sequence",f[f.Group=3]="Group",f[f.Animate=4]="Animate",f[f.Keyframes=5]="Keyframes",f[f.Style=6]="Style",f[f.Trigger=7]="Trigger",f[f.Reference=8]="Reference",f[f.AnimateChild=9]="AnimateChild",f[f.AnimateRef=10]="AnimateRef",f[f.Query=11]="Query",f[f.Stagger=12]="Stagger",f}(M||{});const e="*";function V(f,a){return{type:M.Trigger,name:f,definitions:a,options:{}}}function Le(f,a=null){return{type:M.Animate,styles:a,timings:f}}function ne(f,a=null){return{type:M.Sequence,steps:f,options:a}}function re(f){return{type:M.Style,styles:f,offset:null}}function ve(f,a,g){return{type:M.State,name:f,styles:a,options:g}}function pe(f,a,g=null){return{type:M.Transition,expr:f,animation:a,options:g}}function ue(f,a=null){return{type:M.Reference,animation:f,options:a}}function te(f,a=null){return{type:M.AnimateRef,animation:f,options:a}}class w{constructor(a=0,g=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=a+g}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(a=>a()),this._onDoneFns=[])}onStart(a){this._originalOnStartFns.push(a),this._onStartFns.push(a)}onDone(a){this._originalOnDoneFns.push(a),this._onDoneFns.push(a)}onDestroy(a){this._onDestroyFns.push(a)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(a=>a()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(a=>a()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(a){this._position=this.totalTime?a*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(a){const g="start"==a?this._onStartFns:this._onDoneFns;g.forEach(v=>v()),g.length=0}}class G{constructor(a){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=a;let g=0,v=0,o=0;const n=this.players.length;0==n?queueMicrotask(()=>this._onFinish()):this.players.forEach(r=>{r.onDone(()=>{++g==n&&this._onFinish()}),r.onDestroy(()=>{++v==n&&this._onDestroy()}),r.onStart(()=>{++o==n&&this._onStart()})}),this.totalTime=this.players.reduce((r,l)=>Math.max(r,l.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(a=>a()),this._onDoneFns=[])}init(){this.players.forEach(a=>a.init())}onStart(a){this._onStartFns.push(a)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(a=>a()),this._onStartFns=[])}onDone(a){this._onDoneFns.push(a)}onDestroy(a){this._onDestroyFns.push(a)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(a=>a.play())}pause(){this.players.forEach(a=>a.pause())}restart(){this.players.forEach(a=>a.restart())}finish(){this._onFinish(),this.players.forEach(a=>a.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(a=>a.destroy()),this._onDestroyFns.forEach(a=>a()),this._onDestroyFns=[])}reset(){this.players.forEach(a=>a.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(a){const g=a*this.totalTime;this.players.forEach(v=>{const o=v.totalTime?Math.min(1,g/v.totalTime):1;v.setPosition(o)})}getPosition(){const a=this.players.reduce((g,v)=>null===g||v.totalTime>g.totalTime?v:g,null);return null!=a?a.getPosition():0}beforeDestroy(){this.players.forEach(a=>{a.beforeDestroy&&a.beforeDestroy()})}triggerCallback(a){const g="start"==a?this._onStartFns:this._onDoneFns;g.forEach(v=>v()),g.length=0}}const O="!"},83801:(ri,Bt,We)=>{"use strict";We.d(Bt,{B0:()=>Le,FQ:()=>re});var M=We(60177),e=We(54438);class V{constructor(le,pe){this._document=pe;const ue=this._textarea=this._document.createElement("textarea"),J=ue.style;J.position="fixed",J.top=J.opacity="0",J.left="-999em",ue.setAttribute("aria-hidden","true"),ue.value=le,ue.readOnly=!0,(this._document.fullscreenElement||this._document.body).appendChild(ue)}copy(){const le=this._textarea;let pe=!1;try{if(le){const ue=this._document.activeElement;le.select(),le.setSelectionRange(0,le.value.length),pe=this._document.execCommand("copy"),ue&&ue.focus()}}catch{}return pe}destroy(){const le=this._textarea;le&&(le.remove(),this._textarea=void 0)}}let Le=(()=>{class ve{constructor(pe){this._document=pe}copy(pe){const ue=this.beginCopy(pe),J=ue.copy();return ue.destroy(),J}beginCopy(pe){return new V(pe,this._document)}static#e=this.\u0275fac=function(ue){return new(ue||ve)(e.KVO(M.qQ))};static#t=this.\u0275prov=e.jDH({token:ve,factory:ve.\u0275fac,providedIn:"root"})}return ve})(),re=(()=>{class ve{static#e=this.\u0275fac=function(ue){return new(ue||ve)};static#t=this.\u0275mod=e.$C({type:ve});static#i=this.\u0275inj=e.G2t({})}return ve})()},60177:(ri,Bt,We)=>{"use strict";We.d(Bt,{AJ:()=>ko,B3:()=>Ui,Jj:()=>wn,MD:()=>Yo,N0:()=>Do,QT:()=>V,Sm:()=>j,Sq:()=>si,T3:()=>ln,UE:()=>Qs,VF:()=>q,Vy:()=>ga,XO:()=>r,Xr:()=>cr,YU:()=>$e,Yq:()=>xe,ZD:()=>Le,_b:()=>Nt,aZ:()=>P,bT:()=>Ki,cH:()=>f,e1:()=>sn,fG:()=>Bn,fw:()=>F,hb:()=>X,hj:()=>le,lG:()=>Tr,oV:()=>O,qQ:()=>re,tL:()=>l,ux:()=>cs,vh:()=>Jr});var M=We(54438);let e=null;function V(){return e}function Le(Ge){e??=Ge}class q{}const re=new M.nKC("");let ve=(()=>{class Ge{historyGo(Ke){throw new Error("")}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275prov=M.jDH({token:Ge,factory:()=>(0,M.WQX)(pe),providedIn:"platform"})}return Ge})();const le=new M.nKC("");let pe=(()=>{class Ge extends ve{constructor(){super(),this._doc=(0,M.WQX)(re),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return V().getBaseHref(this._doc)}onPopState(Ke){const at=V().getGlobalEventTarget(this._doc,"window");return at.addEventListener("popstate",Ke,!1),()=>at.removeEventListener("popstate",Ke)}onHashChange(Ke){const at=V().getGlobalEventTarget(this._doc,"window");return at.addEventListener("hashchange",Ke,!1),()=>at.removeEventListener("hashchange",Ke)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(Ke){this._location.pathname=Ke}pushState(Ke,at,Et){this._history.pushState(Ke,at,Et)}replaceState(Ke,at,Et){this._history.replaceState(Ke,at,Et)}forward(){this._history.forward()}back(){this._history.back()}historyGo(Ke=0){this._history.go(Ke)}getState(){return this._history.state}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275prov=M.jDH({token:Ge,factory:()=>new Ge,providedIn:"platform"})}return Ge})();function ue(Ge,ut){if(0==Ge.length)return ut;if(0==ut.length)return Ge;let Ke=0;return Ge.endsWith("/")&&Ke++,ut.startsWith("/")&&Ke++,2==Ke?Ge+ut.substring(1):1==Ke?Ge+ut:Ge+"/"+ut}function J(Ge){const ut=Ge.match(/#|\?|$/),Ke=ut&&ut.index||Ge.length;return Ge.slice(0,Ke-("/"===Ge[Ke-1]?1:0))+Ge.slice(Ke)}function te(Ge){return Ge&&"?"!==Ge[0]?"?"+Ge:Ge}let X=(()=>{class Ge{historyGo(Ke){throw new Error("")}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275prov=M.jDH({token:Ge,factory:()=>(0,M.WQX)(j),providedIn:"root"})}return Ge})();const E=new M.nKC("");let j=(()=>{class Ge extends X{constructor(Ke,at){super(),this._platformLocation=Ke,this._removeListenerFns=[],this._baseHref=at??this._platformLocation.getBaseHrefFromDOM()??(0,M.WQX)(re).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(Ke){this._removeListenerFns.push(this._platformLocation.onPopState(Ke),this._platformLocation.onHashChange(Ke))}getBaseHref(){return this._baseHref}prepareExternalUrl(Ke){return ue(this._baseHref,Ke)}path(Ke=!1){const at=this._platformLocation.pathname+te(this._platformLocation.search),Et=this._platformLocation.hash;return Et&&Ke?`${at}${Et}`:at}pushState(Ke,at,Et,Jt){const ci=this.prepareExternalUrl(Et+te(Jt));this._platformLocation.pushState(Ke,at,ci)}replaceState(Ke,at,Et,Jt){const ci=this.prepareExternalUrl(Et+te(Jt));this._platformLocation.replaceState(Ke,at,ci)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(Ke=0){this._platformLocation.historyGo?.(Ke)}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.KVO(ve),M.KVO(E,8))};static#t=this.\u0275prov=M.jDH({token:Ge,factory:Ge.\u0275fac,providedIn:"root"})}return Ge})(),F=(()=>{class Ge extends X{constructor(Ke,at){super(),this._platformLocation=Ke,this._baseHref="",this._removeListenerFns=[],null!=at&&(this._baseHref=at)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(Ke){this._removeListenerFns.push(this._platformLocation.onPopState(Ke),this._platformLocation.onHashChange(Ke))}getBaseHref(){return this._baseHref}path(Ke=!1){const at=this._platformLocation.hash??"#";return at.length>0?at.substring(1):at}prepareExternalUrl(Ke){const at=ue(this._baseHref,Ke);return at.length>0?"#"+at:at}pushState(Ke,at,Et,Jt){let ci=this.prepareExternalUrl(Et+te(Jt));0==ci.length&&(ci=this._platformLocation.pathname),this._platformLocation.pushState(Ke,at,ci)}replaceState(Ke,at,Et,Jt){let ci=this.prepareExternalUrl(Et+te(Jt));0==ci.length&&(ci=this._platformLocation.pathname),this._platformLocation.replaceState(Ke,at,ci)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(Ke=0){this._platformLocation.historyGo?.(Ke)}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.KVO(ve),M.KVO(E,8))};static#t=this.\u0275prov=M.jDH({token:Ge,factory:Ge.\u0275fac})}return Ge})(),P=(()=>{class Ge{constructor(Ke){this._subject=new M.bkB,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=Ke;const at=this._locationStrategy.getBaseHref();this._basePath=function _(Ge){if(new RegExp("^(https?:)?//").test(Ge)){const[,Ke]=Ge.split(/\/\/[^\/]+/);return Ke}return Ge}(J(I(at))),this._locationStrategy.onPopState(Et=>{this._subject.emit({url:this.path(!0),pop:!0,state:Et.state,type:Et.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(Ke=!1){return this.normalize(this._locationStrategy.path(Ke))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(Ke,at=""){return this.path()==this.normalize(Ke+te(at))}normalize(Ke){return Ge.stripTrailingSlash(function A(Ge,ut){if(!Ge||!ut.startsWith(Ge))return ut;const Ke=ut.substring(Ge.length);return""===Ke||["/",";","?","#"].includes(Ke[0])?Ke:ut}(this._basePath,I(Ke)))}prepareExternalUrl(Ke){return Ke&&"/"!==Ke[0]&&(Ke="/"+Ke),this._locationStrategy.prepareExternalUrl(Ke)}go(Ke,at="",Et=null){this._locationStrategy.pushState(Et,"",Ke,at),this._notifyUrlChangeListeners(this.prepareExternalUrl(Ke+te(at)),Et)}replaceState(Ke,at="",Et=null){this._locationStrategy.replaceState(Et,"",Ke,at),this._notifyUrlChangeListeners(this.prepareExternalUrl(Ke+te(at)),Et)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(Ke=0){this._locationStrategy.historyGo?.(Ke)}onUrlChange(Ke){return this._urlChangeListeners.push(Ke),this._urlChangeSubscription??=this.subscribe(at=>{this._notifyUrlChangeListeners(at.url,at.state)}),()=>{const at=this._urlChangeListeners.indexOf(Ke);this._urlChangeListeners.splice(at,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(Ke="",at){this._urlChangeListeners.forEach(Et=>Et(Ke,at))}subscribe(Ke,at,Et){return this._subject.subscribe({next:Ke,error:at,complete:Et})}static#e=this.normalizeQueryParams=te;static#t=this.joinWithSlash=ue;static#i=this.stripTrailingSlash=J;static#n=this.\u0275fac=function(at){return new(at||Ge)(M.KVO(X))};static#s=this.\u0275prov=M.jDH({token:Ge,factory:()=>function D(){return new P((0,M.KVO)(X))}(),providedIn:"root"})}return Ge})();function I(Ge){return Ge.replace(/\/index.html$/,"")}var O=function(Ge){return Ge[Ge.Format=0]="Format",Ge[Ge.Standalone=1]="Standalone",Ge}(O||{}),f=function(Ge){return Ge[Ge.Narrow=0]="Narrow",Ge[Ge.Abbreviated=1]="Abbreviated",Ge[Ge.Wide=2]="Wide",Ge[Ge.Short=3]="Short",Ge}(f||{}),a=function(Ge){return Ge[Ge.Short=0]="Short",Ge[Ge.Medium=1]="Medium",Ge[Ge.Long=2]="Long",Ge[Ge.Full=3]="Full",Ge}(a||{});const g={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function r(Ge,ut,Ke){const at=(0,M.H5H)(Ge),Jt=Y([at[M.KH2.DaysFormat],at[M.KH2.DaysStandalone]],ut);return Y(Jt,Ke)}function l(Ge,ut,Ke){const at=(0,M.H5H)(Ge),Jt=Y([at[M.KH2.MonthsFormat],at[M.KH2.MonthsStandalone]],ut);return Y(Jt,Ke)}function p(Ge,ut){return Y((0,M.H5H)(Ge)[M.KH2.DateFormat],ut)}function T(Ge,ut){return Y((0,M.H5H)(Ge)[M.KH2.TimeFormat],ut)}function B(Ge,ut){return Y((0,M.H5H)(Ge)[M.KH2.DateTimeFormat],ut)}function z(Ge,ut){const Ke=(0,M.H5H)(Ge),at=Ke[M.KH2.NumberSymbols][ut];if(typeof at>"u"){if(ut===g.CurrencyDecimal)return Ke[M.KH2.NumberSymbols][g.Decimal];if(ut===g.CurrencyGroup)return Ke[M.KH2.NumberSymbols][g.Group]}return at}function x(Ge){if(!Ge[M.KH2.ExtraData])throw new Error(`Missing extra locale data for the locale "${Ge[M.KH2.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function Y(Ge,ut){for(let Ke=ut;Ke>-1;Ke--)if(typeof Ge[Ke]<"u")return Ge[Ke];throw new Error("Locale data API: locale data undefined")}function he(Ge){const[ut,Ke]=Ge.split(":");return{hours:+ut,minutes:+Ke}}const Oe=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,De={},Be=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var oe=function(Ge){return Ge[Ge.Short=0]="Short",Ge[Ge.ShortGMT=1]="ShortGMT",Ge[Ge.Long=2]="Long",Ge[Ge.Extended=3]="Extended",Ge}(oe||{}),ee=function(Ge){return Ge[Ge.FullYear=0]="FullYear",Ge[Ge.Month=1]="Month",Ge[Ge.Date=2]="Date",Ge[Ge.Hours=3]="Hours",Ge[Ge.Minutes=4]="Minutes",Ge[Ge.Seconds=5]="Seconds",Ge[Ge.FractionalSeconds=6]="FractionalSeconds",Ge[Ge.Day=7]="Day",Ge}(ee||{}),be=function(Ge){return Ge[Ge.DayPeriods=0]="DayPeriods",Ge[Ge.Days=1]="Days",Ge[Ge.Months=2]="Months",Ge[Ge.Eras=3]="Eras",Ge}(be||{});function xe(Ge,ut,Ke,at){let Et=function Ni(Ge){if(vi(Ge))return Ge;if("number"==typeof Ge&&!isNaN(Ge))return new Date(Ge);if("string"==typeof Ge){if(Ge=Ge.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(Ge)){const[Et,Jt=1,ci=1]=Ge.split("-").map(Oi=>+Oi);return Ie(Et,Jt-1,ci)}const Ke=parseFloat(Ge);if(!isNaN(Ge-Ke))return new Date(Ke);let at;if(at=Ge.match(Oe))return function mi(Ge){const ut=new Date(0);let Ke=0,at=0;const Et=Ge[8]?ut.setUTCFullYear:ut.setFullYear,Jt=Ge[8]?ut.setUTCHours:ut.setHours;Ge[9]&&(Ke=Number(Ge[9]+Ge[10]),at=Number(Ge[9]+Ge[11])),Et.call(ut,Number(Ge[1]),Number(Ge[2])-1,Number(Ge[3]));const ci=Number(Ge[4]||0)-Ke,Oi=Number(Ge[5]||0)-at,Wn=Number(Ge[6]||0),Qn=Math.floor(1e3*parseFloat("0."+(Ge[7]||0)));return Jt.call(ut,ci,Oi,Wn,Qn),ut}(at)}const ut=new Date(Ge);if(!vi(ut))throw new Error(`Unable to convert "${Ge}" into a date`);return ut}(Ge);ut=we(Ke,ut)||ut;let Oi,ci=[];for(;ut;){if(Oi=Be.exec(ut),!Oi){ci.push(ut);break}{ci=ci.concat(Oi.slice(1));const os=ci.pop();if(!os)break;ut=os}}let Wn=Et.getTimezoneOffset();at&&(Wn=wt(at,Wn),Et=function di(Ge,ut,Ke){const at=Ke?-1:1,Et=Ge.getTimezoneOffset();return function Qt(Ge,ut){return(Ge=new Date(Ge.getTime())).setMinutes(Ge.getMinutes()+ut),Ge}(Ge,at*(wt(ut,Et)-Et))}(Et,at,!0));let Qn="";return ci.forEach(os=>{const xn=function xt(Ge){if(It[Ge])return It[Ge];let ut;switch(Ge){case"G":case"GG":case"GGG":ut=qe(be.Eras,f.Abbreviated);break;case"GGGG":ut=qe(be.Eras,f.Wide);break;case"GGGGG":ut=qe(be.Eras,f.Narrow);break;case"y":ut=Je(ee.FullYear,1,0,!1,!0);break;case"yy":ut=Je(ee.FullYear,2,0,!0,!0);break;case"yyy":ut=Je(ee.FullYear,3,0,!1,!0);break;case"yyyy":ut=Je(ee.FullYear,4,0,!1,!0);break;case"Y":ut=Dt(1);break;case"YY":ut=Dt(2,!0);break;case"YYY":ut=Dt(3);break;case"YYYY":ut=Dt(4);break;case"M":case"L":ut=Je(ee.Month,1,1);break;case"MM":case"LL":ut=Je(ee.Month,2,1);break;case"MMM":ut=qe(be.Months,f.Abbreviated);break;case"MMMM":ut=qe(be.Months,f.Wide);break;case"MMMMM":ut=qe(be.Months,f.Narrow);break;case"LLL":ut=qe(be.Months,f.Abbreviated,O.Standalone);break;case"LLLL":ut=qe(be.Months,f.Wide,O.Standalone);break;case"LLLLL":ut=qe(be.Months,f.Narrow,O.Standalone);break;case"w":ut=ti(1);break;case"ww":ut=ti(2);break;case"W":ut=ti(1,!0);break;case"d":ut=Je(ee.Date,1);break;case"dd":ut=Je(ee.Date,2);break;case"c":case"cc":ut=Je(ee.Day,1);break;case"ccc":ut=qe(be.Days,f.Abbreviated,O.Standalone);break;case"cccc":ut=qe(be.Days,f.Wide,O.Standalone);break;case"ccccc":ut=qe(be.Days,f.Narrow,O.Standalone);break;case"cccccc":ut=qe(be.Days,f.Short,O.Standalone);break;case"E":case"EE":case"EEE":ut=qe(be.Days,f.Abbreviated);break;case"EEEE":ut=qe(be.Days,f.Wide);break;case"EEEEE":ut=qe(be.Days,f.Narrow);break;case"EEEEEE":ut=qe(be.Days,f.Short);break;case"a":case"aa":case"aaa":ut=qe(be.DayPeriods,f.Abbreviated);break;case"aaaa":ut=qe(be.DayPeriods,f.Wide);break;case"aaaaa":ut=qe(be.DayPeriods,f.Narrow);break;case"b":case"bb":case"bbb":ut=qe(be.DayPeriods,f.Abbreviated,O.Standalone,!0);break;case"bbbb":ut=qe(be.DayPeriods,f.Wide,O.Standalone,!0);break;case"bbbbb":ut=qe(be.DayPeriods,f.Narrow,O.Standalone,!0);break;case"B":case"BB":case"BBB":ut=qe(be.DayPeriods,f.Abbreviated,O.Format,!0);break;case"BBBB":ut=qe(be.DayPeriods,f.Wide,O.Format,!0);break;case"BBBBB":ut=qe(be.DayPeriods,f.Narrow,O.Format,!0);break;case"h":ut=Je(ee.Hours,1,-12);break;case"hh":ut=Je(ee.Hours,2,-12);break;case"H":ut=Je(ee.Hours,1);break;case"HH":ut=Je(ee.Hours,2);break;case"m":ut=Je(ee.Minutes,1);break;case"mm":ut=Je(ee.Minutes,2);break;case"s":ut=Je(ee.Seconds,1);break;case"ss":ut=Je(ee.Seconds,2);break;case"S":ut=Je(ee.FractionalSeconds,1);break;case"SS":ut=Je(ee.FractionalSeconds,2);break;case"SSS":ut=Je(ee.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":ut=Tt(oe.Short);break;case"ZZZZZ":ut=Tt(oe.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":ut=Tt(oe.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":ut=Tt(oe.Long);break;default:return null}return It[Ge]=ut,ut}(os);Qn+=xn?xn(Et,Ke,Wn):"''"===os?"'":os.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),Qn}function Ie(Ge,ut,Ke){const at=new Date(0);return at.setFullYear(Ge,ut,Ke),at.setHours(0,0,0),at}function we(Ge,ut){const Ke=function o(Ge){return(0,M.H5H)(Ge)[M.KH2.LocaleId]}(Ge);if(De[Ke]??={},De[Ke][ut])return De[Ke][ut];let at="";switch(ut){case"shortDate":at=p(Ge,a.Short);break;case"mediumDate":at=p(Ge,a.Medium);break;case"longDate":at=p(Ge,a.Long);break;case"fullDate":at=p(Ge,a.Full);break;case"shortTime":at=T(Ge,a.Short);break;case"mediumTime":at=T(Ge,a.Medium);break;case"longTime":at=T(Ge,a.Long);break;case"fullTime":at=T(Ge,a.Full);break;case"short":const Et=we(Ge,"shortTime"),Jt=we(Ge,"shortDate");at=Ee(B(Ge,a.Short),[Et,Jt]);break;case"medium":const ci=we(Ge,"mediumTime"),Oi=we(Ge,"mediumDate");at=Ee(B(Ge,a.Medium),[ci,Oi]);break;case"long":const Wn=we(Ge,"longTime"),Qn=we(Ge,"longDate");at=Ee(B(Ge,a.Long),[Wn,Qn]);break;case"full":const os=we(Ge,"fullTime"),xn=we(Ge,"fullDate");at=Ee(B(Ge,a.Full),[os,xn])}return at&&(De[Ke][ut]=at),at}function Ee(Ge,ut){return ut&&(Ge=Ge.replace(/\{([^}]+)}/g,function(Ke,at){return null!=ut&&at in ut?ut[at]:Ke})),Ge}function Me(Ge,ut,Ke="-",at,Et){let Jt="";(Ge<0||Et&&Ge<=0)&&(Et?Ge=1-Ge:(Ge=-Ge,Jt=Ke));let ci=String(Ge);for(;ci.length0||Oi>-Ke)&&(Oi+=Ke),Ge===ee.Hours)0===Oi&&-12===Ke&&(Oi=12);else if(Ge===ee.FractionalSeconds)return function Xe(Ge,ut){return Me(Ge,3).substring(0,ut)}(Oi,ut);const Wn=z(ci,g.MinusSign);return Me(Oi,ut,Wn,at,Et)}}function qe(Ge,ut,Ke=O.Format,at=!1){return function(Et,Jt){return function st(Ge,ut,Ke,at,Et,Jt){switch(Ke){case be.Months:return l(ut,Et,at)[Ge.getMonth()];case be.Days:return r(ut,Et,at)[Ge.getDay()];case be.DayPeriods:const ci=Ge.getHours(),Oi=Ge.getMinutes();if(Jt){const Qn=function N(Ge){const ut=(0,M.H5H)(Ge);return x(ut),(ut[M.KH2.ExtraData][2]||[]).map(at=>"string"==typeof at?he(at):[he(at[0]),he(at[1])])}(ut),os=function R(Ge,ut,Ke){const at=(0,M.H5H)(Ge);x(at);const Jt=Y([at[M.KH2.ExtraData][0],at[M.KH2.ExtraData][1]],ut)||[];return Y(Jt,Ke)||[]}(ut,Et,at),xn=Qn.findIndex(ys=>{if(Array.isArray(ys)){const[hs,zs]=ys,Lr=ci>=hs.hours&&Oi>=hs.minutes,Zn=ci0?Math.floor(Et/60):Math.ceil(Et/60);switch(Ge){case oe.Short:return(Et>=0?"+":"")+Me(ci,2,Jt)+Me(Math.abs(Et%60),2,Jt);case oe.ShortGMT:return"GMT"+(Et>=0?"+":"")+Me(ci,1,Jt);case oe.Long:return"GMT"+(Et>=0?"+":"")+Me(ci,2,Jt)+":"+Me(Math.abs(Et%60),2,Jt);case oe.Extended:return 0===at?"Z":(Et>=0?"+":"")+Me(ci,2,Jt)+":"+Me(Math.abs(Et%60),2,Jt);default:throw new Error(`Unknown zone width "${Ge}"`)}}}const pt=0,ht=4;function Gt(Ge){const ut=Ge.getDay(),Ke=0===ut?-3:ht-ut;return Ie(Ge.getFullYear(),Ge.getMonth(),Ge.getDate()+Ke)}function ti(Ge,ut=!1){return function(Ke,at){let Et;if(ut){const Jt=new Date(Ke.getFullYear(),Ke.getMonth(),1).getDay()-1,ci=Ke.getDate();Et=1+Math.floor((ci+Jt)/7)}else{const Jt=Gt(Ke),ci=function Pt(Ge){const ut=Ie(Ge,pt,1).getDay();return Ie(Ge,0,1+(ut<=ht?ht:ht+7)-ut)}(Jt.getFullYear()),Oi=Jt.getTime()-ci.getTime();Et=1+Math.round(Oi/6048e5)}return Me(Et,Ge,z(at,g.MinusSign))}}function Dt(Ge,ut=!1){return function(Ke,at){return Me(Gt(Ke).getFullYear(),Ge,z(at,g.MinusSign),ut)}}const It={};function wt(Ge,ut){Ge=Ge.replace(/:/g,"");const Ke=Date.parse("Jan 01, 1970 00:00:00 "+Ge)/6e4;return isNaN(Ke)?ut:Ke}function vi(Ge){return Ge instanceof Date&&!isNaN(Ge.valueOf())}function Nt(Ge,ut){ut=encodeURIComponent(ut);for(const Ke of Ge.split(";")){const at=Ke.indexOf("="),[Et,Jt]=-1==at?[Ke,""]:[Ke.slice(0,at),Ke.slice(at+1)];if(Et.trim()===ut)return decodeURIComponent(Jt)}return null}const mt=/\s+/,_t=[];let $e=(()=>{class Ge{constructor(Ke,at){this._ngEl=Ke,this._renderer=at,this.initialClasses=_t,this.stateMap=new Map}set klass(Ke){this.initialClasses=null!=Ke?Ke.trim().split(mt):_t}set ngClass(Ke){this.rawClass="string"==typeof Ke?Ke.trim().split(mt):Ke}ngDoCheck(){for(const at of this.initialClasses)this._updateState(at,!0);const Ke=this.rawClass;if(Array.isArray(Ke)||Ke instanceof Set)for(const at of Ke)this._updateState(at,!0);else if(null!=Ke)for(const at of Object.keys(Ke))this._updateState(at,!!Ke[at]);this._applyStateDiff()}_updateState(Ke,at){const Et=this.stateMap.get(Ke);void 0!==Et?(Et.enabled!==at&&(Et.changed=!0,Et.enabled=at),Et.touched=!0):this.stateMap.set(Ke,{enabled:at,changed:!0,touched:!0})}_applyStateDiff(){for(const Ke of this.stateMap){const at=Ke[0],Et=Ke[1];Et.changed?(this._toggleClass(at,Et.enabled),Et.changed=!1):Et.touched||(Et.enabled&&this._toggleClass(at,!1),this.stateMap.delete(at)),Et.touched=!1}}_toggleClass(Ke,at){(Ke=Ke.trim()).length>0&&Ke.split(mt).forEach(Et=>{at?this._renderer.addClass(this._ngEl.nativeElement,Et):this._renderer.removeClass(this._ngEl.nativeElement,Et)})}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.aKT),M.rXU(M.sFG))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngClass",""]],inputs:{klass:[M.Mj6.None,"class","klass"],ngClass:"ngClass"},standalone:!0})}return Ge})();class $t{constructor(ut,Ke,at,Et){this.$implicit=ut,this.ngForOf=Ke,this.index=at,this.count=Et}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let si=(()=>{class Ge{set ngForOf(Ke){this._ngForOf=Ke,this._ngForOfDirty=!0}set ngForTrackBy(Ke){this._trackByFn=Ke}get ngForTrackBy(){return this._trackByFn}constructor(Ke,at,Et){this._viewContainer=Ke,this._template=at,this._differs=Et,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(Ke){Ke&&(this._template=Ke)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const Ke=this._ngForOf;!this._differ&&Ke&&(this._differ=this._differs.find(Ke).create(this.ngForTrackBy))}if(this._differ){const Ke=this._differ.diff(this._ngForOf);Ke&&this._applyChanges(Ke)}}_applyChanges(Ke){const at=this._viewContainer;Ke.forEachOperation((Et,Jt,ci)=>{if(null==Et.previousIndex)at.createEmbeddedView(this._template,new $t(Et.item,this._ngForOf,-1,-1),null===ci?void 0:ci);else if(null==ci)at.remove(null===Jt?void 0:Jt);else if(null!==Jt){const Oi=at.get(Jt);at.move(Oi,ci),Di(Oi,Et)}});for(let Et=0,Jt=at.length;Et{Di(at.get(Et.currentIndex),Et)})}static ngTemplateContextGuard(Ke,at){return!0}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q),M.rXU(M._q3))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return Ge})();function Di(Ge,ut){Ge.context.$implicit=ut.item}let Ki=(()=>{class Ge{constructor(Ke,at){this._viewContainer=Ke,this._context=new ls,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=at}set ngIf(Ke){this._context.$implicit=this._context.ngIf=Ke,this._updateView()}set ngIfThen(Ke){Hn("ngIfThen",Ke),this._thenTemplateRef=Ke,this._thenViewRef=null,this._updateView()}set ngIfElse(Ke){Hn("ngIfElse",Ke),this._elseTemplateRef=Ke,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(Ke,at){return!0}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return Ge})();class ls{constructor(){this.$implicit=null,this.ngIf=null}}function Hn(Ge,ut){if(ut&&!ut.createEmbeddedView)throw new Error(`${Ge} must be a TemplateRef, but received '${(0,M.Tbb)(ut)}'.`)}class gn{constructor(ut,Ke){this._viewContainerRef=ut,this._templateRef=Ke,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(ut){ut&&!this._created?this.create():!ut&&this._created&&this.destroy()}}let cs=(()=>{class Ge{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(Ke){this._ngSwitch=Ke,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(Ke){this._defaultViews.push(Ke)}_matchCase(Ke){const at=Ke===this._ngSwitch;return this._lastCasesMatched||=at,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),at}_updateDefaultCases(Ke){if(this._defaultViews.length>0&&Ke!==this._defaultUsed){this._defaultUsed=Ke;for(const at of this._defaultViews)at.enforceState(Ke)}}static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0})}return Ge})(),sn=(()=>{class Ge{constructor(Ke,at,Et){this.ngSwitch=Et,Et._addCase(),this._view=new gn(Ke,at)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q),M.rXU(cs,9))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0})}return Ge})(),Bn=(()=>{class Ge{constructor(Ke,at,Et){Et._addDefault(new gn(Ke,at))}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b),M.rXU(M.C4Q),M.rXU(cs,9))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngSwitchDefault",""]],standalone:!0})}return Ge})(),Ui=(()=>{class Ge{constructor(Ke,at,Et){this._ngEl=Ke,this._differs=at,this._renderer=Et,this._ngStyle=null,this._differ=null}set ngStyle(Ke){this._ngStyle=Ke,!this._differ&&Ke&&(this._differ=this._differs.find(Ke).create())}ngDoCheck(){if(this._differ){const Ke=this._differ.diff(this._ngStyle);Ke&&this._applyChanges(Ke)}}_setStyle(Ke,at){const[Et,Jt]=Ke.split("."),ci=-1===Et.indexOf("-")?void 0:M.czy.DashCase;null!=at?this._renderer.setStyle(this._ngEl.nativeElement,Et,Jt?`${at}${Jt}`:at,ci):this._renderer.removeStyle(this._ngEl.nativeElement,Et,ci)}_applyChanges(Ke){Ke.forEachRemovedItem(at=>this._setStyle(at.key,null)),Ke.forEachAddedItem(at=>this._setStyle(at.key,at.currentValue)),Ke.forEachChangedItem(at=>this._setStyle(at.key,at.currentValue))}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.aKT),M.rXU(M.MKu),M.rXU(M.sFG))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0})}return Ge})(),ln=(()=>{class Ge{constructor(Ke){this._viewContainerRef=Ke,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(Ke){if(this._shouldRecreateView(Ke)){const at=this._viewContainerRef;if(this._viewRef&&at.remove(at.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const Et=this._createContextForwardProxy();this._viewRef=at.createEmbeddedView(this.ngTemplateOutlet,Et,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(Ke){return!!Ke.ngTemplateOutlet||!!Ke.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(Ke,at,Et)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,at,Et),get:(Ke,at,Et)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,at,Et)}})}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.c1b))};static#t=this.\u0275dir=M.FsC({type:Ge,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[M.OA$]})}return Ge})();function lr(Ge,ut){return new M.wOt(2100,!1)}class Fa{createSubscription(ut,Ke){return(0,M.O8t)(()=>ut.subscribe({next:Ke,error:at=>{throw at}}))}dispose(ut){(0,M.O8t)(()=>ut.unsubscribe())}}class Ba{createSubscription(ut,Ke){return ut.then(Ke,at=>{throw at})}dispose(ut){}}const ja=new Ba,go=new Fa;let wn=(()=>{class Ge{constructor(Ke){this._latestValue=null,this.markForCheckOnValueUpdate=!0,this._subscription=null,this._obj=null,this._strategy=null,this._ref=Ke}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(Ke){if(!this._obj){if(Ke)try{this.markForCheckOnValueUpdate=!1,this._subscribe(Ke)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return Ke!==this._obj?(this._dispose(),this.transform(Ke)):this._latestValue}_subscribe(Ke){this._obj=Ke,this._strategy=this._selectStrategy(Ke),this._subscription=this._strategy.createSubscription(Ke,at=>this._updateLatestValue(Ke,at))}_selectStrategy(Ke){if((0,M.jNT)(Ke))return ja;if((0,M.zjR)(Ke))return go;throw lr()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(Ke,at){Ke===this._obj&&(this._latestValue=at,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.gRc,16))};static#t=this.\u0275pipe=M.EJ8({name:"async",type:Ge,pure:!1,standalone:!0})}return Ge})();const Nl=new M.nKC(""),wr=new M.nKC("");let Jr=(()=>{class Ge{constructor(Ke,at,Et){this.locale=Ke,this.defaultTimezone=at,this.defaultOptions=Et}transform(Ke,at,Et,Jt){if(null==Ke||""===Ke||Ke!=Ke)return null;try{return xe(Ke,at??this.defaultOptions?.dateFormat??"mediumDate",Jt||this.locale,Et??this.defaultOptions?.timezone??this.defaultTimezone??void 0)}catch(ci){throw lr()}}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.xe9,16),M.rXU(Nl,24),M.rXU(wr,24))};static#t=this.\u0275pipe=M.EJ8({name:"date",type:Ge,pure:!0,standalone:!0})}return Ge})(),Tr=(()=>{class Ge{constructor(Ke){this.differs=Ke,this.keyValues=[],this.compareFn=fr}transform(Ke,at=fr){if(!Ke||!(Ke instanceof Map)&&"object"!=typeof Ke)return null;this.differ??=this.differs.find(Ke).create();const Et=this.differ.diff(Ke),Jt=at!==this.compareFn;return Et&&(this.keyValues=[],Et.forEachItem(ci=>{this.keyValues.push(function Ga(Ge,ut){return{key:Ge,value:ut}}(ci.key,ci.currentValue))})),(Et||Jt)&&(this.keyValues.sort(at),this.compareFn=at),this.keyValues}static#e=this.\u0275fac=function(at){return new(at||Ge)(M.rXU(M.MKu,16))};static#t=this.\u0275pipe=M.EJ8({name:"keyvalue",type:Ge,pure:!1,standalone:!0})}return Ge})();function fr(Ge,ut){const Ke=Ge.key,at=ut.key;if(Ke===at)return 0;if(void 0===Ke)return 1;if(void 0===at)return-1;if(null===Ke)return 1;if(null===at)return-1;if("string"==typeof Ke&&"string"==typeof at)return Ke{class Ge{static#e=this.\u0275fac=function(at){return new(at||Ge)};static#t=this.\u0275mod=M.$C({type:Ge});static#i=this.\u0275inj=M.G2t({})}return Ge})();const ko="browser",ua="server";function Qs(Ge){return Ge===ko}function ga(Ge){return Ge===ua}let cr=(()=>{class Ge{static#e=this.\u0275prov=(0,M.jDH)({token:Ge,providedIn:"root",factory:()=>Qs((0,M.WQX)(M.Agw))?new es((0,M.WQX)(re),window):new Ko})}return Ge})();class es{constructor(ut,Ke){this.document=ut,this.window=Ke,this.offset=()=>[0,0]}setOffset(ut){this.offset=Array.isArray(ut)?()=>ut:ut}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(ut){this.window.scrollTo(ut[0],ut[1])}scrollToAnchor(ut){const Ke=function $r(Ge,ut){const Ke=Ge.getElementById(ut)||Ge.getElementsByName(ut)[0];if(Ke)return Ke;if("function"==typeof Ge.createTreeWalker&&Ge.body&&"function"==typeof Ge.body.attachShadow){const at=Ge.createTreeWalker(Ge.body,NodeFilter.SHOW_ELEMENT);let Et=at.currentNode;for(;Et;){const Jt=Et.shadowRoot;if(Jt){const ci=Jt.getElementById(ut)||Jt.querySelector(`[name="${ut}"]`);if(ci)return ci}Et=at.nextNode()}}return null}(this.document,ut);Ke&&(this.scrollToElement(Ke),Ke.focus())}setHistoryScrollRestoration(ut){this.window.history.scrollRestoration=ut}scrollToElement(ut){const Ke=ut.getBoundingClientRect(),at=Ke.left+this.window.pageXOffset,Et=Ke.top+this.window.pageYOffset,Jt=this.offset();this.window.scrollTo(at-Jt[0],Et-Jt[1])}}class Ko{setOffset(ut){}getScrollPosition(){return[0,0]}scrollToPosition(ut){}scrollToAnchor(ut){}setHistoryScrollRestoration(ut){}}class Do{}},21626:(ri,Bt,We)=>{"use strict";We.d(Bt,{Lr:()=>X,Qq:()=>p,cS:()=>l,hR:()=>J,q1:()=>ms}),We(10467);var e=We(54438),V=We(7673),Le=We(71985),q=We(86648),ne=We(70274),re=We(5964),ve=We(96354),le=We(70980),pe=We(25558),ue=We(60177);class J{}class te{}class X{constructor(Rt){this.normalizedNames=new Map,this.lazyUpdate=null,Rt?"string"==typeof Rt?this.lazyInit=()=>{this.headers=new Map,Rt.split("\n").forEach(Nt=>{const mt=Nt.indexOf(":");if(mt>0){const _t=Nt.slice(0,mt),$e=_t.toLowerCase(),yt=Nt.slice(mt+1).trim();this.maybeSetNormalizedName(_t,$e),this.headers.has($e)?this.headers.get($e).push(yt):this.headers.set($e,[yt])}})}:typeof Headers<"u"&&Rt instanceof Headers?(this.headers=new Map,Rt.forEach((Nt,mt)=>{this.setHeaderEntries(mt,Nt)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(Rt).forEach(([Nt,mt])=>{this.setHeaderEntries(Nt,mt)})}:this.headers=new Map}has(Rt){return this.init(),this.headers.has(Rt.toLowerCase())}get(Rt){this.init();const Nt=this.headers.get(Rt.toLowerCase());return Nt&&Nt.length>0?Nt[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(Rt){return this.init(),this.headers.get(Rt.toLowerCase())||null}append(Rt,Nt){return this.clone({name:Rt,value:Nt,op:"a"})}set(Rt,Nt){return this.clone({name:Rt,value:Nt,op:"s"})}delete(Rt,Nt){return this.clone({name:Rt,value:Nt,op:"d"})}maybeSetNormalizedName(Rt,Nt){this.normalizedNames.has(Nt)||this.normalizedNames.set(Nt,Rt)}init(){this.lazyInit&&(this.lazyInit instanceof X?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(Rt=>this.applyUpdate(Rt)),this.lazyUpdate=null))}copyFrom(Rt){Rt.init(),Array.from(Rt.headers.keys()).forEach(Nt=>{this.headers.set(Nt,Rt.headers.get(Nt)),this.normalizedNames.set(Nt,Rt.normalizedNames.get(Nt))})}clone(Rt){const Nt=new X;return Nt.lazyInit=this.lazyInit&&this.lazyInit instanceof X?this.lazyInit:this,Nt.lazyUpdate=(this.lazyUpdate||[]).concat([Rt]),Nt}applyUpdate(Rt){const Nt=Rt.name.toLowerCase();switch(Rt.op){case"a":case"s":let mt=Rt.value;if("string"==typeof mt&&(mt=[mt]),0===mt.length)return;this.maybeSetNormalizedName(Rt.name,Nt);const _t=("a"===Rt.op?this.headers.get(Nt):void 0)||[];_t.push(...mt),this.headers.set(Nt,_t);break;case"d":const $e=Rt.value;if($e){let yt=this.headers.get(Nt);if(!yt)return;yt=yt.filter(At=>-1===$e.indexOf(At)),0===yt.length?(this.headers.delete(Nt),this.normalizedNames.delete(Nt)):this.headers.set(Nt,yt)}else this.headers.delete(Nt),this.normalizedNames.delete(Nt)}}setHeaderEntries(Rt,Nt){const mt=(Array.isArray(Nt)?Nt:[Nt]).map($e=>$e.toString()),_t=Rt.toLowerCase();this.headers.set(_t,mt),this.maybeSetNormalizedName(Rt,_t)}forEach(Rt){this.init(),Array.from(this.normalizedNames.keys()).forEach(Nt=>Rt(this.normalizedNames.get(Nt),this.headers.get(Nt)))}}class j{encodeKey(Rt){return A(Rt)}encodeValue(Rt){return A(Rt)}decodeKey(Rt){return decodeURIComponent(Rt)}decodeValue(Rt){return decodeURIComponent(Rt)}}const P=/%(\d[a-f0-9])/gi,D={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function A(St){return encodeURIComponent(St).replace(P,(Rt,Nt)=>D[Nt]??Rt)}function I(St){return`${St}`}class _{constructor(Rt={}){if(this.updates=null,this.cloneFrom=null,this.encoder=Rt.encoder||new j,Rt.fromString){if(Rt.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function F(St,Rt){const Nt=new Map;return St.length>0&&St.replace(/^\?/,"").split("&").forEach(_t=>{const $e=_t.indexOf("="),[yt,At]=-1==$e?[Rt.decodeKey(_t),""]:[Rt.decodeKey(_t.slice(0,$e)),Rt.decodeValue(_t.slice($e+1))],$t=Nt.get(yt)||[];$t.push(At),Nt.set(yt,$t)}),Nt}(Rt.fromString,this.encoder)}else Rt.fromObject?(this.map=new Map,Object.keys(Rt.fromObject).forEach(Nt=>{const mt=Rt.fromObject[Nt],_t=Array.isArray(mt)?mt.map(I):[I(mt)];this.map.set(Nt,_t)})):this.map=null}has(Rt){return this.init(),this.map.has(Rt)}get(Rt){this.init();const Nt=this.map.get(Rt);return Nt?Nt[0]:null}getAll(Rt){return this.init(),this.map.get(Rt)||null}keys(){return this.init(),Array.from(this.map.keys())}append(Rt,Nt){return this.clone({param:Rt,value:Nt,op:"a"})}appendAll(Rt){const Nt=[];return Object.keys(Rt).forEach(mt=>{const _t=Rt[mt];Array.isArray(_t)?_t.forEach($e=>{Nt.push({param:mt,value:$e,op:"a"})}):Nt.push({param:mt,value:_t,op:"a"})}),this.clone(Nt)}set(Rt,Nt){return this.clone({param:Rt,value:Nt,op:"s"})}delete(Rt,Nt){return this.clone({param:Rt,value:Nt,op:"d"})}toString(){return this.init(),this.keys().map(Rt=>{const Nt=this.encoder.encodeKey(Rt);return this.map.get(Rt).map(mt=>Nt+"="+this.encoder.encodeValue(mt)).join("&")}).filter(Rt=>""!==Rt).join("&")}clone(Rt){const Nt=new _({encoder:this.encoder});return Nt.cloneFrom=this.cloneFrom||this,Nt.updates=(this.updates||[]).concat(Rt),Nt}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(Rt=>this.map.set(Rt,this.cloneFrom.map.get(Rt))),this.updates.forEach(Rt=>{switch(Rt.op){case"a":case"s":const Nt=("a"===Rt.op?this.map.get(Rt.param):void 0)||[];Nt.push(I(Rt.value)),this.map.set(Rt.param,Nt);break;case"d":if(void 0===Rt.value){this.map.delete(Rt.param);break}{let mt=this.map.get(Rt.param)||[];const _t=mt.indexOf(I(Rt.value));-1!==_t&&mt.splice(_t,1),mt.length>0?this.map.set(Rt.param,mt):this.map.delete(Rt.param)}}}),this.cloneFrom=this.updates=null)}}class w{constructor(){this.map=new Map}set(Rt,Nt){return this.map.set(Rt,Nt),this}get(Rt){return this.map.has(Rt)||this.map.set(Rt,Rt.defaultValue()),this.map.get(Rt)}delete(Rt){return this.map.delete(Rt),this}has(Rt){return this.map.has(Rt)}keys(){return this.map.keys()}}function O(St){return typeof ArrayBuffer<"u"&&St instanceof ArrayBuffer}function f(St){return typeof Blob<"u"&&St instanceof Blob}function a(St){return typeof FormData<"u"&&St instanceof FormData}class v{constructor(Rt,Nt,mt,_t){let $e;if(this.url=Nt,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=Rt.toUpperCase(),function G(St){switch(St){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||_t?(this.body=void 0!==mt?mt:null,$e=_t):$e=mt,$e&&(this.reportProgress=!!$e.reportProgress,this.withCredentials=!!$e.withCredentials,$e.responseType&&(this.responseType=$e.responseType),$e.headers&&(this.headers=$e.headers),$e.context&&(this.context=$e.context),$e.params&&(this.params=$e.params),this.transferCache=$e.transferCache),this.headers??=new X,this.context??=new w,this.params){const yt=this.params.toString();if(0===yt.length)this.urlWithParams=Nt;else{const At=Nt.indexOf("?");this.urlWithParams=Nt+(-1===At?"?":Atqi.set(Ki,Rt.setHeaders[Ki]),$t)),Rt.setParams&&(si=Object.keys(Rt.setParams).reduce((qi,Ki)=>qi.set(Ki,Rt.setParams[Ki]),si)),new v(Nt,mt,$e,{params:si,headers:$t,context:Di,reportProgress:At,responseType:_t,withCredentials:yt})}}var o=function(St){return St[St.Sent=0]="Sent",St[St.UploadProgress=1]="UploadProgress",St[St.ResponseHeader=2]="ResponseHeader",St[St.DownloadProgress=3]="DownloadProgress",St[St.Response=4]="Response",St[St.User=5]="User",St}(o||{});class n{constructor(Rt,Nt=C.Ok,mt="OK"){this.headers=Rt.headers||new X,this.status=void 0!==Rt.status?Rt.status:Nt,this.statusText=Rt.statusText||mt,this.url=Rt.url||null,this.ok=this.status>=200&&this.status<300}}class r extends n{constructor(Rt={}){super(Rt),this.type=o.ResponseHeader}clone(Rt={}){return new r({headers:Rt.headers||this.headers,status:void 0!==Rt.status?Rt.status:this.status,statusText:Rt.statusText||this.statusText,url:Rt.url||this.url||void 0})}}class l extends n{constructor(Rt={}){super(Rt),this.type=o.Response,this.body=void 0!==Rt.body?Rt.body:null}clone(Rt={}){return new l({body:void 0!==Rt.body?Rt.body:this.body,headers:Rt.headers||this.headers,status:void 0!==Rt.status?Rt.status:this.status,statusText:Rt.statusText||this.statusText,url:Rt.url||this.url||void 0})}}class d extends n{constructor(Rt){super(Rt,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${Rt.url||"(unknown url)"}`:`Http failure response for ${Rt.url||"(unknown url)"}: ${Rt.status} ${Rt.statusText}`,this.error=Rt.error||null}}var C=function(St){return St[St.Continue=100]="Continue",St[St.SwitchingProtocols=101]="SwitchingProtocols",St[St.Processing=102]="Processing",St[St.EarlyHints=103]="EarlyHints",St[St.Ok=200]="Ok",St[St.Created=201]="Created",St[St.Accepted=202]="Accepted",St[St.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",St[St.NoContent=204]="NoContent",St[St.ResetContent=205]="ResetContent",St[St.PartialContent=206]="PartialContent",St[St.MultiStatus=207]="MultiStatus",St[St.AlreadyReported=208]="AlreadyReported",St[St.ImUsed=226]="ImUsed",St[St.MultipleChoices=300]="MultipleChoices",St[St.MovedPermanently=301]="MovedPermanently",St[St.Found=302]="Found",St[St.SeeOther=303]="SeeOther",St[St.NotModified=304]="NotModified",St[St.UseProxy=305]="UseProxy",St[St.Unused=306]="Unused",St[St.TemporaryRedirect=307]="TemporaryRedirect",St[St.PermanentRedirect=308]="PermanentRedirect",St[St.BadRequest=400]="BadRequest",St[St.Unauthorized=401]="Unauthorized",St[St.PaymentRequired=402]="PaymentRequired",St[St.Forbidden=403]="Forbidden",St[St.NotFound=404]="NotFound",St[St.MethodNotAllowed=405]="MethodNotAllowed",St[St.NotAcceptable=406]="NotAcceptable",St[St.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",St[St.RequestTimeout=408]="RequestTimeout",St[St.Conflict=409]="Conflict",St[St.Gone=410]="Gone",St[St.LengthRequired=411]="LengthRequired",St[St.PreconditionFailed=412]="PreconditionFailed",St[St.PayloadTooLarge=413]="PayloadTooLarge",St[St.UriTooLong=414]="UriTooLong",St[St.UnsupportedMediaType=415]="UnsupportedMediaType",St[St.RangeNotSatisfiable=416]="RangeNotSatisfiable",St[St.ExpectationFailed=417]="ExpectationFailed",St[St.ImATeapot=418]="ImATeapot",St[St.MisdirectedRequest=421]="MisdirectedRequest",St[St.UnprocessableEntity=422]="UnprocessableEntity",St[St.Locked=423]="Locked",St[St.FailedDependency=424]="FailedDependency",St[St.TooEarly=425]="TooEarly",St[St.UpgradeRequired=426]="UpgradeRequired",St[St.PreconditionRequired=428]="PreconditionRequired",St[St.TooManyRequests=429]="TooManyRequests",St[St.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",St[St.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",St[St.InternalServerError=500]="InternalServerError",St[St.NotImplemented=501]="NotImplemented",St[St.BadGateway=502]="BadGateway",St[St.ServiceUnavailable=503]="ServiceUnavailable",St[St.GatewayTimeout=504]="GatewayTimeout",St[St.HttpVersionNotSupported=505]="HttpVersionNotSupported",St[St.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",St[St.InsufficientStorage=507]="InsufficientStorage",St[St.LoopDetected=508]="LoopDetected",St[St.NotExtended=510]="NotExtended",St[St.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired",St}(C||{});function k(St,Rt){return{body:Rt,headers:St.headers,context:St.context,observe:St.observe,params:St.params,reportProgress:St.reportProgress,responseType:St.responseType,withCredentials:St.withCredentials,transferCache:St.transferCache}}let p=(()=>{class St{constructor(Nt){this.handler=Nt}request(Nt,mt,_t={}){let $e;if(Nt instanceof v)$e=Nt;else{let $t,si;$t=_t.headers instanceof X?_t.headers:new X(_t.headers),_t.params&&(si=_t.params instanceof _?_t.params:new _({fromObject:_t.params})),$e=new v(Nt,mt,void 0!==_t.body?_t.body:null,{headers:$t,context:_t.context,params:si,reportProgress:_t.reportProgress,responseType:_t.responseType||"json",withCredentials:_t.withCredentials,transferCache:_t.transferCache})}const yt=(0,V.of)($e).pipe((0,ne.H)($t=>this.handler.handle($t)));if(Nt instanceof v||"events"===_t.observe)return yt;const At=yt.pipe((0,re.p)($t=>$t instanceof l));switch(_t.observe||"body"){case"body":switch($e.responseType){case"arraybuffer":return At.pipe((0,ve.T)($t=>{if(null!==$t.body&&!($t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return $t.body}));case"blob":return At.pipe((0,ve.T)($t=>{if(null!==$t.body&&!($t.body instanceof Blob))throw new Error("Response is not a Blob.");return $t.body}));case"text":return At.pipe((0,ve.T)($t=>{if(null!==$t.body&&"string"!=typeof $t.body)throw new Error("Response is not a string.");return $t.body}));default:return At.pipe((0,ve.T)($t=>$t.body))}case"response":return At;default:throw new Error(`Unreachable: unhandled observe type ${_t.observe}}`)}}delete(Nt,mt={}){return this.request("DELETE",Nt,mt)}get(Nt,mt={}){return this.request("GET",Nt,mt)}head(Nt,mt={}){return this.request("HEAD",Nt,mt)}jsonp(Nt,mt){return this.request("JSONP",Nt,{params:(new _).append(mt,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(Nt,mt={}){return this.request("OPTIONS",Nt,mt)}patch(Nt,mt,_t={}){return this.request("PATCH",Nt,k(_t,mt))}post(Nt,mt,_t={}){return this.request("POST",Nt,k(_t,mt))}put(Nt,mt,_t={}){return this.request("PUT",Nt,k(_t,mt))}static#e=this.\u0275fac=function(mt){return new(mt||St)(e.KVO(J))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();function $(St,Rt){return Rt(St)}function H(St,Rt){return(Nt,mt)=>Rt.intercept(Nt,{handle:_t=>St(_t,mt)})}const N=new e.nKC(""),R=new e.nKC(""),Z=new e.nKC(""),Y=new e.nKC("");function he(){let St=null;return(Rt,Nt)=>{null===St&&(St=((0,e.WQX)(N,{optional:!0})??[]).reduceRight(H,$));const mt=(0,e.WQX)(e.TgB),_t=mt.add();return St(Rt,Nt).pipe((0,le.j)(()=>mt.remove(_t)))}}let Te=(()=>{class St extends J{constructor(Nt,mt){super(),this.backend=Nt,this.injector=mt,this.chain=null,this.pendingTasks=(0,e.WQX)(e.TgB);const _t=(0,e.WQX)(Y,{optional:!0});this.backend=_t??Nt}handle(Nt){if(null===this.chain){const _t=Array.from(new Set([...this.injector.get(R),...this.injector.get(Z,[])]));this.chain=_t.reduceRight(($e,yt)=>function x(St,Rt,Nt){return(mt,_t)=>(0,e.N4e)(Nt,()=>Rt(mt,$e=>St($e,_t)))}($e,yt,this.injector),$)}const mt=this.pendingTasks.add();return this.chain(Nt,_t=>this.backend.handle(_t)).pipe((0,le.j)(()=>this.pendingTasks.remove(mt)))}static#e=this.\u0275fac=function(mt){return new(mt||St)(e.KVO(te),e.KVO(e.uvJ))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();const Xe=/^\)\]\}',?\n/;let lt=(()=>{class St{constructor(Nt){this.xhrFactory=Nt}handle(Nt){if("JSONP"===Nt.method)throw new e.wOt(-2800,!1);const mt=this.xhrFactory;return(mt.\u0275loadImpl?(0,q.H)(mt.\u0275loadImpl()):(0,V.of)(null)).pipe((0,pe.n)(()=>new Le.c($e=>{const yt=mt.build();if(yt.open(Nt.method,Nt.urlWithParams),Nt.withCredentials&&(yt.withCredentials=!0),Nt.headers.forEach((tn,gn)=>yt.setRequestHeader(tn,gn.join(","))),Nt.headers.has("Accept")||yt.setRequestHeader("Accept","application/json, text/plain, */*"),!Nt.headers.has("Content-Type")){const tn=Nt.detectContentTypeHeader();null!==tn&&yt.setRequestHeader("Content-Type",tn)}if(Nt.responseType){const tn=Nt.responseType.toLowerCase();yt.responseType="json"!==tn?tn:"text"}const At=Nt.serializeBody();let $t=null;const si=()=>{if(null!==$t)return $t;const tn=yt.statusText||"OK",gn=new X(yt.getAllResponseHeaders()),cs=function Je(St){return"responseURL"in St&&St.responseURL?St.responseURL:/^X-Request-URL:/m.test(St.getAllResponseHeaders())?St.getResponseHeader("X-Request-URL"):null}(yt)||Nt.url;return $t=new r({headers:gn,status:yt.status,statusText:tn,url:cs}),$t},Di=()=>{let{headers:tn,status:gn,statusText:cs,url:sn}=si(),Bn=null;gn!==C.NoContent&&(Bn=typeof yt.response>"u"?yt.responseText:yt.response),0===gn&&(gn=Bn?C.Ok:0);let Er=gn>=200&&gn<300;if("json"===Nt.responseType&&"string"==typeof Bn){const bs=Bn;Bn=Bn.replace(Xe,"");try{Bn=""!==Bn?JSON.parse(Bn):null}catch(Un){Bn=bs,Er&&(Er=!1,Bn={error:Un,text:Bn})}}Er?($e.next(new l({body:Bn,headers:tn,status:gn,statusText:cs,url:sn||void 0})),$e.complete()):$e.error(new d({error:Bn,headers:tn,status:gn,statusText:cs,url:sn||void 0}))},qi=tn=>{const{url:gn}=si(),cs=new d({error:tn,status:yt.status||0,statusText:yt.statusText||"Unknown Error",url:gn||void 0});$e.error(cs)};let Ki=!1;const ls=tn=>{Ki||($e.next(si()),Ki=!0);let gn={type:o.DownloadProgress,loaded:tn.loaded};tn.lengthComputable&&(gn.total=tn.total),"text"===Nt.responseType&&yt.responseText&&(gn.partialText=yt.responseText),$e.next(gn)},Hn=tn=>{let gn={type:o.UploadProgress,loaded:tn.loaded};tn.lengthComputable&&(gn.total=tn.total),$e.next(gn)};return yt.addEventListener("load",Di),yt.addEventListener("error",qi),yt.addEventListener("timeout",qi),yt.addEventListener("abort",qi),Nt.reportProgress&&(yt.addEventListener("progress",ls),null!==At&&yt.upload&&yt.upload.addEventListener("progress",Hn)),yt.send(At),$e.next({type:o.Sent}),()=>{yt.removeEventListener("error",qi),yt.removeEventListener("abort",qi),yt.removeEventListener("load",Di),yt.removeEventListener("timeout",qi),Nt.reportProgress&&(yt.removeEventListener("progress",ls),null!==At&&yt.upload&&yt.upload.removeEventListener("progress",Hn)),yt.readyState!==yt.DONE&&yt.abort()}})))}static#e=this.\u0275fac=function(mt){return new(mt||St)(e.KVO(ue.N0))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();const qe=new e.nKC(""),Tt=new e.nKC("",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),ht=new e.nKC("",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class Pt{}let Gt=(()=>{class St{constructor(Nt,mt,_t){this.doc=Nt,this.platform=mt,this.cookieName=_t,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const Nt=this.doc.cookie||"";return Nt!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,ue._b)(Nt,this.cookieName),this.lastCookieString=Nt),this.lastToken}static#e=this.\u0275fac=function(mt){return new(mt||St)(e.KVO(ue.qQ),e.KVO(e.Agw),e.KVO(Tt))};static#t=this.\u0275prov=e.jDH({token:St,factory:St.\u0275fac})}return St})();function ti(St,Rt){const Nt=St.url.toLowerCase();if(!(0,e.WQX)(qe)||"GET"===St.method||"HEAD"===St.method||Nt.startsWith("http://")||Nt.startsWith("https://"))return Rt(St);const mt=(0,e.WQX)(Pt).getToken(),_t=(0,e.WQX)(ht);return null!=mt&&!St.headers.has(_t)&&(St=St.clone({headers:St.headers.set(_t,mt)})),Rt(St)}var It=function(St){return St[St.Interceptors=0]="Interceptors",St[St.LegacyInterceptors=1]="LegacyInterceptors",St[St.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",St[St.NoXsrfProtection=3]="NoXsrfProtection",St[St.JsonpSupport=4]="JsonpSupport",St[St.RequestsMadeViaParent=5]="RequestsMadeViaParent",St[St.Fetch=6]="Fetch",St}(It||{});function wt(...St){const Rt=[p,lt,Te,{provide:J,useExisting:Te},{provide:te,useExisting:lt},{provide:R,useValue:ti,multi:!0},{provide:qe,useValue:!0},{provide:Pt,useClass:Gt}];for(const Nt of St)Rt.push(...Nt.\u0275providers);return(0,e.EmA)(Rt)}const di=new e.nKC("");function Ni(){return function xt(St,Rt){return{\u0275kind:St,\u0275providers:Rt}}(It.LegacyInterceptors,[{provide:di,useFactory:he},{provide:R,useExisting:di,multi:!0}])}let ms=(()=>{class St{static#e=this.\u0275fac=function(mt){return new(mt||St)};static#t=this.\u0275mod=e.$C({type:St});static#i=this.\u0275inj=e.G2t({providers:[wt(Ni())]})}return St})()},54438:(ri,Bt,We)=>{"use strict";function e(t,s){return Object.is(t,s)}We.d(Bt,{bc$:()=>Wf,iLQ:()=>SC,sZ2:()=>_p,hnV:()=>jk,Hbi:()=>dA,o8S:()=>Uu,BIS:()=>Tp,gRc:()=>Qk,Ql9:()=>FE,OM3:()=>Ia,Ocv:()=>WE,abz:()=>ec,Z63:()=>Ao,aKT:()=>dh,uvJ:()=>Xr,zcH:()=>Sl,bkB:()=>co,$GK:()=>wn,nKC:()=>$e,zZn:()=>yr,_q3:()=>LC,MKu:()=>PC,xe9:()=>zy,Co$:()=>R_,Vns:()=>Vd,SKi:()=>xr,Xx1:()=>Qs,Agw:()=>wp,PLl:()=>mu,sFG:()=>Oa,_9s:()=>Fd,czy:()=>_u,WPN:()=>Id,kdw:()=>eo,C4Q:()=>Wp,NYb:()=>AE,giA:()=>Fk,RxE:()=>Ek,c1b:()=>Zm,gXe:()=>Or,mal:()=>av,Af3:()=>Ge,tdH:()=>qx,L39:()=>VA,EWP:()=>HA,a0P:()=>KA,Ol2:()=>jv,w6W:()=>N_,oH4:()=>Yk,QZP:()=>ED,SmG:()=>ZE,Rfq:()=>ti,WQX:()=>$i,hFB:()=>Uf,QuC:()=>kr,EmA:()=>Jo,Udg:()=>zA,fpN:()=>hA,HJs:()=>ZA,N4e:()=>$l,vPA:()=>Dv,O8t:()=>UA,An2:()=>qp,H3F:()=>Ak,H8p:()=>Hs,KH2:()=>od,TgB:()=>af,wOt:()=>ge,WHO:()=>Rk,e01:()=>Nk,lNU:()=>he,h9k:()=>$0,$MX:()=>vu,ZF7:()=>tc,Kcf:()=>Kf,e5t:()=>bu,UyX:()=>z0,cWb:()=>Jg,osQ:()=>em,H5H:()=>L0,Zy3:()=>_e,mq5:()=>Ty,JZv:()=>Je,LfX:()=>To,plB:()=>rd,jNT:()=>wC,zjR:()=>Bk,TL$:()=>xp,Tbb:()=>pt,rcV:()=>Dl,nM4:()=>I_,Vt3:()=>o0,Mj6:()=>cn,GFd:()=>P_,OA$:()=>Xt,Jv_:()=>VS,aNF:()=>zS,R7$:()=>dg,BMQ:()=>ey,HbH:()=>S0,ZvI:()=>fy,AVh:()=>Fg,vxM:()=>L1,wni:()=>bS,VBU:()=>Vl,FsC:()=>vo,jDH:()=>Wi,G2t:()=>On,$C:()=>Oo,EJ8:()=>Wa,rXU:()=>Ac,nrm:()=>vy,eu8:()=>yy,bVm:()=>jg,qex:()=>O0,k0s:()=>I0,j41:()=>A0,RV6:()=>_y,xGo:()=>xd,Mr5:()=>Cy,pXf:()=>un,KVO:()=>Es,kS0:()=>Ql,QTQ:()=>vb,bIt:()=>_o,lsd:()=>xS,joV:()=>ap,qSk:()=>Ff,XpG:()=>oS,nI1:()=>hk,bMT:()=>dk,i5U:()=>uk,SdG:()=>lS,NAR:()=>aS,Y8G:()=>Ud,FS9:()=>rC,Mz_:()=>Py,lJ4:()=>ZS,eq3:()=>qS,l_i:()=>QS,sMw:()=>JS,ziG:()=>ek,s1E:()=>tk,l4e:()=>ik,sGs:()=>nk,zJS:()=>sk,mGM:()=>yS,sdS:()=>_S,Dyx:()=>E0,Z7z:()=>R1,fX1:()=>P1,Njj:()=>Cc,EBC:()=>lx,tSv:()=>rg,eBV:()=>_c,npT:()=>eg,B4B:()=>ic,n$t:()=>tg,Aen:()=>Pa,xc7:()=>Cf,zvX:()=>wy,DNE:()=>lf,C5r:()=>pk,EFF:()=>IS,JRh:()=>oC,SpI:()=>Ry,Lme:()=>aC,E5c:()=>lC,LHq:()=>cC,DH7:()=>BS,mxI:()=>dC,R50:()=>hC,GBs:()=>vS}),We(10467);let V=null,Le=!1,q=1;const ne=Symbol("SIGNAL");function re(t){const s=V;return V=t,s}const ue={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function J(t){if(Le)throw new Error("");if(null===V)return;V.consumerOnSignalRead(t);const s=V.nextProducerIndex++;G(V),st.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function A(t){G(t);for(let s=0;s0}function G(t){t.producerNode??=[],t.producerIndexOfThis??=[],t.producerLastReadVersion??=[]}function O(t){t.liveConsumerNode??=[],t.liveConsumerIndexOfThis??=[]}const a=Symbol("UNSET"),g=Symbol("COMPUTING"),v=Symbol("ERRORED"),o={...ue,value:a,dirty:!0,error:null,equal:e,producerMustRecompute:t=>t.value===a||t.value===g,producerRecomputeValue(t){if(t.value===g)throw new Error("Detected cycle in computations.");const s=t.value;t.value=g;const h=P(t);let L;try{L=t.computation()}catch(Q){L=v,t.error=Q}finally{D(t,h)}s!==a&&s!==v&&L!==v&&t.equal(s,L)?t.value=s:(t.value=L,t.version++)}};let r=function n(){throw new Error};function l(){r()}let C=null;function B(t,s){j()||l(),t.equal(t.value,s)||(t.value=s,function U(t){t.version++,function te(){q++}(),E(t),C?.()}(t))}const K={...ue,equal:e,value:void 0};const S=()=>{},$={...ue,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:t=>{null!==t.schedule&&t.schedule(t.ref)},hasRun:!1,cleanupFn:S};var x=We(21413),N=We(18359),R=We(84412),Z=We(96354);const he="https://g.co/ng/security#xss";class ge extends Error{constructor(s,h){super(_e(s,h)),this.code=s}}function _e(t,s){return`NG0${Math.abs(t)}${s?": "+s:""}`}const Te=Symbol("InputSignalNode#UNSET"),Oe={...K,transformFn:void 0,applyValueToInputSignal(t,s){B(t,s)}};function oe(t,s){const h=Object.create(Oe);function L(){if(J(h),h.value===Te)throw new ge(-950,!1);return h.value}return h.value=t,h.transformFn=s?.transform,L[ne]=h,L}function ee(t){return{toString:t}.toString()}const xe="__parameters__";function Me(t,s,h){return ee(()=>{const L=function Ee(t){return function(...h){if(t){const L=t(...h);for(const Q in L)this[Q]=L[Q]}}}(s);function Q(...fe){if(this instanceof Q)return L.apply(this,fe),this;const Se=new Q(...fe);return Pe.annotation=Se,Pe;function Pe(ze,Qe,dt){const Ct=ze.hasOwnProperty(xe)?ze[xe]:Object.defineProperty(ze,xe,{value:[]})[xe];for(;Ct.length<=dt;)Ct.push(null);return(Ct[dt]=Ct[dt]||[]).push(Se),ze}}return h&&(Q.prototype=Object.create(h.prototype)),Q.prototype.ngMetadataName=t,Q.annotationCls=Q,Q})}const Je=globalThis;function st(t){for(let s in t)if(t[s]===st)return s;throw Error("Could not find renamed property on target object.")}function Tt(t,s){for(const h in s)s.hasOwnProperty(h)&&!t.hasOwnProperty(h)&&(t[h]=s[h])}function pt(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(pt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const s=t.toString();if(null==s)return""+s;const h=s.indexOf("\n");return-1===h?s:s.substring(0,h)}function ht(t,s){return null==t||""===t?null===s?"":s:null==s||""===s?t:t+" "+s}const Gt=st({__forward_ref__:st});function ti(t){return t.__forward_ref__=ti,t.toString=function(){return pt(this())},t}function Dt(t){return It(t)?t():t}function It(t){return"function"==typeof t&&t.hasOwnProperty(Gt)&&t.__forward_ref__===ti}function Ni(t,s,h){t!=s&&function ki(t,s,h,L){throw new Error(`ASSERTION ERROR: ${t}`+(null==L?"":` [Expected=> ${h} ${L} ${s} <=Actual]`))}(h,t,s,"==")}function Wi(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function On(t){return{providers:t.providers||[],imports:t.imports||[]}}function ar(t){return Wr(t,Rt)||Wr(t,mt)}function To(t){return null!==ar(t)}function Wr(t,s){return t.hasOwnProperty(s)?t[s]:null}function St(t){return t&&(t.hasOwnProperty(Nt)||t.hasOwnProperty(_t))?t[Nt]:null}const Rt=st({\u0275prov:st}),Nt=st({\u0275inj:st}),mt=st({ngInjectableDef:st}),_t=st({ngInjectorDef:st});class $e{constructor(s,h){this._desc=s,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof h?this.__NG_ELEMENT_ID__=h:void 0!==h&&(this.\u0275prov=Wi({token:this,providedIn:h.providedIn||"root",factory:h.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function gn(t){return t&&!!t.\u0275providers}const cs=st({\u0275cmp:st}),sn=st({\u0275dir:st}),Bn=st({\u0275pipe:st}),Er=st({\u0275mod:st}),bs=st({\u0275fac:st}),Un=st({__NG_ELEMENT_ID__:st}),pr=st({__NG_ENV_ID__:st});function Ui(t){return"string"==typeof t?t:null==t?"":String(t)}function go(t,s){throw new ge(-201,!1)}var wn=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}(wn||{});let Va;function za(){return Va}function $s(t){const s=Va;return Va=t,s}function ha(t,s,h){const L=ar(t);return L&&"root"==L.providedIn?void 0===L.value?L.value=L.factory():L.value:h&wn.Optional?null:void 0!==s?s:void go()}const wr={},Jr="__NG_DI_FLAG__",Xo="ngTempTokenPath",mo=/\n/gm,Ga="__source";let Tr;function tr(t){const s=Tr;return Tr=t,s}function Ha(t,s=wn.Default){if(void 0===Tr)throw new ge(-203,!1);return null===Tr?ha(t,void 0,s):Tr.get(t,s&wn.Optional?null:void 0,s)}function Es(t,s=wn.Default){return(za()||Ha)(Dt(t),s)}function $i(t,s=wn.Default){return Es(t,Ar(s))}function Ar(t){return typeof t>"u"||"number"==typeof t?t:(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function So(t){const s=[];for(let h=0;hArray.isArray(h)?$r(h,s):s(h))}function Ko(t,s,h){s>=t.length?t.push(h):t.splice(s,0,h)}function Do(t,s){return s>=t.length-1?t.pop():t.splice(s,1)[0]}function Js(t,s,h){let L=Eo(t,s);return L>=0?t[1|L]=h:(L=~L,function va(t,s,h,L){let Q=t.length;if(Q==s)t.push(h,L);else if(1===Q)t.push(L,t[0]),t[0]=h;else{for(Q--,t.push(t[Q-1],t[Q]);Q>s;)t[Q]=t[Q-2],Q--;t[s]=h,t[s+1]=L}}(t,L,s,h)),L}function bo(t,s){const h=Eo(t,s);if(h>=0)return t[1|h]}function Eo(t,s){return function Lc(t,s,h){let L=0,Q=t.length>>h;for(;Q!==L;){const fe=L+(Q-L>>1),Se=t[fe<s?Q=fe:L=fe+1}return~(Q<s){Se=fe-1;break}}}for(;fe-1){let fe;for(;++Qfe?"":Q[dt+1].toLowerCase(),2&L&&Qe!==Ct){if(Vs(L))return!1;Se=!0}}}}else{if(!Se&&!Vs(L)&&!Vs(ze))return!1;if(Se&&Vs(ze))continue;Se=!1,L=ze|1&L}}return Vs(L)||Se}function Vs(t){return!(1&t)}function qo(t,s,h,L){if(null===s)return-1;let Q=0;if(L||!h){let fe=!1;for(;Q-1)for(h++;h0?'="'+Pe+'"':"")+"]"}else 8&L?Q+="."+Se:4&L&&(Q+=" "+Se);else""!==Q&&!Vs(Se)&&(s+=cc(fe,Q),Q=""),L=Se,fe=fe||!Vs(L);h++}return""!==Q&&(s+=cc(fe,Q)),s}function Vl(t){return ee(()=>{const s=Qo(t),h={...s,decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===ol.OnPush,directiveDefs:null,pipeDefs:null,dependencies:s.standalone&&t.dependencies||null,getStandaloneInjector:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||Or.Emulated,styles:t.styles||Dn,_:null,schemas:t.schemas||null,tView:null,id:""};dc(h);const L=t.dependencies;return h.directiveDefs=uc(L,!1),h.pipeDefs=uc(L,!0),h.id=function Sh(t){let s=0;const h=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,t.consts,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery].join("|");for(const Q of h)s=Math.imul(31,s)+Q.charCodeAt(0)|0;return s+=2147483648,"c"+s}(h),h})}function hc(t){return pn(t)||vs(t)}function zl(t){return null!==t}function Oo(t){return ee(()=>({type:t.type,bootstrap:t.bootstrap||Dn,declarations:t.declarations||Dn,imports:t.imports||Dn,exports:t.exports||Dn,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function Gl(t,s){if(null==t)return Sr;const h={};for(const L in t)if(t.hasOwnProperty(L)){const Q=t[L];let fe,Se,Pe=cn.None;Array.isArray(Q)?(Pe=Q[0],fe=Q[1],Se=Q[2]??fe):(fe=Q,Se=Q),s?(h[fe]=Pe!==cn.None?[L,Pe]:L,s[fe]=Se):h[fe]=L}return h}function vo(t){return ee(()=>{const s=Qo(t);return dc(s),s})}function Wa(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,standalone:!0===t.standalone,onDestroy:t.type.prototype.ngOnDestroy||null}}function pn(t){return t[cs]||null}function vs(t){return t[sn]||null}function fs(t){return t[Bn]||null}function kr(t){const s=pn(t)||vs(t)||fs(t);return null!==s&&s.standalone}function er(t,s){const h=t[Er]||null;if(!h&&!0===s)throw new Error(`Type ${pt(t)} does not have '\u0275mod' property.`);return h}function Qo(t){const s={};return{type:t.type,providersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:s,inputTransforms:null,inputConfig:t.inputs||Sr,exportAs:t.exportAs||null,standalone:!0===t.standalone,signals:!0===t.signals,selectors:t.selectors||Dn,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Gl(t.inputs,s),outputs:Gl(t.outputs),debugInfo:null}}function dc(t){t.features?.forEach(s=>s(t))}function uc(t,s){if(!t)return null;const h=s?fs:hc;return()=>("function"==typeof t?t():t).map(L=>h(L)).filter(zl)}function Jo(t){return{\u0275providers:t}}function pc(...t){return{\u0275providers:cl(0,t),\u0275fromNgModule:!0}}function cl(t,...s){const h=[],L=new Set;let Q;const fe=Se=>{h.push(Se)};return $r(s,Se=>{const Pe=Se;Hl(Pe,fe,[],L)&&(Q||=[],Q.push(Pe))}),void 0!==Q&&Pc(Q,fe),h}function Pc(t,s){for(let h=0;h{s(fe,L)})}}function Hl(t,s,h,L){if(!(t=Dt(t)))return!1;let Q=null,fe=St(t);const Se=!fe&&pn(t);if(fe||Se){if(Se&&!Se.standalone)return!1;Q=t}else{const ze=t.ngModule;if(fe=St(ze),!fe)return!1;Q=ze}const Pe=L.has(Q);if(Se){if(Pe)return!1;if(L.add(Q),Se.dependencies){const ze="function"==typeof Se.dependencies?Se.dependencies():Se.dependencies;for(const Qe of ze)Hl(Qe,s,h,L)}}else{if(!fe)return!1;{if(null!=fe.imports&&!Pe){let Qe;L.add(Q);try{$r(fe.imports,dt=>{Hl(dt,s,h,L)&&(Qe||=[],Qe.push(dt))})}finally{}void 0!==Qe&&Pc(Qe,s)}if(!Pe){const Qe=Ir(Q)||(()=>new Q);s({provide:Q,useFactory:Qe,deps:Dn},Q),s({provide:Io,useValue:Q,multi:!0},Q),s({provide:Ao,useValue:()=>Es(Q),multi:!0},Q)}const ze=fe.providers;if(null!=ze&&!Pe){const Qe=t;Lo(ze,dt=>{s(dt,Qe)})}}}return Q!==t&&void 0!==t.providers}function Lo(t,s){for(let h of t)gn(h)&&(h=h.\u0275providers),Array.isArray(h)?Lo(h,s):s(h)}const Nc=st({provide:String,useValue:st});function Ul(t){return null!==t&&"object"==typeof t&&Nc in t}function Po(t){return"function"==typeof t}const Hs=new $e(""),Xs={},ta={};let hl;function xa(){return void 0===hl&&(hl=new hr),hl}class Xr{}class _a extends Xr{get destroyed(){return this._destroyed}constructor(s,h,L,Q){super(),this.parent=h,this.source=L,this.scopes=Q,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,na(s,Se=>this.processProvider(Se)),this.records.set(ya,Ca(void 0,this)),Q.has("environment")&&this.records.set(Xr,Ca(void 0,this));const fe=this.records.get(Hs);null!=fe&&"string"==typeof fe.value&&this.scopes.add(fe.value),this.injectorDefTypes=new Set(this.get(Io,Dn,wn.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;const s=re(null);try{for(const L of this._ngOnDestroyHooks)L.ngOnDestroy();const h=this._onDestroyHooks;this._onDestroyHooks=[];for(const L of h)L()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),re(s)}}onDestroy(s){return this.assertNotDestroyed(),this._onDestroyHooks.push(s),()=>this.removeOnDestroy(s)}runInContext(s){this.assertNotDestroyed();const h=tr(this),L=$s(void 0);try{return s()}finally{tr(h),$s(L)}}get(s,h=wr,L=wn.Default){if(this.assertNotDestroyed(),s.hasOwnProperty(pr))return s[pr](this);L=Ar(L);const fe=tr(this),Se=$s(void 0);try{if(!(L&wn.SkipSelf)){let ze=this.records.get(s);if(void 0===ze){const Qe=function Yr(t){return"function"==typeof t||"object"==typeof t&&t instanceof $e}(s)&&ar(s);ze=Qe&&this.injectableDefInScope(Qe)?Ca(ia(s),Xs):null,this.records.set(s,ze)}if(null!=ze)return this.hydrate(s,ze)}return(L&wn.Self?xa():this.parent).get(s,h=L&wn.Optional&&h===wr?null:h)}catch(Pe){if("NullInjectorError"===Pe.name){if((Pe[Xo]=Pe[Xo]||[]).unshift(pt(s)),fe)throw Pe;return function ua(t,s,h,L){const Q=t[Xo];throw s[Ga]&&Q.unshift(s[Ga]),t.message=function pa(t,s,h,L=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.slice(2):t;let Q=pt(s);if(Array.isArray(s))Q=s.map(pt).join(" -> ");else if("object"==typeof s){let fe=[];for(let Se in s)if(s.hasOwnProperty(Se)){let Pe=s[Se];fe.push(Se+":"+("string"==typeof Pe?JSON.stringify(Pe):pt(Pe)))}Q=`{${fe.join(", ")}}`}return`${h}${L?"("+L+")":""}[${Q}]: ${t.replace(mo,"\n ")}`}("\n"+t.message,Q,h,L),t.ngTokenPath=Q,t[Xo]=null,t}(Pe,s,"R3InjectorError",this.source)}throw Pe}finally{$s(Se),tr(fe)}}resolveInjectorInitializers(){const s=re(null),h=tr(this),L=$s(void 0);try{const fe=this.get(Ao,Dn,wn.Self);for(const Se of fe)Se()}finally{tr(h),$s(L),re(s)}}toString(){const s=[],h=this.records;for(const L of h.keys())s.push(pt(L));return`R3Injector[${s.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new ge(205,!1)}processProvider(s){let h=Po(s=Dt(s))?s:Dt(s&&s.provide);const L=function Dh(t){return Ul(t)?Ca(void 0,t.useValue):Ca(Wl(t),Xs)}(s);if(!Po(s)&&!0===s.multi){let Q=this.records.get(h);Q||(Q=Ca(void 0,Xs,!0),Q.factory=()=>So(Q.multi),this.records.set(h,Q)),h=s,Q.multi.push(s)}this.records.set(h,L)}hydrate(s,h){const L=re(null);try{return h.value===Xs&&(h.value=ta,h.value=h.factory()),"object"==typeof h.value&&h.value&&function dl(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(h.value)&&this._ngOnDestroyHooks.add(h.value),h.value}finally{re(L)}}injectableDefInScope(s){if(!s.providedIn)return!1;const h=Dt(s.providedIn);return"string"==typeof h?"any"===h||this.scopes.has(h):this.injectorDefTypes.has(h)}removeOnDestroy(s){const h=this._onDestroyHooks.indexOf(s);-1!==h&&this._onDestroyHooks.splice(h,1)}}function ia(t){const s=ar(t),h=null!==s?s.factory:Ir(t);if(null!==h)return h;if(t instanceof $e)throw new ge(204,!1);if(t instanceof Function)return function kh(t){if(t.length>0)throw new ge(204,!1);const h=function Cr(t){return t&&(t[Rt]||t[mt])||null}(t);return null!==h?()=>h.factory(t):()=>new t}(t);throw new ge(204,!1)}function Wl(t,s,h){let L;if(Po(t)){const Q=Dt(t);return Ir(Q)||ia(Q)}if(Ul(t))L=()=>Dt(t.useValue);else if(function Fc(t){return!(!t||!t.useFactory)}(t))L=()=>t.useFactory(...So(t.deps||[]));else if(function As(t){return!(!t||!t.useExisting)}(t))L=()=>Es(Dt(t.useExisting));else{const Q=Dt(t&&(t.useClass||t.provide));if(!function Mh(t){return!!t.deps}(t))return Ir(Q)||ia(Q);L=()=>new Q(...So(t.deps))}return L}function Ca(t,s,h=!1){return{factory:t,value:s,multi:h?[]:void 0}}function na(t,s){for(const h of t)Array.isArray(h)?na(h,s):h&&gn(h)?na(h.\u0275providers,s):s(h)}function $l(t,s){t instanceof _a&&t.assertNotDestroyed();const L=tr(t),Q=$s(void 0);try{return s()}finally{tr(L),$s(Q)}}function fc(){return void 0!==za()||null!=function fr(){return Tr}()}function Ge(t){if(!fc())throw new ge(-203,!1)}const Zn=0,gi=1,Bi=2,En=3,ks=4,Us=5,mr=6,ul=7,jn=8,br=9,Ro=10,Qi=11,No=12,Xl=13,ws=14,Is=15,pl=16,Yl=17,Kr=18,Kl=19,wa=20,yo=21,Zr=22,$a=23,rn=25,Bc=1,Fo=7,Xa=9,Ys=10;var Eh=function(t){return t[t.None=0]="None",t[t.HasTransplantedViews=2]="HasTransplantedViews",t}(Eh||{});function Pr(t){return Array.isArray(t)&&"object"==typeof t[Bc]}function Gs(t){return Array.isArray(t)&&!0===t[Bc]}function jc(t){return!!(4&t.flags)}function Bo(t){return t.componentOffset>-1}function fl(t){return!(1&~t.flags)}function no(t){return!!t.template}function Vc(t){return!!(512&t[Bi])}class Ot{constructor(s,h,L){this.previousValue=s,this.currentValue=h,this.firstChange=L}isFirstChange(){return this.firstChange}}function qt(t,s,h,L){null!==s?s.applyValueToInputSignal(s,L):t[h]=L}function Xt(){return Ei}function Ei(t){return t.type.prototype.ngOnChanges&&(t.setInput=bn),on}function on(){const t=gl(this),s=t?.current;if(s){const h=t.previous;if(h===Sr)t.previous=s;else for(let L in s)h[L]=s[L];t.current=null,this.ngOnChanges(s)}}function bn(t,s,h,L,Q){const fe=this.declaredInputs[L],Se=gl(t)||function ml(t,s){return t[Os]=s}(t,{previous:Sr,current:null}),Pe=Se.current||(Se.current={}),ze=Se.previous,Qe=ze[fe];Pe[fe]=new Ot(Qe&&Qe.currentValue,h,ze===Sr),qt(t,s,Q,h)}Xt.ngInherit=!0;const Os="__ngSimpleChanges__";function gl(t){return t[Os]||null}const Ks=function(t,s,h){},dd="svg";let Yu=!1;function Ts(t){for(;Array.isArray(t);)t=t[Zn];return t}function Ph(t,s){return Ts(s[t])}function so(t,s){return Ts(s[t.index])}function Rh(t,s){return t.data[s]}function Uc(t,s){return t[s]}function jo(t,s){const h=s[t];return Pr(h)?h:h[Zn]}function bl(t){return!(128&~t[Bi])}function Ka(t,s){return null==s?null:t[s]}function Zu(t){t[Yl]=0}function If(t){1024&t[Bi]||(t[Bi]|=1024,bl(t)&&Xc(t))}function Nh(t){return!!(9216&t[Bi]||t[$a]?.dirty)}function $c(t){t[Ro].changeDetectionScheduler?.notify(1),Nh(t)?Xc(t):64&t[Bi]&&(function Ef(){return Yu}()?(t[Bi]|=1024,Xc(t)):t[Ro].changeDetectionScheduler?.notify())}function Xc(t){t[Ro].changeDetectionScheduler?.notify();let s=Za(t);for(;null!==s&&!(8192&s[Bi])&&(s[Bi]|=8192,bl(s));)s=Za(s)}function qr(t,s){if(!(256&~t[Bi]))throw new ge(911,!1);null===t[yo]&&(t[yo]=[]),t[yo].push(s)}function Za(t){const s=t[En];return Gs(s)?s[En]:s}const nn={lFrame:jh(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function xc(){return nn.bindingsEnabled}function qa(){return null!==nn.skipHydrationRootTNode}function ni(){return nn.lFrame.lView}function Tn(){return nn.lFrame.tView}function _c(t){return nn.lFrame.contextLView=t,t[jn]}function Cc(t){return nn.lFrame.contextLView=null,t}function ds(){let t=Yc();for(;null!==t&&64===t.type;)t=t.parent;return t}function Yc(){return nn.lFrame.currentTNode}function sa(){const t=nn.lFrame,s=t.currentTNode;return t.isParent?s:s.parent}function ra(t,s){const h=nn.lFrame;h.currentTNode=t,h.isParent=s}function eu(){return nn.lFrame.isParent}function tu(){nn.lFrame.isParent=!1}function ro(){const t=nn.lFrame;let s=t.bindingRootIndex;return-1===s&&(s=t.bindingRootIndex=t.tView.bindingStartIndex),s}function yl(){return nn.lFrame.bindingIndex}function Ta(){return nn.lFrame.bindingIndex++}function xl(t){const s=nn.lFrame,h=s.bindingIndex;return s.bindingIndex=s.bindingIndex+t,h}function sp(t){nn.lFrame.inI18n=t}function Rf(t,s){const h=nn.lFrame;h.bindingIndex=h.bindingRootIndex=t,pd(s)}function pd(t){nn.lFrame.currentDirectiveIndex=t}function Bh(t){const s=nn.lFrame.currentDirectiveIndex;return-1===s?null:t[s]}function oo(){return nn.lFrame.currentQueryIndex}function wc(t){nn.lFrame.currentQueryIndex=t}function Nf(t){const s=t[gi];return 2===s.type?s.declTNode:1===s.type?t[Us]:null}function _l(t,s,h){if(h&wn.SkipSelf){let Q=s,fe=t;for(;!(Q=Q.parent,null!==Q||h&wn.Host||(Q=Nf(fe),null===Q||(fe=fe[ws],10&Q.type))););if(null===Q)return!1;s=Q,t=fe}const L=nn.lFrame=rp();return L.currentTNode=s,L.lView=t,!0}function ao(t){const s=rp(),h=t[gi];nn.lFrame=s,s.currentTNode=h.firstChild,s.lView=t,s.tView=h,s.contextLView=t,s.bindingIndex=h.bindingStartIndex,s.inI18n=!1}function rp(){const t=nn.lFrame,s=null===t?null:t.child;return null===s?jh(t):s}function jh(t){const s={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=s),s}function Kc(){const t=nn.lFrame;return nn.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const nu=Kc;function fd(){const t=Kc();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Rr(){return nn.lFrame.selectedIndex}function Zc(t){nn.lFrame.selectedIndex=t}function Ss(){const t=nn.lFrame;return Rh(t.tView,t.selectedIndex)}function Ff(){nn.lFrame.currentNamespace=dd}function ap(){!function ru(){nn.lFrame.currentNamespace=null}()}let qc=!0;function Qa(){return qc}function Nr(t){qc=t}function Sa(t,s){for(let h=s.directiveStart,L=s.directiveEnd;h=L)break}else s[ze]<0&&(t[Yl]+=65536),(Pe>14>16&&(3&t[Bi])===s&&(t[Bi]+=16384,Cl(Pe,fe)):Cl(Pe,fe)}const Tc=-1;class Qc{constructor(s,h,L){this.factory=s,this.resolving=!1,this.canSeeViewProviders=h,this.injectImpl=L}}function eh(t){return t!==Tc}function Ja(t){return 32767&t}function el(t,s){let h=function hp(t){return t>>16}(t),L=s;for(;h>0;)L=L[ws],h--;return L}let Fr=!0;function kc(t){const s=Fr;return Fr=t,s}const th=255,wl=5;let ka=0;const Br={};function ih(t,s){const h=lo(t,s);if(-1!==h)return h;const L=s[gi];L.firstCreatePass&&(t.injectorIndex=s.length,gd(L.data,t),gd(s,null),gd(L.blueprint,null));const Q=Wh(t,s),fe=t.injectorIndex;if(eh(Q)){const Se=Ja(Q),Pe=el(Q,s),ze=Pe[gi].data;for(let Qe=0;Qe<8;Qe++)s[fe+Qe]=Pe[Se+Qe]|ze[Se+Qe]}return s[fe+8]=Q,fe}function gd(t,s){t.push(0,0,0,0,0,0,0,0,s)}function lo(t,s){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===s[t.injectorIndex+8]?-1:t.injectorIndex}function Wh(t,s){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let h=0,L=null,Q=s;for(;null!==Q;){if(L=du(Q),null===L)return Tc;if(h++,Q=Q[ws],-1!==L.injectorIndex)return L.injectorIndex|h<<16}return Tc}function nh(t,s,h){!function lu(t,s,h){let L;"string"==typeof h?L=h.charCodeAt(0)||0:h.hasOwnProperty(Un)&&(L=h[Un]),null==L&&(L=h[Un]=ka++);const Q=L&th;s.data[t+(Q>>wl)]|=1<=0?s&th:jf:s}(h);if("function"==typeof fe){if(!_l(s,t,L))return L&wn.Host?md(Q,0,L):bd(s,h,L,Q);try{let Se;if(Se=fe(L),null!=Se||L&wn.Optional)return Se;go()}finally{nu()}}else if("number"==typeof fe){let Se=null,Pe=lo(t,s),ze=Tc,Qe=L&wn.Host?s[Is][Us]:null;for((-1===Pe||L&wn.SkipSelf)&&(ze=-1===Pe?Wh(t,s):s[Pe+8],ze!==Tc&&Xh(L,!1)?(Se=s[gi],Pe=Ja(ze),s=el(ze,s)):Pe=-1);-1!==Pe;){const dt=s[gi];if(hu(fe,Pe,dt.data)){const Ct=yd(Pe,s,h,Se,L,Qe);if(Ct!==Br)return Ct}ze=s[Pe+8],ze!==Tc&&Xh(L,s[gi].data[Pe+8]===Qe)&&hu(fe,Pe,s)?(Se=dt,Pe=Ja(ze),s=el(ze,s)):Pe=-1}}return Q}function yd(t,s,h,L,Q,fe){const Se=s[gi],Pe=Se.data[t+8],dt=rh(Pe,Se,h,null==L?Bo(Pe)&&Fr:L!=Se&&!!(3&Pe.type),Q&wn.Host&&fe===Pe);return null!==dt?ql(s,Se,dt,Pe):Br}function rh(t,s,h,L,Q){const fe=t.providerIndexes,Se=s.data,Pe=1048575&fe,ze=t.directiveStart,dt=fe>>20,jt=Q?Pe+dt:t.directiveEnd;for(let Ht=L?Pe:Pe+dt;Ht=ze&&Kt.type===h)return Ht}if(Q){const Ht=Se[ze];if(Ht&&no(Ht)&&Ht.type===h)return ze}return null}function ql(t,s,h,L){let Q=t[h];const fe=s.data;if(function Gh(t){return t instanceof Qc}(Q)){const Se=Q;Se.resolving&&function Fa(t,s){throw s&&s.join(" > "),new ge(-200,t)}(function ln(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():Ui(t)}(fe[h]));const Pe=kc(Se.canSeeViewProviders);Se.resolving=!0;const Qe=Se.injectImpl?$s(Se.injectImpl):null;_l(t,L,wn.Default);try{Q=t[h]=Se.factory(void 0,fe,t,L),s.firstCreatePass&&h>=L.directiveStart&&function Zl(t,s,h){const{ngOnChanges:L,ngOnInit:Q,ngDoCheck:fe}=s.type.prototype;if(L){const Se=Ei(s);(h.preOrderHooks??=[]).push(t,Se),(h.preOrderCheckHooks??=[]).push(t,Se)}Q&&(h.preOrderHooks??=[]).push(0-t,Q),fe&&((h.preOrderHooks??=[]).push(t,fe),(h.preOrderCheckHooks??=[]).push(t,fe))}(h,fe[h],s)}finally{null!==Qe&&$s(Qe),kc(Pe),Se.resolving=!1,nu()}}return Q}function hu(t,s,h){return!!(h[s+(t>>wl)]&1<{const s=t.prototype.constructor,h=s[bs]||_d(s),L=Object.prototype;let Q=Object.getPrototypeOf(t.prototype).constructor;for(;Q&&Q!==L;){const fe=Q[bs]||_d(Q);if(fe&&fe!==h)return fe;Q=Object.getPrototypeOf(Q)}return fe=>new fe})}function _d(t){return It(t)?()=>{const s=_d(Dt(t));return s&&s()}:Ir(t)}function du(t){const s=t[gi],h=s.type;return 2===h?s.declTNode:1===h?t[Us]:null}function Ql(t){return function $h(t,s){if("class"===s)return t.classes;if("style"===s)return t.styles;const h=t.attrs;if(h){const L=h.length;let Q=0;for(;Q{class t{static#e=this.THROW_IF_NOT_FOUND=wr;static#t=this.NULL=new hr;static create(h,L){if(Array.isArray(h))return Yh({name:""},L,h,"");{const Q=h.name??"";return Yh({name:Q},h.parent,h.providers,Q)}}static#i=this.\u0275prov=Wi({token:t,providedIn:"any",factory:()=>Es(ya)});static#n=this.__NG_ELEMENT_ID__=-1}return t})();function Td(t){return t.ngOriginalError}class Sl{constructor(){this._console=console}handleError(s){const h=this._findOriginalError(s);this._console.error("ERROR",s),h&&this._console.error("ORIGINAL ERROR",h)}_findOriginalError(s){let h=s&&Td(s);for(;h&&Td(h);)h=Td(h);return h||null}}const hh=new $e("",{providedIn:"root",factory:()=>$i(Sl).handleError.bind(void 0)});let ec=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=Hf;static#t=this.__NG_ENV_ID__=h=>h}return t})();class Gf extends ec{constructor(s){super(),this._lView=s}onDestroy(s){return qr(this._lView,s),()=>function Ds(t,s){if(null===t[yo])return;const h=t[yo].indexOf(s);-1!==h&&t[yo].splice(h,1)}(this._lView,s)}}function Hf(){return new Gf(ni())}function gu(t,s){return oe(t,s)}const Uf=(gu.required=function qg(t){return oe(Te,t)},gu);function bp(){return kl(ds(),ni())}function kl(t,s){return new dh(so(t,s))}let dh=(()=>{class t{constructor(h){this.nativeElement=h}static#e=this.__NG_ELEMENT_ID__=bp}return t})();function qh(t){return t instanceof dh?t.nativeElement:t}function Qh(t){return s=>{setTimeout(t,void 0,s)}}const co=class vp extends x.B{constructor(s=!1){super(),this.destroyRef=void 0,this.__isAsync=s,fc()&&(this.destroyRef=$i(ec,{optional:!0})??void 0)}emit(s){const h=re(null);try{super.next(s)}finally{re(h)}}subscribe(s,h,L){let Q=s,fe=h||(()=>null),Se=L;if(s&&"object"==typeof s){const ze=s;Q=ze.next?.bind(ze),fe=ze.error?.bind(ze),Se=ze.complete?.bind(ze)}this.__isAsync&&(fe=Qh(fe),Q&&(Q=Qh(Q)),Se&&(Se=Qh(Se)));const Pe=super.subscribe({next:Q,error:fe,complete:Se});return s instanceof N.yU&&s.add(Pe),Pe}};function Sd(){return this._results[Symbol.iterator]()}class Jh{static#e=Symbol.iterator;get changes(){return this._changes??=new co}constructor(s=!1){this._emitDistinctChangesOnly=s,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;const h=Jh.prototype;h[Symbol.iterator]||(h[Symbol.iterator]=Sd)}get(s){return this._results[s]}map(s){return this._results.map(s)}filter(s){return this._results.filter(s)}find(s){return this._results.find(s)}reduce(s,h){return this._results.reduce(s,h)}forEach(s){this._results.forEach(s)}some(s){return this._results.some(s)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(s,h){this.dirty=!1;const L=function es(t){return t.flat(Number.POSITIVE_INFINITY)}(s);(this._changesDetected=!function cr(t,s,h){if(t.length!==s.length)return!1;for(let L=0;LCp}),Cp="ng",mu=new $e(""),wp=new $e("",{providedIn:"platform",factory:()=>"unknown"}),Wf=new $e(""),Tp=new $e("",{providedIn:"root",factory:()=>Ma().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ls=()=>null;function rs(t,s,h=!1){return Ls(t,s,h)}const Yi=new $e("",{providedIn:"root",factory:()=>!1});let Ji,dr;function en(t){return function _n(){if(void 0===Ji&&(Ji=null,Je.trustedTypes))try{Ji=Je.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return Ji}()?.createHTML(t)||t}function ho(){if(void 0===dr&&(dr=null,Je.trustedTypes))try{dr=Je.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return dr}function sr(t){return ho()?.createHTML(t)||t}function la(t){return ho()?.createScriptURL(t)||t}class Ns{constructor(s){this.changingThisBreaksApplicationSecurity=s}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${he})`}}class Ea extends Ns{getTypeName(){return"HTML"}}class kp extends Ns{getTypeName(){return"Style"}}class $f extends Ns{getTypeName(){return"Script"}}class Xf extends Ns{getTypeName(){return"URL"}}class Dp extends Ns{getTypeName(){return"ResourceURL"}}function Dl(t){return t instanceof Ns?t.changingThisBreaksApplicationSecurity:t}function tc(t,s){const h=function Yf(t){return t instanceof Ns&&t.getTypeName()||null}(t);if(null!=h&&h!==s){if("ResourceURL"===h&&"URL"===s)return!0;throw new Error(`Required a safe ${s}, got a ${h} (see ${he})`)}return h===s}function Kf(t){return new Ea(t)}function Jg(t){return new kp(t)}function z0(t){return new $f(t)}function em(t){return new Xf(t)}function bu(t){return new Dp(t)}function Ed(t){const s=new Go(t);return function Ho(){try{return!!(new window.DOMParser).parseFromString(en(""),"text/html")}catch{return!1}}()?new G0(s):s}class G0{constructor(s){this.inertDocumentHelper=s}getInertBodyElement(s){s=""+s;try{const h=(new window.DOMParser).parseFromString(en(s),"text/html").body;return null===h?this.inertDocumentHelper.getInertBodyElement(s):(h.removeChild(h.firstChild),h)}catch{return null}}}class Go{constructor(s){this.defaultDoc=s,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(s){const h=this.inertDocument.createElement("template");return h.innerHTML=en(s),h}}const H0=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function vu(t){return(t=String(t)).match(H0)?t:"unsafe:"+t}function Ml(t){const s={};for(const h of t.split(","))s[h]=!0;return s}function td(...t){const s={};for(const h of t)for(const L in h)h.hasOwnProperty(L)&&(s[L]=!0);return s}const U0=Ml("area,br,col,hr,img,wbr"),Ec=Ml("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),tm=Ml("rp,rt"),Ad=td(U0,td(Ec,Ml("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),td(tm,Ml("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),td(tm,Ec)),im=Ml("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Zf=td(im,Ml("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Ml("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),Zy=Ml("script,style,template");class zC{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(s){let h=s.firstChild,L=!0,Q=[];for(;h;)if(h.nodeType===Node.ELEMENT_NODE?L=this.startElement(h):h.nodeType===Node.TEXT_NODE?this.chars(h.nodeValue):this.sanitizedSomething=!0,L&&h.firstChild)Q.push(h),h=HC(h);else for(;h;){h.nodeType===Node.ELEMENT_NODE&&this.endElement(h);let fe=GC(h);if(fe){h=fe;break}h=Q.pop()}return this.buf.join("")}startElement(s){const h=qf(s).toLowerCase();if(!Ad.hasOwnProperty(h))return this.sanitizedSomething=!0,!Zy.hasOwnProperty(h);this.buf.push("<"),this.buf.push(h);const L=s.attributes;for(let Q=0;Q"),!0}endElement(s){const h=qf(s).toLowerCase();Ad.hasOwnProperty(h)&&!U0.hasOwnProperty(h)&&(this.buf.push(""))}chars(s){this.buf.push(W0(s))}}function GC(t){const s=t.nextSibling;if(s&&t!==s.previousSibling)throw yu(s);return s}function HC(t){const s=t.firstChild;if(s&&function qy(t,s){return(t.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(t,s))throw yu(s);return s}function qf(t){const s=t.nodeName;return"string"==typeof s?s:"FORM"}function yu(t){return new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`)}const Qy=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,nm=/([^\#-~ |!])/g;function W0(t){return t.replace(/&/g,"&").replace(Qy,function(s){return"&#"+(1024*(s.charCodeAt(0)-55296)+(s.charCodeAt(1)-56320)+65536)+";"}).replace(nm,function(s){return"&#"+s.charCodeAt(0)+";"}).replace(//g,">")}let Qf;function $0(t,s){let h=null;try{Qf=Qf||Ed(t);let L=s?String(s):"";h=Qf.getInertBodyElement(L);let Q=5,fe=L;do{if(0===Q)throw new Error("Failed to sanitize html because the input is unstable");Q--,L=fe,fe=h.innerHTML,h=Qf.getInertBodyElement(L)}while(L!==fe);return en((new zC).sanitizeChildren(sm(h)||h))}finally{if(h){const L=sm(h)||h;for(;L.firstChild;)L.removeChild(L.firstChild)}}}function sm(t){return"content"in t&&function Jf(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var Id=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}(Id||{});function eg(t){const s=ur();return s?sr(s.sanitize(Id.HTML,t)||""):tc(t,"HTML")?sr(Dl(t)):$0(Ma(),Ui(t))}function ic(t){const s=ur();return s?s.sanitize(Id.URL,t)||"":tc(t,"URL")?Dl(t):vu(Ui(t))}function tl(t){const s=ur();if(s)return la(s.sanitize(Id.RESOURCE_URL,t)||"");if(tc(t,"ResourceURL"))return la(Dl(t));throw new ge(904,!1)}function tg(t,s,h){return function X0(t,s){return"src"===s&&("embed"===t||"frame"===t||"iframe"===t||"media"===t||"script"===t)||"href"===s&&("base"===t||"link"===t)?tl:ic}(s,h)(t)}function ur(){const t=ni();return t&&t[Ro].sanitizer}const ig=/^>|^->||--!>|)/g,xu="\u200b$1\u200b";const Mp=new Map;let XC=0;const fh="__ngContext__";function uo(t,s){Pr(s)?(t[fh]=s[Kl],function YC(t){Mp.set(t[Kl],t)}(s)):t[fh]=s}function rg(t){return t.ownerDocument.defaultView}function lx(t){return t.ownerDocument}function Uo(t){return t instanceof Function?t():t}var _u=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}(_u||{});let nc;function ob(t,s){return nc(t,s)}function Ip(t,s,h,L,Q){if(null!=L){let fe,Se=!1;Gs(L)?fe=L:Pr(L)&&(Se=!0,L=L[Zn]);const Pe=Ts(L);0===t&&null!==h?null==Q?mm(s,h,Pe):wu(s,h,Pe,Q||null,!0):1===t&&null!==h?wu(s,h,Pe,Q||null,!0):2===t?function cg(t,s,h){const L=Pp(t,s);L&&function hw(t,s,h,L){t.removeChild(s,h,L)}(t,L,s,h)}(s,Pe,Se):3===t&&s.destroyNode(Pe),null!=fe&&function xm(t,s,h,L,Q){const fe=h[Fo];fe!==Ts(h)&&Ip(s,t,L,fe,Q);for(let Pe=Ys;Pes.replace(UC,xu))}(s))}function fm(t,s,h){return t.createElement(s,h)}function Op(t,s){s[Ro].changeDetectionScheduler?.notify(1),Rp(t,s,s[Qi],2,null,null)}function cb(t,s){const h=t[Xa],L=h.indexOf(s);h.splice(L,1)}function Lp(t,s){if(t.length<=Ys)return;const h=Ys+s,L=t[h];if(L){const Q=L[pl];null!==Q&&Q!==t&&cb(Q,L),s>0&&(t[h-1][ks]=L[ks]);const fe=Do(t,Ys+s);!function Pd(t,s){Op(t,s),s[Zn]=null,s[Us]=null}(L[gi],L);const Se=fe[Kr];null!==Se&&Se.detachView(fe[gi]),L[En]=null,L[ks]=null,L[Bi]&=-129}return L}function gm(t,s){if(!(256&s[Bi])){const h=s[Qi];h.destroyNode&&Rp(t,s,h,3,null,null),function cx(t){let s=t[No];if(!s)return hb(t[gi],t);for(;s;){let h=null;if(Pr(s))h=s[No];else{const L=s[Ys];L&&(h=L)}if(!h){for(;s&&!s[ks]&&s!==t;)Pr(s)&&hb(s[gi],s),s=s[En];null===s&&(s=t),Pr(s)&&hb(s[gi],s),h=s&&s[ks]}s=h}}(s)}}function hb(t,s){if(256&s[Bi])return;const h=re(null);try{s[Bi]&=-129,s[Bi]|=256,s[$a]&&I(s[$a]),function cw(t,s){let h;if(null!=t&&null!=(h=t.destroyHooks))for(let L=0;L=0?L[Se]():L[-Se].unsubscribe(),fe+=2}else h[fe].call(L[h[fe+1]]);null!==L&&(s[ul]=null);const Q=s[yo];if(null!==Q){s[yo]=null;for(let fe=0;fe-1){const{encapsulation:fe}=t.data[L.directiveStart+Q];if(fe===Or.None||fe===Or.Emulated)return null}return so(L,h)}}function wu(t,s,h,L,Q){t.insertBefore(s,h,L,Q)}function mm(t,s,h){t.appendChild(s,h)}function bm(t,s,h,L,Q){null!==L?wu(t,s,h,L,Q):mm(t,s,h)}function Pp(t,s){return t.parentNode(s)}function ub(t,s,h){return Rd(t,s,h)}function pb(t,s,h){return 40&t.type?so(t,h):null}let vm,Rd=pb;function fb(t,s){Rd=t,vm=s}function ym(t,s,h,L){const Q=db(t,L,s),fe=s[Qi],Pe=ub(L.parent||s[Us],L,s);if(null!=Q)if(Array.isArray(h))for(let ze=0;zern&&ug(t,s,rn,!1),Ks(Se?2:0,Q),h(L,Q)}finally{Zc(fe),Ks(Se?3:1,Q)}}function Nd(t,s,h){if(jc(s)){const L=re(null);try{const fe=s.directiveEnd;for(let Se=s.directiveStart;Senull;function Sm(t,s,h,L,Q){for(let fe in s){if(!s.hasOwnProperty(fe))continue;const Se=s[fe];if(void 0===Se)continue;L??={};let Pe,ze=cn.None;Array.isArray(Se)?(Pe=Se[0],ze=Se[1]):Pe=Se;let Qe=fe;if(null!==Q){if(!Q.hasOwnProperty(fe))continue;Qe=Q[fe]}0===t?Tb(L,h,Qe,Pe,ze):Tb(L,h,Qe,Pe)}return L}function Tb(t,s,h,L,Q){let fe;t.hasOwnProperty(h)?(fe=t[h]).push(s,L):fe=t[h]=[s,L],void 0!==Q&&fe.push(Q)}function Aa(t,s,h,L,Q,fe,Se,Pe){const ze=so(s,h);let dt,Qe=s.inputs;!Pe&&null!=Qe&&(dt=Qe[L])?(Am(t,h,dt,L,Q),Bo(s)&&function _x(t,s){const h=jo(s,t);16&h[Bi]||(h[Bi]|=64)}(h,s.index)):3&s.type&&(L=function xx(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(L),Q=null!=Se?Se(Q,s.value||"",L):Q,fe.setProperty(ze,L,Q))}function fg(t,s,h,L){if(xc()){const Q=null===L?null:{"":-1},fe=function kx(t,s){const h=t.directiveRegistry;let L=null,Q=null;if(h)for(let fe=0;fe0;){const h=t[--s];if("number"==typeof h&&h<0)return h}return 0})(Se)!=Pe&&Se.push(Pe),Se.push(h,L,fe)}}(t,s,L,Fp(t,h,Q.hostVars,Pn),Q)}function Ic(t,s,h,L,Q,fe){const Se=so(t,s);!function Dm(t,s,h,L,Q,fe,Se){if(null==fe)t.removeAttribute(s,Q,h);else{const Pe=null==Se?Ui(fe):Se(fe,L||"",Q);t.setAttribute(s,Q,Pe,h)}}(s[Qi],Se,fe,t.value,h,L,Q)}function Ix(t,s,h,L,Q,fe){const Se=fe[s];if(null!==Se)for(let Pe=0;Pe0&&(h[Q-1][ks]=s),L{Xc(t.lView)},consumerOnSignalRead(){this.lView[$a]=this}};function Bb(t){return Lm(t[No])}function jb(t){return Lm(t[ks])}function Lm(t){for(;null!==t&&!Gs(t);)t=t[ks];return t}const Bx=100;function Gp(t,s=!0,h=0){const L=t[Ro],Q=L.rendererFactory;Q.begin?.();try{!function jx(t,s){id(t,s);let h=0;for(;Nh(t);){if(h===Bx)throw new ge(103,!1);h++,id(t,1)}}(t,h)}catch(Se){throw s&&gg(t,Se),Se}finally{Q.end?.(),L.inlineEffectRunner?.flush()}}function fw(t,s,h,L){const Q=s[Bi];if(!(256&~Q))return;s[Ro].inlineEffectRunner?.flush(),ao(s);let Se=null,Pe=null;(function Vb(t){return 2!==t.type})(t)&&(Pe=function Rb(t){return t[$a]??function Nb(t){const s=Om.pop()??Object.create(Fb);return s.lView=t,s}(t)}(s),Se=P(Pe));try{Zu(s),function ip(t){return nn.lFrame.bindingIndex=t}(t.bindingStartIndex),null!==h&&Du(t,s,h,2,L);const ze=!(3&~Q);if(ze){const Ct=t.preOrderCheckHooks;null!==Ct&&oa(s,Ct,null)}else{const Ct=t.preOrderHooks;null!==Ct&&Vo(s,Ct,0,null),zh(s,0)}if(function Vx(t){for(let s=Bb(t);null!==s;s=jb(s)){if(!(s[Bi]&Eh.HasTransplantedViews))continue;const h=s[Xa];for(let L=0;L-1&&(Lp(s,L),Do(h,L))}this._attachedToViewContainer=!1}gm(this._lView[gi],this._lView)}onDestroy(s){qr(this._lView,s)}markForCheck(){Hp(this._cdRefInjectingView||this._lView)}detach(){this._lView[Bi]&=-129}reattach(){$c(this._lView),this._lView[Bi]|=128}detectChanges(){this._lView[Bi]|=1024,Gp(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new ge(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,Op(this._lView[gi],this._lView)}attachToAppRef(s){if(this._attachedToViewContainer)throw new ge(902,!1);this._appRef=s,$c(this._lView)}}let Wp=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=Hb}return t})();const Gb=Wp,Gx=class extends Gb{constructor(s,h,L){super(),this._declarationLView=s,this._declarationTContainer=h,this.elementRef=L}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(s,h){return this.createEmbeddedViewImpl(s,h)}createEmbeddedViewImpl(s,h,L){const Q=jp(this._declarationLView,this._declarationTContainer,s,{injector:h,dehydratedView:L});return new Up(Q)}};function Hb(){return nd(ds(),ni())}function nd(t,s){return 4&t.type?new Gx(s,t,kl(t,s)):null}let nv=()=>null;function Zp(t,s){return nv(t,s)}class qp{}class ca{}class Hm{}class Um{resolveComponentFactory(s){throw function Wo(t){const s=Error(`No component factory found for ${pt(t)}.`);return s.ngComponent=t,s}(s)}}let Ia=(()=>{class t{static#e=this.NULL=new Um}return t})();class Fd{}let Oa=(()=>{class t{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function Qp(){const t=ni(),h=jo(ds().index,t);return(Pr(h)?h:t)[Qi]}()}return t})(),Tg=(()=>{class t{static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:()=>null})}return t})();const Ou={};function qx(t,s){if(null!==function ve(){return V}())throw new ge(-602,!1)}const Wm=new Set;function El(t){Wm.has(t)||(Wm.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}function Sg(...t){}class xr{constructor({enableLongStackTrace:s=!1,shouldCoalesceEventChangeDetection:h=!1,shouldCoalesceRunChangeDetection:L=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new co(!1),this.onMicrotaskEmpty=new co(!1),this.onStable=new co(!1),this.onError=new co(!1),typeof Zone>"u")throw new ge(908,!1);Zone.assertZonePatched();const Q=this;Q._nesting=0,Q._outer=Q._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(Q._inner=Q._inner.fork(new Zone.TaskTrackingZoneSpec)),s&&Zone.longStackTraceZoneSpec&&(Q._inner=Q._inner.fork(Zone.longStackTraceZoneSpec)),Q.shouldCoalesceEventChangeDetection=!L&&h,Q.shouldCoalesceRunChangeDetection=L,Q.lastRequestAnimationFrameId=-1,Q.nativeRequestAnimationFrame=function Bd(){const t="function"==typeof Je.requestAnimationFrame;let s=Je[t?"requestAnimationFrame":"setTimeout"],h=Je[t?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&s&&h){const L=s[Zone.__symbol__("OriginalDelegate")];L&&(s=L);const Q=h[Zone.__symbol__("OriginalDelegate")];Q&&(h=Q)}return{nativeRequestAnimationFrame:s,nativeCancelAnimationFrame:h}}().nativeRequestAnimationFrame,function _w(t){const s=()=>{!function Jx(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Je,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,$m(t),t.isCheckStableRunning=!0,Lu(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),$m(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(h,L,Q,fe,Se,Pe)=>{if(function e_(t){return!(!Array.isArray(t)||1!==t.length)&&!0===t[0].data?.__ignore_ng_zone__}(Pe))return h.invokeTask(Q,fe,Se,Pe);try{return sv(t),h.invokeTask(Q,fe,Se,Pe)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===fe.type||t.shouldCoalesceRunChangeDetection)&&s(),rv(t)}},onInvoke:(h,L,Q,fe,Se,Pe,ze)=>{try{return sv(t),h.invoke(Q,fe,Se,Pe,ze)}finally{t.shouldCoalesceRunChangeDetection&&s(),rv(t)}},onHasTask:(h,L,Q,fe)=>{h.hasTask(Q,fe),L===Q&&("microTask"==fe.change?(t._hasPendingMicrotasks=fe.microTask,$m(t),Lu(t)):"macroTask"==fe.change&&(t.hasPendingMacrotasks=fe.macroTask))},onHandleError:(h,L,Q,fe)=>(h.handleError(Q,fe),t.runOutsideAngular(()=>t.onError.emit(fe)),!1)})}(Q)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!xr.isInAngularZone())throw new ge(909,!1)}static assertNotInAngularZone(){if(xr.isInAngularZone())throw new ge(909,!1)}run(s,h,L){return this._inner.run(s,h,L)}runTask(s,h,L,Q){const fe=this._inner,Se=fe.scheduleEventTask("NgZoneEvent: "+Q,s,Qx,Sg,Sg);try{return fe.runTask(Se,h,L)}finally{fe.cancelTask(Se)}}runGuarded(s,h,L){return this._inner.runGuarded(s,h,L)}runOutsideAngular(s){return this._outer.run(s)}}const Qx={};function Lu(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function $m(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function sv(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function rv(t){t._nesting--,Lu(t)}class ov{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new co,this.onMicrotaskEmpty=new co,this.onStable=new co,this.onError=new co}run(s,h,L){return s.apply(h,L)}runGuarded(s,h,L){return s.apply(h,L)}runOutsideAngular(s){return s()}runTask(s,h,L,Q){return s.apply(h,L)}}var jd=function(t){return t[t.EarlyRead=0]="EarlyRead",t[t.Write=1]="Write",t[t.MixedReadWrite=2]="MixedReadWrite",t[t.Read=3]="Read",t}(jd||{});const Jp={destroy(){}};function av(t,s){!s&&Ge();const h=s?.injector??$i(yr);if(!function Od(t){return"browser"===(t??$i(yr)).get(wp)}(h))return Jp;El("NgAfterNextRender");const L=h.get(tf),Q=L.handler??=new cv,fe=s?.phase??jd.MixedReadWrite,Se=()=>{Q.unregister(ze),Pe()},Pe=h.get(ec).onDestroy(Se),ze=$l(h,()=>new lv(fe,()=>{Se(),t()}));return Q.register(ze),{destroy:Se}}class lv{constructor(s,h){this.phase=s,this.callbackFn=h,this.zone=$i(xr),this.errorHandler=$i(Sl,{optional:!0}),$i(qp,{optional:!0})?.notify(1)}invoke(){try{this.zone.runOutsideAngular(this.callbackFn)}catch(s){this.errorHandler?.handleError(s)}}}class cv{constructor(){this.executingCallbacks=!1,this.buckets={[jd.EarlyRead]:new Set,[jd.Write]:new Set,[jd.MixedReadWrite]:new Set,[jd.Read]:new Set},this.deferredCallbacks=new Set}register(s){(this.executingCallbacks?this.deferredCallbacks:this.buckets[s.phase]).add(s)}unregister(s){this.buckets[s.phase].delete(s),this.deferredCallbacks.delete(s)}execute(){this.executingCallbacks=!0;for(const s of Object.values(this.buckets))for(const h of s)h.invoke();this.executingCallbacks=!1;for(const s of this.deferredCallbacks)this.buckets[s.phase].add(s);this.deferredCallbacks.clear()}destroy(){for(const s of Object.values(this.buckets))s.clear();this.deferredCallbacks.clear()}}let tf=(()=>{class t{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){const h=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const L of h)L()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:()=>new t})}return t})();function rd(t){return!!er(t)}function Km(t,s,h){let L=h?t.styles:null,Q=h?t.classes:null,fe=0;if(null!==s)for(let Se=0;Se0&&hg(t,h,fe.join(" "))}}(Ht,wo,li,L),void 0!==h&&function kw(t,s,h){const L=t.projection=[];for(let Q=0;Q{class t{static#e=this.__NG_ELEMENT_ID__=Mw}return t})();function Mw(){return fv(ds(),ni())}const u_=Zm,uv=class extends u_{constructor(s,h,L){super(),this._lContainer=s,this._hostTNode=h,this._hostLView=L}get element(){return kl(this._hostTNode,this._hostLView)}get injector(){return new vr(this._hostTNode,this._hostLView)}get parentInjector(){const s=Wh(this._hostTNode,this._hostLView);if(eh(s)){const h=el(s,this._hostLView),L=Ja(s);return new vr(h[gi].data[L+8],h)}return new vr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(s){const h=pv(this._lContainer);return null!==h&&h[s]||null}get length(){return this._lContainer.length-Ys}createEmbeddedView(s,h,L){let Q,fe;"number"==typeof L?Q=L:null!=L&&(Q=L.index,fe=L.injector);const Se=Zp(this._lContainer,s.ssrId),Pe=s.createEmbeddedViewImpl(h||{},fe,Se);return this.insertImpl(Pe,Q,Mu(this._hostTNode,Se)),Pe}createComponent(s,h,L,Q,fe){const Se=s&&!function Oi(t){return"function"==typeof t}(s);let Pe;if(Se)Pe=h;else{const Kt=h||{};Pe=Kt.index,L=Kt.injector,Q=Kt.projectableNodes,fe=Kt.environmentInjector||Kt.ngModuleRef}const ze=Se?s:new rf(pn(s)),Qe=L||this.parentInjector;if(!fe&&null==ze.ngModule){const li=(Se?Qe:this.parentInjector).get(Xr,null);li&&(fe=li)}const dt=pn(ze.componentType??{}),Ct=Zp(this._lContainer,dt?.id??null),Ht=ze.create(Qe,Q,Ct?.firstChild??null,fe);return this.insertImpl(Ht.hostView,Pe,Mu(this._hostTNode,Ct)),Ht}insert(s,h){return this.insertImpl(s,h,!0)}insertImpl(s,h,L){const Q=s._lView;if(function Af(t){return Gs(t[En])}(Q)){const Pe=this.indexOf(s);if(-1!==Pe)this.detach(Pe);else{const ze=Q[En],Qe=new uv(ze,ze[Us],ze[En]);Qe.detach(Qe.indexOf(s))}}const fe=this._adjustIndex(h),Se=this._lContainer;return Vp(Se,Q,fe,L),s.attachToViewContainerRef(),Ko(qm(Se),fe,s),s}move(s,h){return this.insert(s,h)}indexOf(s){const h=pv(this._lContainer);return null!==h?h.indexOf(s):-1}remove(s){const h=this._adjustIndex(s,-1),L=Lp(this._lContainer,h);L&&(Do(qm(this._lContainer),h),gm(L[gi],L))}detach(s){const h=this._adjustIndex(s,-1),L=Lp(this._lContainer,h);return L&&null!=Do(qm(this._lContainer),h)?new Up(L):null}_adjustIndex(s,h=0){return s??this.length+h}};function pv(t){return t[8]}function qm(t){return t[8]||(t[8]=[])}function fv(t,s){let h;const L=s[t.index];return Gs(L)?h=L:(h=Eb(L,s,null,t),s[t.index]=h,Bp(s,h)),gv(h,s,t,L),new uv(h,t,s)}let gv=function bv(t,s,h,L){if(t[Fo])return;let Q;Q=8&h.type?Ts(L):function p_(t,s){const h=t[Qi],L=h.createComment(""),Q=so(s,t);return wu(h,Pp(h,Q),L,function ag(t,s){return t.nextSibling(s)}(h,Q),!1),L}(s,h),t[Fo]=Q},mv=()=>!1;class Qm{constructor(s){this.queryList=s,this.matches=null}clone(){return new Qm(this.queryList)}setDirty(){this.queryList.setDirty()}}class Jm{constructor(s=[]){this.queries=s}createEmbeddedView(s){const h=s.queries;if(null!==h){const L=null!==s.contentQueries?s.contentQueries[0]:h.length,Q=[];for(let fe=0;fes.trim())}(s):s}}class vv{constructor(s=[]){this.queries=s}elementStart(s,h){for(let L=0;L0)L.push(Se[Pe/2]);else{const Qe=fe[Pe+1],dt=s[-ze];for(let Ct=Ys;Ct(J(s),s.value);return h[ne]=s,h}(t),L=h[ne];return s?.equal&&(L.equal=s.equal),h.set=Q=>B(L,Q),h.update=Q=>function z(t,s){j()||l(),B(t,s(t.value))}(L,Q),h.asReadonly=Mv.bind(h),h}function Mv(){const t=this[ne];if(void 0===t.readonlyFn){const s=()=>this();s[ne]=t,t.readonlyFn=s}return t.readonlyFn}function Ev(t){return function kv(t){return"function"==typeof t&&void 0!==t[ne]}(t)&&"function"==typeof t.set}function o0(t){let s=function D_(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),h=!0;const L=[t];for(;s;){let Q;if(no(t))Q=s.\u0275cmp||s.\u0275dir;else{if(s.\u0275cmp)throw new ge(903,!1);Q=s.\u0275dir}if(Q){if(h){L.push(Q);const Se=t;Se.inputs=a0(t.inputs),Se.inputTransforms=a0(t.inputTransforms),Se.declaredInputs=a0(t.declaredInputs),Se.outputs=a0(t.outputs);const Pe=Q.hostBindings;Pe&&E_(t,Pe);const ze=Q.viewQuery,Qe=Q.contentQueries;if(ze&&Kw(t,ze),Qe&&Zw(t,Qe),Yw(t,Q),Tt(t.outputs,Q.outputs),no(Q)&&Q.data.animation){const dt=t.data;dt.animation=(dt.animation||[]).concat(Q.data.animation)}}const fe=Q.features;if(fe)for(let Se=0;Se=0;L--){const Q=t[L];Q.hostVars=s+=Q.hostVars,Q.hostAttrs=Ye(Q.hostAttrs,h=Ye(h,Q.hostAttrs))}}(L)}function Yw(t,s){for(const h in s.inputs){if(!s.inputs.hasOwnProperty(h)||t.inputs.hasOwnProperty(h))continue;const L=s.inputs[h];if(void 0!==L&&(t.inputs[h]=L,t.declaredInputs[h]=s.declaredInputs[h],null!==s.inputTransforms)){const Q=Array.isArray(L)?L[0]:L;if(!s.inputTransforms.hasOwnProperty(Q))continue;t.inputTransforms??={},t.inputTransforms[Q]=s.inputTransforms[Q]}}}function a0(t){return t===Sr?{}:t===Dn?[]:t}function Kw(t,s){const h=t.viewQuery;t.viewQuery=h?(L,Q)=>{s(L,Q),h(L,Q)}:s}function Zw(t,s){const h=t.contentQueries;t.contentQueries=h?(L,Q,fe)=>{s(L,Q,fe),h(L,Q,fe)}:s}function E_(t,s){const h=t.hostBindings;t.hostBindings=h?(L,Q)=>{s(L,Q),h(L,Q)}:s}function I_(t){const s=h=>{const L=(Array.isArray(t)?t:t()).map(Q=>"function"==typeof Q?{directive:Dt(Q),inputs:Sr,outputs:Sr}:{directive:Dt(Q.directive),inputs:Fv(Q.inputs),outputs:Fv(Q.outputs)});null===h.hostDirectives?(h.findHostDirectiveDefs=O_,h.hostDirectives=L):h.hostDirectives.unshift(...L)};return s.ngInherit=!0,s}function O_(t,s,h){if(null!==t.hostDirectives)for(const L of t.hostDirectives){const Q=vs(L.directive);Jw(Q.declaredInputs,L.inputs),O_(Q,s,h),h.set(Q,L),s.push(Q)}}function Fv(t){if(void 0===t||0===t.length)return Sr;const s={};for(let h=0;hh()),this.destroyCbs=null}onDestroy(s){this.destroyCbs.push(s)}}class Bv extends R_{constructor(s){super(),this.moduleType=s}create(s){return new l0(this.moduleType,s,[])}}class F_ extends Vd{constructor(s){super(),this.componentFactoryResolver=new s_(this),this.instance=null;const h=new _a([...s.providers,{provide:Vd,useValue:this},{provide:Ia,useValue:this.componentFactoryResolver}],s.parent||xa(),s.debugName,new Set(["environment"]));this.injector=h,s.runEnvironmentInitializers&&h.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(s){this.injector.onDestroy(s)}}function jv(t,s,h=null){return new F_({providers:t,parent:s,debugName:h,runEnvironmentInitializers:!0}).injector}let af=(()=>{class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new R.t(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const h=this.taskId++;return this.pendingTasks.add(h),h}remove(h){this.pendingTasks.delete(h),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function c0(t){return!!Vv(t)&&(Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t)}function Vv(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function Oc(t,s,h){return t[s]=h}function Ag(t,s){return t[s]}function Mr(t,s,h){return!Object.is(t[s],h)&&(t[s]=h,!0)}function Ru(t,s,h,L){const Q=Mr(t,s,h);return Mr(t,s+1,L)||Q}function h0(t,s,h,L,Q){const fe=Ru(t,s,h,L);return Mr(t,s+2,Q)||fe}function sc(t,s,h,L,Q,fe){const Se=Ru(t,s,h,L);return Ru(t,s+2,Q,fe)||Se}function lf(t,s,h,L,Q,fe,Se,Pe){const ze=ni(),Qe=Tn(),dt=t+rn,Ct=Qe.firstCreatePass?function lT(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=s.consts,dt=ku(s,t,4,Se||null,Ka(Qe,Pe));fg(s,h,dt,Ka(Qe,ze)),Sa(s,dt);const Ct=dt.tView=Tm(2,dt,L,Q,fe,s.directiveRegistry,s.pipeRegistry,null,s.schemas,Qe,null);return null!==s.queries&&(s.queries.template(s,dt),Ct.queries=s.queries.embeddedTView(dt)),dt}(dt,Qe,ze,s,h,L,Q,fe,Se):Qe.data[dt];ra(Ct,!1);const jt=j_(Qe,ze,Ct,t);Qa()&&ym(Qe,ze,jt,Ct),uo(jt,ze);const Ht=Eb(jt,ze,jt,Ct);return ze[dt]=Ht,Bp(ze,Ht),function f_(t,s,h){return mv(t,s,h)}(Ht,Ct,ze),fl(Ct)&&Cm(Qe,ze,Ct),null!=Se&&wm(ze,Ct,Pe),lf}let j_=function zv(t,s,h,L){return Nr(!0),s[Qi].createComment("")};function ey(t,s,h,L){const Q=ni();return Mr(Q,Ta(),s)&&(Tn(),Ic(Ss(),Q,t,s,h,L)),ey}function mf(t,s,h,L){return Mr(t,Ta(),h)?s+Ui(h)+L:Pn}function xh(t,s){return t<<17|s<<2}function Il(t){return t>>17&32767}function Gd(t){return 2|t}function _h(t){return(131068&t)>>2}function Rg(t,s){return-131069&t|s<<2}function Ng(t){return 1|t}function ay(t,s,h,L){const Q=t[h+1],fe=null===s;let Se=L?Il(Q):_h(Q),Pe=!1;for(;0!==Se&&(!1===Pe||fe);){const Qe=t[Se+1];ET(t[Se],s)&&(Pe=!0,t[Se+1]=L?Ng(Qe):Gd(Qe)),Se=L?Il(Qe):_h(Qe)}Pe&&(t[h+1]=L?Gd(Q):Ng(Q))}function ET(t,s){return null===t||null==s||(Array.isArray(t)?t[1]:t)===s||!(!Array.isArray(t)||"string"!=typeof s)&&Eo(t,s)>=0}const Hr={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function b1(t){return t.substring(Hr.key,Hr.keyEnd)}function AT(t){return t.substring(Hr.value,Hr.valueEnd)}function v1(t,s){const h=Hr.textEnd;return h===s?-1:(s=Hr.keyEnd=function ly(t,s,h){for(;s32;)s++;return s}(t,Hr.key=s,h),xf(t,s,h))}function y1(t,s){const h=Hr.textEnd;let L=Hr.key=xf(t,s,h);return h===L?-1:(L=Hr.keyEnd=function _f(t,s,h){let L;for(;s=65&&(-33&L)<=90||L>=48&&L<=57);)s++;return s}(t,L,h),L=Hd(t,L,h),L=Hr.value=xf(t,L,h),L=Hr.valueEnd=function w0(t,s,h){let L=-1,Q=-1,fe=-1,Se=s,Pe=Se;for(;Se32&&(Pe=Se),fe=Q,Q=L,L=-33&ze}return Pe}(t,L,h),Hd(t,L,h))}function x1(t){Hr.key=0,Hr.keyEnd=0,Hr.value=0,Hr.valueEnd=0,Hr.textEnd=t.length}function xf(t,s,h){for(;s=0;h=y1(s,h))dy(t,b1(s),AT(s))}function S0(t){Ol(uy,nl,t,!0)}function nl(t,s){for(let h=function C0(t){return x1(t),v1(t,xf(t,0,Hr.textEnd))}(s);h>=0;h=v1(s,h))Js(t,b1(s),!0)}function oc(t,s,h,L){const Q=ni(),fe=Tn(),Se=xl(2);fe.firstUpdatePass&&k0(fe,t,Se,L),s!==Pn&&Mr(Q,Se,s)&&Ra(fe,fe.data[Rr()],Q,Q[Qi],t,Q[Se+1]=function k1(t,s){return null==t||""===t||("string"==typeof s?t+=s:"object"==typeof t&&(t=pt(Dl(t)))),t}(s,h),L,Se)}function Ol(t,s,h,L){const Q=Tn(),fe=xl(2);Q.firstUpdatePass&&k0(Q,null,fe,L);const Se=ni();if(h!==Pn&&Mr(Se,fe,h)){const Pe=Q.data[Rr()];if(D1(Pe,L)&&!cy(Q,fe)){let ze=L?Pe.classesWithoutHost:Pe.stylesWithoutHost;null!==ze&&(h=ht(ze,h||"")),rc(Q,Pe,Se,h,L)}else!function OT(t,s,h,L,Q,fe,Se,Pe){Q===Pn&&(Q=Dn);let ze=0,Qe=0,dt=0=t.expandoStartIndex}function k0(t,s,h,L){const Q=t.data;if(null===Q[h+1]){const fe=Q[Rr()],Se=cy(t,h);D1(fe,L)&&null===s&&!Se&&(s=!1),s=function w1(t,s,h,L){const Q=Bh(t);let fe=L?s.residualClasses:s.residualStyles;if(null===Q)0===(L?s.classBindings:s.styleBindings)&&(h=Wd(h=Bg(null,t,s,h,L),s.attrs,L),fe=null);else{const Se=s.directiveStylingLast;if(-1===Se||t[Se]!==Q)if(h=Bg(Q,t,s,h,L),null===fe){let ze=function T1(t,s,h){const L=h?s.classBindings:s.styleBindings;if(0!==_h(L))return t[Il(L)]}(t,s,L);void 0!==ze&&Array.isArray(ze)&&(ze=Bg(null,t,s,ze[1],L),ze=Wd(ze,s.attrs,L),function hy(t,s,h,L){t[Il(h?s.classBindings:s.styleBindings)]=L}(t,s,L,ze))}else fe=function D0(t,s,h){let L;const Q=s.directiveEnd;for(let fe=1+s.directiveStylingLast;fe0)&&(Qe=!0)):dt=h,Q)if(0!==ze){const jt=Il(t[Pe+1]);t[L+1]=xh(jt,Pe),0!==jt&&(t[jt+1]=Rg(t[jt+1],L)),t[Pe+1]=function sy(t,s){return 131071&t|s<<17}(t[Pe+1],L)}else t[L+1]=xh(Pe,0),0!==Pe&&(t[Pe+1]=Rg(t[Pe+1],L)),Pe=L;else t[L+1]=xh(ze,0),0===Pe?Pe=L:t[ze+1]=Rg(t[ze+1],L),ze=L;Qe&&(t[L+1]=Gd(t[L+1])),ay(t,dt,L,!0),ay(t,dt,L,!1),function oy(t,s,h,L,Q){const fe=Q?t.residualClasses:t.residualStyles;null!=fe&&"string"==typeof s&&Eo(fe,s)>=0&&(h[L+1]=Ng(h[L+1]))}(s,dt,t,L,fe),Se=xh(Pe,ze),fe?s.classBindings=Se:s.styleBindings=Se}(Q,fe,s,h,Se,L)}}function Bg(t,s,h,L,Q){let fe=null;const Se=h.directiveEnd;let Pe=h.directiveStylingLast;for(-1===Pe?Pe=h.directiveStart:Pe++;Pe0;){const ze=t[Q],Qe=Array.isArray(ze),dt=Qe?ze[1]:ze,Ct=null===dt;let jt=h[Q+1];jt===Pn&&(jt=Ct?Dn:void 0);let Ht=Ct?bo(jt,L):dt===L?jt:void 0;if(Qe&&!wf(Ht)&&(Ht=bo(ze,L)),wf(Ht)&&(Pe=Ht,Se))return Pe;const Kt=t[Q+1];Q=Se?Il(Kt):_h(Kt)}if(null!==s){let ze=fe?s.residualClasses:s.residualStyles;null!=ze&&(Pe=bo(ze,L))}return Pe}function wf(t){return void 0!==t}function D1(t,s){return!!(t.flags&(s?8:16))}function fy(t,s,h){Ol(Js,nl,mf(ni(),t,s,h),!0)}class zT{destroy(s){}updateValue(s,h){}swap(s,h){const L=Math.min(s,h),Q=Math.max(s,h),fe=this.detach(Q);if(Q-L>1){const Se=this.detach(L);this.attach(L,fe),this.attach(Q,Se)}else this.attach(L,fe)}move(s,h){this.attach(h,this.detach(s))}}function M0(t,s,h,L,Q){return t===h&&Object.is(s,L)?1:Object.is(Q(t,s),Q(h,L))?-1:0}function gy(t,s,h,L){return!(void 0===s||!s.has(L)||(t.attach(h,s.get(L)),s.delete(L),0))}function A1(t,s,h,L,Q){if(gy(t,s,L,h(L,Q)))t.updateValue(L,Q);else{const fe=t.create(L,Q);t.attach(L,fe)}}function I1(t,s,h,L){const Q=new Set;for(let fe=s;fe<=h;fe++)Q.add(L(fe,t.at(fe)));return Q}class O1{constructor(){this.kvMap=new Map,this._vMap=void 0}has(s){return this.kvMap.has(s)}delete(s){if(!this.has(s))return!1;const h=this.kvMap.get(s);return void 0!==this._vMap&&this._vMap.has(h)?(this.kvMap.set(s,this._vMap.get(h)),this._vMap.delete(h)):this.kvMap.delete(s),!0}get(s){return this.kvMap.get(s)}set(s,h){if(this.kvMap.has(s)){let L=this.kvMap.get(s);void 0===this._vMap&&(this._vMap=new Map);const Q=this._vMap;for(;Q.has(L);)L=Q.get(L);Q.set(L,h)}else this.kvMap.set(s,h)}forEach(s){for(let[h,L]of this.kvMap)if(s(L,h),void 0!==this._vMap){const Q=this._vMap;for(;Q.has(L);)L=Q.get(L),s(L,h)}}}function L1(t,s,h){El("NgControlFlow");const L=ni(),Q=Ta(),fe=my(L,rn+t);if(Mr(L,Q,s)){const Pe=re(null);try{if(Im(fe,0),-1!==s){const ze=by(L[gi],rn+s),Qe=Zp(fe,ze.tView.ssrId);Vp(fe,jp(L,ze,h,{dehydratedView:Qe}),0,Mu(ze,Qe))}}finally{re(Pe)}}else{const Pe=Lb(fe,0);void 0!==Pe&&(Pe[jn]=h)}}class GT{constructor(s,h,L){this.lContainer=s,this.$implicit=h,this.$index=L}get $count(){return this.lContainer.length-Ys}}function P1(t,s){return s}class UT{constructor(s,h,L){this.hasEmptyBlock=s,this.trackByFn=h,this.liveCollection=L}}function R1(t,s,h,L,Q,fe,Se,Pe,ze,Qe,dt,Ct,jt){El("NgControlFlow");const Ht=void 0!==ze,Kt=ni(),li=Pe?Se.bind(Kt[Is][jn]):Se,bi=new UT(Ht,li);Kt[rn+t]=bi,lf(t+1,s,h,L,Q,fe),Ht&&lf(t+2,ze,Qe,dt,Ct,jt)}class WT extends zT{constructor(s,h,L){super(),this.lContainer=s,this.hostLView=h,this.templateTNode=L,this.needsIndexUpdate=!1}get length(){return this.lContainer.length-Ys}at(s){return this.getLView(s)[jn].$implicit}attach(s,h){const L=h[mr];this.needsIndexUpdate||=s!==this.length,Vp(this.lContainer,h,s,Mu(this.templateTNode,L))}detach(s){return this.needsIndexUpdate||=s!==this.length-1,function $T(t,s){return Lp(t,s)}(this.lContainer,s)}create(s,h){const L=Zp(this.lContainer,this.templateTNode.tView.ssrId);return jp(this.hostLView,this.templateTNode,new GT(this.lContainer,h,s),{dehydratedView:L})}destroy(s){gm(s[gi],s)}updateValue(s,h){this.getLView(s)[jn].$implicit=h}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let s=0;s{t.destroy(Pe)})}(Se,t,fe.trackByFn),Se.updateIndexes(),fe.hasEmptyBlock){const Pe=Ta(),ze=0===Se.length;if(Mr(L,Pe,ze)){const Qe=h+2,dt=my(L,Qe);if(ze){const Ct=by(Q,Qe),jt=Zp(dt,Ct.tView.ssrId);Vp(dt,jp(L,Ct,void 0,{dehydratedView:jt}),0,Mu(Ct,jt))}else Im(dt,0)}}}finally{re(s)}}function my(t,s){return t[s]}function by(t,s){return Rh(t,s)}function A0(t,s,h,L){const Q=ni(),fe=Tn(),Se=rn+t,Pe=Q[Qi],ze=fe.firstCreatePass?function N1(t,s,h,L,Q,fe){const Se=s.consts,ze=ku(s,t,2,L,Ka(Se,Q));return fg(s,h,ze,Ka(Se,fe)),null!==ze.attrs&&Km(ze,ze.attrs,!1),null!==ze.mergedAttrs&&Km(ze,ze.mergedAttrs,!0),null!==s.queries&&s.queries.elementStart(s,ze),ze}(Se,fe,Q,s,h,L):fe.data[Se],Qe=F1(fe,Q,ze,Pe,s,t);Q[Se]=Qe;const dt=fl(ze);return ra(ze,!0),Su(Pe,Qe,ze),!function Ig(t){return!(32&~t.flags)}(ze)&&Qa()&&ym(fe,Q,Qe,ze),0===function vl(){return nn.lFrame.elementDepthCount}()&&uo(Qe,Q),function ud(){nn.lFrame.elementDepthCount++}(),dt&&(Cm(fe,Q,ze),Nd(fe,ze,Q)),null!==L&&wm(Q,ze),A0}function I0(){let t=ds();eu()?tu():(t=t.parent,ra(t,!1));const s=t;(function Jd(t){return nn.skipHydrationRootTNode===t})(s)&&function ep(){nn.skipHydrationRootTNode=null}(),function Lf(){nn.lFrame.elementDepthCount--}();const h=Tn();return h.firstCreatePass&&(Sa(h,t),jc(t)&&h.queries.elementEnd(t)),null!=s.classesWithoutHost&&function au(t){return!!(8&t.flags)}(s)&&rc(h,s,ni(),s.classesWithoutHost,!0),null!=s.stylesWithoutHost&&function Uh(t){return!!(16&t.flags)}(s)&&rc(h,s,ni(),s.stylesWithoutHost,!1),I0}function vy(t,s,h,L){return A0(t,s,h,L),I0(),vy}let F1=(t,s,h,L,Q,fe)=>(Nr(!0),fm(L,Q,function Vh(){return nn.lFrame.currentNamespace}()));function O0(t,s,h){const L=ni(),Q=Tn(),fe=t+rn,Se=Q.firstCreatePass?function KT(t,s,h,L,Q){const fe=s.consts,Se=Ka(fe,L),Pe=ku(s,t,8,"ng-container",Se);return null!==Se&&Km(Pe,Se,!0),fg(s,h,Pe,Ka(fe,Q)),null!==s.queries&&s.queries.elementStart(s,Pe),Pe}(fe,Q,L,s,h):Q.data[fe];ra(Se,!0);const Pe=j1(Q,L,Se,t);return L[fe]=Pe,Qa()&&ym(Q,L,Pe,Se),uo(Pe,L),fl(Se)&&(Cm(Q,L,Se),Nd(Q,Se,L)),null!=h&&wm(L,Se),O0}function jg(){let t=ds();const s=Tn();return eu()?tu():(t=t.parent,ra(t,!1)),s.firstCreatePass&&(Sa(s,t),jc(t)&&s.queries.elementEnd(t)),jg}function yy(t,s,h){return O0(t,s,h),jg(),yy}let j1=(t,s,h,L)=>(Nr(!0),ab(s[Qi],""));function _y(){return ni()}function Cy(t,s,h){const L=ni();return Mr(L,Ta(),s)&&Aa(Tn(),Ss(),L,t,s,L[Qi],h,!0),Cy}function wy(t,s,h){const L=ni();if(Mr(L,Ta(),s)){const fe=Tn(),Se=Ss();Aa(fe,Se,L,t,s,Ob(Bh(fe.data),Se,L),h,!0)}return wy}const zu=void 0;var z1=["en",[["a","p"],["AM","PM"],zu],[["AM","PM"],zu,zu],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],zu,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],zu,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",zu,"{1} 'at' {0}",zu],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function V1(t){const h=Math.floor(Math.abs(t)),L=t.toString().replace(/^[^.]*\.?/,"").length;return 1===h&&0===L?1:5}];let Gu={};function L0(t){const s=function H1(t){return t.toLowerCase().replace(/_/g,"-")}(t);let h=G1(s);if(h)return h;const L=s.split("-")[0];if(h=G1(L),h)return h;if("en"===L)return z1;throw new ge(701,!1)}function Ty(t){return L0(t)[od.PluralCase]}function G1(t){return t in Gu||(Gu[t]=Je.ng&&Je.ng.common&&Je.ng.common.locales&&Je.ng.common.locales[t]),Gu[t]}var od=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}(od||{});const Tf="en-US",P0={marker:"element"},Vg={marker:"ICU"};var sl=function(t){return t[t.SHIFT=2]="SHIFT",t[t.APPEND_EAGERLY=1]="APPEND_EAGERLY",t[t.COMMENT=2]="COMMENT",t}(sl||{});let U1=Tf;function W1(t,s,h){const L=s.insertBeforeIndex,Q=Array.isArray(L)?L[0]:L;return null===Q?pb(t,0,h):Ts(h[Q])}function $1(t,s,h,L,Q){const fe=s.insertBeforeIndex;if(Array.isArray(fe)){let Se=L,Pe=null;if(3&s.type||(Pe=Se,Se=Q),null!==Se&&-1===s.componentOffset)for(let ze=1;ze1)for(let h=t.length-2;h>=0;h--){const L=t[h];Dy(L)||tS(L,s)&&null===iS(L)&&nS(L,s.index)}}function Dy(t){return!(64&t.type)}function tS(t,s){return Dy(s)||t.index>s.index}function iS(t){const s=t.insertBeforeIndex;return Array.isArray(s)?s[0]:s}function nS(t,s){const h=t.insertBeforeIndex;Array.isArray(h)?h[0]=s:(fb(W1,$1),t.insertBeforeIndex=s)}function sS(t,s,h){const L=us(t,h,64,null,null);return ky(s,L),L}let Df=(t,s,h,L)=>(Nr(!0),function Ey(t,s,h){const L=t[Qi];switch(h){case Node.COMMENT_NODE:return ab(L,s);case Node.TEXT_NODE:return Ld(L,s);case Node.ELEMENT_NODE:return fm(L,s,null)}}(t,h,L));function sC(){const t=[];let h,L,s=-1;function fe(Pe,ze){s=0;const Qe=function Gg(t,s){const h=s[t.currentCaseLViewIndex];return null===h?h:h<0?~h:h}(Pe,ze);L=null!==Qe?Pe.remove[Qe]:Dn}function Se(){if(s0?h[Pe]:(t.push(s,L),fe(h[gi].data[~Pe],h),Se())}return 0===t.length?null:(L=t.pop(),s=t.pop(),Se())}return function Q(Pe,ze){for(h=ze;t.length;)t.pop();return fe(Pe.value,ze),Se}}const W=/\ufffd(\d+):?\d*\ufffd/gi,ke=/\ufffd(\d+)\ufffd/,Ve=/^\s*(\ufffd\d+:?\d*\ufffd)\s*,\s*(select|plural)\s*,/,Ze="\ufffd",tt=/\ufffd\/?\*(\d+:\d+)\ufffd/gi,bt=/\ufffd(\/?[#*]\d+):?\d*\ufffd/gi,Mt=/\uE500/g;function hi(t,s,h,L,Q,fe,Se){const Pe=Fp(t,L,1,null);let ze=Pe<h.length&&h.push(ze)}return{type:L,mainBinding:Q,cases:s,values:h}}function An(t){if(!t)return[];let s=0;const h=[],L=[],Q=/[{}]/g;let fe;for(Q.lastIndex=0;fe=Q.exec(t);){const Pe=fe.index;if("}"==fe[0]){if(h.pop(),0==h.length){const ze=t.substring(s,Pe);Ve.test(ze)?L.push(xs(ze)):L.push(ze),s=Pe+1}}else{if(0==h.length){const ze=t.substring(s,Pe);L.push(ze),s=Pe+1}h.push("{")}}const Se=t.substring(s);return L.push(Se),L}function Hi(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=[],dt=[],Ct=[];h.cases.push(Se),h.create.push(Qe),h.remove.push(dt),h.update.push(Ct);const Ht=Ed(Ma()).getInertBodyElement(Pe),Kt=sm(Ht)||Ht;return Kt?Xn(t,s,h,L,Q,Qe,dt,Ct,Kt,fe,ze,0):0}function Xn(t,s,h,L,Q,fe,Se,Pe,ze,Qe,dt,Ct){let jt=0,Ht=ze.firstChild;for(;Ht;){const Kt=Fp(s,L,1,null);switch(Ht.nodeType){case Node.ELEMENT_NODE:const li=Ht,bi=li.tagName.toLowerCase();if(Ad.hasOwnProperty(bi)){Si(fe,P0,bi,Qe,Kt),s.data[Kt]=bi;const _s=li.attributes;for(let wo=0;wo<_s.length;wo++){const Pl=_s.item(wo),$g=Pl.name.toLowerCase();Pl.value.match(W)?Zf.hasOwnProperty($g)&&yi(Pe,Pl.value,Kt,Pl.name,0,im[$g]?vu:null):Vi(fe,Kt,Pl)}const qs={kind:1,index:Kt,children:[]};t.push(qs),jt=Xn(qs.children,s,h,L,Q,fe,Se,Pe,Ht,Kt,dt,Ct+1)|jt,Pi(Se,Kt,Ct)}break;case Node.TEXT_NODE:const Ri=Ht.textContent||"",pi=Ri.match(W);Si(fe,null,pi?"":Ri,Qe,Kt),Pi(Se,Kt,Ct),pi&&(jt=yi(Pe,Ri,Kt,null,0,null)|jt),t.push({kind:0,index:Kt});break;case Node.COMMENT_NODE:const yn=ke.exec(Ht.textContent||"");if(yn){const qs=dt[parseInt(yn[1],10)];Si(fe,Vg,"",Qe,Kt),dn(t,s,L,Q,Qe,qs,Kt),Zi(Se,Kt,Ct)}}Ht=Ht.nextSibling}return jt}function Pi(t,s,h){0===h&&t.push(s)}function Zi(t,s,h){0===h&&(t.push(~s),t.push(s))}function Si(t,s,h,L,Q){null!==s&&t.push(s),t.push(h,Q,function Z1(t,s,h){return t|s<<17|h<<1}(0,L,Q))}function Vi(t,s,h){t.push(s<<1|1,h.name,h.value)}function Ur(t,s,h=-1){const L=Tn(),Q=ni(),fe=rn+t,Se=Ka(L.consts,s),Pe=sa();L.firstCreatePass&&function Zt(t,s,h,L,Q,fe){const Se=sa(),Pe=[],ze=[],Qe=[[]],dt=[[]];Q=function hn(t,s){if(function ji(t){return-1===t}(s))return Mi(t);{const h=t.indexOf(`:${s}${Ze}`)+2+s.toString().length,L=t.search(new RegExp(`${Ze}\\/\\*\\d+:${s}${Ze}`));return Mi(t.substring(h,L))}}(Q,fe);const Ct=function Lt(t){return t.replace(Mt," ")}(Q).split(bt);for(let jt=0;jt>>sl.SHIFT;let Ct=t[dt],jt=!1;null===Ct&&(Ct=t[dt]=Df(t,dt,s[fe],(Se&sl.COMMENT)===sl.COMMENT?Node.COMMENT_NODE:Node.TEXT_NODE),jt=Qa()),Qe&&null!==h&&jt&&wu(Q,h,Ct,L,!1)}})(Q,ze.create,dt,Pe&&8&Pe.type?Q[Pe.index]:null),sp(!0)}function un(t,s,h){Ur(t,s,h),function Ii(){sp(!1)}()}function _o(t,s,h,L){const Q=ni(),fe=Tn(),Se=ds();return or(fe,Q,Q[Qi],Se,t,s,L),_o}function or(t,s,h,L,Q,fe,Se){const Pe=fl(L),Qe=t.firstCreatePass&&Em(t),dt=s[jn],Ct=Ib(s);let jt=!0;if(3&L.type||Se){const li=so(L,s),bi=Se?Se(li):li,Ri=Ct.length,pi=Se?_s=>Se(Ts(_s[L.index])):L.index;let yn=null;if(!Se&&Pe&&(yn=function vn(t,s,h,L){const Q=t.cleanup;if(null!=Q)for(let fe=0;feze?Pe[ze]:null}"string"==typeof Se&&(fe+=2)}return null}(t,s,Q,L.index)),null!==yn)(yn.__ngLastListenerFn__||yn).__ngNextListenerFn__=fe,yn.__ngLastListenerFn__=fe,jt=!1;else{fe=Ch(L,s,dt,fe,!1);const _s=h.listen(bi,Q,fe);Ct.push(fe,_s),Qe&&Qe.push(Q,pi,Ri,Ri+1)}}else fe=Ch(L,s,dt,fe,!1);const Ht=L.outputs;let Kt;if(jt&&null!==Ht&&(Kt=Ht[Q])){const li=Kt.length;if(li)for(let bi=0;bi-1?jo(t.index,s):s);let ze=Hu(s,h,L,Se),Qe=fe.__ngNextListenerFn__;for(;Qe;)ze=Hu(s,h,Qe,Se)&&ze,Qe=Qe.__ngNextListenerFn__;return Q&&!1===ze&&Se.preventDefault(),ze}}function oS(t=1){return function op(t){return(nn.lFrame.contextLView=function Qd(t,s){for(;t>0;)s=s[ws],t--;return s}(t,nn.lFrame.contextLView))[jn]}(t)}function nM(t,s){let h=null;const L=function ac(t){const s=t.attrs;if(null!=s){const h=s.indexOf(5);if(!(1&h))return s[h+1]}return null}(t);for(let Q=0;Q(Nr(!0),Ld(s[Qi],L));function oC(t){return Ry("",t,""),oC}function Ry(t,s,h){const L=ni(),Q=mf(L,t,s,h);return Q!==Pn&&mh(L,Rr(),Q),Ry}function aC(t,s,h,L,Q){const fe=ni(),Se=function bf(t,s,h,L,Q,fe){const Pe=Ru(t,yl(),h,Q);return xl(2),Pe?s+Ui(h)+L+Ui(Q)+fe:Pn}(fe,t,s,h,L,Q);return Se!==Pn&&mh(fe,Rr(),Se),aC}function lC(t,s,h,L,Q,fe,Se){const Pe=ni(),ze=function vf(t,s,h,L,Q,fe,Se,Pe){const Qe=h0(t,yl(),h,Q,Se);return xl(3),Qe?s+Ui(h)+L+Ui(Q)+fe+Ui(Se)+Pe:Pn}(Pe,t,s,h,L,Q,fe,Se);return ze!==Pn&&mh(Pe,Rr(),ze),lC}function cC(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=ni(),dt=function Bu(t,s,h,L,Q,fe,Se,Pe,ze,Qe){const Ct=sc(t,yl(),h,Q,Se,ze);return xl(4),Ct?s+Ui(h)+L+Ui(Q)+fe+Ui(Se)+Pe+Ui(ze)+Qe:Pn}(Qe,t,s,h,L,Q,fe,Se,Pe,ze);return dt!==Pn&&mh(Qe,Rr(),dt),cC}function hC(t,s,h){Ev(s)&&(s=s());const L=ni();return Mr(L,Ta(),s)&&Aa(Tn(),Ss(),L,t,s,L[Qi],h,!1),hC}function BS(t,s){const h=Ev(t);return h&&t.set(s),h}function dC(t,s){const h=ni(),L=Tn(),Q=ds();return or(L,h,h[Qi],Q,t,s),dC}function uC(t,s,h,L,Q){if(t=Dt(t),Array.isArray(t))for(let fe=0;fe>20;if(Po(t)||!t.multi){const Ht=new Qc(Qe,Q,Ac),Kt=fC(ze,s,Q?dt:dt+jt,Ct);-1===Kt?(nh(ih(Pe,Se),fe,ze),pC(fe,t,s.length),s.push(ze),Pe.directiveStart++,Pe.directiveEnd++,Q&&(Pe.providerIndexes+=1048576),h.push(Ht),Se.push(Ht)):(h[Kt]=Ht,Se[Kt]=Ht)}else{const Ht=fC(ze,s,dt+jt,Ct),Kt=fC(ze,s,dt,dt+jt),bi=Kt>=0&&h[Kt];if(Q&&!bi||!Q&&!(Ht>=0&&h[Ht])){nh(ih(Pe,Se),fe,ze);const Ri=function CM(t,s,h,L,Q){const fe=new Qc(t,h,Ac);return fe.multi=[],fe.index=s,fe.componentProviders=0,jS(fe,Q,L&&!h),fe}(Q?_M:xM,h.length,Q,L,Qe);!Q&&bi&&(h[Kt].providerFactory=Ri),pC(fe,t,s.length,0),s.push(ze),Pe.directiveStart++,Pe.directiveEnd++,Q&&(Pe.providerIndexes+=1048576),h.push(Ri),Se.push(Ri)}else pC(fe,t,Ht>-1?Ht:Kt,jS(h[Q?Kt:Ht],Qe,!Q&&L));!Q&&L&&bi&&h[Kt].componentProviders++}}}function pC(t,s,h,L){const Q=Po(s),fe=function ea(t){return!!t.useClass}(s);if(Q||fe){const ze=(fe?Dt(s.useClass):s).prototype.ngOnDestroy;if(ze){const Qe=t.destroyHooks||(t.destroyHooks=[]);if(!Q&&s.multi){const dt=Qe.indexOf(h);-1===dt?Qe.push(h,[L,ze]):Qe[dt+1].push(L,ze)}else Qe.push(h,ze)}}}function jS(t,s,h){return h&&t.componentProviders++,t.multi.push(s)-1}function fC(t,s,h,L){for(let Q=h;Q{h.providersResolver=(L,Q)=>function yM(t,s,h){const L=Tn();if(L.firstCreatePass){const Q=no(t);uC(h,L.data,L.blueprint,Q,!0),uC(s,L.data,L.blueprint,Q,!1)}}(L,Q?Q(t):t,s)}}let wM=(()=>{class t{constructor(h){this._injector=h,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(h){if(!h.standalone)return null;if(!this.cachedInjectors.has(h)){const L=cl(0,h.type),Q=L.length>0?jv([L],this._injector,`Standalone[${h.type.name}]`):null;this.cachedInjectors.set(h,Q)}return this.cachedInjectors.get(h)}ngOnDestroy(){try{for(const h of this.cachedInjectors.values())null!==h&&h.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=Wi({token:t,providedIn:"environment",factory:()=>new t(Es(Xr))})}return t})();function zS(t){El("NgStandalone"),t.getStandaloneInjector=s=>s.get(wM).getOrCreateStandaloneInjector(t)}function ZS(t,s,h){const L=ro()+t,Q=ni();return Q[L]===Pn?Oc(Q,L,h?s.call(h):s()):Ag(Q,L)}function qS(t,s,h,L){return rk(ni(),ro(),t,s,h,L)}function QS(t,s,h,L,Q){return ok(ni(),ro(),t,s,h,L,Q)}function JS(t,s,h,L,Q,fe){return function ak(t,s,h,L,Q,fe,Se,Pe){const ze=s+h;return h0(t,ze,Q,fe,Se)?Oc(t,ze+3,Pe?L.call(Pe,Q,fe,Se):L(Q,fe,Se)):R0(t,ze+3)}(ni(),ro(),t,s,h,L,Q,fe)}function ek(t,s,h,L,Q,fe,Se){return function lk(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=s+h;return sc(t,Qe,Q,fe,Se,Pe)?Oc(t,Qe+4,ze?L.call(ze,Q,fe,Se,Pe):L(Q,fe,Se,Pe)):R0(t,Qe+4)}(ni(),ro(),t,s,h,L,Q,fe,Se)}function tk(t,s,h,L,Q,fe,Se,Pe){const ze=ro()+t,Qe=ni(),dt=sc(Qe,ze,h,L,Q,fe);return Mr(Qe,ze+4,Se)||dt?Oc(Qe,ze+5,Pe?s.call(Pe,h,L,Q,fe,Se):s(h,L,Q,fe,Se)):Ag(Qe,ze+5)}function ik(t,s,h,L,Q,fe,Se,Pe,ze){const Qe=ro()+t,dt=ni(),Ct=sc(dt,Qe,h,L,Q,fe);return Ru(dt,Qe+4,Se,Pe)||Ct?Oc(dt,Qe+6,ze?s.call(ze,h,L,Q,fe,Se,Pe):s(h,L,Q,fe,Se,Pe)):Ag(dt,Qe+6)}function nk(t,s,h,L,Q,fe,Se,Pe,ze,Qe){const dt=ro()+t,Ct=ni();let jt=sc(Ct,dt,h,L,Q,fe);return h0(Ct,dt+4,Se,Pe,ze)||jt?Oc(Ct,dt+7,Qe?s.call(Qe,h,L,Q,fe,Se,Pe,ze):s(h,L,Q,fe,Se,Pe,ze)):Ag(Ct,dt+7)}function sk(t,s,h,L){return function ck(t,s,h,L,Q,fe){let Se=s+h,Pe=!1;for(let ze=0;ze=0;h--){const L=s[h];if(t===L.name)return L}}(s,h.pipeRegistry),h.data[Q]=L,L.onDestroy&&(h.destroyHooks??=[]).push(Q,L.onDestroy)):L=h.data[Q];const fe=L.factory||(L.factory=Ir(L.type)),Pe=$s(Ac);try{const ze=kc(!1),Qe=fe();return kc(ze),function aM(t,s,h,L){h>=t.data.length&&(t.data[h]=null,t.blueprint[h]=null),s[h]=L}(h,ni(),Q,Qe),Qe}finally{$s(Pe)}}function dk(t,s,h){const L=t+rn,Q=ni(),fe=Uc(Q,L);return N0(Q,L)?rk(Q,ro(),s,fe.transform,h,fe):fe.transform(h)}function uk(t,s,h,L){const Q=t+rn,fe=ni(),Se=Uc(fe,Q);return N0(fe,Q)?ok(fe,ro(),s,Se.transform,h,L,Se):Se.transform(h,L)}function N0(t,s){return t[gi].data[s].pure}function pk(t,s){return nd(t,s)}class Ek{constructor(s){this.full=s;const h=s.split(".");this.major=h[0],this.minor=h[1],this.patch=h.slice(2).join(".")}}let Ak=(()=>{class t{log(h){console.log(h)}warn(h){console.warn(h)}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();const Rk=new $e(""),Nk=new $e("");let CC,AE=(()=>{class t{constructor(h,L,Q){this._ngZone=h,this.registry=L,this._pendingCount=0,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,CC||(function IE(t){CC=t}(Q),Q.addToWindow(L)),this._watchAngularEvents(),h.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{xr.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let h=this._callbacks.pop();clearTimeout(h.timeoutId),h.doneCb()}});else{let h=this.getPendingTasks();this._callbacks=this._callbacks.filter(L=>!L.updateCb||!L.updateCb(h)||(clearTimeout(L.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(h=>({source:h.source,creationLocation:h.creationLocation,data:h.data})):[]}addCallback(h,L,Q){let fe=-1;L&&L>0&&(fe=setTimeout(()=>{this._callbacks=this._callbacks.filter(Se=>Se.timeoutId!==fe),h()},L)),this._callbacks.push({doneCb:h,timeoutId:fe,updateCb:Q})}whenStable(h,L,Q){if(Q&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(h,L,Q),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(h){this.registry.registerApplication(h,this)}unregisterApplication(h){this.registry.unregisterApplication(h)}findProviders(h,L,Q){return[]}static#e=this.\u0275fac=function(L){return new(L||t)(Es(xr),Es(Fk),Es(Nk))};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac})}return t})(),Fk=(()=>{class t{constructor(){this._applications=new Map}registerApplication(h,L){this._applications.set(h,L)}unregisterApplication(h){this._applications.delete(h)}unregisterAllApplications(){this._applications.clear()}getTestability(h){return this._applications.get(h)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(h,L=!0){return CC?.findTestabilityInTree(this,h,L)??null}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();function wC(t){return!!t&&"function"==typeof t.then}function Bk(t){return!!t&&"function"==typeof t.subscribe}const jk=new $e("");let TC=(()=>{class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((h,L)=>{this.resolve=h,this.reject=L}),this.appInits=$i(jk,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const h=[];for(const Q of this.appInits){const fe=Q();if(wC(fe))h.push(fe);else if(Bk(fe)){const Se=new Promise((Pe,ze)=>{fe.subscribe({complete:Pe,error:ze})});h.push(Se)}}const L=()=>{this.done=!0,this.resolve()};Promise.all(h).then(()=>{L()}).catch(Q=>{this.reject(Q)}),0===h.length&&L(),this.initialized=!0}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const SC=new $e("");function Gk(t,s){return Array.isArray(s)?s.reduce(Gk,t):{...t,...s}}let Uu=(()=>{class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=$i(hh),this.afterRenderEffectManager=$i(tf),this.externalTestViews=new Set,this.beforeRender=new x.B,this.afterTick=new x.B,this.componentTypes=[],this.components=[],this.isStable=$i(af).hasPendingTasks.pipe((0,Z.T)(h=>!h)),this._injector=$i(Xr)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(h,L){const Q=h instanceof Hm;if(!this._injector.get(TC).done)throw!Q&&kr(h),new ge(405,!1);let Se;Se=Q?h:this._injector.get(Ia).resolveComponentFactory(h),this.componentTypes.push(Se.componentType);const Pe=function OE(t){return t.isBoundToModule}(Se)?void 0:this._injector.get(Vd),Qe=Se.create(yr.NULL,[],L||Se.selector,Pe),dt=Qe.location.nativeElement,Ct=Qe.injector.get(Rk,null);return Ct?.registerApplication(dt),Qe.onDestroy(()=>{this.detachView(Qe.hostView),jy(this.components,Qe),Ct?.unregisterApplication(dt)}),this._loadComponent(Qe),Qe}tick(){this._tick(!0)}_tick(h){if(this._runningTick)throw new ge(101,!1);const L=re(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(h)}catch(Q){this.internalErrorHandler(Q)}finally{this.afterTick.next(),this._runningTick=!1,re(L)}}detectChangesInAttachedViews(h){let L=0;const Q=this.afterRenderEffectManager;for(;;){if(L===Bx)throw new ge(103,!1);if(h){const fe=0===L;this.beforeRender.next(fe);for(let{_lView:Se,notifyErrorHandler:Pe}of this._views)PE(Se,fe,Pe)}if(L++,Q.executeInternalCallbacks(),![...this.externalTestViews.keys(),...this._views].some(({_lView:fe})=>kC(fe))&&(Q.execute(),![...this.externalTestViews.keys(),...this._views].some(({_lView:fe})=>kC(fe))))break}}attachView(h){const L=h;this._views.push(L),L.attachToAppRef(this)}detachView(h){const L=h;jy(this._views,L),L.detachFromAppRef()}_loadComponent(h){this.attachView(h.hostView),this.tick(),this.components.push(h);const L=this._injector.get(SC,[]);[...this._bootstrapListeners,...L].forEach(Q=>Q(h))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(h=>h()),this._views.slice().forEach(h=>h.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(h){return this._destroyListeners.push(h),()=>jy(this._destroyListeners,h)}destroy(){if(this._destroyed)throw new ge(406,!1);const h=this._injector;h.destroy&&!h.destroyed&&h.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function jy(t,s){const h=t.indexOf(s);h>-1&&t.splice(h,1)}function PE(t,s,h){!s&&!kC(t)||function RE(t,s,h){let L;h?(L=0,t[Bi]|=1024):L=64&t[Bi]?0:1,Gp(t,s,L)}(t,h,s)}function kC(t){return Nh(t)}class NE{constructor(s,h){this.ngModuleFactory=s,this.componentFactories=h}}let FE=(()=>{class t{compileModuleSync(h){return new Bv(h)}compileModuleAsync(h){return Promise.resolve(this.compileModuleSync(h))}compileModuleAndAllComponentsSync(h){const L=this.compileModuleSync(h),fe=Uo(er(h).declarations).reduce((Se,Pe)=>{const ze=pn(Pe);return ze&&Se.push(new rf(ze)),Se},[]);return new NE(L,fe)}compileModuleAndAllComponentsAsync(h){return Promise.resolve(this.compileModuleAndAllComponentsSync(h))}clearCache(){}clearCacheFor(h){}getModuleId(h){}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),VE=(()=>{class t{constructor(){this.zone=$i(xr),this.applicationRef=$i(Uu)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function zE(){const t=$i(xr),s=$i(Sl);return h=>t.runOutsideAngular(()=>s.handleError(h))}let HE=(()=>{class t{constructor(){this.subscription=new N.yU,this.initialized=!1,this.zone=$i(xr),this.pendingTasks=$i(af)}initialize(){if(this.initialized)return;this.initialized=!0;let h=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(h=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{xr.assertNotInAngularZone(),queueMicrotask(()=>{null!==h&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(h),h=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{xr.assertInAngularZone(),h??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static#e=this.\u0275fac=function(L){return new(L||t)};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();const zy=new $e("",{providedIn:"root",factory:()=>$i(zy,wn.Optional|wn.SkipSelf)||function UE(){return typeof $localize<"u"&&$localize.locale||Tf}()}),WE=new $e("",{providedIn:"root",factory:()=>"USD"}),DC=new $e("");let $k=(()=>{class t{constructor(h){this._injector=h,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(h,L){const Q=function t_(t="zone.js",s){return"noop"===t?new ov:"zone.js"===t?new xr(s):t}(L?.ngZone,function Wk(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}({eventCoalescing:L?.ngZoneEventCoalescing,runCoalescing:L?.ngZoneRunCoalescing}));return Q.run(()=>{const fe=function tT(t,s,h){return new l0(t,s,h)}(h.moduleType,this.injector,function Uk(t){return[{provide:xr,useFactory:t},{provide:Ao,multi:!0,useFactory:()=>{const s=$i(VE,{optional:!0});return()=>s.initialize()}},{provide:Ao,multi:!0,useFactory:()=>{const s=$i(HE);return()=>{s.initialize()}}},{provide:hh,useFactory:zE}]}(()=>Q)),Se=fe.injector.get(Sl,null);return Q.runOutsideAngular(()=>{const Pe=Q.onError.subscribe({next:ze=>{Se.handleError(ze)}});fe.onDestroy(()=>{jy(this._modules,fe),Pe.unsubscribe()})}),function zk(t,s,h){try{const L=h();return wC(L)?L.catch(Q=>{throw s.runOutsideAngular(()=>t.handleError(Q)),Q}):L}catch(L){throw s.runOutsideAngular(()=>t.handleError(L)),L}}(Se,Q,()=>{const Pe=fe.injector.get(TC);return Pe.runInitializers(),Pe.donePromise.then(()=>(function Sy(t){"string"==typeof t&&(U1=t.toLowerCase().replace(/_/g,"-"))}(fe.injector.get(zy,Tf)||Tf),this._moduleDoBootstrap(fe),fe))})})}bootstrapModule(h,L=[]){const Q=Gk({},L);return function jE(t,s,h){const L=new Bv(h);return Promise.resolve(L)}(0,0,h).then(fe=>this.bootstrapModuleFactory(fe,Q))}_moduleDoBootstrap(h){const L=h.injector.get(Uu);if(h._bootstrapComponents.length>0)h._bootstrapComponents.forEach(Q=>L.bootstrap(Q));else{if(!h.instance.ngDoBootstrap)throw new ge(-403,!1);h.instance.ngDoBootstrap(L)}this._modules.push(h)}onDestroy(h){this._destroyListeners.push(h)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new ge(404,!1);this._modules.slice().forEach(L=>L.destroy()),this._destroyListeners.forEach(L=>L());const h=this._injector.get(DC,null);h&&(h.forEach(L=>L()),h.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(L){return new(L||t)(Es(yr))};static#t=this.\u0275prov=Wi({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})(),Wu=null;const Xk=new $e("");function Yk(t,s,h=[]){const L=`Platform: ${s}`,Q=new $e(L);return(fe=[])=>{let Se=MC();if(!Se||Se.injector.get(Xk,!1)){const Pe=[...h,...fe,{provide:Q,useValue:!0}];t?t(Pe):function XE(t){if(Wu&&!Wu.get(Xk,!1))throw new ge(400,!1);(function Vk(){!function d(t){r=t}(()=>{throw new ge(600,!1)})})(),Wu=t;const s=t.get($k);(function Zk(t){t.get(mu,null)?.forEach(h=>h())})(t)}(function Kk(t=[],s){return yr.create({name:s,providers:[{provide:Hs,useValue:"platform"},{provide:DC,useValue:new Set([()=>Wu=null])},...t]})}(Pe,L))}return function YE(t){const s=MC();if(!s)throw new ge(401,!1);return s}()}}function MC(){return Wu?.get($k)??null}function ZE(){}let Qk=(()=>{class t{static#e=this.__NG_ELEMENT_ID__=qE}return t})();function qE(t){return function QE(t,s,h){if(Bo(t)&&!h){const L=jo(t.index,s);return new Up(L,L)}return 47&t.type?new Up(s[Is],s):null}(ds(),ni(),!(16&~t))}class iD{constructor(){}supports(s){return c0(s)}create(s){return new nA(s)}}const iA=(t,s)=>s;class nA{constructor(s){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=s||iA}forEachItem(s){let h;for(h=this._itHead;null!==h;h=h._next)s(h)}forEachOperation(s){let h=this._itHead,L=this._removalsHead,Q=0,fe=null;for(;h||L;){const Se=!L||h&&h.currentIndex{Se=this._trackByFn(Q,Pe),null!==h&&Object.is(h.trackById,Se)?(L&&(h=this._verifyReinsertion(h,Pe,Se,Q)),Object.is(h.item,Pe)||this._addIdentityChange(h,Pe)):(h=this._mismatch(h,Pe,Se,Q),L=!0),h=h._next,Q++}),this.length=Q;return this._truncate(h),this.collection=s,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let s;for(s=this._previousItHead=this._itHead;null!==s;s=s._next)s._nextPrevious=s._next;for(s=this._additionsHead;null!==s;s=s._nextAdded)s.previousIndex=s.currentIndex;for(this._additionsHead=this._additionsTail=null,s=this._movesHead;null!==s;s=s._nextMoved)s.previousIndex=s.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(s,h,L,Q){let fe;return null===s?fe=this._itTail:(fe=s._prev,this._remove(s)),null!==(s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(L,null))?(Object.is(s.item,h)||this._addIdentityChange(s,h),this._reinsertAfter(s,fe,Q)):null!==(s=null===this._linkedRecords?null:this._linkedRecords.get(L,Q))?(Object.is(s.item,h)||this._addIdentityChange(s,h),this._moveAfter(s,fe,Q)):s=this._addAfter(new sA(h,L),fe,Q),s}_verifyReinsertion(s,h,L,Q){let fe=null===this._unlinkedRecords?null:this._unlinkedRecords.get(L,null);return null!==fe?s=this._reinsertAfter(fe,s._prev,Q):s.currentIndex!=Q&&(s.currentIndex=Q,this._addToMoves(s,Q)),s}_truncate(s){for(;null!==s;){const h=s._next;this._addToRemovals(this._unlink(s)),s=h}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(s,h,L){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(s);const Q=s._prevRemoved,fe=s._nextRemoved;return null===Q?this._removalsHead=fe:Q._nextRemoved=fe,null===fe?this._removalsTail=Q:fe._prevRemoved=Q,this._insertAfter(s,h,L),this._addToMoves(s,L),s}_moveAfter(s,h,L){return this._unlink(s),this._insertAfter(s,h,L),this._addToMoves(s,L),s}_addAfter(s,h,L){return this._insertAfter(s,h,L),this._additionsTail=null===this._additionsTail?this._additionsHead=s:this._additionsTail._nextAdded=s,s}_insertAfter(s,h,L){const Q=null===h?this._itHead:h._next;return s._next=Q,s._prev=h,null===Q?this._itTail=s:Q._prev=s,null===h?this._itHead=s:h._next=s,null===this._linkedRecords&&(this._linkedRecords=new nD),this._linkedRecords.put(s),s.currentIndex=L,s}_remove(s){return this._addToRemovals(this._unlink(s))}_unlink(s){null!==this._linkedRecords&&this._linkedRecords.remove(s);const h=s._prev,L=s._next;return null===h?this._itHead=L:h._next=L,null===L?this._itTail=h:L._prev=h,s}_addToMoves(s,h){return s.previousIndex===h||(this._movesTail=null===this._movesTail?this._movesHead=s:this._movesTail._nextMoved=s),s}_addToRemovals(s){return null===this._unlinkedRecords&&(this._unlinkedRecords=new nD),this._unlinkedRecords.put(s),s.currentIndex=null,s._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=s,s._prevRemoved=null):(s._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=s),s}_addIdentityChange(s,h){return s.item=h,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=s:this._identityChangesTail._nextIdentityChange=s,s}}class sA{constructor(s,h){this.item=s,this.trackById=h,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class rA{constructor(){this._head=null,this._tail=null}add(s){null===this._head?(this._head=this._tail=s,s._nextDup=null,s._prevDup=null):(this._tail._nextDup=s,s._prevDup=this._tail,s._nextDup=null,this._tail=s)}get(s,h){let L;for(L=this._head;null!==L;L=L._nextDup)if((null===h||h<=L.currentIndex)&&Object.is(L.trackById,s))return L;return null}remove(s){const h=s._prevDup,L=s._nextDup;return null===h?this._head=L:h._nextDup=L,null===L?this._tail=h:L._prevDup=h,null===this._head}}class nD{constructor(){this.map=new Map}put(s){const h=s.trackById;let L=this.map.get(h);L||(L=new rA,this.map.set(h,L)),L.add(s)}get(s,h){const Q=this.map.get(s);return Q?Q.get(s,h):null}remove(s){const h=s.trackById;return this.map.get(h).remove(s)&&this.map.delete(h),s}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function sD(t,s,h){const L=t.previousIndex;if(null===L)return L;let Q=0;return h&&L{if(h&&h.key===Q)this._maybeAddToChanges(h,L),this._appendAfter=h,h=h._next;else{const fe=this._getOrCreateRecordForKey(Q,L);h=this._insertBeforeOrAppend(h,fe)}}),h){h._prev&&(h._prev._next=null),this._removalsHead=h;for(let L=h;null!==L;L=L._nextRemoved)L===this._mapHead&&(this._mapHead=null),this._records.delete(L.key),L._nextRemoved=L._next,L.previousValue=L.currentValue,L.currentValue=null,L._prev=null,L._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(s,h){if(s){const L=s._prev;return h._next=s,h._prev=L,s._prev=h,L&&(L._next=h),s===this._mapHead&&(this._mapHead=h),this._appendAfter=s,s}return this._appendAfter?(this._appendAfter._next=h,h._prev=this._appendAfter):this._mapHead=h,this._appendAfter=h,null}_getOrCreateRecordForKey(s,h){if(this._records.has(s)){const Q=this._records.get(s);this._maybeAddToChanges(Q,h);const fe=Q._prev,Se=Q._next;return fe&&(fe._next=Se),Se&&(Se._prev=fe),Q._next=null,Q._prev=null,Q}const L=new aA(s);return this._records.set(s,L),L.currentValue=h,this._addToAdditions(L),L}_reset(){if(this.isDirty){let s;for(this._previousMapHead=this._mapHead,s=this._previousMapHead;null!==s;s=s._next)s._nextPrevious=s._next;for(s=this._changesHead;null!==s;s=s._nextChanged)s.previousValue=s.currentValue;for(s=this._additionsHead;null!=s;s=s._nextAdded)s.previousValue=s.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(s,h){Object.is(h,s.currentValue)||(s.previousValue=s.currentValue,s.currentValue=h,this._addToChanges(s))}_addToAdditions(s){null===this._additionsHead?this._additionsHead=this._additionsTail=s:(this._additionsTail._nextAdded=s,this._additionsTail=s)}_addToChanges(s){null===this._changesHead?this._changesHead=this._changesTail=s:(this._changesTail._nextChanged=s,this._changesTail=s)}_forEach(s,h){s instanceof Map?s.forEach(h):Object.keys(s).forEach(L=>h(s[L],L))}}class aA{constructor(s){this.key=s,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function oD(){return new LC([new iD])}let LC=(()=>{class t{static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:oD});constructor(h){this.factories=h}static create(h,L){if(null!=L){const Q=L.factories.slice();h=h.concat(Q)}return new t(h)}static extend(h){return{provide:t,useFactory:L=>t.create(h,L||oD()),deps:[[t,new eo,new Qs]]}}find(h){const L=this.factories.find(Q=>Q.supports(h));if(null!=L)return L;throw new ge(901,!1)}}return t})();function aD(){return new PC([new rD])}let PC=(()=>{class t{static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:aD});constructor(h){this.factories=h}static create(h,L){if(L){const Q=L.factories.slice();h=h.concat(Q)}return new t(h)}static extend(h){return{provide:t,useFactory:L=>t.create(h,L||aD()),deps:[[t,new eo,new Qs]]}}find(h){const L=this.factories.find(Q=>Q.supports(h));if(L)return L;throw new ge(901,!1)}}return t})();const hA=Yk(null,"core",[]);let dA=(()=>{class t{constructor(h){}static#e=this.\u0275fac=function(L){return new(L||t)(Es(Uu))};static#t=this.\u0275mod=Oo({type:t});static#i=this.\u0275inj=On({})}return t})();function VA(t){return"boolean"==typeof t?t:null!=t&&"false"!==t}function zA(t,s=NaN){return isNaN(parseFloat(t))||isNaN(Number(t))?s:Number(t)}function HA(t,s){El("NgSignals");const h=function f(t){const s=Object.create(o);s.computation=t;const h=()=>{if(X(s),J(s),s.value===v)throw s.error;return s.value};return h[ne]=s,h}(t);return s?.equal&&(h[ne].equal=s.equal),h}function UA(t){const s=re(null);try{return t()}finally{re(s)}}const WA=new $e("",{providedIn:"root",factory:()=>$i($A)});let $A=(()=>{class t{static#e=this.\u0275prov=Wi({token:t,providedIn:"root",factory:()=>new XA})}return t})();class XA{constructor(){this.queuedEffectCount=0,this.queues=new Map,this.pendingTasks=$i(af),this.taskId=null}scheduleEffect(s){if(this.enqueue(s),null===this.taskId){const h=this.taskId=this.pendingTasks.add();queueMicrotask(()=>{this.flush(),this.pendingTasks.remove(h),this.taskId=null})}}enqueue(s){const h=s.creationZone;this.queues.has(h)||this.queues.set(h,new Set);const L=this.queues.get(h);L.has(s)||(this.queuedEffectCount++,L.add(s))}flush(){for(;this.queuedEffectCount>0;)for(const[s,h]of this.queues)null===s?this.flushQueue(h):s.run(()=>this.flushQueue(h))}flushQueue(s){for(const h of s)s.delete(h),this.queuedEffectCount--,h.run()}}class YA{constructor(s,h,L,Q,fe,Se){this.scheduler=s,this.effectFn=h,this.creationZone=L,this.injector=fe,this.watcher=function se(t,s,h){const L=Object.create($);h&&(L.consumerAllowSignalWrites=!0),L.fn=t,L.schedule=s;const Q=ze=>{L.cleanupFn=ze};return L.ref={notify:()=>F(L),run:()=>{if(null===L.fn)return;if(function le(){return Le}())throw new Error("Schedulers cannot synchronously execute watches while scheduling.");if(L.dirty=!1,L.hasRun&&!A(L))return;L.hasRun=!0;const ze=P(L);try{L.cleanupFn(),L.cleanupFn=S,L.fn(Q)}finally{D(L,ze)}},cleanup:()=>L.cleanupFn(),destroy:()=>function Se(ze){(function fe(ze){return null===ze.fn&&null===ze.schedule})(ze)||(I(ze),ze.cleanupFn(),ze.fn=null,ze.schedule=null,ze.cleanupFn=S)}(L),[ne]:L},L.ref}(Pe=>this.runEffect(Pe),()=>this.schedule(),Se),this.unregisterOnDestroy=Q?.onDestroy(()=>this.destroy())}runEffect(s){try{this.effectFn(s)}catch(h){this.injector.get(Sl,null,{optional:!0})?.handleError(h)}}run(){this.watcher.run()}schedule(){this.scheduler.scheduleEffect(this)}destroy(){this.watcher.destroy(),this.unregisterOnDestroy?.()}}function ED(t,s){El("NgSignals"),!s?.injector&&Ge();const h=s?.injector??$i(yr),L=!0!==s?.manualCleanup?h.get(ec):null,Q=new YA(h.get(WA),t,typeof Zone>"u"?null:Zone.current,L,h,s?.allowSignalWrites??!1),fe=h.get(Qk,null,{optional:!0});return fe&&8&fe._lView[Bi]?(fe._lView[Zr]??=[]).push(Q.watcher.notify):Q.watcher.notify(),Q}function KA(t,s){const h=pn(t),L=s.elementInjector||xa();return new rf(h).create(L,s.projectableNodes,s.hostElement,s.environmentInjector)}function ZA(t){const s=pn(t);if(!s)return null;const h=new rf(s);return{get selector(){return h.selector},get type(){return h.componentType},get inputs(){return h.inputs},get outputs(){return h.outputs},get ngContentSelectors(){return h.ngContentSelectors},get isStandalone(){return s.standalone},get isSignal(){return s.signals}}}},89079:(ri,Bt,We)=>{"use strict";We.d(Bt,{ot:()=>le,pQ:()=>Le});var M=We(54438),e=We(71985),V=We(56977);function Le(pe){pe||((0,M.Af3)(Le),pe=(0,M.WQX)(M.abz));const ue=new e.c(J=>pe.onDestroy(J.next.bind(J)));return J=>J.pipe((0,V.Q)(ue))}function le(pe,ue){const J=!ue?.manualCleanup;J&&!ue?.injector&&(0,M.Af3)(le);const te=J?ue?.injector?.get(M.abz)??(0,M.WQX)(M.abz):null;let X;X=(0,M.vPA)(ue?.requireSync?{kind:0}:{kind:1,value:ue?.initialValue});const E=pe.subscribe({next:j=>X.set({kind:1,value:j}),error:j=>{if(ue?.rejectErrors)throw j;X.set({kind:2,error:j})}});return te?.onDestroy(E.unsubscribe.bind(E)),(0,M.EWP)(()=>{const j=X();switch(j.kind){case 1:return j.value;case 2:throw j.error;case 0:throw new M.wOt(601,"`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.")}})}},89417:(ri,Bt,We)=>{"use strict";We.d(Bt,{$R:()=>Xo,BC:()=>he,JD:()=>Tr,Q0:()=>Fa,VZ:()=>Ir,X1:()=>Ua,YN:()=>Bl,ZU:()=>x,Zm:()=>pe,cb:()=>ge,cz:()=>F,j4:()=>wr,k0:()=>A,kq:()=>ve,me:()=>X,ok:()=>hr,qT:()=>Na,vO:()=>N,vS:()=>ln});var M=We(54438),e=We(60177),V=We(86648),Le=We(27468),q=We(96354);let ne=(()=>{class ot{constructor(Ye,vt){this._renderer=Ye,this._elementRef=vt,this.onChange=Ft=>{},this.onTouched=()=>{}}setProperty(Ye,vt){this._renderer.setProperty(this._elementRef.nativeElement,Ye,vt)}registerOnTouched(Ye){this.onTouched=Ye}registerOnChange(Ye){this.onChange=Ye}setDisabledState(Ye){this.setProperty("disabled",Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(M.sFG),M.rXU(M.aKT))};static#t=this.\u0275dir=M.FsC({type:ot})}return ot})(),re=(()=>{class ot extends ne{static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,features:[M.Vt3]})}return ot})();const ve=new M.nKC(""),le={provide:ve,useExisting:(0,M.Rfq)(()=>pe),multi:!0};let pe=(()=>{class ot extends re{writeValue(Ye){this.setProperty("checked",Ye)}static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(vt,Ft){1&vt&&M.bIt("change",function(mn){return Ft.onChange(mn.target.checked)})("blur",function(){return Ft.onTouched()})},features:[M.Jv_([le]),M.Vt3]})}return ot})();const ue={provide:ve,useExisting:(0,M.Rfq)(()=>X),multi:!0},te=new M.nKC("");let X=(()=>{class ot extends ne{constructor(Ye,vt,Ft){super(Ye,vt),this._compositionMode=Ft,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function J(){const ot=(0,e.QT)()?(0,e.QT)().getUserAgent():"";return/android (\d+)/.test(ot.toLowerCase())}())}writeValue(Ye){this.setProperty("value",Ye??"")}_handleInput(Ye){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(Ye)}_compositionStart(){this._composing=!0}_compositionEnd(Ye){this._composing=!1,this._compositionMode&&this.onChange(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(M.sFG),M.rXU(M.aKT),M.rXU(te,8))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(vt,Ft){1&vt&&M.bIt("input",function(mn){return Ft._handleInput(mn.target.value)})("blur",function(){return Ft.onTouched()})("compositionstart",function(){return Ft._compositionStart()})("compositionend",function(mn){return Ft._compositionEnd(mn.target.value)})},features:[M.Jv_([ue]),M.Vt3]})}return ot})();function E(ot){return null==ot||("string"==typeof ot||Array.isArray(ot))&&0===ot.length}function j(ot){return null!=ot&&"number"==typeof ot.length}const F=new M.nKC(""),P=new M.nKC(""),D=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class A{static min(ct){return I(ct)}static max(ct){return function _(ot){return ct=>{if(E(ct.value)||E(ot))return null;const Ye=parseFloat(ct.value);return!isNaN(Ye)&&Ye>ot?{max:{max:ot,actual:ct.value}}:null}}(ct)}static required(ct){return function m(ot){return E(ot.value)?{required:!0}:null}(ct)}static requiredTrue(ct){return function w(ot){return!0===ot.value?null:{required:!0}}(ct)}static email(ct){return function G(ot){return E(ot.value)||D.test(ot.value)?null:{email:!0}}(ct)}static minLength(ct){return function O(ot){return ct=>E(ct.value)||!j(ct.value)?null:ct.value.lengthj(ct.value)&&ct.value.length>ot?{maxlength:{requiredLength:ot,actualLength:ct.value.length}}:null}(ct)}static pattern(ct){return function a(ot){if(!ot)return g;let ct,Ye;return"string"==typeof ot?(Ye="","^"!==ot.charAt(0)&&(Ye+="^"),Ye+=ot,"$"!==ot.charAt(ot.length-1)&&(Ye+="$"),ct=new RegExp(Ye)):(Ye=ot.toString(),ct=ot),vt=>{if(E(vt.value))return null;const Ft=vt.value;return ct.test(Ft)?null:{pattern:{requiredPattern:Ye,actualValue:Ft}}}}(ct)}static nullValidator(ct){return null}static compose(ct){return C(ct)}static composeAsync(ct){return p(ct)}}function I(ot){return ct=>{if(E(ct.value)||E(ot))return null;const Ye=parseFloat(ct.value);return!isNaN(Ye)&&Ye{ct=null!=Ye?{...ct,...Ye}:ct}),0===Object.keys(ct).length?null:ct}function r(ot,ct){return ct.map(Ye=>Ye(ot))}function d(ot){return ot.map(ct=>function l(ot){return!ot.validate}(ct)?ct:Ye=>ct.validate(Ye))}function C(ot){if(!ot)return null;const ct=ot.filter(v);return 0==ct.length?null:function(Ye){return n(r(Ye,ct))}}function k(ot){return null!=ot?C(d(ot)):null}function p(ot){if(!ot)return null;const ct=ot.filter(v);return 0==ct.length?null:function(Ye){const vt=r(Ye,ct).map(o);return(0,Le.p)(vt).pipe((0,q.T)(n))}}function T(ot){return null!=ot?p(d(ot)):null}function B(ot,ct){return null===ot?[ct]:Array.isArray(ot)?[...ot,ct]:[ot,ct]}function z(ot){return ot._rawValidators}function K(ot){return ot._rawAsyncValidators}function U(ot){return ot?Array.isArray(ot)?ot:[ot]:[]}function se(ot,ct){return Array.isArray(ot)?ot.includes(ct):ot===ct}function S(ot,ct){const Ye=U(ct);return U(ot).forEach(Ft=>{se(Ye,Ft)||Ye.push(Ft)}),Ye}function $(ot,ct){return U(ct).filter(Ye=>!se(ot,Ye))}class H{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(ct){this._rawValidators=ct||[],this._composedValidatorFn=k(this._rawValidators)}_setAsyncValidators(ct){this._rawAsyncValidators=ct||[],this._composedAsyncValidatorFn=T(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(ct){this._onDestroyCallbacks.push(ct)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(ct=>ct()),this._onDestroyCallbacks=[]}reset(ct=void 0){this.control&&this.control.reset(ct)}hasError(ct,Ye){return!!this.control&&this.control.hasError(ct,Ye)}getError(ct,Ye){return this.control?this.control.getError(ct,Ye):null}}class x extends H{get formDirective(){return null}get path(){return null}}class N extends H{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class R{constructor(ct){this._cd=ct}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let he=(()=>{class ot extends R{constructor(Ye){super(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(N,2))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(vt,Ft){2&vt&&M.AVh("ng-untouched",Ft.isUntouched)("ng-touched",Ft.isTouched)("ng-pristine",Ft.isPristine)("ng-dirty",Ft.isDirty)("ng-valid",Ft.isValid)("ng-invalid",Ft.isInvalid)("ng-pending",Ft.isPending)},features:[M.Vt3]})}return ot})(),ge=(()=>{class ot extends R{constructor(Ye){super(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,10))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(vt,Ft){2&vt&&M.AVh("ng-untouched",Ft.isUntouched)("ng-touched",Ft.isTouched)("ng-pristine",Ft.isPristine)("ng-dirty",Ft.isDirty)("ng-valid",Ft.isValid)("ng-invalid",Ft.isInvalid)("ng-pending",Ft.isPending)("ng-submitted",Ft.isSubmitted)},features:[M.Vt3]})}return ot})();const st="VALID",Tt="INVALID",pt="PENDING",ht="DISABLED";function Pt(ot){return(It(ot)?ot.validators:ot)||null}function ti(ot,ct){return(It(ct)?ct.asyncValidators:ot)||null}function It(ot){return null!=ot&&!Array.isArray(ot)&&"object"==typeof ot}function xt(ot,ct,Ye){const vt=ot.controls;if(!(ct?Object.keys(vt):vt).length)throw new M.wOt(1e3,"");if(!vt[Ye])throw new M.wOt(1001,"")}function wt(ot,ct,Ye){ot._forEachChild((vt,Ft)=>{if(void 0===Ye[Ft])throw new M.wOt(1002,"")})}class Qt{constructor(ct,Ye){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(ct),this._assignAsyncValidators(Ye)}get validator(){return this._composedValidatorFn}set validator(ct){this._rawValidators=this._composedValidatorFn=ct}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(ct){this._rawAsyncValidators=this._composedAsyncValidatorFn=ct}get parent(){return this._parent}get valid(){return this.status===st}get invalid(){return this.status===Tt}get pending(){return this.status==pt}get disabled(){return this.status===ht}get enabled(){return this.status!==ht}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(ct){this._assignValidators(ct)}setAsyncValidators(ct){this._assignAsyncValidators(ct)}addValidators(ct){this.setValidators(S(ct,this._rawValidators))}addAsyncValidators(ct){this.setAsyncValidators(S(ct,this._rawAsyncValidators))}removeValidators(ct){this.setValidators($(ct,this._rawValidators))}removeAsyncValidators(ct){this.setAsyncValidators($(ct,this._rawAsyncValidators))}hasValidator(ct){return se(this._rawValidators,ct)}hasAsyncValidator(ct){return se(this._rawAsyncValidators,ct)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(ct={}){this.touched=!0,this._parent&&!ct.onlySelf&&this._parent.markAsTouched(ct)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(ct=>ct.markAllAsTouched())}markAsUntouched(ct={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(Ye=>{Ye.markAsUntouched({onlySelf:!0})}),this._parent&&!ct.onlySelf&&this._parent._updateTouched(ct)}markAsDirty(ct={}){this.pristine=!1,this._parent&&!ct.onlySelf&&this._parent.markAsDirty(ct)}markAsPristine(ct={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(Ye=>{Ye.markAsPristine({onlySelf:!0})}),this._parent&&!ct.onlySelf&&this._parent._updatePristine(ct)}markAsPending(ct={}){this.status=pt,!1!==ct.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!ct.onlySelf&&this._parent.markAsPending(ct)}disable(ct={}){const Ye=this._parentMarkedDirty(ct.onlySelf);this.status=ht,this.errors=null,this._forEachChild(vt=>{vt.disable({...ct,onlySelf:!0})}),this._updateValue(),!1!==ct.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...ct,skipPristineCheck:Ye}),this._onDisabledChange.forEach(vt=>vt(!0))}enable(ct={}){const Ye=this._parentMarkedDirty(ct.onlySelf);this.status=st,this._forEachChild(vt=>{vt.enable({...ct,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:ct.emitEvent}),this._updateAncestors({...ct,skipPristineCheck:Ye}),this._onDisabledChange.forEach(vt=>vt(!1))}_updateAncestors(ct){this._parent&&!ct.onlySelf&&(this._parent.updateValueAndValidity(ct),ct.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(ct){this._parent=ct}getRawValue(){return this.value}updateValueAndValidity(ct={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===st||this.status===pt)&&this._runAsyncValidator(ct.emitEvent)),!1!==ct.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!ct.onlySelf&&this._parent.updateValueAndValidity(ct)}_updateTreeValidity(ct={emitEvent:!0}){this._forEachChild(Ye=>Ye._updateTreeValidity(ct)),this.updateValueAndValidity({onlySelf:!0,emitEvent:ct.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?ht:st}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(ct){if(this.asyncValidator){this.status=pt,this._hasOwnPendingAsyncValidator=!0;const Ye=o(this.asyncValidator(this));this._asyncValidationSubscription=Ye.subscribe(vt=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(vt,{emitEvent:ct})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(ct,Ye={}){this.errors=ct,this._updateControlsErrors(!1!==Ye.emitEvent)}get(ct){let Ye=ct;return null==Ye||(Array.isArray(Ye)||(Ye=Ye.split(".")),0===Ye.length)?null:Ye.reduce((vt,Ft)=>vt&&vt._find(Ft),this)}getError(ct,Ye){const vt=Ye?this.get(Ye):this;return vt&&vt.errors?vt.errors[ct]:null}hasError(ct,Ye){return!!this.getError(ct,Ye)}get root(){let ct=this;for(;ct._parent;)ct=ct._parent;return ct}_updateControlsErrors(ct){this.status=this._calculateStatus(),ct&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(ct)}_initObservables(){this.valueChanges=new M.bkB,this.statusChanges=new M.bkB}_calculateStatus(){return this._allControlsDisabled()?ht:this.errors?Tt:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(pt)?pt:this._anyControlsHaveStatus(Tt)?Tt:st}_anyControlsHaveStatus(ct){return this._anyControls(Ye=>Ye.status===ct)}_anyControlsDirty(){return this._anyControls(ct=>ct.dirty)}_anyControlsTouched(){return this._anyControls(ct=>ct.touched)}_updatePristine(ct={}){this.pristine=!this._anyControlsDirty(),this._parent&&!ct.onlySelf&&this._parent._updatePristine(ct)}_updateTouched(ct={}){this.touched=this._anyControlsTouched(),this._parent&&!ct.onlySelf&&this._parent._updateTouched(ct)}_registerOnCollectionChange(ct){this._onCollectionChange=ct}_setUpdateStrategy(ct){It(ct)&&null!=ct.updateOn&&(this._updateOn=ct.updateOn)}_parentMarkedDirty(ct){return!ct&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(ct){return null}_assignValidators(ct){this._rawValidators=Array.isArray(ct)?ct.slice():ct,this._composedValidatorFn=function Gt(ot){return Array.isArray(ot)?k(ot):ot||null}(this._rawValidators)}_assignAsyncValidators(ct){this._rawAsyncValidators=Array.isArray(ct)?ct.slice():ct,this._composedAsyncValidatorFn=function Dt(ot){return Array.isArray(ot)?T(ot):ot||null}(this._rawAsyncValidators)}}class di extends Qt{constructor(ct,Ye,vt){super(Pt(Ye),ti(vt,Ye)),this.controls=ct,this._initObservables(),this._setUpdateStrategy(Ye),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(ct,Ye){return this.controls[ct]?this.controls[ct]:(this.controls[ct]=Ye,Ye.setParent(this),Ye._registerOnCollectionChange(this._onCollectionChange),Ye)}addControl(ct,Ye,vt={}){this.registerControl(ct,Ye),this.updateValueAndValidity({emitEvent:vt.emitEvent}),this._onCollectionChange()}removeControl(ct,Ye={}){this.controls[ct]&&this.controls[ct]._registerOnCollectionChange(()=>{}),delete this.controls[ct],this.updateValueAndValidity({emitEvent:Ye.emitEvent}),this._onCollectionChange()}setControl(ct,Ye,vt={}){this.controls[ct]&&this.controls[ct]._registerOnCollectionChange(()=>{}),delete this.controls[ct],Ye&&this.registerControl(ct,Ye),this.updateValueAndValidity({emitEvent:vt.emitEvent}),this._onCollectionChange()}contains(ct){return this.controls.hasOwnProperty(ct)&&this.controls[ct].enabled}setValue(ct,Ye={}){wt(this,0,ct),Object.keys(ct).forEach(vt=>{xt(this,!0,vt),this.controls[vt].setValue(ct[vt],{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye)}patchValue(ct,Ye={}){null!=ct&&(Object.keys(ct).forEach(vt=>{const Ft=this.controls[vt];Ft&&Ft.patchValue(ct[vt],{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye))}reset(ct={},Ye={}){this._forEachChild((vt,Ft)=>{vt.reset(ct?ct[Ft]:null,{onlySelf:!0,emitEvent:Ye.emitEvent})}),this._updatePristine(Ye),this._updateTouched(Ye),this.updateValueAndValidity(Ye)}getRawValue(){return this._reduceChildren({},(ct,Ye,vt)=>(ct[vt]=Ye.getRawValue(),ct))}_syncPendingControls(){let ct=this._reduceChildren(!1,(Ye,vt)=>!!vt._syncPendingControls()||Ye);return ct&&this.updateValueAndValidity({onlySelf:!0}),ct}_forEachChild(ct){Object.keys(this.controls).forEach(Ye=>{const vt=this.controls[Ye];vt&&ct(vt,Ye)})}_setUpControls(){this._forEachChild(ct=>{ct.setParent(this),ct._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(ct){for(const[Ye,vt]of Object.entries(this.controls))if(this.contains(Ye)&&ct(vt))return!0;return!1}_reduceValue(){return this._reduceChildren({},(Ye,vt,Ft)=>((vt.enabled||this.disabled)&&(Ye[Ft]=vt.value),Ye))}_reduceChildren(ct,Ye){let vt=ct;return this._forEachChild((Ft,Fi)=>{vt=Ye(vt,Ft,Fi)}),vt}_allControlsDisabled(){for(const ct of Object.keys(this.controls))if(this.controls[ct].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(ct){return this.controls.hasOwnProperty(ct)?this.controls[ct]:null}}class zi extends di{}const Fn=new M.nKC("CallSetDisabledState",{providedIn:"root",factory:()=>as}),as="always";function ms(ot,ct){return[...ct.path,ot]}function Ln(ot,ct,Ye=as){Kn(ot,ct),ct.valueAccessor.writeValue(ot.value),(ot.disabled||"always"===Ye)&&ct.valueAccessor.setDisabledState?.(ot.disabled),function Bs(ot,ct){ct.valueAccessor.registerOnChange(Ye=>{ot._pendingValue=Ye,ot._pendingChange=!0,ot._pendingDirty=!0,"change"===ot.updateOn&&Wi(ot,ct)})}(ot,ct),function js(ot,ct){const Ye=(vt,Ft)=>{ct.valueAccessor.writeValue(vt),Ft&&ct.viewToModelUpdate(vt)};ot.registerOnChange(Ye),ct._registerOnDestroy(()=>{ot._unregisterOnChange(Ye)})}(ot,ct),function qn(ot,ct){ct.valueAccessor.registerOnTouched(()=>{ot._pendingTouched=!0,"blur"===ot.updateOn&&ot._pendingChange&&Wi(ot,ct),"submit"!==ot.updateOn&&ot.markAsTouched()})}(ot,ct),function Cs(ot,ct){if(ct.valueAccessor.setDisabledState){const Ye=vt=>{ct.valueAccessor.setDisabledState(vt)};ot.registerOnDisabledChange(Ye),ct._registerOnDestroy(()=>{ot._unregisterOnDisabledChange(Ye)})}}(ot,ct)}function fn(ot,ct,Ye=!0){const vt=()=>{};ct.valueAccessor&&(ct.valueAccessor.registerOnChange(vt),ct.valueAccessor.registerOnTouched(vt)),In(ot,ct),ot&&(ct._invokeOnDestroyCallbacks(),ot._registerOnCollectionChange(()=>{}))}function ki(ot,ct){ot.forEach(Ye=>{Ye.registerOnValidatorChange&&Ye.registerOnValidatorChange(ct)})}function Kn(ot,ct){const Ye=z(ot);null!==ct.validator?ot.setValidators(B(Ye,ct.validator)):"function"==typeof Ye&&ot.setValidators([Ye]);const vt=K(ot);null!==ct.asyncValidator?ot.setAsyncValidators(B(vt,ct.asyncValidator)):"function"==typeof vt&&ot.setAsyncValidators([vt]);const Ft=()=>ot.updateValueAndValidity();ki(ct._rawValidators,Ft),ki(ct._rawAsyncValidators,Ft)}function In(ot,ct){let Ye=!1;if(null!==ot){if(null!==ct.validator){const Ft=z(ot);if(Array.isArray(Ft)&&Ft.length>0){const Fi=Ft.filter(mn=>mn!==ct.validator);Fi.length!==Ft.length&&(Ye=!0,ot.setValidators(Fi))}}if(null!==ct.asyncValidator){const Ft=K(ot);if(Array.isArray(Ft)&&Ft.length>0){const Fi=Ft.filter(mn=>mn!==ct.asyncValidator);Fi.length!==Ft.length&&(Ye=!0,ot.setAsyncValidators(Fi))}}}const vt=()=>{};return ki(ct._rawValidators,vt),ki(ct._rawAsyncValidators,vt),Ye}function Wi(ot,ct){ot._pendingDirty&&ot.markAsDirty(),ot.setValue(ot._pendingValue,{emitModelToViewChange:!1}),ct.viewToModelUpdate(ot._pendingValue),ot._pendingChange=!1}function Nt(ot,ct){if(!ot.hasOwnProperty("model"))return!1;const Ye=ot.model;return!!Ye.isFirstChange()||!Object.is(ct,Ye.currentValue)}function $e(ot,ct){if(!ct)return null;let Ye,vt,Ft;return Array.isArray(ct),ct.forEach(Fi=>{Fi.constructor===X?Ye=Fi:function mt(ot){return Object.getPrototypeOf(ot.constructor)===re}(Fi)?vt=Fi:Ft=Fi}),Ft||vt||Ye||null}function qi(ot,ct){const Ye=ot.indexOf(ct);Ye>-1&&ot.splice(Ye,1)}function Ki(ot){return"object"==typeof ot&&null!==ot&&2===Object.keys(ot).length&&"value"in ot&&"disabled"in ot}Promise.resolve();const ls=class extends Qt{constructor(ct=null,Ye,vt){super(Pt(Ye),ti(vt,Ye)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(ct),this._setUpdateStrategy(Ye),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),It(Ye)&&(Ye.nonNullable||Ye.initialValueIsDefault)&&(this.defaultValue=Ki(ct)?ct.value:ct)}setValue(ct,Ye={}){this.value=this._pendingValue=ct,this._onChange.length&&!1!==Ye.emitModelToViewChange&&this._onChange.forEach(vt=>vt(this.value,!1!==Ye.emitViewToModelChange)),this.updateValueAndValidity(Ye)}patchValue(ct,Ye={}){this.setValue(ct,Ye)}reset(ct=this.defaultValue,Ye={}){this._applyFormState(ct),this.markAsPristine(Ye),this.markAsUntouched(Ye),this.setValue(this.value,Ye),this._pendingChange=!1}_updateValue(){}_anyControls(ct){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(ct){this._onChange.push(ct)}_unregisterOnChange(ct){qi(this._onChange,ct)}registerOnDisabledChange(ct){this._onDisabledChange.push(ct)}_unregisterOnDisabledChange(ct){qi(this._onDisabledChange,ct)}_forEachChild(ct){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(ct){Ki(ct)?(this.value=this._pendingValue=ct.value,ct.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=ct}};let gn=(()=>{class ot extends x{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return ms(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,features:[M.Vt3]})}return ot})();const pr={provide:N,useExisting:(0,M.Rfq)(()=>ln)},Ui=Promise.resolve();let ln=(()=>{class ot extends N{constructor(Ye,vt,Ft,Fi,mn,io){super(),this._changeDetectorRef=mn,this.callSetDisabledState=io,this.control=new ls,this._registered=!1,this.name="",this.update=new M.bkB,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Ft),this.valueAccessor=$e(0,Fi)}ngOnChanges(Ye){if(this._checkForErrors(),!this._registered||"name"in Ye){if(this._registered&&(this._checkName(),this.formDirective)){const vt=Ye.name.previousValue;this.formDirective.removeControl({name:vt,path:this._getPath(vt)})}this._setUpControl()}"isDisabled"in Ye&&this._updateDisabled(Ye),Nt(Ye,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(Ye){this.viewModel=Ye,this.update.emit(Ye)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Ln(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(Ye){Ui.then(()=>{this.control.setValue(Ye,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(Ye){const vt=Ye.isDisabled.currentValue,Ft=0!==vt&&(0,M.L39)(vt);Ui.then(()=>{Ft&&!this.control.disabled?this.control.disable():!Ft&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(Ye){return this._parent?ms(Ye,this._parent):[Ye]}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,9),M.rXU(F,10),M.rXU(P,10),M.rXU(ve,10),M.rXU(M.gRc,8),M.rXU(Fn,8))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[M.Mj6.None,"disabled","isDisabled"],model:[M.Mj6.None,"ngModel","model"],options:[M.Mj6.None,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[M.Jv_([pr]),M.Vt3,M.OA$]})}return ot})(),Na=(()=>{class ot{static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return ot})();const lr={provide:ve,useExisting:(0,M.Rfq)(()=>Fa),multi:!0};let Fa=(()=>{class ot extends re{writeValue(Ye){this.setProperty("value",Ye??"")}registerOnChange(Ye){this.onChange=vt=>{Ye(""==vt?null:parseFloat(vt))}}static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(vt,Ft){1&vt&&M.bIt("input",function(mn){return Ft.onChange(mn.target.value)})("blur",function(){return Ft.onTouched()})},features:[M.Jv_([lr]),M.Vt3]})}return ot})();const $s=new M.nKC(""),Nl={provide:x,useExisting:(0,M.Rfq)(()=>wr)};let wr=(()=>{class ot extends x{constructor(Ye,vt,Ft){super(),this.callSetDisabledState=Ft,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new M.bkB,this._setValidators(Ye),this._setAsyncValidators(vt)}ngOnChanges(Ye){this._checkFormPresent(),Ye.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(In(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(Ye){const vt=this.form.get(Ye.path);return Ln(vt,Ye,this.callSetDisabledState),vt.updateValueAndValidity({emitEvent:!1}),this.directives.push(Ye),vt}getControl(Ye){return this.form.get(Ye.path)}removeControl(Ye){fn(Ye.control||null,Ye,!1),function yt(ot,ct){const Ye=ot.indexOf(ct);Ye>-1&&ot.splice(Ye,1)}(this.directives,Ye)}addFormGroup(Ye){this._setUpFormContainer(Ye)}removeFormGroup(Ye){this._cleanUpFormContainer(Ye)}getFormGroup(Ye){return this.form.get(Ye.path)}addFormArray(Ye){this._setUpFormContainer(Ye)}removeFormArray(Ye){this._cleanUpFormContainer(Ye)}getFormArray(Ye){return this.form.get(Ye.path)}updateModel(Ye,vt){this.form.get(Ye.path).setValue(vt)}onSubmit(Ye){return this.submitted=!0,function _t(ot,ct){ot._syncPendingControls(),ct.forEach(Ye=>{const vt=Ye.control;"submit"===vt.updateOn&&vt._pendingChange&&(Ye.viewToModelUpdate(vt._pendingValue),vt._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(Ye),"dialog"===Ye?.target?.method}onReset(){this.resetForm()}resetForm(Ye=void 0){this.form.reset(Ye),this.submitted=!1}_updateDomValue(){this.directives.forEach(Ye=>{const vt=Ye.control,Ft=this.form.get(Ye.path);vt!==Ft&&(fn(vt||null,Ye),(ot=>ot instanceof ls)(Ft)&&(Ln(Ft,Ye,this.callSetDisabledState),Ye.control=Ft))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(Ye){const vt=this.form.get(Ye.path);(function On(ot,ct){Kn(ot,ct)})(vt,Ye),vt.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(Ye){if(this.form){const vt=this.form.get(Ye.path);vt&&function ar(ot,ct){return In(ot,ct)}(vt,Ye)&&vt.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Kn(this.form,this),this._oldForm&&In(this._oldForm,this)}_checkFormPresent(){}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(F,10),M.rXU(P,10),M.rXU(Fn,8))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formGroup",""]],hostBindings:function(vt,Ft){1&vt&&M.bIt("submit",function(mn){return Ft.onSubmit(mn)})("reset",function(){return Ft.onReset()})},inputs:{form:[M.Mj6.None,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[M.Jv_([Nl]),M.Vt3,M.OA$]})}return ot})();const Jr={provide:x,useExisting:(0,M.Rfq)(()=>Xo)};let Xo=(()=>{class ot extends gn{constructor(Ye,vt,Ft){super(),this.name=null,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Ft)}_checkParentType(){da(this._parent)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,13),M.rXU(F,10),M.rXU(P,10))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formGroupName",""]],inputs:{name:[M.Mj6.None,"formGroupName","name"]},features:[M.Jv_([Jr]),M.Vt3]})}return ot})();const Fl={provide:x,useExisting:(0,M.Rfq)(()=>mo)};let mo=(()=>{class ot extends x{constructor(Ye,vt,Ft){super(),this.name=null,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Ft)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return ms(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){da(this._parent)}static#e=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,13),M.rXU(F,10),M.rXU(P,10))};static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["","formArrayName",""]],inputs:{name:[M.Mj6.None,"formArrayName","name"]},features:[M.Jv_([Fl]),M.Vt3]})}return ot})();function da(ot){return!(ot instanceof Xo||ot instanceof wr||ot instanceof mo)}const Ga={provide:N,useExisting:(0,M.Rfq)(()=>Tr)};let Tr=(()=>{class ot extends N{set isDisabled(Ye){}static#e=this._ngModelWarningSentOnce=!1;constructor(Ye,vt,Ft,Fi,mn){super(),this._ngModelWarningConfig=mn,this._added=!1,this.name=null,this.update=new M.bkB,this._ngModelWarningSent=!1,this._parent=Ye,this._setValidators(vt),this._setAsyncValidators(Ft),this.valueAccessor=$e(0,Fi)}ngOnChanges(Ye){this._added||this._setUpControl(),Nt(Ye,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(Ye){this.viewModel=Ye,this.update.emit(Ye)}get path(){return ms(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static#t=this.\u0275fac=function(vt){return new(vt||ot)(M.rXU(x,13),M.rXU(F,10),M.rXU(P,10),M.rXU(ve,10),M.rXU($s,8))};static#i=this.\u0275dir=M.FsC({type:ot,selectors:[["","formControlName",""]],inputs:{name:[M.Mj6.None,"formControlName","name"],isDisabled:[M.Mj6.None,"disabled","isDisabled"],model:[M.Mj6.None,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[M.Jv_([Ga]),M.Vt3,M.OA$]})}return ot})();let Qs=(()=>{class ot{constructor(){this._validator=g}ngOnChanges(Ye){if(this.inputName in Ye){const vt=this.normalizeInput(Ye[this.inputName].currentValue);this._enabled=this.enabled(vt),this._validator=this._enabled?this.createValidator(vt):g,this._onChange&&this._onChange()}}validate(Ye){return this._validator(Ye)}registerOnValidatorChange(Ye){this._onChange=Ye}enabled(Ye){return null!=Ye}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275dir=M.FsC({type:ot,features:[M.OA$]})}return ot})();const ma={provide:F,useExisting:(0,M.Rfq)(()=>Ir),multi:!0};let Ir=(()=>{class ot extends Qs{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=Ye=>function fa(ot){return"number"==typeof ot?ot:parseFloat(ot)}(Ye),this.createValidator=Ye=>I(Ye)}static#e=this.\u0275fac=(()=>{let Ye;return function(Ft){return(Ye||(Ye=M.xGo(ot)))(Ft||ot)}})();static#t=this.\u0275dir=M.FsC({type:ot,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(vt,Ft){2&vt&&M.BMQ("min",Ft._enabled?Ft.min:null)},inputs:{min:"min"},features:[M.Jv_([ma]),M.Vt3]})}return ot})(),Sr=(()=>{class ot{static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275mod=M.$C({type:ot});static#i=this.\u0275inj=M.G2t({})}return ot})();class Dn extends Qt{constructor(ct,Ye,vt){super(Pt(Ye),ti(vt,Ye)),this.controls=ct,this._initObservables(),this._setUpdateStrategy(Ye),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(ct){return this.controls[this._adjustIndex(ct)]}push(ct,Ye={}){this.controls.push(ct),this._registerControl(ct),this.updateValueAndValidity({emitEvent:Ye.emitEvent}),this._onCollectionChange()}insert(ct,Ye,vt={}){this.controls.splice(ct,0,Ye),this._registerControl(Ye),this.updateValueAndValidity({emitEvent:vt.emitEvent})}removeAt(ct,Ye={}){let vt=this._adjustIndex(ct);vt<0&&(vt=0),this.controls[vt]&&this.controls[vt]._registerOnCollectionChange(()=>{}),this.controls.splice(vt,1),this.updateValueAndValidity({emitEvent:Ye.emitEvent})}setControl(ct,Ye,vt={}){let Ft=this._adjustIndex(ct);Ft<0&&(Ft=0),this.controls[Ft]&&this.controls[Ft]._registerOnCollectionChange(()=>{}),this.controls.splice(Ft,1),Ye&&(this.controls.splice(Ft,0,Ye),this._registerControl(Ye)),this.updateValueAndValidity({emitEvent:vt.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(ct,Ye={}){wt(this,0,ct),ct.forEach((vt,Ft)=>{xt(this,!1,Ft),this.at(Ft).setValue(vt,{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye)}patchValue(ct,Ye={}){null!=ct&&(ct.forEach((vt,Ft)=>{this.at(Ft)&&this.at(Ft).patchValue(vt,{onlySelf:!0,emitEvent:Ye.emitEvent})}),this.updateValueAndValidity(Ye))}reset(ct=[],Ye={}){this._forEachChild((vt,Ft)=>{vt.reset(ct[Ft],{onlySelf:!0,emitEvent:Ye.emitEvent})}),this._updatePristine(Ye),this._updateTouched(Ye),this.updateValueAndValidity(Ye)}getRawValue(){return this.controls.map(ct=>ct.getRawValue())}clear(ct={}){this.controls.length<1||(this._forEachChild(Ye=>Ye._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:ct.emitEvent}))}_adjustIndex(ct){return ct<0?ct+this.length:ct}_syncPendingControls(){let ct=this.controls.reduce((Ye,vt)=>!!vt._syncPendingControls()||Ye,!1);return ct&&this.updateValueAndValidity({onlySelf:!0}),ct}_forEachChild(ct){this.controls.forEach((Ye,vt)=>{ct(Ye,vt)})}_updateValue(){this.value=this.controls.filter(ct=>ct.enabled||this.disabled).map(ct=>ct.value)}_anyControls(ct){return this.controls.some(Ye=>Ye.enabled&&ct(Ye))}_setUpControls(){this._forEachChild(ct=>this._registerControl(ct))}_allControlsDisabled(){for(const ct of this.controls)if(ct.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(ct){ct.setParent(this),ct._registerOnCollectionChange(this._onCollectionChange)}_find(ct){return this.at(ct)??null}}function Io(ot){return!!ot&&(void 0!==ot.asyncValidators||void 0!==ot.validators||void 0!==ot.updateOn)}let hr=(()=>{class ot{constructor(){this.useNonNullable=!1}get nonNullable(){const Ye=new ot;return Ye.useNonNullable=!0,Ye}group(Ye,vt=null){const Ft=this._reduceControls(Ye);let Fi={};return Io(vt)?Fi=vt:null!==vt&&(Fi.validators=vt.validator,Fi.asyncValidators=vt.asyncValidator),new di(Ft,Fi)}record(Ye,vt=null){const Ft=this._reduceControls(Ye);return new zi(Ft,vt)}control(Ye,vt,Ft){let Fi={};return this.useNonNullable?(Io(vt)?Fi=vt:(Fi.validators=vt,Fi.asyncValidators=Ft),new ls(Ye,{...Fi,nonNullable:!0})):new ls(Ye,vt,Ft)}array(Ye,vt,Ft){const Fi=Ye.map(mn=>this._createControl(mn));return new Dn(Fi,vt,Ft)}_reduceControls(Ye){const vt={};return Object.keys(Ye).forEach(Ft=>{vt[Ft]=this._createControl(Ye[Ft])}),vt}_createControl(Ye){return Ye instanceof ls||Ye instanceof Qt?Ye:Array.isArray(Ye)?this.control(Ye[0],Ye.length>1?Ye[1]:null,Ye.length>2?Ye[2]:null):this.control(Ye)}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275prov=M.jDH({token:ot,factory:ot.\u0275fac,providedIn:"root"})}return ot})(),Bl=(()=>{class ot{static withConfig(Ye){return{ngModule:ot,providers:[{provide:Fn,useValue:Ye.callSetDisabledState??as}]}}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275mod=M.$C({type:ot});static#i=this.\u0275inj=M.G2t({imports:[Sr]})}return ot})(),Ua=(()=>{class ot{static withConfig(Ye){return{ngModule:ot,providers:[{provide:$s,useValue:Ye.warnOnNgModelWithFormControl??"always"},{provide:Fn,useValue:Ye.callSetDisabledState??as}]}}static#e=this.\u0275fac=function(vt){return new(vt||ot)};static#t=this.\u0275mod=M.$C({type:ot});static#i=this.\u0275inj=M.G2t({imports:[Sr]})}return ot})()},345:(ri,Bt,We)=>{"use strict";We.d(Bt,{B7:()=>G,Bb:()=>R,EU:()=>ue,hE:()=>he,sG:()=>$,up:()=>Xe});var M=We(54438),e=We(60177);class V extends e.VF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Le extends V{static makeCurrent(){(0,e.ZD)(new Le)}onAndCancel(It,xt,wt){return It.addEventListener(xt,wt),()=>{It.removeEventListener(xt,wt)}}dispatchEvent(It,xt){It.dispatchEvent(xt)}remove(It){It.parentNode&&It.parentNode.removeChild(It)}createElement(It,xt){return(xt=xt||this.getDefaultDocument()).createElement(It)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(It){return It.nodeType===Node.ELEMENT_NODE}isShadowRoot(It){return It instanceof DocumentFragment}getGlobalEventTarget(It,xt){return"window"===xt?window:"document"===xt?It:"body"===xt?It.body:null}getBaseHref(It){const xt=function ne(){return q=q||document.querySelector("base"),q?q.getAttribute("href"):null}();return null==xt?null:function re(Dt){return new URL(Dt,document.baseURI).pathname}(xt)}resetBaseElement(){q=null}getUserAgent(){return window.navigator.userAgent}getCookie(It){return(0,e._b)(document.cookie,It)}}let q=null,le=(()=>{class Dt{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(wt){return new(wt||Dt)};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const pe=new M.nKC("");let ue=(()=>{class Dt{constructor(xt,wt){this._zone=wt,this._eventNameToPlugin=new Map,xt.forEach(Qt=>{Qt.manager=this}),this._plugins=xt.slice().reverse()}addEventListener(xt,wt,Qt){return this._findPluginFor(wt).addEventListener(xt,wt,Qt)}getZone(){return this._zone}_findPluginFor(xt){let wt=this._eventNameToPlugin.get(xt);if(wt)return wt;if(wt=this._plugins.find(di=>di.supports(xt)),!wt)throw new M.wOt(5101,!1);return this._eventNameToPlugin.set(xt,wt),wt}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(pe),M.KVO(M.SKi))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();class J{constructor(It){this._doc=It}}const te="ng-app-id";let X=(()=>{class Dt{constructor(xt,wt,Qt,di={}){this.doc=xt,this.appId=wt,this.nonce=Qt,this.platformId=di,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=(0,e.Vy)(di),this.resetHostNodes()}addStyles(xt){for(const wt of xt)1===this.changeUsageCount(wt,1)&&this.onStyleAdded(wt)}removeStyles(xt){for(const wt of xt)this.changeUsageCount(wt,-1)<=0&&this.onStyleRemoved(wt)}ngOnDestroy(){const xt=this.styleNodesInDOM;xt&&(xt.forEach(wt=>wt.remove()),xt.clear());for(const wt of this.getAllStyles())this.onStyleRemoved(wt);this.resetHostNodes()}addHost(xt){this.hostNodes.add(xt);for(const wt of this.getAllStyles())this.addStyleToHost(xt,wt)}removeHost(xt){this.hostNodes.delete(xt)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(xt){for(const wt of this.hostNodes)this.addStyleToHost(wt,xt)}onStyleRemoved(xt){const wt=this.styleRef;wt.get(xt)?.elements?.forEach(Qt=>Qt.remove()),wt.delete(xt)}collectServerRenderedStyles(){const xt=this.doc.head?.querySelectorAll(`style[${te}="${this.appId}"]`);if(xt?.length){const wt=new Map;return xt.forEach(Qt=>{null!=Qt.textContent&&wt.set(Qt.textContent,Qt)}),wt}return null}changeUsageCount(xt,wt){const Qt=this.styleRef;if(Qt.has(xt)){const di=Qt.get(xt);return di.usage+=wt,di.usage}return Qt.set(xt,{usage:wt,elements:[]}),wt}getStyleElement(xt,wt){const Qt=this.styleNodesInDOM,di=Qt?.get(wt);if(di?.parentNode===xt)return Qt.delete(wt),di.removeAttribute(te),di;{const Ni=this.doc.createElement("style");return this.nonce&&Ni.setAttribute("nonce",this.nonce),Ni.textContent=wt,this.platformIsServer&&Ni.setAttribute(te,this.appId),xt.appendChild(Ni),Ni}}addStyleToHost(xt,wt){const Qt=this.getStyleElement(xt,wt),di=this.styleRef,Ni=di.get(wt)?.elements;Ni?Ni.push(Qt):di.set(wt,{elements:[Qt],usage:1})}resetHostNodes(){const xt=this.hostNodes;xt.clear(),xt.add(this.doc.head)}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ),M.KVO(M.sZ2),M.KVO(M.BIS,8),M.KVO(M.Agw))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const E={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},j=/%COMP%/g,F="%COMP%",P=`_nghost-${F}`,D=`_ngcontent-${F}`,I=new M.nKC("",{providedIn:"root",factory:()=>!0});function w(Dt,It){return It.map(xt=>xt.replace(j,Dt))}let G=(()=>{class Dt{constructor(xt,wt,Qt,di,Ni,mi,vi,zi=null){this.eventManager=xt,this.sharedStylesHost=wt,this.appId=Qt,this.removeStylesOnCompDestroy=di,this.doc=Ni,this.platformId=mi,this.ngZone=vi,this.nonce=zi,this.rendererByCompId=new Map,this.platformIsServer=(0,e.Vy)(mi),this.defaultRenderer=new O(xt,Ni,vi,this.platformIsServer)}createRenderer(xt,wt){if(!xt||!wt)return this.defaultRenderer;this.platformIsServer&&wt.encapsulation===M.gXe.ShadowDom&&(wt={...wt,encapsulation:M.gXe.Emulated});const Qt=this.getOrCreateRenderer(xt,wt);return Qt instanceof n?Qt.applyToHost(xt):Qt instanceof o&&Qt.applyStyles(),Qt}getOrCreateRenderer(xt,wt){const Qt=this.rendererByCompId;let di=Qt.get(wt.id);if(!di){const Ni=this.doc,mi=this.ngZone,vi=this.eventManager,zi=this.sharedStylesHost,gs=this.removeStylesOnCompDestroy,Fn=this.platformIsServer;switch(wt.encapsulation){case M.gXe.Emulated:di=new n(vi,zi,wt,this.appId,gs,Ni,mi,Fn);break;case M.gXe.ShadowDom:return new v(vi,zi,xt,wt,Ni,mi,this.nonce,Fn);default:di=new o(vi,zi,wt,gs,Ni,mi,Fn)}Qt.set(wt.id,di)}return di}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(ue),M.KVO(X),M.KVO(M.sZ2),M.KVO(I),M.KVO(e.qQ),M.KVO(M.Agw),M.KVO(M.SKi),M.KVO(M.BIS))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();class O{constructor(It,xt,wt,Qt){this.eventManager=It,this.doc=xt,this.ngZone=wt,this.platformIsServer=Qt,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(It,xt){return xt?this.doc.createElementNS(E[xt]||xt,It):this.doc.createElement(It)}createComment(It){return this.doc.createComment(It)}createText(It){return this.doc.createTextNode(It)}appendChild(It,xt){(g(It)?It.content:It).appendChild(xt)}insertBefore(It,xt,wt){It&&(g(It)?It.content:It).insertBefore(xt,wt)}removeChild(It,xt){It&&It.removeChild(xt)}selectRootElement(It,xt){let wt="string"==typeof It?this.doc.querySelector(It):It;if(!wt)throw new M.wOt(-5104,!1);return xt||(wt.textContent=""),wt}parentNode(It){return It.parentNode}nextSibling(It){return It.nextSibling}setAttribute(It,xt,wt,Qt){if(Qt){xt=Qt+":"+xt;const di=E[Qt];di?It.setAttributeNS(di,xt,wt):It.setAttribute(xt,wt)}else It.setAttribute(xt,wt)}removeAttribute(It,xt,wt){if(wt){const Qt=E[wt];Qt?It.removeAttributeNS(Qt,xt):It.removeAttribute(`${wt}:${xt}`)}else It.removeAttribute(xt)}addClass(It,xt){It.classList.add(xt)}removeClass(It,xt){It.classList.remove(xt)}setStyle(It,xt,wt,Qt){Qt&(M.czy.DashCase|M.czy.Important)?It.style.setProperty(xt,wt,Qt&M.czy.Important?"important":""):It.style[xt]=wt}removeStyle(It,xt,wt){wt&M.czy.DashCase?It.style.removeProperty(xt):It.style[xt]=""}setProperty(It,xt,wt){null!=It&&(It[xt]=wt)}setValue(It,xt){It.nodeValue=xt}listen(It,xt,wt){if("string"==typeof It&&!(It=(0,e.QT)().getGlobalEventTarget(this.doc,It)))throw new Error(`Unsupported event target ${It} for event ${xt}`);return this.eventManager.addEventListener(It,xt,this.decoratePreventDefault(wt))}decoratePreventDefault(It){return xt=>{if("__ngUnwrap__"===xt)return It;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>It(xt)):It(xt))&&xt.preventDefault()}}}function g(Dt){return"TEMPLATE"===Dt.tagName&&void 0!==Dt.content}class v extends O{constructor(It,xt,wt,Qt,di,Ni,mi,vi){super(It,di,Ni,vi),this.sharedStylesHost=xt,this.hostEl=wt,this.shadowRoot=wt.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const zi=w(Qt.id,Qt.styles);for(const gs of zi){const Fn=document.createElement("style");mi&&Fn.setAttribute("nonce",mi),Fn.textContent=gs,this.shadowRoot.appendChild(Fn)}}nodeOrShadowRoot(It){return It===this.hostEl?this.shadowRoot:It}appendChild(It,xt){return super.appendChild(this.nodeOrShadowRoot(It),xt)}insertBefore(It,xt,wt){return super.insertBefore(this.nodeOrShadowRoot(It),xt,wt)}removeChild(It,xt){return super.removeChild(this.nodeOrShadowRoot(It),xt)}parentNode(It){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(It)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class o extends O{constructor(It,xt,wt,Qt,di,Ni,mi,vi){super(It,di,Ni,mi),this.sharedStylesHost=xt,this.removeStylesOnCompDestroy=Qt,this.styles=vi?w(vi,wt.styles):wt.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class n extends o{constructor(It,xt,wt,Qt,di,Ni,mi,vi){const zi=Qt+"-"+wt.id;super(It,xt,wt,di,Ni,mi,vi,zi),this.contentAttr=function _(Dt){return D.replace(j,Dt)}(zi),this.hostAttr=function m(Dt){return P.replace(j,Dt)}(zi)}applyToHost(It){this.applyStyles(),this.setAttribute(It,this.hostAttr,"")}createElement(It,xt){const wt=super.createElement(It,xt);return super.setAttribute(wt,this.contentAttr,""),wt}}let r=(()=>{class Dt extends J{constructor(xt){super(xt)}supports(xt){return!0}addEventListener(xt,wt,Qt){return xt.addEventListener(wt,Qt,!1),()=>this.removeEventListener(xt,wt,Qt)}removeEventListener(xt,wt,Qt){return xt.removeEventListener(wt,Qt)}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const l=["alt","control","meta","shift"],d={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},C={alt:Dt=>Dt.altKey,control:Dt=>Dt.ctrlKey,meta:Dt=>Dt.metaKey,shift:Dt=>Dt.shiftKey};let k=(()=>{class Dt extends J{constructor(xt){super(xt)}supports(xt){return null!=Dt.parseEventName(xt)}addEventListener(xt,wt,Qt){const di=Dt.parseEventName(wt),Ni=Dt.eventCallback(di.fullKey,Qt,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,e.QT)().onAndCancel(xt,di.domEventName,Ni))}static parseEventName(xt){const wt=xt.toLowerCase().split("."),Qt=wt.shift();if(0===wt.length||"keydown"!==Qt&&"keyup"!==Qt)return null;const di=Dt._normalizeKey(wt.pop());let Ni="",mi=wt.indexOf("code");if(mi>-1&&(wt.splice(mi,1),Ni="code."),l.forEach(zi=>{const gs=wt.indexOf(zi);gs>-1&&(wt.splice(gs,1),Ni+=zi+".")}),Ni+=di,0!=wt.length||0===di.length)return null;const vi={};return vi.domEventName=Qt,vi.fullKey=Ni,vi}static matchEventFullKeyCode(xt,wt){let Qt=d[xt.key]||xt.key,di="";return wt.indexOf("code.")>-1&&(Qt=xt.code,di="code."),!(null==Qt||!Qt)&&(Qt=Qt.toLowerCase()," "===Qt?Qt="space":"."===Qt&&(Qt="dot"),l.forEach(Ni=>{Ni!==Qt&&(0,C[Ni])(xt)&&(di+=Ni+".")}),di+=Qt,di===wt)}static eventCallback(xt,wt,Qt){return di=>{Dt.matchEventFullKeyCode(di,xt)&&Qt.runGuarded(()=>wt(di))}}static _normalizeKey(xt){return"esc"===xt?"escape":xt}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac})}return Dt})();const $=(0,M.oH4)(M.fpN,"browser",[{provide:M.Agw,useValue:e.AJ},{provide:M.PLl,useValue:function K(){Le.makeCurrent()},multi:!0},{provide:e.qQ,useFactory:function se(){return(0,M.TL$)(document),document},deps:[]}]),H=new M.nKC(""),x=[{provide:M.e01,useClass:class ve{addToWindow(It){M.JZv.getAngularTestability=(wt,Qt=!0)=>{const di=It.findTestabilityInTree(wt,Qt);if(null==di)throw new M.wOt(5103,!1);return di},M.JZv.getAllAngularTestabilities=()=>It.getAllTestabilities(),M.JZv.getAllAngularRootElements=()=>It.getAllRootElements(),M.JZv.frameworkStabilizers||(M.JZv.frameworkStabilizers=[]),M.JZv.frameworkStabilizers.push(wt=>{const Qt=M.JZv.getAllAngularTestabilities();let di=Qt.length;const Ni=function(){di--,0==di&&wt()};Qt.forEach(mi=>{mi.whenStable(Ni)})})}findTestabilityInTree(It,xt,wt){return null==xt?null:It.getTestability(xt)??(wt?(0,e.QT)().isShadowRoot(xt)?this.findTestabilityInTree(It,xt.host,!0):this.findTestabilityInTree(It,xt.parentElement,!0):null)}},deps:[]},{provide:M.WHO,useClass:M.NYb,deps:[M.SKi,M.giA,M.e01]},{provide:M.NYb,useClass:M.NYb,deps:[M.SKi,M.giA,M.e01]}],N=[{provide:M.H8p,useValue:"root"},{provide:M.zcH,useFactory:function U(){return new M.zcH},deps:[]},{provide:pe,useClass:r,multi:!0,deps:[e.qQ,M.SKi,M.Agw]},{provide:pe,useClass:k,multi:!0,deps:[e.qQ]},G,X,ue,{provide:M._9s,useExisting:G},{provide:e.N0,useClass:le,deps:[]},[]];let R=(()=>{class Dt{constructor(xt){}static withServerTransition(xt){return{ngModule:Dt,providers:[{provide:M.sZ2,useValue:xt.appId}]}}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(H,12))};static#t=this.\u0275mod=M.$C({type:Dt});static#i=this.\u0275inj=M.G2t({providers:[...N,...x],imports:[e.MD,M.Hbi]})}return Dt})(),he=(()=>{class Dt{constructor(xt){this._doc=xt}getTitle(){return this._doc.title}setTitle(xt){this._doc.title=xt||""}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac,providedIn:"root"})}return Dt})(),Xe=(()=>{class Dt{static#e=this.\u0275fac=function(wt){return new(wt||Dt)};static#t=this.\u0275prov=M.jDH({token:Dt,factory:function(wt){let Qt=null;return Qt=wt?new(wt||Dt):M.KVO(Je),Qt},providedIn:"root"})}return Dt})(),Je=(()=>{class Dt extends Xe{constructor(xt){super(),this._doc=xt}sanitize(xt,wt){if(null==wt)return null;switch(xt){case M.WPN.NONE:return wt;case M.WPN.HTML:return(0,M.ZF7)(wt,"HTML")?(0,M.rcV)(wt):(0,M.h9k)(this._doc,String(wt)).toString();case M.WPN.STYLE:return(0,M.ZF7)(wt,"Style")?(0,M.rcV)(wt):wt;case M.WPN.SCRIPT:if((0,M.ZF7)(wt,"Script"))return(0,M.rcV)(wt);throw new M.wOt(5200,!1);case M.WPN.URL:return(0,M.ZF7)(wt,"URL")?(0,M.rcV)(wt):(0,M.$MX)(String(wt));case M.WPN.RESOURCE_URL:if((0,M.ZF7)(wt,"ResourceURL"))return(0,M.rcV)(wt);throw new M.wOt(5201,!1);default:throw new M.wOt(5202,!1)}}bypassSecurityTrustHtml(xt){return(0,M.Kcf)(xt)}bypassSecurityTrustStyle(xt){return(0,M.cWb)(xt)}bypassSecurityTrustScript(xt){return(0,M.UyX)(xt)}bypassSecurityTrustUrl(xt){return(0,M.osQ)(xt)}bypassSecurityTrustResourceUrl(xt){return(0,M.e5t)(xt)}static#e=this.\u0275fac=function(wt){return new(wt||Dt)(M.KVO(e.qQ))};static#t=this.\u0275prov=M.jDH({token:Dt,factory:Dt.\u0275fac,providedIn:"root"})}return Dt})()},99062:(ri,Bt,We)=>{"use strict";We.d(Bt,{nX:()=>$i,wF:()=>bs,Kp:()=>Is,b:()=>zs,Ix:()=>jn,Wk:()=>Qi,wQ:()=>No,iI:()=>Ah,n3:()=>ga});var M=We(54438),e=We(74402),V=We(86648),Le=We(7673),q=We(84412),ne=We(71985),re=We(93073),ve=We(33669),le=We(6450),pe=We(9326),ue=We(58496),J=We(54360),te=We(45225);function X(...Re){const He=(0,pe.lI)(Re),Fe=(0,pe.ms)(Re),{args:Ue,keys:rt}=(0,re.D)(Re);if(0===Ue.length)return(0,V.H)([],He);const gt=new ne.c(function E(Re,He,Fe=ve.D){return Ue=>{j(He,()=>{const{length:rt}=Re,gt=new Array(rt);let Ot=rt,qt=rt;for(let Xt=0;Xt{const Ei=(0,V.H)(Re[Xt],He);let on=!1;Ei.subscribe((0,J._)(Ue,bn=>{gt[Xt]=bn,on||(on=!0,qt--),qt||Ue.next(Fe(gt.slice()))},()=>{--Ot||Ue.complete()}))},Ue)},Ue)}}(Ue,He,rt?Ot=>(0,ue.e)(rt,Ot):ve.D));return Fe?gt.pipe((0,le.I)(Fe)):gt}function j(Re,He,Fe){Re?(0,te.N)(Fe,Re,He):He()}const P=(0,We(81853).L)(Re=>function(){Re(this),this.name="EmptyError",this.message="no elements in sequence"});var D=We(28793),A=We(59030),I=We(71203),_=We(18810),m=We(983),w=We(18359),G=We(39974);function O(){return(0,G.N)((Re,He)=>{let Fe=null;Re._refCount++;const Ue=(0,J._)(He,void 0,void 0,void 0,()=>{if(!Re||Re._refCount<=0||0<--Re._refCount)return void(Fe=null);const rt=Re._connection,gt=Fe;Fe=null,rt&&(!gt||rt===gt)&&rt.unsubscribe(),He.unsubscribe()});Re.subscribe(Ue),Ue.closed||(Fe=Re.connect())})}class f extends ne.c{constructor(He,Fe){super(),this.source=He,this.subjectFactory=Fe,this._subject=null,this._refCount=0,this._connection=null,(0,G.S)(He)&&(this.lift=He.lift)}_subscribe(He){return this.getSubject().subscribe(He)}getSubject(){const He=this._subject;return(!He||He.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:He}=this;this._subject=this._connection=null,He?.unsubscribe()}connect(){let He=this._connection;if(!He){He=this._connection=new w.yU;const Fe=this.getSubject();He.add(this.source.subscribe((0,J._)(Fe,void 0,()=>{this._teardown(),Fe.complete()},Ue=>{this._teardown(),Fe.error(Ue)},()=>this._teardown()))),He.closed&&(this._connection=null,He=w.yU.EMPTY)}return He}refCount(){return O()(this)}}var a=We(21413),g=We(60177),v=We(96354),o=We(25558),n=We(96697),r=We(99172),l=We(5964),d=We(73028);function C(Re){return(0,G.N)((He,Fe)=>{let Ue=!1;He.subscribe((0,J._)(Fe,rt=>{Ue=!0,Fe.next(rt)},()=>{Ue||Fe.next(Re),Fe.complete()}))})}function k(Re=p){return(0,G.N)((He,Fe)=>{let Ue=!1;He.subscribe((0,J._)(Fe,rt=>{Ue=!0,Fe.next(rt)},()=>Ue?Fe.complete():Fe.error(Re())))})}function p(){return new P}function T(Re,He){const Fe=arguments.length>=2;return Ue=>Ue.pipe(Re?(0,l.p)((rt,gt)=>Re(rt,gt,Ue)):ve.D,(0,n.s)(1),Fe?C(He):k(()=>new P))}var B=We(70274),z=We(88141),K=We(99437);function S(Re){return Re<=0?()=>m.w:(0,G.N)((He,Fe)=>{let Ue=[];He.subscribe((0,J._)(Fe,rt=>{Ue.push(rt),Re{for(const rt of Ue)Fe.next(rt);Fe.complete()},void 0,()=>{Ue=null}))})}var H=We(73703),x=We(70980),N=We(56977),R=We(26365),Z=We(345);const Y="primary",he=Symbol("RouteTitle");class ge{constructor(He){this.params=He||{}}has(He){return Object.prototype.hasOwnProperty.call(this.params,He)}get(He){if(this.has(He)){const Fe=this.params[He];return Array.isArray(Fe)?Fe[0]:Fe}return null}getAll(He){if(this.has(He)){const Fe=this.params[He];return Array.isArray(Fe)?Fe:[Fe]}return[]}get keys(){return Object.keys(this.params)}}function _e(Re){return new ge(Re)}function Te(Re,He,Fe){const Ue=Fe.path.split("/");if(Ue.length>Re.length||"full"===Fe.pathMatch&&(He.hasChildren()||Ue.lengthUe[gt]===rt)}return Re===He}function ee(Re){return Re.length>0?Re[Re.length-1]:null}function be(Re){return(0,e.A)(Re)?Re:(0,M.jNT)(Re)?(0,V.H)(Promise.resolve(Re)):(0,Le.of)(Re)}const xe={exact:function Me(Re,He,Fe){if(!Pt(Re.segments,He.segments)||!qe(Re.segments,He.segments,Fe)||Re.numberOfChildren!==He.numberOfChildren)return!1;for(const Ue in He.children)if(!Re.children[Ue]||!Me(Re.children[Ue],He.children[Ue],Fe))return!1;return!0},subset:Je},Ie={exact:function Ee(Re,He){return De(Re,He)},subset:function Xe(Re,He){return Object.keys(He).length<=Object.keys(Re).length&&Object.keys(He).every(Fe=>oe(Re[Fe],He[Fe]))},ignored:()=>!0};function we(Re,He,Fe){return xe[Fe.paths](Re.root,He.root,Fe.matrixParams)&&Ie[Fe.queryParams](Re.queryParams,He.queryParams)&&!("exact"===Fe.fragment&&Re.fragment!==He.fragment)}function Je(Re,He,Fe){return lt(Re,He,He.segments,Fe)}function lt(Re,He,Fe,Ue){if(Re.segments.length>Fe.length){const rt=Re.segments.slice(0,Fe.length);return!(!Pt(rt,Fe)||He.hasChildren()||!qe(rt,Fe,Ue))}if(Re.segments.length===Fe.length){if(!Pt(Re.segments,Fe)||!qe(Re.segments,Fe,Ue))return!1;for(const rt in He.children)if(!Re.children[rt]||!Je(Re.children[rt],He.children[rt],Ue))return!1;return!0}{const rt=Fe.slice(0,Re.segments.length),gt=Fe.slice(Re.segments.length);return!!(Pt(Re.segments,rt)&&qe(Re.segments,rt,Ue)&&Re.children[Y])&<(Re.children[Y],He,gt,Ue)}}function qe(Re,He,Fe){return He.every((Ue,rt)=>Ie[Fe](Re[rt].parameters,Ue.parameters))}class st{constructor(He=new Tt([],{}),Fe={},Ue=null){this.root=He,this.queryParams=Fe,this.fragment=Ue}get queryParamMap(){return this._queryParamMap??=_e(this.queryParams),this._queryParamMap}toString(){return It.serialize(this)}}class Tt{constructor(He,Fe){this.segments=He,this.children=Fe,this.parent=null,Object.values(Fe).forEach(Ue=>Ue.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return xt(this)}}class pt{constructor(He,Fe){this.path=He,this.parameters=Fe}get parameterMap(){return this._parameterMap??=_e(this.parameters),this._parameterMap}toString(){return gs(this)}}function Pt(Re,He){return Re.length===He.length&&Re.every((Fe,Ue)=>Fe.path===He[Ue].path)}let ti=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>new Dt,providedIn:"root"})}return Re})();class Dt{parse(He){const Fe=new qn(He);return new st(Fe.parseRootSegment(),Fe.parseQueryParams(),Fe.parseFragment())}serialize(He){const Fe=`/${wt(He.root,!0)}`,Ue=function as(Re){const He=Object.entries(Re).map(([Fe,Ue])=>Array.isArray(Ue)?Ue.map(rt=>`${di(Fe)}=${di(rt)}`).join("&"):`${di(Fe)}=${di(Ue)}`).filter(Fe=>Fe);return He.length?`?${He.join("&")}`:""}(He.queryParams);return`${Fe}${Ue}${"string"==typeof He.fragment?`#${function Ni(Re){return encodeURI(Re)}(He.fragment)}`:""}`}}const It=new Dt;function xt(Re){return Re.segments.map(He=>gs(He)).join("/")}function wt(Re,He){if(!Re.hasChildren())return xt(Re);if(He){const Fe=Re.children[Y]?wt(Re.children[Y],!1):"",Ue=[];return Object.entries(Re.children).forEach(([rt,gt])=>{rt!==Y&&Ue.push(`${rt}:${wt(gt,!1)}`)}),Ue.length>0?`${Fe}(${Ue.join("//")})`:Fe}{const Fe=function Gt(Re,He){let Fe=[];return Object.entries(Re.children).forEach(([Ue,rt])=>{Ue===Y&&(Fe=Fe.concat(He(rt,Ue)))}),Object.entries(Re.children).forEach(([Ue,rt])=>{Ue!==Y&&(Fe=Fe.concat(He(rt,Ue)))}),Fe}(Re,(Ue,rt)=>rt===Y?[wt(Re.children[Y],!1)]:[`${rt}:${wt(Ue,!1)}`]);return 1===Object.keys(Re.children).length&&null!=Re.children[Y]?`${xt(Re)}/${Fe[0]}`:`${xt(Re)}/(${Fe.join("//")})`}}function Qt(Re){return encodeURIComponent(Re).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function di(Re){return Qt(Re).replace(/%3B/gi,";")}function mi(Re){return Qt(Re).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function vi(Re){return decodeURIComponent(Re)}function zi(Re){return vi(Re.replace(/\+/g,"%20"))}function gs(Re){return`${mi(Re.path)}${function Fn(Re){return Object.entries(Re).map(([He,Fe])=>`;${mi(He)}=${mi(Fe)}`).join("")}(Re.parameters)}`}const ms=/^[^\/()?;#]+/;function Ln(Re){const He=Re.match(ms);return He?He[0]:""}const fn=/^[^\/()?;=#]+/,Cs=/^[^=?&#]+/,In=/^[^&#]+/;class qn{constructor(He){this.url=He,this.remaining=He}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Tt([],{}):new Tt([],this.parseChildren())}parseQueryParams(){const He={};if(this.consumeOptional("?"))do{this.parseQueryParam(He)}while(this.consumeOptional("&"));return He}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const He=[];for(this.peekStartsWith("(")||He.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),He.push(this.parseSegment());let Fe={};this.peekStartsWith("/(")&&(this.capture("/"),Fe=this.parseParens(!0));let Ue={};return this.peekStartsWith("(")&&(Ue=this.parseParens(!1)),(He.length>0||Object.keys(Fe).length>0)&&(Ue[Y]=new Tt(He,Fe)),Ue}parseSegment(){const He=Ln(this.remaining);if(""===He&&this.peekStartsWith(";"))throw new M.wOt(4009,!1);return this.capture(He),new pt(vi(He),this.parseMatrixParams())}parseMatrixParams(){const He={};for(;this.consumeOptional(";");)this.parseParam(He);return He}parseParam(He){const Fe=function ki(Re){const He=Re.match(fn);return He?He[0]:""}(this.remaining);if(!Fe)return;this.capture(Fe);let Ue="";if(this.consumeOptional("=")){const rt=Ln(this.remaining);rt&&(Ue=rt,this.capture(Ue))}He[vi(Fe)]=vi(Ue)}parseQueryParam(He){const Fe=function Kn(Re){const He=Re.match(Cs);return He?He[0]:""}(this.remaining);if(!Fe)return;this.capture(Fe);let Ue="";if(this.consumeOptional("=")){const Ot=function Bs(Re){const He=Re.match(In);return He?He[0]:""}(this.remaining);Ot&&(Ue=Ot,this.capture(Ue))}const rt=zi(Fe),gt=zi(Ue);if(He.hasOwnProperty(rt)){let Ot=He[rt];Array.isArray(Ot)||(Ot=[Ot],He[rt]=Ot),Ot.push(gt)}else He[rt]=gt}parseParens(He){const Fe={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const Ue=Ln(this.remaining),rt=this.remaining[Ue.length];if("/"!==rt&&")"!==rt&&";"!==rt)throw new M.wOt(4010,!1);let gt;Ue.indexOf(":")>-1?(gt=Ue.slice(0,Ue.indexOf(":")),this.capture(gt),this.capture(":")):He&&(gt=Y);const Ot=this.parseChildren();Fe[gt]=1===Object.keys(Ot).length?Ot[Y]:new Tt([],Ot),this.consumeOptional("//")}return Fe}peekStartsWith(He){return this.remaining.startsWith(He)}consumeOptional(He){return!!this.peekStartsWith(He)&&(this.remaining=this.remaining.substring(He.length),!0)}capture(He){if(!this.consumeOptional(He))throw new M.wOt(4011,!1)}}function Wi(Re){return Re.segments.length>0?new Tt([],{[Y]:Re}):Re}function js(Re){const He={};for(const[Ue,rt]of Object.entries(Re.children)){const gt=js(rt);if(Ue===Y&&0===gt.segments.length&>.hasChildren())for(const[Ot,qt]of Object.entries(gt.children))He[Ot]=qt;else(gt.segments.length>0||gt.hasChildren())&&(He[Ue]=gt)}return function On(Re){if(1===Re.numberOfChildren&&Re.children[Y]){const He=Re.children[Y];return new Tt(Re.segments.concat(He.segments),He.children)}return Re}(new Tt(Re.segments,He))}function ar(Re){return Re instanceof st}function Wr(Re){let He;const rt=Wi(function Fe(gt){const Ot={};for(const Xt of gt.children){const Ei=Fe(Xt);Ot[Xt.outlet]=Ei}const qt=new Tt(gt.url,Ot);return gt===Re&&(He=qt),qt}(Re.root));return He??rt}function Cr(Re,He,Fe,Ue){let rt=Re;for(;rt.parent;)rt=rt.parent;if(0===He.length)return Nt(rt,rt,rt,Fe,Ue);const gt=function $e(Re){if("string"==typeof Re[0]&&1===Re.length&&"/"===Re[0])return new _t(!0,0,Re);let He=0,Fe=!1;const Ue=Re.reduce((rt,gt,Ot)=>{if("object"==typeof gt&&null!=gt){if(gt.outlets){const qt={};return Object.entries(gt.outlets).forEach(([Xt,Ei])=>{qt[Xt]="string"==typeof Ei?Ei.split("/"):Ei}),[...rt,{outlets:qt}]}if(gt.segmentPath)return[...rt,gt.segmentPath]}return"string"!=typeof gt?[...rt,gt]:0===Ot?(gt.split("/").forEach((qt,Xt)=>{0==Xt&&"."===qt||(0==Xt&&""===qt?Fe=!0:".."===qt?He++:""!=qt&&rt.push(qt))}),rt):[...rt,gt]},[]);return new _t(Fe,He,Ue)}(He);if(gt.toRoot())return Nt(rt,rt,new Tt([],{}),Fe,Ue);const Ot=function At(Re,He,Fe){if(Re.isAbsolute)return new yt(He,!0,0);if(!Fe)return new yt(He,!1,NaN);if(null===Fe.parent)return new yt(Fe,!0,0);const Ue=St(Re.commands[0])?0:1;return function $t(Re,He,Fe){let Ue=Re,rt=He,gt=Fe;for(;gt>rt;){if(gt-=rt,Ue=Ue.parent,!Ue)throw new M.wOt(4005,!1);rt=Ue.segments.length}return new yt(Ue,!1,rt-gt)}(Fe,Fe.segments.length-1+Ue,Re.numberOfDoubleDots)}(gt,rt,Re),qt=Ot.processChildren?qi(Ot.segmentGroup,Ot.index,gt.commands):Di(Ot.segmentGroup,Ot.index,gt.commands);return Nt(rt,Ot.segmentGroup,qt,Fe,Ue)}function St(Re){return"object"==typeof Re&&null!=Re&&!Re.outlets&&!Re.segmentPath}function Rt(Re){return"object"==typeof Re&&null!=Re&&Re.outlets}function Nt(Re,He,Fe,Ue,rt){let Ot,gt={};Ue&&Object.entries(Ue).forEach(([Xt,Ei])=>{gt[Xt]=Array.isArray(Ei)?Ei.map(on=>`${on}`):`${Ei}`}),Ot=Re===He?Fe:mt(Re,He,Fe);const qt=Wi(js(Ot));return new st(qt,gt,rt)}function mt(Re,He,Fe){const Ue={};return Object.entries(Re.children).forEach(([rt,gt])=>{Ue[rt]=gt===He?Fe:mt(gt,He,Fe)}),new Tt(Re.segments,Ue)}class _t{constructor(He,Fe,Ue){if(this.isAbsolute=He,this.numberOfDoubleDots=Fe,this.commands=Ue,He&&Ue.length>0&&St(Ue[0]))throw new M.wOt(4003,!1);const rt=Ue.find(Rt);if(rt&&rt!==ee(Ue))throw new M.wOt(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class yt{constructor(He,Fe,Ue){this.segmentGroup=He,this.processChildren=Fe,this.index=Ue}}function Di(Re,He,Fe){if(Re??=new Tt([],{}),0===Re.segments.length&&Re.hasChildren())return qi(Re,He,Fe);const Ue=function Ki(Re,He,Fe){let Ue=0,rt=He;const gt={match:!1,pathIndex:0,commandIndex:0};for(;rt=Fe.length)return gt;const Ot=Re.segments[rt],qt=Fe[Ue];if(Rt(qt))break;const Xt=`${qt}`,Ei=Ue0&&void 0===Xt)break;if(Xt&&Ei&&"object"==typeof Ei&&void 0===Ei.outlets){if(!gn(Xt,Ei,Ot))return gt;Ue+=2}else{if(!gn(Xt,{},Ot))return gt;Ue++}rt++}return{match:!0,pathIndex:rt,commandIndex:Ue}}(Re,He,Fe),rt=Fe.slice(Ue.commandIndex);if(Ue.match&&Ue.pathIndexgt!==Y)&&Re.children[Y]&&1===Re.numberOfChildren&&0===Re.children[Y].segments.length){const gt=qi(Re.children[Y],He,Fe);return new Tt(Re.segments,gt.children)}return Object.entries(Ue).forEach(([gt,Ot])=>{"string"==typeof Ot&&(Ot=[Ot]),null!==Ot&&(rt[gt]=Di(Re.children[gt],He,Ot))}),Object.entries(Re.children).forEach(([gt,Ot])=>{void 0===Ue[gt]&&(rt[gt]=Ot)}),new Tt(Re.segments,rt)}}function ls(Re,He,Fe){const Ue=Re.segments.slice(0,He);let rt=0;for(;rt{"string"==typeof Ue&&(Ue=[Ue]),null!==Ue&&(He[Fe]=ls(new Tt([],{}),0,Ue))}),He}function tn(Re){const He={};return Object.entries(Re).forEach(([Fe,Ue])=>He[Fe]=`${Ue}`),He}function gn(Re,He,Fe){return Re==Fe.path&&De(He,Fe.parameters)}const cs="imperative";var sn=function(Re){return Re[Re.NavigationStart=0]="NavigationStart",Re[Re.NavigationEnd=1]="NavigationEnd",Re[Re.NavigationCancel=2]="NavigationCancel",Re[Re.NavigationError=3]="NavigationError",Re[Re.RoutesRecognized=4]="RoutesRecognized",Re[Re.ResolveStart=5]="ResolveStart",Re[Re.ResolveEnd=6]="ResolveEnd",Re[Re.GuardsCheckStart=7]="GuardsCheckStart",Re[Re.GuardsCheckEnd=8]="GuardsCheckEnd",Re[Re.RouteConfigLoadStart=9]="RouteConfigLoadStart",Re[Re.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",Re[Re.ChildActivationStart=11]="ChildActivationStart",Re[Re.ChildActivationEnd=12]="ChildActivationEnd",Re[Re.ActivationStart=13]="ActivationStart",Re[Re.ActivationEnd=14]="ActivationEnd",Re[Re.Scroll=15]="Scroll",Re[Re.NavigationSkipped=16]="NavigationSkipped",Re}(sn||{});class Bn{constructor(He,Fe){this.id=He,this.url=Fe}}class Er extends Bn{constructor(He,Fe,Ue="imperative",rt=null){super(He,Fe),this.type=sn.NavigationStart,this.navigationTrigger=Ue,this.restoredState=rt}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class bs extends Bn{constructor(He,Fe,Ue){super(He,Fe),this.urlAfterRedirects=Ue,this.type=sn.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}var Un=function(Re){return Re[Re.Redirect=0]="Redirect",Re[Re.SupersededByNewNavigation=1]="SupersededByNewNavigation",Re[Re.NoDataFromResolver=2]="NoDataFromResolver",Re[Re.GuardRejected=3]="GuardRejected",Re}(Un||{}),pr=function(Re){return Re[Re.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",Re[Re.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",Re}(pr||{});class Ui extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.reason=Ue,this.code=rt,this.type=sn.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class ln extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.reason=Ue,this.code=rt,this.type=sn.NavigationSkipped}}class Na extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.error=Ue,this.target=rt,this.type=sn.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class lr extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.type=sn.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Fa extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.type=sn.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Ba extends Bn{constructor(He,Fe,Ue,rt,gt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.shouldActivate=gt,this.type=sn.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class ja extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.type=sn.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class go extends Bn{constructor(He,Fe,Ue,rt){super(He,Fe),this.urlAfterRedirects=Ue,this.state=rt,this.type=sn.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class wn{constructor(He){this.route=He,this.type=sn.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class Va{constructor(He){this.route=He,this.type=sn.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class za{constructor(He){this.snapshot=He,this.type=sn.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class $s{constructor(He){this.snapshot=He,this.type=sn.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ha{constructor(He){this.snapshot=He,this.type=sn.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Rl{constructor(He){this.snapshot=He,this.type=sn.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Nl{constructor(He,Fe,Ue){this.routerEvent=He,this.position=Fe,this.anchor=Ue,this.type=sn.Scroll}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class wr{}class Jr{constructor(He){this.url=He}}class Fl{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new mo,this.attachRef=null}}let mo=(()=>{class Re{constructor(){this.contexts=new Map}onChildOutletCreated(Fe,Ue){const rt=this.getOrCreateContext(Fe);rt.outlet=Ue,this.contexts.set(Fe,rt)}onChildOutletDestroyed(Fe){const Ue=this.getContext(Fe);Ue&&(Ue.outlet=null,Ue.attachRef=null)}onOutletDeactivated(){const Fe=this.contexts;return this.contexts=new Map,Fe}onOutletReAttached(Fe){this.contexts=Fe}getOrCreateContext(Fe){let Ue=this.getContext(Fe);return Ue||(Ue=new Fl,this.contexts.set(Fe,Ue)),Ue}getContext(Fe){return this.contexts.get(Fe)||null}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();class da{constructor(He){this._root=He}get root(){return this._root.value}parent(He){const Fe=this.pathFromRoot(He);return Fe.length>1?Fe[Fe.length-2]:null}children(He){const Fe=Ga(He,this._root);return Fe?Fe.children.map(Ue=>Ue.value):[]}firstChild(He){const Fe=Ga(He,this._root);return Fe&&Fe.children.length>0?Fe.children[0].value:null}siblings(He){const Fe=Tr(He,this._root);return Fe.length<2?[]:Fe[Fe.length-2].children.map(rt=>rt.value).filter(rt=>rt!==He)}pathFromRoot(He){return Tr(He,this._root).map(Fe=>Fe.value)}}function Ga(Re,He){if(Re===He.value)return He;for(const Fe of He.children){const Ue=Ga(Re,Fe);if(Ue)return Ue}return null}function Tr(Re,He){if(Re===He.value)return[He];for(const Fe of He.children){const Ue=Tr(Re,Fe);if(Ue.length)return Ue.unshift(He),Ue}return[]}class fr{constructor(He,Fe){this.value=He,this.children=Fe}toString(){return`TreeNode(${this.value})`}}function tr(Re){const He={};return Re&&Re.children.forEach(Fe=>He[Fe.value.outlet]=Fe),He}class Ha extends da{constructor(He,Fe){super(He),this.snapshot=Fe,ko(this,He)}toString(){return this.snapshot.toString()}}function Es(Re){const He=function ir(Re){const gt=new So([],{},{},"",{},Y,Re,null,{});return new Yo("",new fr(gt,[]))}(Re),Fe=new q.t([new pt("",{})]),Ue=new q.t({}),rt=new q.t({}),gt=new q.t({}),Ot=new q.t(""),qt=new $i(Fe,Ue,gt,Ot,rt,Y,Re,He.root);return qt.snapshot=He.root,new Ha(new fr(qt,[]),He)}class $i{constructor(He,Fe,Ue,rt,gt,Ot,qt,Xt){this.urlSubject=He,this.paramsSubject=Fe,this.queryParamsSubject=Ue,this.fragmentSubject=rt,this.dataSubject=gt,this.outlet=Ot,this.component=qt,this._futureSnapshot=Xt,this.title=this.dataSubject?.pipe((0,v.T)(Ei=>Ei[he]))??(0,Le.of)(void 0),this.url=He,this.params=Fe,this.queryParams=Ue,this.fragment=rt,this.data=gt}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe((0,v.T)(He=>_e(He))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe((0,v.T)(He=>_e(He))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function Ar(Re,He,Fe="emptyOnly"){let Ue;const{routeConfig:rt}=Re;return Ue=null===He||"always"!==Fe&&""!==rt?.path&&(He.component||He.routeConfig?.loadComponent)?{params:{...Re.params},data:{...Re.data},resolve:{...Re.data,...Re._resolvedData??{}}}:{params:{...He.params,...Re.params},data:{...He.data,...Re.data},resolve:{...Re.data,...He.data,...rt?.data,...Re._resolvedData}},rt&&Qs(rt)&&(Ue.resolve[he]=rt.title),Ue}class So{get title(){return this.data?.[he]}constructor(He,Fe,Ue,rt,gt,Ot,qt,Xt,Ei){this.url=He,this.params=Fe,this.queryParams=Ue,this.fragment=rt,this.data=gt,this.outlet=Ot,this.component=qt,this.routeConfig=Xt,this._resolve=Ei}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=_e(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=_e(this.queryParams),this._queryParamMap}toString(){return`Route(url:'${this.url.map(Ue=>Ue.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Yo extends da{constructor(He,Fe){super(Fe),this.url=He,ko(this,Fe)}toString(){return ua(this._root)}}function ko(Re,He){He.value._routerState=Re,He.children.forEach(Fe=>ko(Re,Fe))}function ua(Re){const He=Re.children.length>0?` { ${Re.children.map(ua).join(", ")} } `:"";return`${Re.value}${He}`}function pa(Re){if(Re.snapshot){const He=Re.snapshot,Fe=Re._futureSnapshot;Re.snapshot=Fe,De(He.queryParams,Fe.queryParams)||Re.queryParamsSubject.next(Fe.queryParams),He.fragment!==Fe.fragment&&Re.fragmentSubject.next(Fe.fragment),De(He.params,Fe.params)||Re.paramsSubject.next(Fe.params),function Oe(Re,He){if(Re.length!==He.length)return!1;for(let Fe=0;FeDe(Fe.parameters,He[Ue].parameters))}(Re.url,He.url);return Fe&&!(!Re.parent!=!He.parent)&&(!Re.parent||fa(Re.parent,He.parent))}function Qs(Re){return"string"==typeof Re.title||null===Re.title}let ga=(()=>{class Re{constructor(){this.activated=null,this._activatedRoute=null,this.name=Y,this.activateEvents=new M.bkB,this.deactivateEvents=new M.bkB,this.attachEvents=new M.bkB,this.detachEvents=new M.bkB,this.parentContexts=(0,M.WQX)(mo),this.location=(0,M.WQX)(M.c1b),this.changeDetector=(0,M.WQX)(M.gRc),this.environmentInjector=(0,M.WQX)(M.uvJ),this.inputBinder=(0,M.WQX)(ma,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(Fe){if(Fe.name){const{firstChange:Ue,previousValue:rt}=Fe.name;if(Ue)return;this.isTrackedInParentContexts(rt)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(rt)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(Fe){return this.parentContexts.getContext(Fe)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const Fe=this.parentContexts.getContext(this.name);Fe?.route&&(Fe.attachRef?this.attach(Fe.attachRef,Fe.route):this.activateWith(Fe.route,Fe.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new M.wOt(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new M.wOt(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new M.wOt(4012,!1);this.location.detach();const Fe=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(Fe.instance),Fe}attach(Fe,Ue){this.activated=Fe,this._activatedRoute=Ue,this.location.insert(Fe.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(Fe.instance)}deactivate(){if(this.activated){const Fe=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(Fe)}}activateWith(Fe,Ue){if(this.isActivated)throw new M.wOt(4013,!1);this._activatedRoute=Fe;const rt=this.location,Ot=Fe.snapshot.component,qt=this.parentContexts.getOrCreateContext(this.name).children,Xt=new eo(Fe,qt,rt.injector);this.activated=rt.createComponent(Ot,{index:rt.length,injector:Xt,environmentInjector:Ue??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275dir=M.FsC({type:Re,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[M.OA$]})}return Re})();class eo{constructor(He,Fe,Ue){this.route=He,this.childContexts=Fe,this.parent=Ue}get(He,Fe){return He===$i?this.route:He===mo?this.childContexts:this.parent.get(He,Fe)}}const ma=new M.nKC("");let Ir=(()=>{class Re{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(Fe){this.unsubscribeFromRouteData(Fe),this.subscribeToRouteData(Fe)}unsubscribeFromRouteData(Fe){this.outletDataSubscriptions.get(Fe)?.unsubscribe(),this.outletDataSubscriptions.delete(Fe)}subscribeToRouteData(Fe){const{activatedRoute:Ue}=Fe,rt=X([Ue.queryParams,Ue.params,Ue.data]).pipe((0,o.n)(([gt,Ot,qt],Xt)=>(qt={...gt,...Ot,...qt},0===Xt?(0,Le.of)(qt):Promise.resolve(qt)))).subscribe(gt=>{if(!Fe.isActivated||!Fe.activatedComponentRef||Fe.activatedRoute!==Ue||null===Ue.component)return void this.unsubscribeFromRouteData(Fe);const Ot=(0,M.HJs)(Ue.component);if(Ot)for(const{templateName:qt}of Ot.inputs)Fe.activatedComponentRef.setInput(qt,gt[qt]);else this.unsubscribeFromRouteData(Fe)});this.outletDataSubscriptions.set(Fe,rt)}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac})}return Re})();function es(Re,He,Fe){if(Fe&&Re.shouldReuseRoute(He.value,Fe.value.snapshot)){const Ue=Fe.value;Ue._futureSnapshot=He.value;const rt=function $r(Re,He,Fe){return He.children.map(Ue=>{for(const rt of Fe.children)if(Re.shouldReuseRoute(Ue.value,rt.value.snapshot))return es(Re,Ue,rt);return es(Re,Ue)})}(Re,He,Fe);return new fr(Ue,rt)}{if(Re.shouldAttach(He.value)){const gt=Re.retrieve(He.value);if(null!==gt){const Ot=gt.route;return Ot.value._futureSnapshot=He.value,Ot.children=He.children.map(qt=>es(Re,qt)),Ot}}const Ue=function Ko(Re){return new $i(new q.t(Re.url),new q.t(Re.params),new q.t(Re.queryParams),new q.t(Re.fragment),new q.t(Re.data),Re.outlet,Re.component,Re)}(He.value),rt=He.children.map(gt=>es(Re,gt));return new fr(Ue,rt)}}const Do="ngNavigationCancelingError";function Zo(Re,He){const{redirectTo:Fe,navigationBehaviorOptions:Ue}=ar(He)?{redirectTo:He,navigationBehaviorOptions:void 0}:He,rt=to(!1,Un.Redirect);return rt.url=Fe,rt.navigationBehaviorOptions=Ue,rt}function to(Re,He){const Fe=new Error(`NavigationCancelingError: ${Re||""}`);return Fe[Do]=!0,Fe.cancellationCode=He,Fe}function va(Re){return!!Re&&Re[Do]}let Mo=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275cmp=M.VBU({type:Re,selectors:[["ng-component"]],standalone:!0,features:[M.aNF],decls:1,vars:0,template:function(Ue,rt){1&Ue&&M.nrm(0,"router-outlet")},dependencies:[ga],encapsulation:2})}return Re})();function Io(Re){const He=Re.children&&Re.children.map(Io),Fe=He?{...Re,children:He}:{...Re};return!Fe.component&&!Fe.loadComponent&&(He||Fe.loadChildren)&&Fe.outlet&&Fe.outlet!==Y&&(Fe.component=Mo),Fe}function hr(Re){return Re.outlet||Y}function Or(Re){if(!Re)return null;if(Re.routeConfig?._injector)return Re.routeConfig._injector;for(let He=Re.parent;He;He=He.parent){const Fe=He.routeConfig;if(Fe?._loadedInjector)return Fe._loadedInjector;if(Fe?._injector)return Fe._injector}return null}class Ua{constructor(He,Fe,Ue,rt,gt){this.routeReuseStrategy=He,this.futureState=Fe,this.currState=Ue,this.forwardEvent=rt,this.inputBindingEnabled=gt}activate(He){const Fe=this.futureState._root,Ue=this.currState?this.currState._root:null;this.deactivateChildRoutes(Fe,Ue,He),pa(this.futureState.root),this.activateChildRoutes(Fe,Ue,He)}deactivateChildRoutes(He,Fe,Ue){const rt=tr(Fe);He.children.forEach(gt=>{const Ot=gt.value.outlet;this.deactivateRoutes(gt,rt[Ot],Ue),delete rt[Ot]}),Object.values(rt).forEach(gt=>{this.deactivateRouteAndItsChildren(gt,Ue)})}deactivateRoutes(He,Fe,Ue){const rt=He.value,gt=Fe?Fe.value:null;if(rt===gt)if(rt.component){const Ot=Ue.getContext(rt.outlet);Ot&&this.deactivateChildRoutes(He,Fe,Ot.children)}else this.deactivateChildRoutes(He,Fe,Ue);else gt&&this.deactivateRouteAndItsChildren(Fe,Ue)}deactivateRouteAndItsChildren(He,Fe){He.value.component&&this.routeReuseStrategy.shouldDetach(He.value.snapshot)?this.detachAndStoreRouteSubtree(He,Fe):this.deactivateRouteAndOutlet(He,Fe)}detachAndStoreRouteSubtree(He,Fe){const Ue=Fe.getContext(He.value.outlet),rt=Ue&&He.value.component?Ue.children:Fe,gt=tr(He);for(const Ot of Object.values(gt))this.deactivateRouteAndItsChildren(Ot,rt);if(Ue&&Ue.outlet){const Ot=Ue.outlet.detach(),qt=Ue.children.onOutletDeactivated();this.routeReuseStrategy.store(He.value.snapshot,{componentRef:Ot,route:He,contexts:qt})}}deactivateRouteAndOutlet(He,Fe){const Ue=Fe.getContext(He.value.outlet),rt=Ue&&He.value.component?Ue.children:Fe,gt=tr(He);for(const Ot of Object.values(gt))this.deactivateRouteAndItsChildren(Ot,rt);Ue&&(Ue.outlet&&(Ue.outlet.deactivate(),Ue.children.onOutletDeactivated()),Ue.attachRef=null,Ue.route=null)}activateChildRoutes(He,Fe,Ue){const rt=tr(Fe);He.children.forEach(gt=>{this.activateRoutes(gt,rt[gt.value.outlet],Ue),this.forwardEvent(new Rl(gt.value.snapshot))}),He.children.length&&this.forwardEvent(new $s(He.value.snapshot))}activateRoutes(He,Fe,Ue){const rt=He.value,gt=Fe?Fe.value:null;if(pa(rt),rt===gt)if(rt.component){const Ot=Ue.getOrCreateContext(rt.outlet);this.activateChildRoutes(He,Fe,Ot.children)}else this.activateChildRoutes(He,Fe,Ue);else if(rt.component){const Ot=Ue.getOrCreateContext(rt.outlet);if(this.routeReuseStrategy.shouldAttach(rt.snapshot)){const qt=this.routeReuseStrategy.retrieve(rt.snapshot);this.routeReuseStrategy.store(rt.snapshot,null),Ot.children.onOutletReAttached(qt.contexts),Ot.attachRef=qt.componentRef,Ot.route=qt.route.value,Ot.outlet&&Ot.outlet.attach(qt.componentRef,qt.route.value),pa(qt.route.value),this.activateChildRoutes(He,null,Ot.children)}else{const qt=Or(rt.snapshot);Ot.attachRef=null,Ot.route=rt,Ot.injector=qt,Ot.outlet&&Ot.outlet.activateWith(rt,Ot.injector),this.activateChildRoutes(He,null,Ot.children)}}else this.activateChildRoutes(He,null,Ue)}}class ot{constructor(He){this.path=He,this.route=this.path[this.path.length-1]}}class ct{constructor(He,Fe){this.component=He,this.route=Fe}}function Ye(Re,He,Fe){const Ue=Re._root;return Fi(Ue,He?He._root:null,Fe,[Ue.value])}function Ft(Re,He){const Fe=Symbol(),Ue=He.get(Re,Fe);return Ue===Fe?"function"!=typeof Re||(0,M.LfX)(Re)?He.get(Re):Re:Ue}function Fi(Re,He,Fe,Ue,rt={canDeactivateChecks:[],canActivateChecks:[]}){const gt=tr(He);return Re.children.forEach(Ot=>{(function mn(Re,He,Fe,Ue,rt={canDeactivateChecks:[],canActivateChecks:[]}){const gt=Re.value,Ot=He?He.value:null,qt=Fe?Fe.getContext(Re.value.outlet):null;if(Ot&>.routeConfig===Ot.routeConfig){const Xt=function io(Re,He,Fe){if("function"==typeof Fe)return Fe(Re,He);switch(Fe){case"pathParamsChange":return!Pt(Re.url,He.url);case"pathParamsOrQueryParamsChange":return!Pt(Re.url,He.url)||!De(Re.queryParams,He.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!fa(Re,He)||!De(Re.queryParams,He.queryParams);default:return!fa(Re,He)}}(Ot,gt,gt.routeConfig.runGuardsAndResolvers);Xt?rt.canActivateChecks.push(new ot(Ue)):(gt.data=Ot.data,gt._resolvedData=Ot._resolvedData),Fi(Re,He,gt.component?qt?qt.children:null:Fe,Ue,rt),Xt&&qt&&qt.outlet&&qt.outlet.isActivated&&rt.canDeactivateChecks.push(new ct(qt.outlet.component,Ot))}else Ot&&nr(He,qt,rt),rt.canActivateChecks.push(new ot(Ue)),Fi(Re,null,gt.component?qt?qt.children:null:Fe,Ue,rt)})(Ot,gt[Ot.value.outlet],Fe,Ue.concat([Ot.value]),rt),delete gt[Ot.value.outlet]}),Object.entries(gt).forEach(([Ot,qt])=>nr(qt,Fe.getContext(Ot),rt)),rt}function nr(Re,He,Fe){const Ue=tr(Re),rt=Re.value;Object.entries(Ue).forEach(([gt,Ot])=>{nr(Ot,rt.component?He?He.children.getContext(gt):null:He,Fe)}),Fe.canDeactivateChecks.push(new ct(rt.component&&He&&He.outlet&&He.outlet.isActivated?He.outlet.component:null,rt))}function Vs(Re){return"function"==typeof Re}function cc(Re){return Re instanceof P||"EmptyError"===Re?.name}const al=Symbol("INITIAL_VALUE");function ll(){return(0,o.n)(Re=>X(Re.map(He=>He.pipe((0,n.s)(1),(0,r.Z)(al)))).pipe((0,v.T)(He=>{for(const Fe of He)if(!0!==Fe){if(Fe===al)return al;if(!1===Fe||Fe instanceof st)return Fe}return!0}),(0,l.p)(He=>He!==al),(0,n.s)(1)))}function vs(Re){return(0,I.F)((0,z.M)(He=>{if(ar(He))throw Zo(0,He)}),(0,v.T)(He=>!0===He))}class kr{constructor(He){this.segmentGroup=He||null}}class er extends Error{constructor(He){super(),this.urlTree=He}}function Qo(Re){return(0,_.$)(new kr(Re))}class Sh{constructor(He,Fe){this.urlSerializer=He,this.urlTree=Fe}lineralizeSegments(He,Fe){let Ue=[],rt=Fe.root;for(;;){if(Ue=Ue.concat(rt.segments),0===rt.numberOfChildren)return(0,Le.of)(Ue);if(rt.numberOfChildren>1||!rt.children[Y])return(0,_.$)(new M.wOt(4e3,!1));rt=rt.children[Y]}}applyRedirectCommands(He,Fe,Ue){const rt=this.applyRedirectCreateUrlTree(Fe,this.urlSerializer.parse(Fe),He,Ue);if(Fe.startsWith("/"))throw new er(rt);return rt}applyRedirectCreateUrlTree(He,Fe,Ue,rt){const gt=this.createSegmentGroup(He,Fe.root,Ue,rt);return new st(gt,this.createQueryParams(Fe.queryParams,this.urlTree.queryParams),Fe.fragment)}createQueryParams(He,Fe){const Ue={};return Object.entries(He).forEach(([rt,gt])=>{if("string"==typeof gt&>.startsWith(":")){const qt=gt.substring(1);Ue[rt]=Fe[qt]}else Ue[rt]=gt}),Ue}createSegmentGroup(He,Fe,Ue,rt){const gt=this.createSegments(He,Fe.segments,Ue,rt);let Ot={};return Object.entries(Fe.children).forEach(([qt,Xt])=>{Ot[qt]=this.createSegmentGroup(He,Xt,Ue,rt)}),new Tt(gt,Ot)}createSegments(He,Fe,Ue,rt){return Fe.map(gt=>gt.path.startsWith(":")?this.findPosParam(He,gt,rt):this.findOrReturn(gt,Ue))}findPosParam(He,Fe,Ue){const rt=Ue[Fe.path.substring(1)];if(!rt)throw new M.wOt(4001,!1);return rt}findOrReturn(He,Fe){let Ue=0;for(const rt of Fe){if(rt.path===He.path)return Fe.splice(Ue),rt;Ue++}return He}}const Jo={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function pc(Re,He,Fe,Ue,rt){const gt=cl(Re,He,Fe);return gt.matched?(Ue=function Js(Re,He){return Re.providers&&!Re._injector&&(Re._injector=(0,M.Ol2)(Re.providers,He,`Route: ${Re.path}`)),Re._injector??He}(He,Ue),function fs(Re,He,Fe,Ue){const rt=He.canMatch;if(!rt||0===rt.length)return(0,Le.of)(!0);const gt=rt.map(Ot=>{const qt=Ft(Ot,Re);return be(function lc(Re){return Re&&Vs(Re.canMatch)}(qt)?qt.canMatch(He,Fe):(0,M.N4e)(Re,()=>qt(He,Fe)))});return(0,Le.of)(gt).pipe(ll(),vs())}(Ue,He,Fe).pipe((0,v.T)(Ot=>!0===Ot?gt:{...Jo}))):(0,Le.of)(gt)}function cl(Re,He,Fe){if("**"===He.path)return function Pc(Re){return{matched:!0,parameters:Re.length>0?ee(Re).parameters:{},consumedSegments:Re,remainingSegments:[],positionalParamSegments:{}}}(Fe);if(""===He.path)return"full"===He.pathMatch&&(Re.hasChildren()||Fe.length>0)?{...Jo}:{matched:!0,consumedSegments:[],remainingSegments:Fe,parameters:{},positionalParamSegments:{}};const rt=(He.matcher||Te)(Fe,Re,He);if(!rt)return{...Jo};const gt={};Object.entries(rt.posParams??{}).forEach(([qt,Xt])=>{gt[qt]=Xt.path});const Ot=rt.consumed.length>0?{...gt,...rt.consumed[rt.consumed.length-1].parameters}:gt;return{matched:!0,consumedSegments:rt.consumed,remainingSegments:Fe.slice(rt.consumed.length),parameters:Ot,positionalParamSegments:rt.posParams??{}}}function Hl(Re,He,Fe,Ue){return Fe.length>0&&function Nc(Re,He,Fe){return Fe.some(Ue=>As(Re,He,Ue)&&hr(Ue)!==Y)}(Re,Fe,Ue)?{segmentGroup:new Tt(He,Lo(Ue,new Tt(Fe,Re.children))),slicedSegments:[]}:0===Fe.length&&function Ul(Re,He,Fe){return Fe.some(Ue=>As(Re,He,Ue))}(Re,Fe,Ue)?{segmentGroup:new Tt(Re.segments,Rc(Re,Fe,Ue,Re.children)),slicedSegments:Fe}:{segmentGroup:new Tt(Re.segments,Re.children),slicedSegments:Fe}}function Rc(Re,He,Fe,Ue){const rt={};for(const gt of Fe)if(As(Re,He,gt)&&!Ue[hr(gt)]){const Ot=new Tt([],{});rt[hr(gt)]=Ot}return{...Ue,...rt}}function Lo(Re,He){const Fe={};Fe[Y]=He;for(const Ue of Re)if(""===Ue.path&&hr(Ue)!==Y){const rt=new Tt([],{});Fe[hr(Ue)]=rt}return Fe}function As(Re,He,Fe){return(!(Re.hasChildren()||He.length>0)||"full"!==Fe.pathMatch)&&""===Fe.path}class ea{}class ta{constructor(He,Fe,Ue,rt,gt,Ot,qt){this.injector=He,this.configLoader=Fe,this.rootComponentType=Ue,this.config=rt,this.urlTree=gt,this.paramsInheritanceStrategy=Ot,this.urlSerializer=qt,this.applyRedirects=new Sh(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(He){return new M.wOt(4002,`'${He.segmentGroup}'`)}recognize(){const He=Hl(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(He).pipe((0,v.T)(Fe=>{const Ue=new So([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Y,this.rootComponentType,null,{}),rt=new fr(Ue,Fe),gt=new Yo("",rt),Ot=function To(Re,He,Fe=null,Ue=null){return Cr(Wr(Re),He,Fe,Ue)}(Ue,[],this.urlTree.queryParams,this.urlTree.fragment);return Ot.queryParams=this.urlTree.queryParams,gt.url=this.urlSerializer.serialize(Ot),this.inheritParamsAndData(gt._root,null),{state:gt,tree:Ot}}))}match(He){return this.processSegmentGroup(this.injector,this.config,He,Y).pipe((0,K.W)(Ue=>{if(Ue instanceof er)return this.urlTree=Ue.urlTree,this.match(Ue.urlTree.root);throw Ue instanceof kr?this.noMatchError(Ue):Ue}))}inheritParamsAndData(He,Fe){const Ue=He.value,rt=Ar(Ue,Fe,this.paramsInheritanceStrategy);Ue.params=Object.freeze(rt.params),Ue.data=Object.freeze(rt.data),He.children.forEach(gt=>this.inheritParamsAndData(gt,Ue))}processSegmentGroup(He,Fe,Ue,rt){return 0===Ue.segments.length&&Ue.hasChildren()?this.processChildren(He,Fe,Ue):this.processSegment(He,Fe,Ue,Ue.segments,rt,!0).pipe((0,v.T)(gt=>gt instanceof fr?[gt]:[]))}processChildren(He,Fe,Ue){const rt=[];for(const gt of Object.keys(Ue.children))"primary"===gt?rt.unshift(gt):rt.push(gt);return(0,V.H)(rt).pipe((0,B.H)(gt=>{const Ot=Ue.children[gt],qt=function ol(Re,He){const Fe=Re.filter(Ue=>hr(Ue)===He);return Fe.push(...Re.filter(Ue=>hr(Ue)!==He)),Fe}(Fe,gt);return this.processSegmentGroup(He,qt,Ot,gt)}),function se(Re,He){return(0,G.N)(function U(Re,He,Fe,Ue,rt){return(gt,Ot)=>{let qt=Fe,Xt=He,Ei=0;gt.subscribe((0,J._)(Ot,on=>{const bn=Ei++;Xt=qt?Re(Xt,on,bn):(qt=!0,on),Ue&&Ot.next(Xt)},rt&&(()=>{qt&&Ot.next(Xt),Ot.complete()})))}}(Re,He,arguments.length>=2,!0))}((gt,Ot)=>(gt.push(...Ot),gt)),C(null),function $(Re,He){const Fe=arguments.length>=2;return Ue=>Ue.pipe(Re?(0,l.p)((rt,gt)=>Re(rt,gt,Ue)):ve.D,S(1),Fe?C(He):k(()=>new P))}(),(0,d.Z)(gt=>{if(null===gt)return Qo(Ue);const Ot=Xr(gt);return function hl(Re){Re.sort((He,Fe)=>He.value.outlet===Y?-1:Fe.value.outlet===Y?1:He.value.outlet.localeCompare(Fe.value.outlet))}(Ot),(0,Le.of)(Ot)}))}processSegment(He,Fe,Ue,rt,gt,Ot){return(0,V.H)(Fe).pipe((0,B.H)(qt=>this.processSegmentAgainstRoute(qt._injector??He,Fe,qt,Ue,rt,gt,Ot).pipe((0,K.W)(Xt=>{if(Xt instanceof kr)return(0,Le.of)(null);throw Xt}))),T(qt=>!!qt),(0,K.W)(qt=>{if(cc(qt))return function Po(Re,He,Fe){return 0===He.length&&!Re.children[Fe]}(Ue,rt,gt)?(0,Le.of)(new ea):Qo(Ue);throw qt}))}processSegmentAgainstRoute(He,Fe,Ue,rt,gt,Ot,qt){return function Fc(Re,He,Fe,Ue){return!!(hr(Re)===Ue||Ue!==Y&&As(He,Fe,Re))&&cl(He,Re,Fe).matched}(Ue,rt,gt,Ot)?void 0===Ue.redirectTo?this.matchSegmentAgainstRoute(He,rt,Ue,gt,Ot):this.allowRedirects&&qt?this.expandSegmentAgainstRouteUsingRedirect(He,rt,Fe,Ue,gt,Ot):Qo(rt):Qo(rt)}expandSegmentAgainstRouteUsingRedirect(He,Fe,Ue,rt,gt,Ot){const{matched:qt,consumedSegments:Xt,positionalParamSegments:Ei,remainingSegments:on}=cl(Fe,rt,gt);if(!qt)return Qo(Fe);rt.redirectTo.startsWith("/")&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>31&&(this.allowRedirects=!1));const bn=this.applyRedirects.applyRedirectCommands(Xt,rt.redirectTo,Ei);return this.applyRedirects.lineralizeSegments(rt,bn).pipe((0,d.Z)(Os=>this.processSegment(He,Ue,Fe,Os.concat(on),Ot,!1)))}matchSegmentAgainstRoute(He,Fe,Ue,rt,gt){const Ot=pc(Fe,Ue,rt,He);return"**"===Ue.path&&(Fe.children={}),Ot.pipe((0,o.n)(qt=>qt.matched?this.getChildConfig(He=Ue._injector??He,Ue,rt).pipe((0,o.n)(({routes:Xt})=>{const Ei=Ue._loadedInjector??He,{consumedSegments:on,remainingSegments:bn,parameters:Os}=qt,gl=new So(on,Os,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,function ia(Re){return Re.data||{}}(Ue),hr(Ue),Ue.component??Ue._loadedComponent??null,Ue,function kh(Re){return Re.resolve||{}}(Ue)),{segmentGroup:ml,slicedSegments:Ya}=Hl(Fe,on,bn,Xt);if(0===Ya.length&&ml.hasChildren())return this.processChildren(Ei,Xt,ml).pipe((0,v.T)(Ks=>null===Ks?null:new fr(gl,Ks)));if(0===Xt.length&&0===Ya.length)return(0,Le.of)(new fr(gl,[]));const yc=hr(Ue)===gt;return this.processSegment(Ei,Xt,ml,Ya,yc?Y:gt,!0).pipe((0,v.T)(Ks=>new fr(gl,Ks instanceof fr?[Ks]:[])))})):Qo(Fe)))}getChildConfig(He,Fe,Ue){return Fe.children?(0,Le.of)({routes:Fe.children,injector:He}):Fe.loadChildren?void 0!==Fe._loadedRoutes?(0,Le.of)({routes:Fe._loadedRoutes,injector:Fe._loadedInjector}):function pn(Re,He,Fe,Ue){const rt=He.canLoad;if(void 0===rt||0===rt.length)return(0,Le.of)(!0);const gt=rt.map(Ot=>{const qt=Ft(Ot,Re);return be(function gr(Re){return Re&&Vs(Re.canLoad)}(qt)?qt.canLoad(He,Fe):(0,M.N4e)(Re,()=>qt(He,Fe)))});return(0,Le.of)(gt).pipe(ll(),vs())}(He,Fe,Ue).pipe((0,d.Z)(rt=>rt?this.configLoader.loadChildren(He,Fe).pipe((0,z.M)(gt=>{Fe._loadedRoutes=gt.routes,Fe._loadedInjector=gt.injector})):function Th(Re){return(0,_.$)(to(!1,Un.GuardRejected))}())):(0,Le.of)({routes:[],injector:He})}}function xa(Re){const He=Re.value.routeConfig;return He&&""===He.path}function Xr(Re){const He=[],Fe=new Set;for(const Ue of Re){if(!xa(Ue)){He.push(Ue);continue}const rt=He.find(gt=>Ue.value.routeConfig===gt.value.routeConfig);void 0!==rt?(rt.children.push(...Ue.children),Fe.add(rt)):He.push(Ue)}for(const Ue of Fe){const rt=Xr(Ue.children);He.push(new fr(Ue.value,rt))}return He.filter(Ue=>!Fe.has(Ue))}function Ca(Re){const He=Re.children.map(Fe=>Ca(Fe)).flat();return[Re,...He]}function na(Re){return(0,o.n)(He=>{const Fe=Re(He);return Fe?(0,V.H)(Fe).pipe((0,v.T)(()=>He)):(0,Le.of)(He)})}let $l=(()=>{class Re{buildTitle(Fe){let Ue,rt=Fe.root;for(;void 0!==rt;)Ue=this.getResolvedTitleForRoute(rt)??Ue,rt=rt.children.find(gt=>gt.outlet===Y);return Ue}getResolvedTitleForRoute(Fe){return Fe.data[he]}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(fc),providedIn:"root"})}return Re})(),fc=(()=>{class Re extends $l{constructor(Fe){super(),this.title=Fe}updateTitle(Fe){const Ue=this.buildTitle(Fe);void 0!==Ue&&this.title.setTitle(Ue)}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.KVO(Z.hE))};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();const Ge=new M.nKC("",{providedIn:"root",factory:()=>({})}),ut=new M.nKC("");let Ke=(()=>{class Re{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=(0,M.WQX)(M.Ql9)}loadComponent(Fe){if(this.componentLoaders.get(Fe))return this.componentLoaders.get(Fe);if(Fe._loadedComponent)return(0,Le.of)(Fe._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(Fe);const Ue=be(Fe.loadComponent()).pipe((0,v.T)(Jt),(0,z.M)(gt=>{this.onLoadEndListener&&this.onLoadEndListener(Fe),Fe._loadedComponent=gt}),(0,x.j)(()=>{this.componentLoaders.delete(Fe)})),rt=new f(Ue,()=>new a.B).pipe(O());return this.componentLoaders.set(Fe,rt),rt}loadChildren(Fe,Ue){if(this.childrenLoaders.get(Ue))return this.childrenLoaders.get(Ue);if(Ue._loadedRoutes)return(0,Le.of)({routes:Ue._loadedRoutes,injector:Ue._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(Ue);const gt=function at(Re,He,Fe,Ue){return be(Re.loadChildren()).pipe((0,v.T)(Jt),(0,d.Z)(rt=>rt instanceof M.Co$||Array.isArray(rt)?(0,Le.of)(rt):(0,V.H)(He.compileModuleAsync(rt))),(0,v.T)(rt=>{Ue&&Ue(Re);let gt,Ot,qt=!1;return Array.isArray(rt)?(Ot=rt,!0):(gt=rt.create(Fe).injector,Ot=gt.get(ut,[],{optional:!0,self:!0}).flat()),{routes:Ot.map(Io),injector:gt}}))}(Ue,this.compiler,Fe,this.onLoadEndListener).pipe((0,x.j)(()=>{this.childrenLoaders.delete(Ue)})),Ot=new f(gt,()=>new a.B).pipe(O());return this.childrenLoaders.set(Ue,Ot),Ot}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();function Jt(Re){return function Et(Re){return Re&&"object"==typeof Re&&"default"in Re}(Re)?Re.default:Re}let ci=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(Oi),providedIn:"root"})}return Re})(),Oi=(()=>{class Re{shouldProcessUrl(Fe){return!0}extract(Fe){return Fe}merge(Fe,Ue){return Fe}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();const Wn=new M.nKC(""),Qn=new M.nKC("");function os(Re,He,Fe){const Ue=Re.get(Qn),rt=Re.get(g.qQ);return Re.get(M.SKi).runOutsideAngular(()=>{if(!rt.startViewTransition||Ue.skipNextTransition)return Ue.skipNextTransition=!1,Promise.resolve();let gt;const Ot=new Promise(Ei=>{gt=Ei}),qt=rt.startViewTransition(()=>(gt(),function xn(Re){return new Promise(He=>{(0,M.mal)(He,{injector:Re})})}(Re))),{onViewTransitionCreated:Xt}=Ue;return Xt&&(0,M.N4e)(Re,()=>Xt({transition:qt,from:He,to:Fe})),Ot})}let ys=(()=>{class Re{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new a.B,this.transitionAbortSubject=new a.B,this.configLoader=(0,M.WQX)(Ke),this.environmentInjector=(0,M.WQX)(M.uvJ),this.urlSerializer=(0,M.WQX)(ti),this.rootContexts=(0,M.WQX)(mo),this.location=(0,M.WQX)(g.aZ),this.inputBindingEnabled=null!==(0,M.WQX)(ma,{optional:!0}),this.titleStrategy=(0,M.WQX)($l),this.options=(0,M.WQX)(Ge,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=(0,M.WQX)(ci),this.createViewTransition=(0,M.WQX)(Wn,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>(0,Le.of)(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=rt=>this.events.next(new Va(rt)),this.configLoader.onLoadStartListener=rt=>this.events.next(new wn(rt))}complete(){this.transitions?.complete()}handleNavigationRequest(Fe){const Ue=++this.navigationId;this.transitions?.next({...this.transitions.value,...Fe,id:Ue})}setupNavigations(Fe,Ue,rt){return this.transitions=new q.t({id:0,currentUrlTree:Ue,currentRawUrl:Ue,extractedUrl:this.urlHandlingStrategy.extract(Ue),urlAfterRedirects:this.urlHandlingStrategy.extract(Ue),rawUrl:Ue,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:cs,restoredState:null,currentSnapshot:rt.snapshot,targetSnapshot:null,currentRouterState:rt,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe((0,l.p)(gt=>0!==gt.id),(0,v.T)(gt=>({...gt,extractedUrl:this.urlHandlingStrategy.extract(gt.rawUrl)})),(0,o.n)(gt=>{let Ot=!1,qt=!1;return(0,Le.of)(gt).pipe((0,o.n)(Xt=>{if(this.navigationId>gt.id)return this.cancelNavigationTransition(gt,"",Un.SupersededByNewNavigation),m.w;this.currentTransition=gt,this.currentNavigation={id:Xt.id,initialUrl:Xt.rawUrl,extractedUrl:Xt.extractedUrl,trigger:Xt.source,extras:Xt.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null};const Ei=!Fe.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl();if(!Ei&&"reload"!==(Xt.extras.onSameUrlNavigation??Fe.onSameUrlNavigation)){const bn="";return this.events.next(new ln(Xt.id,this.urlSerializer.serialize(Xt.rawUrl),bn,pr.IgnoredSameUrlNavigation)),Xt.resolve(null),m.w}if(this.urlHandlingStrategy.shouldProcessUrl(Xt.rawUrl))return(0,Le.of)(Xt).pipe((0,o.n)(bn=>{const Os=this.transitions?.getValue();return this.events.next(new Er(bn.id,this.urlSerializer.serialize(bn.extractedUrl),bn.source,bn.restoredState)),Os!==this.transitions?.getValue()?m.w:Promise.resolve(bn)}),function Dh(Re,He,Fe,Ue,rt,gt){return(0,d.Z)(Ot=>function Hs(Re,He,Fe,Ue,rt,gt,Ot="emptyOnly"){return new ta(Re,He,Fe,Ue,rt,Ot,gt).recognize()}(Re,He,Fe,Ue,Ot.extractedUrl,rt,gt).pipe((0,v.T)(({state:qt,tree:Xt})=>({...Ot,targetSnapshot:qt,urlAfterRedirects:Xt}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,Fe.config,this.urlSerializer,this.paramsInheritanceStrategy),(0,z.M)(bn=>{gt.targetSnapshot=bn.targetSnapshot,gt.urlAfterRedirects=bn.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:bn.urlAfterRedirects};const Os=new lr(bn.id,this.urlSerializer.serialize(bn.extractedUrl),this.urlSerializer.serialize(bn.urlAfterRedirects),bn.targetSnapshot);this.events.next(Os)}));if(Ei&&this.urlHandlingStrategy.shouldProcessUrl(Xt.currentRawUrl)){const{id:bn,extractedUrl:Os,source:gl,restoredState:ml,extras:Ya}=Xt,yc=new Er(bn,this.urlSerializer.serialize(Os),gl,ml);this.events.next(yc);const Ks=Es(this.rootComponentType).snapshot;return this.currentTransition=gt={...Xt,targetSnapshot:Ks,urlAfterRedirects:Os,extras:{...Ya,skipLocationChange:!1,replaceUrl:!1}},this.currentNavigation.finalUrl=Os,(0,Le.of)(gt)}{const bn="";return this.events.next(new ln(Xt.id,this.urlSerializer.serialize(Xt.extractedUrl),bn,pr.IgnoredByUrlHandlingStrategy)),Xt.resolve(null),m.w}}),(0,z.M)(Xt=>{const Ei=new Fa(Xt.id,this.urlSerializer.serialize(Xt.extractedUrl),this.urlSerializer.serialize(Xt.urlAfterRedirects),Xt.targetSnapshot);this.events.next(Ei)}),(0,v.T)(Xt=>(this.currentTransition=gt={...Xt,guards:Ye(Xt.targetSnapshot,Xt.currentSnapshot,this.rootContexts)},gt)),function ad(Re,He){return(0,d.Z)(Fe=>{const{targetSnapshot:Ue,currentSnapshot:rt,guards:{canActivateChecks:gt,canDeactivateChecks:Ot}}=Fe;return 0===Ot.length&&0===gt.length?(0,Le.of)({...Fe,guardsResult:!0}):function Vl(Re,He,Fe,Ue){return(0,V.H)(Re).pipe((0,d.Z)(rt=>function Wa(Re,He,Fe,Ue,rt){const gt=He&&He.routeConfig?He.routeConfig.canDeactivate:null;if(!gt||0===gt.length)return(0,Le.of)(!0);const Ot=gt.map(qt=>{const Xt=Or(He)??rt,Ei=Ft(qt,Xt);return be(function jl(Re){return Re&&Vs(Re.canDeactivate)}(Ei)?Ei.canDeactivate(Re,He,Fe,Ue):(0,M.N4e)(Xt,()=>Ei(Re,He,Fe,Ue))).pipe(T())});return(0,Le.of)(Ot).pipe(ll())}(rt.component,rt.route,Fe,He,Ue)),T(rt=>!0!==rt,!0))}(Ot,Ue,rt,Re).pipe((0,d.Z)(qt=>qt&&function qo(Re){return"boolean"==typeof Re}(qt)?function hc(Re,He,Fe,Ue){return(0,V.H)(He).pipe((0,B.H)(rt=>(0,D.x)(function Oo(Re,He){return null!==Re&&He&&He(new za(Re)),(0,Le.of)(!0)}(rt.route.parent,Ue),function zl(Re,He){return null!==Re&&He&&He(new ha(Re)),(0,Le.of)(!0)}(rt.route,Ue),function vo(Re,He,Fe){const Ue=He[He.length-1],gt=He.slice(0,He.length-1).reverse().map(Ot=>function vt(Re){const He=Re.routeConfig?Re.routeConfig.canActivateChild:null;return He&&0!==He.length?{node:Re,guards:He}:null}(Ot)).filter(Ot=>null!==Ot).map(Ot=>(0,A.v)(()=>{const qt=Ot.guards.map(Xt=>{const Ei=Or(Ot.node)??Fe,on=Ft(Xt,Ei);return be(function Mn(Re){return Re&&Vs(Re.canActivateChild)}(on)?on.canActivateChild(Ue,Re):(0,M.N4e)(Ei,()=>on(Ue,Re))).pipe(T())});return(0,Le.of)(qt).pipe(ll())}));return(0,Le.of)(gt).pipe(ll())}(Re,rt.path,Fe),function Gl(Re,He,Fe){const Ue=He.routeConfig?He.routeConfig.canActivate:null;if(!Ue||0===Ue.length)return(0,Le.of)(!0);const rt=Ue.map(gt=>(0,A.v)(()=>{const Ot=Or(He)??Fe,qt=Ft(gt,Ot);return be(function ac(Re){return Re&&Vs(Re.canActivate)}(qt)?qt.canActivate(He,Re):(0,M.N4e)(Ot,()=>qt(He,Re))).pipe(T())}));return(0,Le.of)(rt).pipe(ll())}(Re,rt.route,Fe))),T(rt=>!0!==rt,!0))}(Ue,gt,Re,He):(0,Le.of)(qt)),(0,v.T)(qt=>({...Fe,guardsResult:qt})))})}(this.environmentInjector,Xt=>this.events.next(Xt)),(0,z.M)(Xt=>{if(gt.guardsResult=Xt.guardsResult,ar(Xt.guardsResult))throw Zo(0,Xt.guardsResult);const Ei=new Ba(Xt.id,this.urlSerializer.serialize(Xt.extractedUrl),this.urlSerializer.serialize(Xt.urlAfterRedirects),Xt.targetSnapshot,!!Xt.guardsResult);this.events.next(Ei)}),(0,l.p)(Xt=>!!Xt.guardsResult||(this.cancelNavigationTransition(Xt,"",Un.GuardRejected),!1)),na(Xt=>{if(Xt.guards.canActivateChecks.length)return(0,Le.of)(Xt).pipe((0,z.M)(Ei=>{const on=new ja(Ei.id,this.urlSerializer.serialize(Ei.extractedUrl),this.urlSerializer.serialize(Ei.urlAfterRedirects),Ei.targetSnapshot);this.events.next(on)}),(0,o.n)(Ei=>{let on=!1;return(0,Le.of)(Ei).pipe(function Wl(Re,He){return(0,d.Z)(Fe=>{const{targetSnapshot:Ue,guards:{canActivateChecks:rt}}=Fe;if(!rt.length)return(0,Le.of)(Fe);const gt=new Set(rt.map(Xt=>Xt.route)),Ot=new Set;for(const Xt of gt)if(!Ot.has(Xt))for(const Ei of Ca(Xt))Ot.add(Ei);let qt=0;return(0,V.H)(Ot).pipe((0,B.H)(Xt=>gt.has(Xt)?function Mh(Re,He,Fe,Ue){const rt=Re.routeConfig,gt=Re._resolve;return void 0!==rt?.title&&!Qs(rt)&&(gt[he]=rt.title),function dl(Re,He,Fe,Ue){const rt=Be(Re);if(0===rt.length)return(0,Le.of)({});const gt={};return(0,V.H)(rt).pipe((0,d.Z)(Ot=>function Yr(Re,He,Fe,Ue){const rt=Or(He)??Ue,gt=Ft(Re,rt);return be(gt.resolve?gt.resolve(He,Fe):(0,M.N4e)(rt,()=>gt(He,Fe)))}(Re[Ot],He,Fe,Ue).pipe(T(),(0,z.M)(qt=>{gt[Ot]=qt}))),S(1),(0,H.u)(gt),(0,K.W)(Ot=>cc(Ot)?m.w:(0,_.$)(Ot)))}(gt,Re,He,Ue).pipe((0,v.T)(Ot=>(Re._resolvedData=Ot,Re.data=Ar(Re,Re.parent,Fe).resolve,null)))}(Xt,Ue,Re,He):(Xt.data=Ar(Xt,Xt.parent,Re).resolve,(0,Le.of)(void 0))),(0,z.M)(()=>qt++),S(1),(0,d.Z)(Xt=>qt===Ot.size?(0,Le.of)(Fe):m.w))})}(this.paramsInheritanceStrategy,this.environmentInjector),(0,z.M)({next:()=>on=!0,complete:()=>{on||this.cancelNavigationTransition(Ei,"",Un.NoDataFromResolver)}}))}),(0,z.M)(Ei=>{const on=new go(Ei.id,this.urlSerializer.serialize(Ei.extractedUrl),this.urlSerializer.serialize(Ei.urlAfterRedirects),Ei.targetSnapshot);this.events.next(on)}))}),na(Xt=>{const Ei=on=>{const bn=[];on.routeConfig?.loadComponent&&!on.routeConfig._loadedComponent&&bn.push(this.configLoader.loadComponent(on.routeConfig).pipe((0,z.M)(Os=>{on.component=Os}),(0,v.T)(()=>{})));for(const Os of on.children)bn.push(...Ei(Os));return bn};return X(Ei(Xt.targetSnapshot.root)).pipe(C(null),(0,n.s)(1))}),na(()=>this.afterPreactivation()),(0,o.n)(()=>{const{currentSnapshot:Xt,targetSnapshot:Ei}=gt,on=this.createViewTransition?.(this.environmentInjector,Xt.root,Ei.root);return on?(0,V.H)(on).pipe((0,v.T)(()=>gt)):(0,Le.of)(gt)}),(0,v.T)(Xt=>{const Ei=function cr(Re,He,Fe){const Ue=es(Re,He._root,Fe?Fe._root:void 0);return new Ha(Ue,He)}(Fe.routeReuseStrategy,Xt.targetSnapshot,Xt.currentRouterState);return this.currentTransition=gt={...Xt,targetRouterState:Ei},this.currentNavigation.targetRouterState=Ei,gt}),(0,z.M)(()=>{this.events.next(new wr)}),((Re,He,Fe,Ue)=>(0,v.T)(rt=>(new Ua(He,rt.targetRouterState,rt.currentRouterState,Fe,Ue).activate(Re),rt)))(this.rootContexts,Fe.routeReuseStrategy,Xt=>this.events.next(Xt),this.inputBindingEnabled),(0,n.s)(1),(0,z.M)({next:Xt=>{Ot=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new bs(Xt.id,this.urlSerializer.serialize(Xt.extractedUrl),this.urlSerializer.serialize(Xt.urlAfterRedirects))),this.titleStrategy?.updateTitle(Xt.targetRouterState.snapshot),Xt.resolve(!0)},complete:()=>{Ot=!0}}),(0,N.Q)(this.transitionAbortSubject.pipe((0,z.M)(Xt=>{throw Xt}))),(0,x.j)(()=>{!Ot&&!qt&&this.cancelNavigationTransition(gt,"",Un.SupersededByNewNavigation),this.currentTransition?.id===gt.id&&(this.currentNavigation=null,this.currentTransition=null)}),(0,K.W)(Xt=>{if(qt=!0,va(Xt))this.events.next(new Ui(gt.id,this.urlSerializer.serialize(gt.extractedUrl),Xt.message,Xt.cancellationCode)),function ba(Re){return va(Re)&&ar(Re.url)}(Xt)?this.events.next(new Jr(Xt.url)):gt.resolve(!1);else{this.events.next(new Na(gt.id,this.urlSerializer.serialize(gt.extractedUrl),Xt,gt.targetSnapshot??void 0));try{gt.resolve(Fe.errorHandler(Xt))}catch(Ei){this.options.resolveNavigationPromiseOnError?gt.resolve(!1):gt.reject(Ei)}}return m.w}))}))}cancelNavigationTransition(Fe,Ue,rt){const gt=new Ui(Fe.id,this.urlSerializer.serialize(Fe.extractedUrl),Ue,rt);this.events.next(gt),Fe.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();function hs(Re){return Re!==cs}let zs=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(Zn),providedIn:"root"})}return Re})();class Lr{shouldDetach(He){return!1}store(He,Fe){}shouldAttach(He){return!1}retrieve(He){return null}shouldReuseRoute(He,Fe){return He.routeConfig===Fe.routeConfig}}let Zn=(()=>{class Re extends Lr{static#e=this.\u0275fac=(()=>{let Fe;return function(rt){return(Fe||(Fe=M.xGo(Re)))(rt||Re)}})();static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})(),gi=(()=>{class Re{static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:()=>(0,M.WQX)(Bi),providedIn:"root"})}return Re})(),Bi=(()=>{class Re extends gi{constructor(){super(...arguments),this.location=(0,M.WQX)(g.aZ),this.urlSerializer=(0,M.WQX)(ti),this.options=(0,M.WQX)(Ge,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=(0,M.WQX)(ci),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new st,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=Es(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(Fe){return this.location.subscribe(Ue=>{"popstate"===Ue.type&&Fe(Ue.url,Ue.state)})}handleRouterEvent(Fe,Ue){if(Fe instanceof Er)this.stateMemento=this.createStateMemento();else if(Fe instanceof ln)this.rawUrlTree=Ue.initialUrl;else if(Fe instanceof lr){if("eager"===this.urlUpdateStrategy&&!Ue.extras.skipLocationChange){const rt=this.urlHandlingStrategy.merge(Ue.finalUrl,Ue.initialUrl);this.setBrowserUrl(rt,Ue)}}else Fe instanceof wr?(this.currentUrlTree=Ue.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(Ue.finalUrl,Ue.initialUrl),this.routerState=Ue.targetRouterState,"deferred"===this.urlUpdateStrategy&&(Ue.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,Ue))):Fe instanceof Ui&&(Fe.code===Un.GuardRejected||Fe.code===Un.NoDataFromResolver)?this.restoreHistory(Ue):Fe instanceof Na?this.restoreHistory(Ue,!0):Fe instanceof bs&&(this.lastSuccessfulId=Fe.id,this.currentPageId=this.browserPageId)}setBrowserUrl(Fe,Ue){const rt=this.urlSerializer.serialize(Fe);if(this.location.isCurrentPathEqualTo(rt)||Ue.extras.replaceUrl){const Ot={...Ue.extras.state,...this.generateNgRouterState(Ue.id,this.browserPageId)};this.location.replaceState(rt,"",Ot)}else{const gt={...Ue.extras.state,...this.generateNgRouterState(Ue.id,this.browserPageId+1)};this.location.go(rt,"",gt)}}restoreHistory(Fe,Ue=!1){if("computed"===this.canceledNavigationResolution){const gt=this.currentPageId-this.browserPageId;0!==gt?this.location.historyGo(gt):this.currentUrlTree===Fe.finalUrl&&0===gt&&(this.resetState(Fe),this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(Ue&&this.resetState(Fe),this.resetUrlToCurrentUrlTree())}resetState(Fe){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,Fe.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(Fe,Ue){return"computed"===this.canceledNavigationResolution?{navigationId:Fe,\u0275routerPageId:Ue}:{navigationId:Fe}}static#e=this.\u0275fac=(()=>{let Fe;return function(rt){return(Fe||(Fe=M.xGo(Re)))(rt||Re)}})();static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();var En=function(Re){return Re[Re.COMPLETE=0]="COMPLETE",Re[Re.FAILED=1]="FAILED",Re[Re.REDIRECTING=2]="REDIRECTING",Re}(En||{});function ks(Re,He){Re.events.pipe((0,l.p)(Fe=>Fe instanceof bs||Fe instanceof Ui||Fe instanceof Na||Fe instanceof ln),(0,v.T)(Fe=>Fe instanceof bs||Fe instanceof ln?En.COMPLETE:Fe instanceof Ui&&(Fe.code===Un.Redirect||Fe.code===Un.SupersededByNewNavigation)?En.REDIRECTING:En.FAILED),(0,l.p)(Fe=>Fe!==En.REDIRECTING),(0,n.s)(1)).subscribe(()=>{He()})}function Us(Re){throw Re}const mr={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},ul={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let jn=(()=>{class Re{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.isNgZoneEnabled=!1,this.console=(0,M.WQX)(M.H3F),this.stateManager=(0,M.WQX)(gi),this.options=(0,M.WQX)(Ge,{optional:!0})||{},this.pendingTasks=(0,M.WQX)(M.TgB),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=(0,M.WQX)(ys),this.urlSerializer=(0,M.WQX)(ti),this.location=(0,M.WQX)(g.aZ),this.urlHandlingStrategy=(0,M.WQX)(ci),this._events=new a.B,this.errorHandler=this.options.errorHandler||Us,this.navigated=!1,this.routeReuseStrategy=(0,M.WQX)(zs),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=(0,M.WQX)(ut,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!(0,M.WQX)(ma,{optional:!0}),this.eventsSubscription=new w.yU,this.isNgZoneEnabled=(0,M.WQX)(M.SKi)instanceof M.SKi&&M.SKi.isInAngularZone(),this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:Fe=>{this.console.warn(Fe)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const Fe=this.navigationTransitions.events.subscribe(Ue=>{try{const rt=this.navigationTransitions.currentTransition,gt=this.navigationTransitions.currentNavigation;if(null!==rt&&null!==gt)if(this.stateManager.handleRouterEvent(Ue,gt),Ue instanceof Ui&&Ue.code!==Un.Redirect&&Ue.code!==Un.SupersededByNewNavigation)this.navigated=!0;else if(Ue instanceof bs)this.navigated=!0;else if(Ue instanceof Jr){const Ot=this.urlHandlingStrategy.merge(Ue.url,rt.currentRawUrl),qt={info:rt.extras.info,skipLocationChange:rt.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||hs(rt.source)};this.scheduleNavigation(Ot,cs,null,qt,{resolve:rt.resolve,reject:rt.reject,promise:rt.promise})}(function Ro(Re){return!(Re instanceof wr||Re instanceof Jr)})(Ue)&&this._events.next(Ue)}catch(rt){this.navigationTransitions.transitionAbortSubject.next(rt)}});this.eventsSubscription.add(Fe)}resetRootComponentType(Fe){this.routerState.root.component=Fe,this.navigationTransitions.rootComponentType=Fe}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),cs,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((Fe,Ue)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(Fe,"popstate",Ue)},0)})}navigateToSyncWithBrowser(Fe,Ue,rt){const gt={replaceUrl:!0},Ot=rt?.navigationId?rt:null;if(rt){const Xt={...rt};delete Xt.navigationId,delete Xt.\u0275routerPageId,0!==Object.keys(Xt).length&&(gt.state=Xt)}const qt=this.parseUrl(Fe);this.scheduleNavigation(qt,Ue,Ot,gt)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(Fe){this.config=Fe.map(Io),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(Fe,Ue={}){const{relativeTo:rt,queryParams:gt,fragment:Ot,queryParamsHandling:qt,preserveFragment:Xt}=Ue,Ei=Xt?this.currentUrlTree.fragment:Ot;let bn,on=null;switch(qt){case"merge":on={...this.currentUrlTree.queryParams,...gt};break;case"preserve":on=this.currentUrlTree.queryParams;break;default:on=gt||null}null!==on&&(on=this.removeEmptyProps(on));try{bn=Wr(rt?rt.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof Fe[0]||!Fe[0].startsWith("/"))&&(Fe=[]),bn=this.currentUrlTree.root}return Cr(bn,Fe,on,Ei??null)}navigateByUrl(Fe,Ue={skipLocationChange:!1}){const rt=ar(Fe)?Fe:this.parseUrl(Fe),gt=this.urlHandlingStrategy.merge(rt,this.rawUrlTree);return this.scheduleNavigation(gt,cs,null,Ue)}navigate(Fe,Ue={skipLocationChange:!1}){return function br(Re){for(let He=0;He(null!=gt&&(Ue[rt]=gt),Ue),{})}scheduleNavigation(Fe,Ue,rt,gt,Ot){if(this.disposed)return Promise.resolve(!1);let qt,Xt,Ei;Ot?(qt=Ot.resolve,Xt=Ot.reject,Ei=Ot.promise):Ei=new Promise((bn,Os)=>{qt=bn,Xt=Os});const on=this.pendingTasks.add();return ks(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(on))}),this.navigationTransitions.handleNavigationRequest({source:Ue,restoredState:rt,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:Fe,extras:gt,resolve:qt,reject:Xt,promise:Ei,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),Ei.catch(bn=>Promise.reject(bn))}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})(),Qi=(()=>{class Re{constructor(Fe,Ue,rt,gt,Ot,qt){this.router=Fe,this.route=Ue,this.tabIndexAttribute=rt,this.renderer=gt,this.el=Ot,this.locationStrategy=qt,this.href=null,this.commands=null,this.onChanges=new a.B,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const Xt=Ot.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===Xt||"area"===Xt,this.isAnchorElement?this.subscription=Fe.events.subscribe(Ei=>{Ei instanceof bs&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(Fe){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",Fe)}ngOnChanges(Fe){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(Fe){null!=Fe?(this.commands=Array.isArray(Fe)?Fe:[Fe],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(Fe,Ue,rt,gt,Ot){const qt=this.urlTree;return!!(null===qt||this.isAnchorElement&&(0!==Fe||Ue||rt||gt||Ot||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(qt,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){const Fe=this.urlTree;this.href=null!==Fe&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(Fe)):null;const Ue=null===this.href?null:(0,M.n$t)(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",Ue)}applyAttributeValue(Fe,Ue){const rt=this.renderer,gt=this.el.nativeElement;null!==Ue?rt.setAttribute(gt,Fe,Ue):rt.removeAttribute(gt,Fe)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.rXU(jn),M.rXU($i),M.kS0("tabindex"),M.rXU(M.sFG),M.rXU(M.aKT),M.rXU(g.hb))};static#t=this.\u0275dir=M.FsC({type:Re,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(Ue,rt){1&Ue&&M.bIt("click",function(Ot){return rt.onClick(Ot.button,Ot.ctrlKey,Ot.shiftKey,Ot.altKey,Ot.metaKey)}),2&Ue&&M.BMQ("target",rt.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[M.Mj6.HasDecoratorInputTransform,"preserveFragment","preserveFragment",M.L39],skipLocationChange:[M.Mj6.HasDecoratorInputTransform,"skipLocationChange","skipLocationChange",M.L39],replaceUrl:[M.Mj6.HasDecoratorInputTransform,"replaceUrl","replaceUrl",M.L39],routerLink:"routerLink"},standalone:!0,features:[M.GFd,M.OA$]})}return Re})(),No=(()=>{class Re{get isActive(){return this._isActive}constructor(Fe,Ue,rt,gt,Ot){this.router=Fe,this.element=Ue,this.renderer=rt,this.cdr=gt,this.link=Ot,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new M.bkB,this.routerEventsSubscription=Fe.events.subscribe(qt=>{qt instanceof bs&&this.update()})}ngAfterContentInit(){(0,Le.of)(this.links.changes,(0,Le.of)(null)).pipe((0,R.U)()).subscribe(Fe=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const Fe=[...this.links.toArray(),this.link].filter(Ue=>!!Ue).map(Ue=>Ue.onChanges);this.linkInputChangesSubscription=(0,V.H)(Fe).pipe((0,R.U)()).subscribe(Ue=>{this._isActive!==this.isLinkActive(this.router)(Ue)&&this.update()})}set routerLinkActive(Fe){const Ue=Array.isArray(Fe)?Fe:Fe.split(" ");this.classes=Ue.filter(rt=>!!rt)}ngOnChanges(Fe){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const Fe=this.hasActiveLinks();this._isActive!==Fe&&(this._isActive=Fe,this.cdr.markForCheck(),this.classes.forEach(Ue=>{Fe?this.renderer.addClass(this.element.nativeElement,Ue):this.renderer.removeClass(this.element.nativeElement,Ue)}),Fe&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(Fe))})}isLinkActive(Fe){const Ue=function Xl(Re){return!!Re.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return rt=>{const gt=rt.urlTree;return!!gt&&Fe.isActive(gt,Ue)}}hasActiveLinks(){const Fe=this.isLinkActive(this.router);return this.link&&Fe(this.link)||this.links.some(Fe)}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.rXU(jn),M.rXU(M.aKT),M.rXU(M.sFG),M.rXU(M.gRc),M.rXU(Qi,8))};static#t=this.\u0275dir=M.FsC({type:Re,selectors:[["","routerLinkActive",""]],contentQueries:function(Ue,rt,gt){if(1&Ue&&M.wni(gt,Qi,5),2&Ue){let Ot;M.mGM(Ot=M.lsd())&&(rt.links=Ot)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[M.OA$]})}return Re})();class ws{}let Is=(()=>{class Re{preload(Fe,Ue){return Ue().pipe((0,K.W)(()=>(0,Le.of)(null)))}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})(),Yl=(()=>{class Re{constructor(Fe,Ue,rt,gt,Ot){this.router=Fe,this.injector=rt,this.preloadingStrategy=gt,this.loader=Ot}setUpPreloading(){this.subscription=this.router.events.pipe((0,l.p)(Fe=>Fe instanceof bs),(0,B.H)(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(Fe,Ue){const rt=[];for(const gt of Ue){gt.providers&&!gt._injector&&(gt._injector=(0,M.Ol2)(gt.providers,Fe,`Route: ${gt.path}`));const Ot=gt._injector??Fe,qt=gt._loadedInjector??Ot;(gt.loadChildren&&!gt._loadedRoutes&&void 0===gt.canLoad||gt.loadComponent&&!gt._loadedComponent)&&rt.push(this.preloadConfig(Ot,gt)),(gt.children||gt._loadedRoutes)&&rt.push(this.processRoutes(qt,gt.children??gt._loadedRoutes))}return(0,V.H)(rt).pipe((0,R.U)())}preloadConfig(Fe,Ue){return this.preloadingStrategy.preload(Ue,()=>{let rt;rt=Ue.loadChildren&&void 0===Ue.canLoad?this.loader.loadChildren(Fe,Ue):(0,Le.of)(null);const gt=rt.pipe((0,d.Z)(Ot=>null===Ot?(0,Le.of)(void 0):(Ue._loadedRoutes=Ot.routes,Ue._loadedInjector=Ot.injector,this.processRoutes(Ot.injector??Fe,Ot.routes))));if(Ue.loadComponent&&!Ue._loadedComponent){const Ot=this.loader.loadComponent(Ue);return(0,V.H)([gt,Ot]).pipe((0,R.U)())}return gt})}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.KVO(jn),M.KVO(M.Ql9),M.KVO(M.uvJ),M.KVO(ws),M.KVO(Ke))};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac,providedIn:"root"})}return Re})();const Kr=new M.nKC("");let Kl=(()=>{class Re{constructor(Fe,Ue,rt,gt,Ot={}){this.urlSerializer=Fe,this.transitions=Ue,this.viewportScroller=rt,this.zone=gt,this.options=Ot,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},Ot.scrollPositionRestoration||="disabled",Ot.anchorScrolling||="disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(Fe=>{Fe instanceof Er?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=Fe.navigationTrigger,this.restoredId=Fe.restoredState?Fe.restoredState.navigationId:0):Fe instanceof bs?(this.lastId=Fe.id,this.scheduleScrollEvent(Fe,this.urlSerializer.parse(Fe.urlAfterRedirects).fragment)):Fe instanceof ln&&Fe.code===pr.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(Fe,this.urlSerializer.parse(Fe.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(Fe=>{Fe instanceof Nl&&(Fe.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(Fe.position):Fe.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(Fe.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(Fe,Ue){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new Nl(Fe,"popstate"===this.lastSource?this.store[this.restoredId]:null,Ue))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(Ue){M.QTQ()};static#t=this.\u0275prov=M.jDH({token:Re,factory:Re.\u0275fac})}return Re})();function Zr(Re,He){return{\u0275kind:Re,\u0275providers:He}}function Fo(){const Re=(0,M.WQX)(M.zZn);return He=>{const Fe=Re.get(M.o8S);if(He!==Fe.components[0])return;const Ue=Re.get(jn),rt=Re.get(mc);1===Re.get(Xa)&&Ue.initialNavigation(),Re.get(Gs,null,M.$GK.Optional)?.setUpPreloading(),Re.get(Kr,null,M.$GK.Optional)?.init(),Ue.resetRootComponentType(Fe.componentTypes[0]),rt.closed||(rt.next(),rt.complete(),rt.unsubscribe())}}const mc=new M.nKC("",{factory:()=>new a.B}),Xa=new M.nKC("",{providedIn:"root",factory:()=>1}),Gs=new M.nKC("");function jc(Re){return Zr(0,[{provide:Gs,useExisting:Yl},{provide:ws,useExisting:Re}])}function bc(Re){return Zr(9,[{provide:Wn,useValue:os},{provide:Qn,useValue:{skipNextTransition:!!Re?.skipInitialTransition,...Re}}])}const ss=new M.nKC("ROUTER_FORROOT_GUARD"),zc=[g.aZ,{provide:ti,useClass:Dt},jn,mo,{provide:$i,useFactory:function yo(Re){return Re.routerState.root},deps:[jn]},Ke,[]];let Ah=(()=>{class Re{constructor(Fe){}static forRoot(Fe,Ue){return{ngModule:Re,providers:[zc,[],{provide:ut,multi:!0,useValue:Fe},{provide:ss,useFactory:cd,deps:[[jn,new M.Xx1,new M.kdw]]},{provide:Ge,useValue:Ue||{}},Ue?.useHash?{provide:g.hb,useClass:g.fw}:{provide:g.hb,useClass:g.Sm},{provide:Kr,useFactory:()=>{const Re=(0,M.WQX)(g.Xr),He=(0,M.WQX)(M.SKi),Fe=(0,M.WQX)(Ge),Ue=(0,M.WQX)(ys),rt=(0,M.WQX)(ti);return Fe.scrollOffset&&Re.setOffset(Fe.scrollOffset),new Kl(rt,Ue,Re,He,Fe)}},Ue?.preloadingStrategy?jc(Ue.preloadingStrategy).\u0275providers:[],Ue?.initialNavigation?Ih(Ue):[],Ue?.bindToComponentInputs?Zr(8,[Ir,{provide:ma,useExisting:Ir}]).\u0275providers:[],Ue?.enableViewTransitions?bc().\u0275providers:[],[{provide:vc,useFactory:Fo},{provide:M.iLQ,multi:!0,useExisting:vc}]]}}static forChild(Fe){return{ngModule:Re,providers:[{provide:ut,multi:!0,useValue:Fe}]}}static#e=this.\u0275fac=function(Ue){return new(Ue||Re)(M.KVO(ss,8))};static#t=this.\u0275mod=M.$C({type:Re});static#i=this.\u0275inj=M.G2t({})}return Re})();function cd(Re){return"guarded"}function Ih(Re){return["disabled"===Re.initialNavigation?Zr(3,[{provide:M.hnV,multi:!0,useFactory:()=>{const He=(0,M.WQX)(jn);return()=>{He.setUpLocationChangeListener()}}},{provide:Xa,useValue:2}]).\u0275providers:[],"enabledBlocking"===Re.initialNavigation?Zr(2,[{provide:Xa,useValue:0},{provide:M.hnV,multi:!0,deps:[M.zZn],useFactory:He=>{const Fe=He.get(g.hj,Promise.resolve());return()=>Fe.then(()=>new Promise(Ue=>{const rt=He.get(jn),gt=He.get(mc);ks(rt,()=>{Ue(!0)}),He.get(ys).afterPreactivation=()=>(Ue(!0),gt.closed?(0,Le.of)(void 0):gt),rt.initialNavigation()}))}}]).\u0275providers:[]]}const vc=new M.nKC("")},88652:(ri,Bt,We)=>{"use strict";We.d(Bt,{$G:()=>ut,tg:()=>oa,U0:()=>Nr,do:()=>Sa,Bq:()=>eh,UN:()=>Md,ZM:()=>du});var M=We(54438),V=(We(89079),We(71985)),Le=We(983),q=We(7673),ne=We(21413),re=We(33726),ve=We(41584),le=We(58750);const{isArray:pe}=Array;function ue(me){return 1===me.length&&pe(me[0])?me[0]:me}var J=We(54360);function te(...me){return 1===(me=ue(me)).length?(0,le.Tg)(me[0]):new V.c(function X(me){return je=>{let ae=[];for(let Ce=0;ae&&!je.closed&&Ce{if(ae){for(let it=0;it{let Ne=ae.map(()=>[]),it=ae.map(()=>!1);Ce.add(()=>{Ne=it=null});for(let ft=0;!Ce.closed&&ft{if(Ne[ft].push(Vt),Ne.every(Ut=>Ut.length)){const Ut=Ne.map(ei=>ei.shift());Ce.next(je?je(...Ut):Ut),Ne.some((ei,ii)=>!ei.length&&it[ii])&&Ce.complete()}},()=>{it[ft]=!0,!Ne[ft].length&&Ce.complete()}));return()=>{Ne=it=null}}):Le.w}var P=We(28793),A=We(56977),I=We(5964),_=We(96697),m=We(88141),w=We(96354),G=We(39974),O=We(33669),f=We(85343);function a(...me){const je=(0,j.ms)(me);return(0,G.N)((ae,Ce)=>{const Ne=me.length,it=new Array(Ne);let ft=me.map(()=>!1),Vt=!1;for(let Ut=0;Ut{it[Ut]=ei,!Vt&&!ft[Ut]&&(ft[Ut]=!0,(Vt=ft.every(O.D))&&(ft=null))},f.l));ae.subscribe((0,J._)(Ce,Ut=>{if(Vt){const ei=[Ut,...it];Ce.next(je?je(...ei):ei)}}))})}var g=We(91986),v=We(73028),o=We(25558);We(99172),We(23294);var d=We(60177),k=(We(89417),{left:"right",right:"left",bottom:"top",top:"bottom"});function p(me){return me.replace(/left|right|bottom|top/g,function(je){return k[je]})}function T(me){return me.split("-")[0]}var B={start:"end",end:"start"};function z(me){return me.replace(/start|end/g,function(je){return B[je]})}var K="top",U="bottom",se="right",S="left",$="auto",H=[K,U,se,S],x="start",N="end",Z="viewport",Y="popper",ge=H.reduce(function(me,je){return me.concat([je+"-"+x,je+"-"+N])},[]),_e=[].concat(H,[$]).reduce(function(me,je){return me.concat([je,je+"-"+x,je+"-"+N])},[]),we=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Ee(me){if(null==me)return window;if("[object Window]"!==me.toString()){var je=me.ownerDocument;return je&&je.defaultView||window}return me}function Me(me){return me instanceof Ee(me).Element||me instanceof Element}function Xe(me){return me instanceof Ee(me).HTMLElement||me instanceof HTMLElement}function Je(me){return!(typeof ShadowRoot>"u")&&(me instanceof Ee(me).ShadowRoot||me instanceof ShadowRoot)}function lt(me){return((Me(me)?me.ownerDocument:me.document)||window.document).documentElement}var qe=Math.max,st=Math.min,Tt=Math.round;function pt(){var me=navigator.userAgentData;return null!=me&&me.brands&&Array.isArray(me.brands)?me.brands.map(function(je){return je.brand+"/"+je.version}).join(" "):navigator.userAgent}function ht(){return!/^((?!chrome|android).)*safari/i.test(pt())}function Pt(me,je,ae){void 0===je&&(je=!1),void 0===ae&&(ae=!1);var Ce=me.getBoundingClientRect(),Ne=1,it=1;je&&Xe(me)&&(Ne=me.offsetWidth>0&&Tt(Ce.width)/me.offsetWidth||1,it=me.offsetHeight>0&&Tt(Ce.height)/me.offsetHeight||1);var Vt=(Me(me)?Ee(me):window).visualViewport,Ut=!ht()&&ae,ei=(Ce.left+(Ut&&Vt?Vt.offsetLeft:0))/Ne,ii=(Ce.top+(Ut&&Vt?Vt.offsetTop:0))/it,wi=Ce.width/Ne,Ci=Ce.height/it;return{width:wi,height:Ci,top:ii,right:ei+wi,bottom:ii+Ci,left:ei,x:ei,y:ii}}function Gt(me){var je=Ee(me);return{scrollLeft:je.pageXOffset,scrollTop:je.pageYOffset}}function ti(me){return Pt(lt(me)).left+Gt(me).scrollLeft}function It(me){return Ee(me).getComputedStyle(me)}function wt(me){return me?(me.nodeName||"").toLowerCase():null}function Qt(me){return"html"===wt(me)?me:me.assignedSlot||me.parentNode||(Je(me)?me.host:null)||lt(me)}function di(me){var je=It(me);return/auto|scroll|overlay|hidden/.test(je.overflow+je.overflowY+je.overflowX)}function Ni(me){return["html","body","#document"].indexOf(wt(me))>=0?me.ownerDocument.body:Xe(me)&&di(me)?me:Ni(Qt(me))}function mi(me,je){var ae;void 0===je&&(je=[]);var Ce=Ni(me),Ne=Ce===(null==(ae=me.ownerDocument)?void 0:ae.body),it=Ee(Ce),ft=Ne?[it].concat(it.visualViewport||[],di(Ce)?Ce:[]):Ce,Vt=je.concat(ft);return Ne?Vt:Vt.concat(mi(Qt(ft)))}function vi(me){return["table","td","th"].indexOf(wt(me))>=0}function zi(me){return Xe(me)&&"fixed"!==It(me).position?me.offsetParent:null}function Fn(me){for(var je=Ee(me),ae=zi(me);ae&&vi(ae)&&"static"===It(ae).position;)ae=zi(ae);return ae&&("html"===wt(ae)||"body"===wt(ae)&&"static"===It(ae).position)?je:ae||function gs(me){var je=/firefox/i.test(pt());if(/Trident/i.test(pt())&&Xe(me)&&"fixed"===It(me).position)return null;var Ne=Qt(me);for(Je(Ne)&&(Ne=Ne.host);Xe(Ne)&&["html","body"].indexOf(wt(Ne))<0;){var it=It(Ne);if("none"!==it.transform||"none"!==it.perspective||"paint"===it.contain||-1!==["transform","perspective"].indexOf(it.willChange)||je&&"filter"===it.willChange||je&&it.filter&&"none"!==it.filter)return Ne;Ne=Ne.parentNode}return null}(me)||je}function as(me,je){var ae=je.getRootNode&&je.getRootNode();if(me.contains(je))return!0;if(ae&&Je(ae)){var Ce=je;do{if(Ce&&me.isSameNode(Ce))return!0;Ce=Ce.parentNode||Ce.host}while(Ce)}return!1}function ms(me){return Object.assign({},me,{left:me.x,top:me.y,right:me.x+me.width,bottom:me.y+me.height})}function fn(me,je,ae){return je===Z?ms(function Dt(me,je){var ae=Ee(me),Ce=lt(me),Ne=ae.visualViewport,it=Ce.clientWidth,ft=Ce.clientHeight,Vt=0,Ut=0;if(Ne){it=Ne.width,ft=Ne.height;var ei=ht();(ei||!ei&&"fixed"===je)&&(Vt=Ne.offsetLeft,Ut=Ne.offsetTop)}return{width:it,height:ft,x:Vt+ti(me),y:Ut}}(me,ae)):Me(je)?function Ln(me,je){var ae=Pt(me,!1,"fixed"===je);return ae.top=ae.top+me.clientTop,ae.left=ae.left+me.clientLeft,ae.bottom=ae.top+me.clientHeight,ae.right=ae.left+me.clientWidth,ae.width=me.clientWidth,ae.height=me.clientHeight,ae.x=ae.left,ae.y=ae.top,ae}(je,ae):ms(function xt(me){var je,ae=lt(me),Ce=Gt(me),Ne=null==(je=me.ownerDocument)?void 0:je.body,it=qe(ae.scrollWidth,ae.clientWidth,Ne?Ne.scrollWidth:0,Ne?Ne.clientWidth:0),ft=qe(ae.scrollHeight,ae.clientHeight,Ne?Ne.scrollHeight:0,Ne?Ne.clientHeight:0),Vt=-Ce.scrollLeft+ti(me),Ut=-Ce.scrollTop;return"rtl"===It(Ne||ae).direction&&(Vt+=qe(ae.clientWidth,Ne?Ne.clientWidth:0)-it),{width:it,height:ft,x:Vt,y:Ut}}(lt(me)))}function Kn(me){return me.split("-")[1]}function In(me){return["top","bottom"].indexOf(me)>=0?"x":"y"}function Bs(me){var Ut,je=me.reference,ae=me.element,Ce=me.placement,Ne=Ce?T(Ce):null,it=Ce?Kn(Ce):null,ft=je.x+je.width/2-ae.width/2,Vt=je.y+je.height/2-ae.height/2;switch(Ne){case K:Ut={x:ft,y:je.y-ae.height};break;case U:Ut={x:ft,y:je.y+je.height};break;case se:Ut={x:je.x+je.width,y:Vt};break;case S:Ut={x:je.x-ae.width,y:Vt};break;default:Ut={x:je.x,y:je.y}}var ei=Ne?In(Ne):null;if(null!=ei){var ii="y"===ei?"height":"width";switch(it){case x:Ut[ei]=Ut[ei]-(je[ii]/2-ae[ii]/2);break;case N:Ut[ei]=Ut[ei]+(je[ii]/2-ae[ii]/2)}}return Ut}function Wi(me){return Object.assign({},{top:0,right:0,bottom:0,left:0},me)}function js(me,je){return je.reduce(function(ae,Ce){return ae[Ce]=me,ae},{})}function On(me,je){void 0===je&&(je={});var Ce=je.placement,Ne=void 0===Ce?me.placement:Ce,it=je.strategy,ft=void 0===it?me.strategy:it,Vt=je.boundary,Ut=void 0===Vt?"clippingParents":Vt,ei=je.rootBoundary,ii=void 0===ei?Z:ei,wi=je.elementContext,Ci=void 0===wi?Y:wi,Ai=je.altBoundary,Sn=void 0!==Ai&&Ai,an=je.padding,kn=void 0===an?0:an,Vn=Wi("number"!=typeof kn?kn:js(kn,H)),Ls=me.rects.popper,zn=me.elements[Sn?Ci===Y?"reference":Y:Ci],ts=function Cs(me,je,ae,Ce){var Ne="clippingParents"===je?function ki(me){var je=mi(Qt(me)),Ce=["absolute","fixed"].indexOf(It(me).position)>=0&&Xe(me)?Fn(me):me;return Me(Ce)?je.filter(function(Ne){return Me(Ne)&&as(Ne,Ce)&&"body"!==wt(Ne)}):[]}(me):[].concat(je),it=[].concat(Ne,[ae]),Vt=it.reduce(function(Ut,ei){var ii=fn(me,ei,Ce);return Ut.top=qe(ii.top,Ut.top),Ut.right=st(ii.right,Ut.right),Ut.bottom=st(ii.bottom,Ut.bottom),Ut.left=qe(ii.left,Ut.left),Ut},fn(me,it[0],Ce));return Vt.width=Vt.right-Vt.left,Vt.height=Vt.bottom-Vt.top,Vt.x=Vt.left,Vt.y=Vt.top,Vt}(Me(zn)?zn:zn.contextElement||lt(me.elements.popper),Ut,ii,ft),rs=Pt(me.elements.reference),Ps=Bs({reference:rs,element:Ls,strategy:"absolute",placement:Ne}),Rs=ms(Object.assign({},Ls,Ps)),Dr=Ci===Y?Rs:rs,Ws={top:ts.top-Dr.top+Vn.top,bottom:Dr.bottom-ts.bottom+Vn.bottom,left:ts.left-Dr.left+Vn.left,right:Dr.right-ts.right+Vn.right},jr=me.modifiersData.offset;if(Ci===Y&&jr){var zo=jr[Ne];Object.keys(Ws).forEach(function(Vr){var ye=[se,U].indexOf(Vr)>=0?1:-1,et=[K,U].indexOf(Vr)>=0?"y":"x";Ws[Vr]+=zo[et]*ye})}return Ws}const Cr={name:"flip",enabled:!0,phase:"main",fn:function Wr(me){var je=me.state,ae=me.options,Ce=me.name;if(!je.modifiersData[Ce]._skip){for(var Ne=ae.mainAxis,it=void 0===Ne||Ne,ft=ae.altAxis,Vt=void 0===ft||ft,Ut=ae.fallbackPlacements,ei=ae.padding,ii=ae.boundary,wi=ae.rootBoundary,Ci=ae.altBoundary,Ai=ae.flipVariations,Sn=void 0===Ai||Ai,an=ae.allowedAutoPlacements,kn=je.options.placement,Vn=T(kn),Ls=Ut||(Vn!==kn&&Sn?function To(me){if(T(me)===$)return[];var je=p(me);return[z(me),je,z(je)]}(kn):[p(kn)]),zn=[kn].concat(Ls).reduce(function(oi,Li){return oi.concat(T(Li)===$?function ar(me,je){void 0===je&&(je={});var Ne=je.boundary,it=je.rootBoundary,ft=je.padding,Vt=je.flipVariations,Ut=je.allowedAutoPlacements,ei=void 0===Ut?_e:Ut,ii=Kn(je.placement),wi=ii?Vt?ge:ge.filter(function(Sn){return Kn(Sn)===ii}):H,Ci=wi.filter(function(Sn){return ei.indexOf(Sn)>=0});0===Ci.length&&(Ci=wi);var Ai=Ci.reduce(function(Sn,an){return Sn[an]=On(me,{placement:an,boundary:Ne,rootBoundary:it,padding:ft})[T(an)],Sn},{});return Object.keys(Ai).sort(function(Sn,an){return Ai[Sn]-Ai[an]})}(je,{placement:Li,boundary:ii,rootBoundary:wi,padding:ei,flipVariations:Sn,allowedAutoPlacements:an}):Li)},[]),ts=je.rects.reference,rs=je.rects.popper,Ps=new Map,Rs=!0,Dr=zn[0],Ws=0;Ws=0,et=ye?"width":"height",u=On(je,{placement:jr,boundary:ii,rootBoundary:wi,altBoundary:Ci,padding:ei}),ie=ye?Vr?se:S:Vr?U:K;ts[et]>rs[et]&&(ie=p(ie));var de=p(ie),Ae=[];if(it&&Ae.push(u[zo]<=0),Vt&&Ae.push(u[ie]<=0,u[de]<=0),Ae.every(function(oi){return oi})){Dr=jr,Rs=!1;break}Ps.set(jr,Ae)}if(Rs)for(var kt=function(Li){var Yi=zn.find(function(Xi){var Ji=Ps.get(Xi);if(Ji)return Ji.slice(0,Li).every(function(_n){return _n})});if(Yi)return Dr=Yi,"break"},zt=Sn?3:1;zt>0&&"break"!==kt(zt);zt--);je.placement!==Dr&&(je.modifiersData[Ce]._skip=!0,je.placement=Dr,je.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Rt(me,je,ae){return qe(me,st(je,ae))}function mt(me){var je=Pt(me),ae=me.offsetWidth,Ce=me.offsetHeight;return Math.abs(je.width-ae)<=1&&(ae=je.width),Math.abs(je.height-Ce)<=1&&(Ce=je.height),{x:me.offsetLeft,y:me.offsetTop,width:ae,height:Ce}}const $e={name:"preventOverflow",enabled:!0,phase:"main",fn:function _t(me){var je=me.state,ae=me.options,Ce=me.name,Ne=ae.mainAxis,it=void 0===Ne||Ne,ft=ae.altAxis,Vt=void 0!==ft&&ft,Ci=ae.tether,Ai=void 0===Ci||Ci,Sn=ae.tetherOffset,an=void 0===Sn?0:Sn,kn=On(je,{boundary:ae.boundary,rootBoundary:ae.rootBoundary,padding:ae.padding,altBoundary:ae.altBoundary}),Vn=T(je.placement),$n=Kn(je.placement),Ls=!$n,zn=In(Vn),ts=function St(me){return"x"===me?"y":"x"}(zn),rs=je.modifiersData.popperOffsets,Ps=je.rects.reference,Rs=je.rects.popper,Dr="function"==typeof an?an(Object.assign({},je.rects,{placement:je.placement})):an,Ws="number"==typeof Dr?{mainAxis:Dr,altAxis:Dr}:Object.assign({mainAxis:0,altAxis:0},Dr),jr=je.modifiersData.offset?je.modifiersData.offset[je.placement]:null,zo={x:0,y:0};if(rs){if(it){var Vr,ye="y"===zn?K:S,et="y"===zn?U:se,u="y"===zn?"height":"width",ie=rs[zn],de=ie+kn[ye],Ae=ie-kn[et],nt=Ai?-Rs[u]/2:0,kt=$n===x?Ps[u]:Rs[u],zt=$n===x?-Rs[u]:-Ps[u],ai=je.elements.arrow,oi=Ai&&ai?mt(ai):{width:0,height:0},Li=je.modifiersData["arrow#persistent"]?je.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Yi=Li[ye],Xi=Li[et],Ji=Rt(0,Ps[u],oi[u]),_n=Ls?Ps[u]/2-nt-Ji-Yi-Ws.mainAxis:kt-Ji-Yi-Ws.mainAxis,en=Ls?-Ps[u]/2+nt+Ji+Xi+Ws.mainAxis:zt+Ji+Xi+Ws.mainAxis,Jn=je.elements.arrow&&Fn(je.elements.arrow),Ms=Jn?"y"===zn?Jn.clientTop||0:Jn.clientLeft||0:0,Zs=null!=(Vr=jr?.[zn])?Vr:0,ho=ie+en-Zs,sr=Rt(Ai?st(de,ie+_n-Zs-Ms):de,ie,Ai?qe(Ae,ho):Ae);rs[zn]=sr,zo[zn]=sr-ie}if(Vt){var Mc,Ea=rs[ts],kp="y"===ts?"height":"width",$f=Ea+kn["x"===zn?K:S],Xf=Ea-kn["x"===zn?U:se],Dp=-1!==[K,S].indexOf(Vn),Dl=null!=(Mc=jr?.[ts])?Mc:0,tc=Dp?$f:Ea-Ps[kp]-Rs[kp]-Dl+Ws.altAxis,Yf=Dp?Ea+Ps[kp]+Rs[kp]-Dl-Ws.altAxis:Xf,Kf=Ai&&Dp?function Nt(me,je,ae){var Ce=Rt(me,je,ae);return Ce>ae?ae:Ce}(tc,Ea,Yf):Rt(Ai?tc:$f,Ea,Ai?Yf:Xf);rs[ts]=Kf,zo[ts]=Kf-Ea}je.modifiersData[Ce]=zo}},requiresIfExists:["offset"]},si={name:"arrow",enabled:!0,phase:"main",fn:function At(me){var je,ae=me.state,Ce=me.name,Ne=me.options,it=ae.elements.arrow,ft=ae.modifiersData.popperOffsets,Vt=T(ae.placement),Ut=In(Vt),ii=[S,se].indexOf(Vt)>=0?"height":"width";if(it&&ft){var wi=function(je,ae){return Wi("number"!=typeof(je="function"==typeof je?je(Object.assign({},ae.rects,{placement:ae.placement})):je)?je:js(je,H))}(Ne.padding,ae),Ci=mt(it),Ai="y"===Ut?K:S,Sn="y"===Ut?U:se,an=ae.rects.reference[ii]+ae.rects.reference[Ut]-ft[Ut]-ae.rects.popper[ii],kn=ft[Ut]-ae.rects.reference[Ut],Vn=Fn(it),$n=Vn?"y"===Ut?Vn.clientHeight||0:Vn.clientWidth||0:0,rs=$n/2-Ci[ii]/2+(an/2-kn/2),Ps=Rt(wi[Ai],rs,$n-Ci[ii]-wi[Sn]);ae.modifiersData[Ce]=((je={})[Ut]=Ps,je.centerOffset=Ps-rs,je)}},effect:function $t(me){var je=me.state,Ce=me.options.element,Ne=void 0===Ce?"[data-popper-arrow]":Ce;null!=Ne&&("string"==typeof Ne&&!(Ne=je.elements.popper.querySelector(Ne))||as(je.elements.popper,Ne)&&(je.elements.arrow=Ne))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ls(me,je,ae){void 0===ae&&(ae=!1);var Ce=Xe(je),Ne=Xe(je)&&function Ki(me){var je=me.getBoundingClientRect(),ae=Tt(je.width)/me.offsetWidth||1,Ce=Tt(je.height)/me.offsetHeight||1;return 1!==ae||1!==Ce}(je),it=lt(je),ft=Pt(me,Ne,ae),Vt={scrollLeft:0,scrollTop:0},Ut={x:0,y:0};return(Ce||!Ce&&!ae)&&(("body"!==wt(je)||di(it))&&(Vt=function qi(me){return me!==Ee(me)&&Xe(me)?function Di(me){return{scrollLeft:me.scrollLeft,scrollTop:me.scrollTop}}(me):Gt(me)}(je)),Xe(je)?((Ut=Pt(je,!0)).x+=je.clientLeft,Ut.y+=je.clientTop):it&&(Ut.x=ti(it))),{x:ft.left+Vt.scrollLeft-Ut.x,y:ft.top+Vt.scrollTop-Ut.y,width:ft.width,height:ft.height}}function Hn(me){var je=new Map,ae=new Set,Ce=[];function Ne(it){ae.add(it.name),[].concat(it.requires||[],it.requiresIfExists||[]).forEach(function(Vt){if(!ae.has(Vt)){var Ut=je.get(Vt);Ut&&Ne(Ut)}}),Ce.push(it)}return me.forEach(function(it){je.set(it.name,it)}),me.forEach(function(it){ae.has(it.name)||Ne(it)}),Ce}function gn(me){var je;return function(){return je||(je=new Promise(function(ae){Promise.resolve().then(function(){je=void 0,ae(me())})})),je}}var sn={placement:"bottom",modifiers:[],strategy:"absolute"};function Bn(){for(var me=arguments.length,je=new Array(me),ae=0;ae=0?-1:1,it="function"==typeof ae?ae(Object.assign({},je,{placement:me})):ae,ft=it[0],Vt=it[1];return ft=ft||0,Vt=(Vt||0)*Ne,[S,se].indexOf(Ce)>=0?{x:Vt,y:ft}:{x:ft,y:Vt}}(wi,je.rects,it),ii},{}),Vt=ft[je.placement],ei=Vt.y;null!=je.modifiersData.popperOffsets&&(je.modifiersData.popperOffsets.x+=Vt.x,je.modifiersData.popperOffsets.y+=ei),je.modifiersData[Ce]=ft}},Jr=["*"],Js=["dialog"];function lc(me,je){if(1&me&&M.EFF(0),2&me){const ae=M.XpG(2);M.JRh(ae.title)}}function cc(me,je){}function al(me,je){if(1&me&&(M.j41(0,"h3",2),M.DNE(1,lc,1,1,"ng-template",null,0,M.C5r)(3,cc,0,0,"ng-template",4),M.k0s()),2&me){const ae=M.sdS(2),Ce=M.XpG();M.R7$(3),M.Y8G("ngTemplateOutlet",Ce.isTitleTemplate()?Ce.title:ae)("ngTemplateOutletContext",Ce.context)}}const Rc={animation:!0,transitionTimerDelayMs:5};let Lo=(()=>{class me{constructor(){this.animation=Rc.animation}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})();function ea(me){return"string"==typeof me}function ta(me){return null!=me}function ia(me){return(me||document.body).getBoundingClientRect()}function Wl(me=document){const je=me?.activeElement;return je?je.shadowRoot?Wl(je.shadowRoot):je:null}const Ca=()=>{},{transitionTimerDelayMs:Mh}=Rc,dl=new Map,Yr=(me,je,ae,Ce)=>{let Ne=Ce.context||{};const it=dl.get(je);if(it)switch(Ce.runningTransition){case"continue":return Le.w;case"stop":me.run(()=>it.transition$.complete()),Ne=Object.assign(it.context,Ne),dl.delete(je)}const ft=ae(je,Ce.animation,Ne)||Ca;if(!Ce.animation||"none"===window.getComputedStyle(je).transitionProperty)return me.run(()=>ft()),(0,q.of)(void 0).pipe(function kh(me){return je=>new V.c(ae=>je.subscribe({next:ft=>me.run(()=>ae.next(ft)),error:ft=>me.run(()=>ae.error(ft)),complete:()=>me.run(()=>ae.complete())}))}(me));const Vt=new ne.B,Ut=new ne.B,ei=Vt.pipe(function D(...me){return je=>(0,P.x)(je,(0,q.of)(...me))}(!0));dl.set(je,{transition$:Vt,complete:()=>{Ut.next(),Ut.complete()},context:Ne});const ii=function Ul(me){const{transitionDelay:je,transitionDuration:ae}=window.getComputedStyle(me);return 1e3*(parseFloat(je)+parseFloat(ae))}(je);return me.runOutsideAngular(()=>{const wi=(0,re.R)(je,"transitionend").pipe((0,A.Q)(ei),(0,I.p)(({target:Ai})=>Ai===je));te((0,ve.O)(ii+Mh).pipe((0,A.Q)(ei)),wi,Ut).pipe((0,A.Q)(ei)).subscribe(()=>{dl.delete(je),me.run(()=>{ft(),Vt.next(),Vt.complete()})})}),Vt.asObservable()},fc=(me,je,ae)=>{let{direction:Ce,maxSize:Ne,dimension:it}=ae;const{classList:ft}=me;function Vt(){ft.add("collapse"),"show"===Ce?ft.add("show"):ft.remove("show")}if(je)return Ne||(Ne=function $l(me,je){if(typeof navigator>"u")return"0px";const{classList:ae}=me,Ce=ae.contains("show");Ce||ae.add("show"),me.style[je]="";const Ne=me.getBoundingClientRect()[je]+"px";return Ce||ae.remove("show"),Ne}(me,it),ae.maxSize=Ne,me.style[it]="show"!==Ce?Ne:"0px",ft.remove("collapse"),ft.remove("collapsing"),ft.remove("show"),ia(me),ft.add("collapsing")),me.style[it]="show"===Ce?Ne:"0px",()=>{Vt(),ft.remove("collapsing"),me.style[it]=""};Vt()};let Ge=(()=>{class me{constructor(){this._ngbConfig=(0,M.WQX)(Lo),this.horizontal=!1}get animation(){return this._animation??this._ngbConfig.animation}set animation(ae){this._animation=ae}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),ut=(()=>{class me{constructor(){this._config=(0,M.WQX)(Ge),this._element=(0,M.WQX)(M.aKT),this._zone=(0,M.WQX)(M.SKi),this.animation=this._config.animation,this._afterInit=!1,this._isCollapsed=!1,this.ngbCollapseChange=new M.bkB,this.horizontal=this._config.horizontal,this.shown=new M.bkB,this.hidden=new M.bkB}set collapsed(ae){this._isCollapsed!==ae&&(this._isCollapsed=ae,this._afterInit&&this._runTransitionWithEvents(ae,this.animation))}ngOnInit(){this._runTransition(this._isCollapsed,!1),this._afterInit=!0}toggle(ae=this._isCollapsed){this.collapsed=!ae,this.ngbCollapseChange.next(this._isCollapsed)}_runTransition(ae,Ce){return Yr(this._zone,this._element.nativeElement,fc,{animation:Ce,runningTransition:"stop",context:{direction:ae?"hide":"show",dimension:this.horizontal?"width":"height"}})}_runTransitionWithEvents(ae,Ce){this._runTransition(ae,Ce).subscribe(()=>{ae?this.hidden.emit():this.shown.emit()})}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbCollapse",""]],hostVars:2,hostBindings:function(Ce,Ne){2&Ce&&M.AVh("collapse-horizontal",Ne.horizontal)},inputs:{animation:"animation",collapsed:[M.Mj6.None,"ngbCollapse","collapsed"],horizontal:"horizontal"},outputs:{ngbCollapseChange:"ngbCollapseChange",shown:"shown",hidden:"hidden"},exportAs:["ngbCollapse"],standalone:!0})}return me})(),xn=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Lr=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),No=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Xl=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})();var ss=function(me){return me[me.Tab=9]="Tab",me[me.Enter=13]="Enter",me[me.Escape=27]="Escape",me[me.Space=32]="Space",me[me.PageUp=33]="PageUp",me[me.PageDown=34]="PageDown",me[me.End=35]="End",me[me.Home=36]="Home",me[me.ArrowLeft=37]="ArrowLeft",me[me.ArrowUp=38]="ArrowUp",me[me.ArrowRight=39]="ArrowRight",me[me.ArrowDown=40]="ArrowDown",me}(ss||{});const vc=(me,je)=>!!je&&je.some(ae=>ae.contains(me)),hd=(me,je)=>!je||null!=function _a(me,je){return!je||typeof me.closest>"u"?null:me.closest(je)}(me,je),$u=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function Oh(me,je,ae,Ce,Ne,it,ft,Vt){ae&&me.runOutsideAngular((me=>$u?()=>setTimeout(()=>me(),100):me)(()=>{const ei=(0,re.R)(je,"keydown").pipe((0,A.Q)(Ne),(0,I.p)(Ci=>Ci.which===ss.Escape),(0,m.M)(Ci=>Ci.preventDefault())),ii=(0,re.R)(je,"mousedown").pipe((0,w.T)(Ci=>{const Ai=Ci.target;return 2!==Ci.button&&!vc(Ai,ft)&&("inside"===ae?vc(Ai,it)&&hd(Ai,Vt):"outside"===ae?!vc(Ai,it):hd(Ai,Vt)||!vc(Ai,it))}),(0,A.Q)(Ne)),wi=(0,re.R)(je,"mouseup").pipe(a(ii),(0,I.p)(([Ci,Ai])=>Ai),(0,g.c)(0),(0,A.Q)(Ne));te([ei.pipe((0,w.T)(Ci=>0)),wi.pipe((0,w.T)(Ci=>1))]).subscribe(Ci=>me.run(()=>Ce(Ci)))}))}const Kd=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function Hc(me){const je=Array.from(me.querySelectorAll(Kd)).filter(ae=>-1!==ae.tabIndex);return[je[0],je[je.length-1]]}let Re=(()=>{class me{constructor(){this._element=(0,M.WQX)(d.qQ).documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})();const He=/\s+/,Fe=/ +/gi,Ue={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},gt=/^left/,Ot=/^right/,qt=/^start/,Xt=/^end/;function on({placement:me,baseClass:je},ae){let Ce=Array.isArray(me)?me:me.split(He),it=Ce.findIndex(ei=>"auto"===ei);it>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(ei){null==Ce.find(ii=>-1!==ii.search("^"+ei))&&Ce.splice(it++,1,ei)});const ft=Ce.map(ei=>function rt(me,je){const[ae,Ce]=Ue[me];return je&&Ce||ae}(ei,ae.isRTL()));return{placement:ft.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!je,phase:"write",fn({state:ei}){const ii=new RegExp(je+"(-[a-z]+)*","gi"),wi=ei.elements.popper,Ci=ei.placement;let Ai=wi.className;Ai=Ai.replace(ii,""),Ai+=` ${function Ei(me,je){let[ae,Ce]=je.split("-");const Ne=ae.replace(gt,"start").replace(Ot,"end");let it=[Ne];if(Ce){let ft=Ce;("left"===ae||"right"===ae)&&(ft=ft.replace(qt,"top").replace(Xt,"bottom")),it.push(`${Ne}-${ft}`)}return me&&(it=it.map(ft=>`${me}-${ft}`)),it.join(" ")}(je,Ci)}`,Ai=Ai.trim().replace(Fe," "),wi.className=Ai}},Cr,$e,si,{enabled:!0,name:"flip",options:{fallbackPlacements:ft}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function bn(me){return me}function Os(){const me=(0,M.WQX)(Re);let je=null;return{createPopper(ae){if(!je){let Ne=(ae.updatePopperOptions||bn)(on(ae,me));je=ha(ae.hostElement,ae.targetElement,Ne)}},update(){je&&je.update()},setOptions(ae){if(je){let Ne=(ae.updatePopperOptions||bn)(on(ae,me));je.setOptions(Ne)}},destroy(){je&&(je.destroy(),je=null)}}}function Ks(me){return je=>(je.modifiers.push(wr,{name:"offset",options:{offset:()=>me}}),je)}new Date(1882,10,12),new Date(2174,10,25);let ru=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Vh=(()=>{class me{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=ae=>ae,this.container=null}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),qc=(()=>{class me{constructor(){this._disabled=!1,this.nativeElement=(0,M.WQX)(M.aKT).nativeElement,this.tabindex=0}set disabled(ae){this._disabled=""===ae||!0===ae}get disabled(){return this._disabled}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(Ce,Ne){2&Ce&&(M.Mr5("tabIndex",Ne.disabled?-1:Ne.tabindex),M.AVh("disabled",Ne.disabled))},inputs:{tabindex:"tabindex",disabled:"disabled"},standalone:!0})}return me})(),Nr=(()=>{class me{constructor(){this.dropdown=(0,M.WQX)(oa),this.nativeElement=(0,M.WQX)(M.aKT).nativeElement}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(Ce,Ne,it){if(1&Ce&&M.wni(it,qc,4),2&Ce){let ft;M.mGM(ft=M.lsd())&&(Ne.menuItems=ft)}},hostVars:4,hostBindings:function(Ce,Ne){1&Ce&&M.bIt("keydown.ArrowUp",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.ArrowDown",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Home",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.End",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Enter",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Space",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Shift.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)}),2&Ce&&M.AVh("dropdown-menu",!0)("show",Ne.dropdown.isOpen())},standalone:!0})}return me})(),Zl=(()=>{class me{constructor(){this.dropdown=(0,M.WQX)(oa),this.nativeElement=(0,M.WQX)(M.aKT).nativeElement}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:3,hostBindings:function(Ce,Ne){2&Ce&&(M.BMQ("aria-expanded",Ne.dropdown.isOpen()),M.AVh("show",Ne.dropdown.isOpen()))},standalone:!0})}return me})(),Sa=(()=>{class me extends Zl{static#e=this.\u0275fac=(()=>{let ae;return function(Ne){return(ae||(ae=M.xGo(me)))(Ne||me)}})();static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:3,hostBindings:function(Ce,Ne){1&Ce&&M.bIt("click",function(){return Ne.dropdown.toggle()})("keydown.ArrowUp",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.ArrowDown",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Home",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.End",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)})("keydown.Shift.Tab",function(ft){return Ne.dropdown.onKeyDown(ft)}),2&Ce&&(M.BMQ("aria-expanded",Ne.dropdown.isOpen()),M.AVh("show",Ne.dropdown.isOpen()))},standalone:!0,features:[M.Jv_([{provide:Zl,useExisting:(0,M.Rfq)(()=>me)}]),M.Vt3]})}return me})(),oa=(()=>{class me{constructor(){this._changeDetector=(0,M.WQX)(M.gRc),this._config=(0,M.WQX)(Vh),this._document=(0,M.WQX)(d.qQ),this._ngZone=(0,M.WQX)(M.SKi),this._nativeElement=(0,M.WQX)(M.aKT).nativeElement,this._destroyCloseHandlers$=new ne.B,this._bodyContainer=null,this._positioning=Os(),this.autoClose=this._config.autoClose,this._open=!1,this.placement=this._config.placement,this.popperOptions=this._config.popperOptions,this.container=this._config.container,this.openChange=new M.bkB}ngOnInit(){this.display||(this.display=this._nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe((0,_.s)(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(ae){if(ae.container&&this._open&&this._applyContainer(this.container),ae.placement&&!ae.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),ae.dropdownClass){const{currentValue:Ce,previousValue:Ne}=ae.dropdownClass;this._applyCustomDropdownClass(Ce,Ne)}ae.autoClose&&this._open&&(this.autoClose=ae.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:ae=>this.popperOptions(Ks([0,2])(ae))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),Oh(this._ngZone,this._document,this.autoClose,ae=>{this.close(),0===ae&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(ae){const Ce=ae.which,Ne=this._getMenuElements();let it=-1,ft=null;const Vt=this._isEventFromToggle(ae);if(!Vt&&Ne.length&&Ne.forEach((Ut,ei)=>{Ut.contains(ae.target)&&(ft=Ut),Ut===Wl(this._document)&&(it=ei)}),Ce!==ss.Space&&Ce!==ss.Enter){if(Ce!==ss.Tab){if(Vt||ft){if(this.open(),Ne.length){switch(Ce){case ss.ArrowDown:it=Math.min(it+1,Ne.length-1);break;case ss.ArrowUp:if(this._isDropup()&&-1===it){it=Ne.length-1;break}it=Math.max(it-1,0);break;case ss.Home:it=0;break;case ss.End:it=Ne.length-1}Ne[it].focus()}ae.preventDefault()}}else if(ae.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===ae.target)return void("body"!==this.container||ae.shiftKey?ae.shiftKey&&this.close():(this._menu.nativeElement.setAttribute("tabindex","0"),this._menu.nativeElement.focus(),this._menu.nativeElement.removeAttribute("tabindex")));if("body"===this.container){const Ut=this._menu.nativeElement.querySelectorAll(Kd);ae.shiftKey&&ae.target===Ut[0]?(this._anchor.nativeElement.focus(),ae.preventDefault()):!ae.shiftKey&&ae.target===Ut[Ut.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else(0,re.R)(ae.target,"focusout").pipe((0,_.s)(1)).subscribe(({relatedTarget:Ut})=>{this._nativeElement.contains(Ut)||this.close()})}}else ft&&(!0===this.autoClose||"inside"===this.autoClose)&&(0,re.R)(ft,"click").pipe((0,_.s)(1)).subscribe(()=>this.close())}_isDropup(){return this._nativeElement.classList.contains("dropup")}_isEventFromToggle(ae){return this._anchor.nativeElement.contains(ae.target)}_getMenuElements(){return this._menu?this._menu.menuItems.filter(({disabled:ae})=>!ae).map(({nativeElement:ae})=>ae):[]}_positionMenu(){const ae=this._menu;this.isOpen()&&ae&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(ae){return Array.isArray(ae)?ae[0]:ae.split(" ")[0]}_resetContainer(){this._menu&&this._nativeElement.appendChild(this._menu.nativeElement),this._bodyContainer&&(this._document.body.removeChild(this._bodyContainer),this._bodyContainer=null)}_applyContainer(ae=null){if(this._resetContainer(),"body"===ae){const Ce=this._menu.nativeElement,Ne=this._bodyContainer=this._bodyContainer||this._document.createElement("div");Ne.style.position="absolute",Ce.style.position="static",Ne.style.zIndex="1055",Ne.appendChild(Ce),this._document.body.appendChild(Ne)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(ae,Ce){const Ne="body"===this.container?this._bodyContainer:this._nativeElement;Ne&&(Ce&&Ne.classList.remove(Ce),ae&&Ne.classList.add(ae))}_applyPlacementClasses(ae){if(this._menu){ae||(ae=this._getFirstPlacement(this.placement)),this._nativeElement.classList.remove("dropup","dropdown"),"static"===this.display?this._menu.nativeElement.setAttribute("data-bs-popper","static"):this._menu.nativeElement.removeAttribute("data-bs-popper");const Ce=-1!==ae.search("^top")?"dropup":"dropdown";this._nativeElement.classList.add(Ce),this._bodyContainer&&(this._bodyContainer.classList.remove("dropup","dropdown"),this._bodyContainer.classList.add(Ce))}}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbDropdown",""]],contentQueries:function(Ce,Ne,it){if(1&Ce&&(M.wni(it,Nr,5),M.wni(it,Zl,5)),2&Ce){let ft;M.mGM(ft=M.lsd())&&(Ne._menu=ft.first),M.mGM(ft=M.lsd())&&(Ne._anchor=ft.first)}},hostVars:2,hostBindings:function(Ce,Ne){2&Ce&&M.AVh("show",Ne.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:[M.Mj6.None,"open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[M.OA$]})}return me})(),zh=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),ou=(()=>{class me{constructor(){this._ngbConfig=(0,M.WQX)(Lo),this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return this._animation??this._ngbConfig.animation}set animation(ae){this._animation=ae}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})();class Cl{constructor(je,ae,Ce){this.nodes=je,this.viewRef=ae,this.componentRef=Ce}}class lp{constructor(je){this._componentType=je,this._windowRef=null,this._contentRef=null,this._document=(0,M.WQX)(d.qQ),this._applicationRef=(0,M.WQX)(M.o8S),this._injector=(0,M.WQX)(M.zZn),this._viewContainerRef=(0,M.WQX)(M.c1b),this._ngZone=(0,M.WQX)(M.SKi)}open(je,ae,Ce=!1){this._windowRef||(this._contentRef=this._getContentRef(je,ae),this._windowRef=this._viewContainerRef.createComponent(this._componentType,{injector:this._injector,projectableNodes:this._contentRef.nodes}));const{nativeElement:Ne}=this._windowRef.location,it=this._ngZone.onStable.pipe((0,_.s)(1),(0,v.Z)(()=>Yr(this._ngZone,Ne,({classList:ft})=>ft.add("show"),{animation:Ce,runningTransition:"continue"})));return{windowRef:this._windowRef,transition$:it}}close(je=!1){return this._windowRef?Yr(this._ngZone,this._windowRef.location.nativeElement,({classList:ae})=>ae.remove("show"),{animation:je,runningTransition:"stop"}).pipe((0,m.M)(()=>{this._windowRef&&(this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView)),this._windowRef=null),this._contentRef?.viewRef&&(this._applicationRef.detachView(this._contentRef.viewRef),this._contentRef.viewRef.destroy(),this._contentRef=null)})):(0,q.of)(void 0)}_getContentRef(je,ae){if(je){if(je instanceof M.C4Q){const Ce=je.createEmbeddedView(ae);return this._applicationRef.attachView(Ce),new Cl([Ce.rootNodes],Ce)}return new Cl([[this._document.createTextNode(`${je}`)]])}return new Cl([])}}let Tc=(()=>{class me{constructor(){this._document=(0,M.WQX)(d.qQ)}hide(){const ae=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),Ce=this._document.body,Ne=Ce.style,{overflow:it,paddingRight:ft}=Ne;if(ae>0){const Vt=parseFloat(window.getComputedStyle(Ce).paddingRight);Ne.paddingRight=`${Vt+ae}px`}return Ne.overflow="hidden",()=>{ae>0&&(Ne.paddingRight=ft),Ne.overflow=it}}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),Qc=(()=>{class me{constructor(){this._nativeElement=(0,M.WQX)(M.aKT).nativeElement,this._zone=(0,M.WQX)(M.SKi)}ngOnInit(){this._zone.onStable.asObservable().pipe((0,_.s)(1)).subscribe(()=>{Yr(this._zone,this._nativeElement,(ae,Ce)=>{Ce&&ia(ae),ae.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return Yr(this._zone,this._nativeElement,({classList:ae})=>ae.remove("show"),{animation:this.animation,runningTransition:"stop"})}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275cmp=M.VBU({type:me,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(Ce,Ne){2&Ce&&(M.HbH("modal-backdrop"+(Ne.backdropClass?" "+Ne.backdropClass:"")),M.AVh("show",!Ne.animation)("fade",Ne.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[M.aNF],decls:0,vars:0,template:function(Ce,Ne){},encapsulation:2})}return me})();class Gh{update(je){}close(je){}dismiss(je){}}const Hh=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],Jc=["animation","backdropClass"];class au{_applyWindowOptions(je,ae){Hh.forEach(Ce=>{ta(ae[Ce])&&(je[Ce]=ae[Ce])})}_applyBackdropOptions(je,ae){Jc.forEach(Ce=>{ta(ae[Ce])&&(je[Ce]=ae[Ce])})}update(je){this._applyWindowOptions(this._windowCmptRef.instance,je),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,je)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe((0,A.Q)(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe((0,A.Q)(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(je,ae,Ce,Ne){this._windowCmptRef=je,this._contentRef=ae,this._backdropCmptRef=Ce,this._beforeDismiss=Ne,this._closed=new ne.B,this._dismissed=new ne.B,this._hidden=new ne.B,je.instance.dismissEvent.subscribe(it=>{this.dismiss(it)}),this.result=new Promise((it,ft)=>{this._resolve=it,this._reject=ft}),this.result.then(null,()=>{})}close(je){this._windowCmptRef&&(this._closed.next(je),this._resolve(je),this._removeModalElements())}_dismiss(je){this._dismissed.next(je),this._reject(je),this._removeModalElements()}dismiss(je){if(this._windowCmptRef)if(this._beforeDismiss){const ae=this._beforeDismiss();!function hl(me){return me&&me.then}(ae)?!1!==ae&&this._dismiss(je):ae.then(Ce=>{!1!==Ce&&this._dismiss(je)},()=>{})}else this._dismiss(je)}_removeModalElements(){const je=this._windowCmptRef.instance.hide(),ae=this._backdropCmptRef?this._backdropCmptRef.instance.hide():(0,q.of)(void 0);je.subscribe(()=>{const{nativeElement:Ce}=this._windowCmptRef.location;Ce.parentNode.removeChild(Ce),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),ae.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:Ce}=this._backdropCmptRef.location;Ce.parentNode.removeChild(Ce),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),F(je,ae).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Uh=function(me){return me[me.BACKDROP_CLICK=0]="BACKDROP_CLICK",me[me.ESC=1]="ESC",me}(Uh||{});let cp=(()=>{class me{constructor(){this._document=(0,M.WQX)(d.qQ),this._elRef=(0,M.WQX)(M.aKT),this._zone=(0,M.WQX)(M.SKi),this._closed$=new ne.B,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new M.bkB,this.shown=new ne.B,this.hidden=new ne.B}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":ea(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(ae){this.dismissEvent.emit(ae)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe((0,_.s)(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:ae}=this._elRef,Ce={animation:this.animation,runningTransition:"stop"},ft=F(Yr(this._zone,ae,()=>ae.classList.remove("show"),Ce),Yr(this._zone,this._dialogEl.nativeElement,()=>{},Ce));return ft.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),ft}_show(){const ae={animation:this.animation,runningTransition:"continue"};F(Yr(this._zone,this._elRef.nativeElement,(it,ft)=>{ft&&ia(it),it.classList.add("show")},ae),Yr(this._zone,this._dialogEl.nativeElement,()=>{},ae)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:ae}=this._elRef;this._zone.runOutsideAngular(()=>{(0,re.R)(ae,"keydown").pipe((0,A.Q)(this._closed$),(0,I.p)(Ne=>Ne.which===ss.Escape)).subscribe(Ne=>{this.keyboard?requestAnimationFrame(()=>{Ne.defaultPrevented||this._zone.run(()=>this.dismiss(Uh.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let Ce=!1;(0,re.R)(this._dialogEl.nativeElement,"mousedown").pipe((0,A.Q)(this._closed$),(0,m.M)(()=>Ce=!1),(0,o.n)(()=>(0,re.R)(ae,"mouseup").pipe((0,A.Q)(this._closed$),(0,_.s)(1))),(0,I.p)(({target:Ne})=>ae===Ne)).subscribe(()=>{Ce=!0}),(0,re.R)(ae,"click").pipe((0,A.Q)(this._closed$)).subscribe(({target:Ne})=>{ae===Ne&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!Ce&&this._zone.run(()=>this.dismiss(Uh.BACKDROP_CLICK))),Ce=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:ae}=this._elRef;if(!ae.contains(document.activeElement)){const Ce=ae.querySelector("[ngbAutofocus]"),Ne=Hc(ae)[0];(Ce||Ne||ae).focus()}}_restoreFocus(){const ae=this._document.body,Ce=this._elWithFocus;let Ne;Ne=Ce&&Ce.focus&&ae.contains(Ce)?Ce:ae,this._zone.runOutsideAngular(()=>{setTimeout(()=>Ne.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&Yr(this._zone,this._elRef.nativeElement,({classList:ae})=>(ae.add("modal-static"),()=>ae.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275cmp=M.VBU({type:me,selectors:[["ngb-modal-window"]],viewQuery:function(Ce,Ne){if(1&Ce&&M.GBs(Js,7),2&Ce){let it;M.mGM(it=M.lsd())&&(Ne._dialogEl=it.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(Ce,Ne){2&Ce&&(M.BMQ("aria-modal",!0)("aria-labelledby",Ne.ariaLabelledBy)("aria-describedby",Ne.ariaDescribedBy),M.HbH("modal d-block"+(Ne.windowClass?" "+Ne.windowClass:"")),M.AVh("fade",Ne.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[M.aNF],ngContentSelectors:Jr,decls:4,vars:2,consts:[["dialog",""],["role","document"],[1,"modal-content"]],template:function(Ce,Ne){1&Ce&&(M.NAR(),M.j41(0,"div",1,0)(2,"div",2),M.SdG(3),M.k0s()()),2&Ce&&M.HbH("modal-dialog"+(Ne.size?" modal-"+Ne.size:"")+(Ne.centered?" modal-dialog-centered":"")+Ne.fullscreenClass+(Ne.scrollable?" modal-dialog-scrollable":"")+(Ne.modalDialogClass?" "+Ne.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2})}return me})(),Sc=(()=>{class me{constructor(){this._applicationRef=(0,M.WQX)(M.o8S),this._injector=(0,M.WQX)(M.zZn),this._environmentInjector=(0,M.WQX)(M.uvJ),this._document=(0,M.WQX)(d.qQ),this._scrollBar=(0,M.WQX)(Tc),this._activeWindowCmptHasChanged=new ne.B,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new M.bkB;const ae=(0,M.WQX)(M.SKi);this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const Ce=this._windowCmpts[this._windowCmpts.length-1];((me,je,ae,Ce=!1)=>{me.runOutsideAngular(()=>{const Ne=(0,re.R)(je,"focusin").pipe((0,A.Q)(ae),(0,w.T)(it=>it.target));(0,re.R)(je,"keydown").pipe((0,A.Q)(ae),(0,I.p)(it=>it.which===ss.Tab),a(Ne)).subscribe(([it,ft])=>{const[Vt,Ut]=Hc(je);(ft===Vt||ft===je)&&it.shiftKey&&(Ut.focus(),it.preventDefault()),ft===Ut&&!it.shiftKey&&(Vt.focus(),it.preventDefault())}),Ce&&(0,re.R)(je,"click").pipe((0,A.Q)(ae),a(Ne),(0,w.T)(it=>it[1])).subscribe(it=>it.focus())})})(ae,Ce.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(Ce.location.nativeElement)}})}_restoreScrollBar(){const ae=this._scrollBarRestoreFn;ae&&(this._scrollBarRestoreFn=null,ae())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(ae,Ce,Ne){const it=Ne.container instanceof HTMLElement?Ne.container:ta(Ne.container)?this._document.querySelector(Ne.container):this._document.body;if(!it)throw new Error(`The specified modal container "${Ne.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const ft=new Gh,Vt=(ae=Ne.injector||ae).get(M.uvJ,null)||this._environmentInjector,Ut=this._getContentRef(ae,Vt,Ce,ft,Ne);let ei=!1!==Ne.backdrop?this._attachBackdrop(it):void 0,ii=this._attachWindowComponent(it,Ut.nodes),wi=new au(ii,Ut,ei,Ne.beforeDismiss);return this._registerModalRef(wi),this._registerWindowCmpt(ii),wi.hidden.pipe((0,_.s)(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(this._document.body.classList.remove("modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),ft.close=Ci=>{wi.close(Ci)},ft.dismiss=Ci=>{wi.dismiss(Ci)},ft.update=Ci=>{wi.update(Ci)},wi.update(Ne),1===this._modalRefs.length&&this._document.body.classList.add("modal-open"),ei&&ei.instance&&ei.changeDetectorRef.detectChanges(),ii.changeDetectorRef.detectChanges(),wi}get activeInstances(){return this._activeInstances}dismissAll(ae){this._modalRefs.forEach(Ce=>Ce.dismiss(ae))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(ae){let Ce=(0,M.a0P)(Qc,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(Ce.hostView),ae.appendChild(Ce.location.nativeElement),Ce}_attachWindowComponent(ae,Ce){let Ne=(0,M.a0P)(cp,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:Ce});return this._applicationRef.attachView(Ne.hostView),ae.appendChild(Ne.location.nativeElement),Ne}_getContentRef(ae,Ce,Ne,it,ft){return Ne?Ne instanceof M.C4Q?this._createFromTemplateRef(Ne,it):ea(Ne)?this._createFromString(Ne):this._createFromComponent(ae,Ce,Ne,it,ft):new Cl([])}_createFromTemplateRef(ae,Ce){const it=ae.createEmbeddedView({$implicit:Ce,close(ft){Ce.close(ft)},dismiss(ft){Ce.dismiss(ft)}});return this._applicationRef.attachView(it),new Cl([it.rootNodes],it)}_createFromString(ae){const Ce=this._document.createTextNode(`${ae}`);return new Cl([[Ce]])}_createFromComponent(ae,Ce,Ne,it,ft){const Vt=M.zZn.create({providers:[{provide:Gh,useValue:it}],parent:ae}),Ut=(0,M.a0P)(Ne,{environmentInjector:Ce,elementInjector:Vt}),ei=Ut.location.nativeElement;return ft.scrollable&&ei.classList.add("component-host-scrollable"),this._applicationRef.attachView(Ut.hostView),new Cl([[ei]],Ut.hostView,Ut)}_setAriaHidden(ae){const Ce=ae.parentElement;Ce&&ae!==this._document.body&&(Array.from(Ce.children).forEach(Ne=>{Ne!==ae&&"SCRIPT"!==Ne.nodeName&&(this._ariaHiddenValues.set(Ne,Ne.getAttribute("aria-hidden")),Ne.setAttribute("aria-hidden","true"))}),this._setAriaHidden(Ce))}_revertAriaHidden(){this._ariaHiddenValues.forEach((ae,Ce)=>{ae?Ce.setAttribute("aria-hidden",ae):Ce.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(ae){const Ce=()=>{const Ne=this._modalRefs.indexOf(ae);Ne>-1&&(this._modalRefs.splice(Ne,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(ae),this._activeInstances.emit(this._modalRefs),ae.result.then(Ce,Ce)}_registerWindowCmpt(ae){this._windowCmpts.push(ae),this._activeWindowCmptHasChanged.next(),ae.onDestroy(()=>{const Ce=this._windowCmpts.indexOf(ae);Ce>-1&&(this._windowCmpts.splice(Ce,1),this._activeWindowCmptHasChanged.next())})}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),eh=(()=>{class me{constructor(){this._injector=(0,M.WQX)(M.zZn),this._modalStack=(0,M.WQX)(Sc),this._config=(0,M.WQX)(ou)}open(ae,Ce={}){const Ne={...this._config,animation:this._config.animation,...Ce};return this._modalStack.open(this._injector,ae,Ne)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(ae){this._modalStack.dismissAll(ae)}hasOpenModals(){return this._modalStack.hasOpenModals()}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),Ja=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({providers:[eh]})}return me})(),$h=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Tl=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})();const oh={hover:["mouseenter","mouseleave"],focus:["focusin","focusout"]};let xd=(()=>{class me{constructor(){this._ngbConfig=(0,M.WQX)(Lo),this.autoClose=!0,this.placement="auto",this.popperOptions=ae=>ae,this.triggers="click",this.disablePopover=!1,this.openDelay=0,this.closeDelay=0}get animation(){return this._animation??this._ngbConfig.animation}set animation(ae){this._animation=ae}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275prov=M.jDH({token:me,factory:me.\u0275fac,providedIn:"root"})}return me})(),_d=0,aa=(()=>{class me{isTitleTemplate(){return this.title instanceof M.C4Q}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275cmp=M.VBU({type:me,selectors:[["ngb-popover-window"]],hostAttrs:["role","tooltip",2,"position","absolute"],hostVars:5,hostBindings:function(Ce,Ne){2&Ce&&(M.Mr5("id",Ne.id),M.HbH("popover"+(Ne.popoverClass?" "+Ne.popoverClass:"")),M.AVh("fade",Ne.animation))},inputs:{animation:"animation",title:"title",id:"id",popoverClass:"popoverClass",context:"context"},standalone:!0,features:[M.aNF],ngContentSelectors:Jr,decls:4,vars:1,consts:[["simpleTitle",""],["data-popper-arrow","",1,"popover-arrow"],[1,"popover-header"],[1,"popover-body"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(Ce,Ne){1&Ce&&(M.NAR(),M.nrm(0,"div",1),M.DNE(1,al,4,2,"h3",2),M.j41(2,"div",3),M.SdG(3),M.k0s()),2&Ce&&(M.R7$(),M.vxM(1,Ne.title?1:-1))},dependencies:[d.T3],encapsulation:2,changeDetection:0})}return me})(),du=(()=>{class me{constructor(){this._config=(0,M.WQX)(xd),this.animation=this._config.animation,this.autoClose=this._config.autoClose,this.placement=this._config.placement,this.popperOptions=this._config.popperOptions,this.triggers=this._config.triggers,this.container=this._config.container,this.disablePopover=this._config.disablePopover,this.popoverClass=this._config.popoverClass,this.openDelay=this._config.openDelay,this.closeDelay=this._config.closeDelay,this.shown=new M.bkB,this.hidden=new M.bkB,this._nativeElement=(0,M.WQX)(M.aKT).nativeElement,this._ngZone=(0,M.WQX)(M.SKi),this._document=(0,M.WQX)(d.qQ),this._changeDetector=(0,M.WQX)(M.gRc),this._ngbPopoverWindowId="ngb-popover-"+_d++,this._popupService=new lp(aa),this._windowRef=null,this._positioning=Os()}open(ae){if(!this._windowRef&&!this._isDisabled()){const{windowRef:Ce,transition$:Ne}=this._popupService.open(this.ngbPopover,ae??this.popoverContext,this.animation);this._windowRef=Ce,this._windowRef.setInput("animation",this.animation),this._windowRef.setInput("title",this.popoverTitle),this._windowRef.setInput("context",ae??this.popoverContext),this._windowRef.setInput("popoverClass",this.popoverClass),this._windowRef.setInput("id",this._ngbPopoverWindowId),this._getPositionTargetElement().setAttribute("aria-describedby",this._ngbPopoverWindowId),"body"===this.container&&this._document.body.appendChild(this._windowRef.location.nativeElement),this._windowRef.changeDetectorRef.detectChanges(),this._windowRef.changeDetectorRef.markForCheck(),this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._getPositionTargetElement(),targetElement:this._windowRef.location.nativeElement,placement:this.placement,appendToBody:"body"===this.container,baseClass:"bs-popover",updatePopperOptions:it=>this.popperOptions(Ks([0,8])(it))}),Promise.resolve().then(()=>{this._positioning.update(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positioning.update())})}),Oh(this._ngZone,this._document,this.autoClose,()=>this.close(),this.hidden,[this._windowRef.location.nativeElement]),Ne.subscribe(()=>this.shown.emit())}}close(ae=this.animation){this._windowRef&&(this._getPositionTargetElement().removeAttribute("aria-describedby"),this._popupService.close(ae).subscribe(()=>{this._windowRef=null,this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this.hidden.emit(),this._changeDetector.markForCheck()}))}toggle(){this._windowRef?this.close():this.open()}isOpen(){return null!=this._windowRef}ngOnInit(){this._unregisterListenersFn=function jf(me,je,ae,Ce,Ne,it=0,ft=0){const Vt=function vr(me){const je=(me||"").trim();if(0===je.length)return[];const ae=je.split(/\s+/).map(Ne=>Ne.split(":")).map(Ne=>oh[Ne[0]]||Ne),Ce=ae.filter(Ne=>Ne.includes("manual"));if(Ce.length>1)throw"Triggers parse error: only one manual trigger is allowed";if(1===Ce.length&&ae.length>1)throw"Triggers parse error: manual trigger can't be mixed with other triggers";return Ce.length?[]:ae}(je);if(0===Vt.length)return()=>{};const Ut=new Set,ei=[];let ii;function wi(Ai,Sn){me.addEventListener(Ai,Sn),ei.push(()=>me.removeEventListener(Ai,Sn))}function Ci(Ai,Sn){clearTimeout(ii),Sn>0?ii=setTimeout(Ai,Sn):Ai()}for(const[Ai,Sn]of Vt)Sn?(wi(Ai,()=>{Ut.add(Ai),Ci(()=>Ut.size>0&&Ce(),it)}),wi(Sn,()=>{Ut.delete(Ai),Ci(()=>0===Ut.size&&Ne(),ft)})):wi(Ai,()=>ae()?Ci(Ne,ft):Ci(Ce,it));return()=>ei.forEach(Ai=>Ai())}(this._nativeElement,this.triggers,this.isOpen.bind(this),this.open.bind(this),this.close.bind(this),+this.openDelay,+this.closeDelay)}ngOnChanges({ngbPopover:ae,popoverTitle:Ce,disablePopover:Ne,popoverClass:it}){it&&this.isOpen()&&this._windowRef.setInput("popoverClass",it.currentValue),(ae||Ce||Ne)&&this._isDisabled()&&this.close()}ngOnDestroy(){this.close(!1),this._unregisterListenersFn?.()}_isDisabled(){return!!this.disablePopover||!this.ngbPopover&&!this.popoverTitle}_getPositionTargetElement(){return(ea(this.positionTarget)?this._document.querySelector(this.positionTarget):this.positionTarget)||this._nativeElement}static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275dir=M.FsC({type:me,selectors:[["","ngbPopover",""]],inputs:{animation:"animation",autoClose:"autoClose",ngbPopover:"ngbPopover",popoverTitle:"popoverTitle",placement:"placement",popperOptions:"popperOptions",triggers:"triggers",positionTarget:"positionTarget",container:"container",disablePopover:"disablePopover",popoverClass:"popoverClass",popoverContext:"popoverContext",openDelay:"openDelay",closeDelay:"closeDelay"},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbPopover"],standalone:!0,features:[M.OA$]})}return me})(),Ql=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),ah=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Jl=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),wd=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),gp=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),kl=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),co=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})();new M.nKC("live announcer delay",{providedIn:"root",factory:()=>100});let Dc=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})(),Tp=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({})}return me})();const Sp=[xn,Lr,No,Xl,ru,zh,Ja,$h,Tp,Tl,Ql,ah,Jl,wd,gp,kl,co,Dc];let Md=(()=>{class me{static#e=this.\u0275fac=function(Ce){return new(Ce||me)};static#t=this.\u0275mod=M.$C({type:me});static#i=this.\u0275inj=M.G2t({imports:[Sp,xn,Lr,No,Xl,ru,zh,Ja,$h,Tp,Tl,Ql,ah,Jl,wd,gp,kl,co,Dc]})}return me})()},97013:(ri,Bt,We)=>{"use strict";We.d(Bt,{Uq:()=>Qt,vr:()=>Cr,MQ:()=>Nt});var M=We(54438),e=We(89417),V=We(56977),Le=We(43236),q=We(39974),ne=We(58750),re=We(54360),le=We(41584);var ue=We(99172),J=We(88141),te=We(70152),X=We(5964),E=We(96354),j=We(30536),F=We(96780);let D,P=1;const A={};function I(mt){return mt in A&&(delete A[mt],!0)}const _={setImmediate(mt){const _t=P++;return A[_t]=!0,D||(D=Promise.resolve()),D.then(()=>I(_t)&&mt()),_t},clearImmediate(mt){I(mt)}},{setImmediate:w,clearImmediate:G}=_,O={setImmediate(...mt){const{delegate:_t}=O;return(_t?.setImmediate||w)(...mt)},clearImmediate(mt){const{delegate:_t}=O;return(_t?.clearImmediate||G)(mt)},delegate:void 0};var a=We(39687);const v=new class g extends a.q{flush(_t){this._active=!0;const $e=this._scheduled;this._scheduled=void 0;const{actions:yt}=this;let At;_t=_t||yt.shift();do{if(At=_t.execute(_t.state,_t.delay))break}while((_t=yt[0])&&_t.id===$e&&yt.shift());if(this._active=!1,At){for(;(_t=yt[0])&&_t.id===$e&&yt.shift();)_t.unsubscribe();throw At}}}(class f extends F.R{constructor(_t,$e){super(_t,$e),this.scheduler=_t,this.work=$e}requestAsyncId(_t,$e,yt=0){return null!==yt&&yt>0?super.requestAsyncId(_t,$e,yt):(_t.actions.push(this),_t._scheduled||(_t._scheduled=O.setImmediate(_t.flush.bind(_t,void 0))))}recycleAsyncId(_t,$e,yt=0){var At;if(null!=yt?yt>0:this.delay>0)return super.recycleAsyncId(_t,$e,yt);const{actions:$t}=_t;null!=$e&&(null===(At=$t[$t.length-1])||void 0===At?void 0:At.id)!==$e&&(O.clearImmediate($e),_t._scheduled===$e&&(_t._scheduled=void 0))}});var n=We(21413),r=We(33726),l=We(57786),d=We(60177);const C=["content"],k=["scroll"],p=["padding"],T=["*"],B=mt=>({searchTerm:mt});function z(mt,_t){if(1&mt&&(M.j41(0,"div",6),M.eu8(1,7),M.k0s()),2&mt){const $e=M.XpG();M.R7$(),M.Y8G("ngTemplateOutlet",$e.headerTemplate)("ngTemplateOutletContext",M.eq3(2,B,$e.filterValue))}}function K(mt,_t){if(1&mt&&(M.j41(0,"div",8),M.eu8(1,7),M.k0s()),2&mt){const $e=M.XpG();M.R7$(),M.Y8G("ngTemplateOutlet",$e.footerTemplate)("ngTemplateOutletContext",M.eq3(2,B,$e.filterValue))}}const U=["searchInput"],se=["clearButton"],S=(mt,_t,$e)=>({item:mt,clear:_t,label:$e}),$=(mt,_t)=>({items:mt,clear:_t}),H=(mt,_t,$e,yt)=>({item:mt,item$:_t,index:$e,searchTerm:yt});function x(mt,_t){if(1&mt){const $e=M.RV6();M.j41(0,"span",22),M.bIt("click",function(){M.eBV($e);const At=M.XpG().$implicit,$t=M.XpG(2);return M.Njj($t.unselect(At))}),M.EFF(1,"\xd7"),M.k0s(),M.nrm(2,"span",23)}if(2&mt){const $e=M.XpG().$implicit,yt=M.XpG(2);M.R7$(2),M.Y8G("ngItemLabel",$e.label)("escape",yt.escapeHTML)}}function N(mt,_t){}function R(mt,_t){if(1&mt&&(M.j41(0,"div",20),M.DNE(1,x,3,2,"ng-template",null,1,M.C5r)(3,N,0,0,"ng-template",21),M.k0s()),2&mt){const $e=_t.$implicit,yt=M.sdS(2),At=M.XpG(2);M.AVh("ng-value-disabled",$e.disabled),M.R7$(3),M.Y8G("ngTemplateOutlet",At.labelTemplate||yt)("ngTemplateOutletContext",M.sMw(4,S,$e.value,At.clearItem,$e.label))}}function Z(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,R,4,8,"div",19),M.bVm()),2&mt){const $e=M.XpG();M.R7$(),M.Y8G("ngForOf",$e.selectedItems)("ngForTrackBy",$e.trackByOption)}}function Y(mt,_t){}function he(mt,_t){if(1&mt&&M.DNE(0,Y,0,0,"ng-template",21),2&mt){const $e=M.XpG();M.Y8G("ngTemplateOutlet",$e.multiLabelTemplate)("ngTemplateOutletContext",M.l_i(2,$,$e.selectedValues,$e.clearItem))}}function ge(mt,_t){1&mt&&M.nrm(0,"div",25)}function _e(mt,_t){}function Te(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,ge,1,0,"ng-template",null,2,M.C5r)(3,_e,0,0,"ng-template",24),M.bVm()),2&mt){const $e=M.sdS(2),yt=M.XpG();M.R7$(3),M.Y8G("ngTemplateOutlet",yt.loadingSpinnerTemplate||$e)}}function Oe(mt,_t){if(1&mt&&(M.j41(0,"span",26,3)(2,"span",27),M.EFF(3,"\xd7"),M.k0s()()),2&mt){const $e=M.XpG();M.FS9("title",$e.clearAllText)}}function De(mt,_t){if(1&mt&&M.nrm(0,"span",32),2&mt){const $e=M.XpG().$implicit,yt=M.XpG(2);M.Y8G("ngItemLabel",$e.label)("escape",yt.escapeHTML)}}function Be(mt,_t){}function oe(mt,_t){if(1&mt){const $e=M.RV6();M.j41(0,"div",31),M.bIt("click",function(){const At=M.eBV($e).$implicit,$t=M.XpG(2);return M.Njj($t.toggleItem(At))})("mouseover",function(){const At=M.eBV($e).$implicit,$t=M.XpG(2);return M.Njj($t.onItemHover(At))}),M.DNE(1,De,1,2,"ng-template",null,4,M.C5r)(3,Be,0,0,"ng-template",21),M.k0s()}if(2&mt){const $e=_t.$implicit,yt=M.sdS(2),At=M.XpG(2);M.AVh("ng-option-disabled",$e.disabled)("ng-option-selected",$e.selected)("ng-optgroup",$e.children)("ng-option",!$e.children)("ng-option-child",!!$e.parent)("ng-option-marked",$e===At.itemsList.markedItem),M.BMQ("role",$e.children?"group":"option")("aria-selected",$e.selected)("id",null==$e?null:$e.htmlId),M.R7$(3),M.Y8G("ngTemplateOutlet",$e.children?At.optgroupTemplate||yt:At.optionTemplate||yt)("ngTemplateOutletContext",M.ziG(17,H,$e.value,$e,$e.index,At.searchTerm))}}function ee(mt,_t){if(1&mt&&(M.j41(0,"span")(1,"span",34),M.EFF(2),M.k0s(),M.EFF(3),M.k0s()),2&mt){const $e=M.XpG(3);M.R7$(2),M.JRh($e.addTagText),M.R7$(),M.SpI('"',$e.searchTerm,'"')}}function be(mt,_t){}function xe(mt,_t){if(1&mt){const $e=M.RV6();M.j41(0,"div",33),M.bIt("mouseover",function(){M.eBV($e);const At=M.XpG(2);return M.Njj(At.itemsList.unmarkItem())})("click",function(){M.eBV($e);const At=M.XpG(2);return M.Njj(At.selectTag())}),M.DNE(1,ee,4,2,"ng-template",null,5,M.C5r)(3,be,0,0,"ng-template",21),M.k0s()}if(2&mt){const $e=M.sdS(2),yt=M.XpG(2);M.AVh("ng-option-marked",!yt.itemsList.markedItem),M.R7$(3),M.Y8G("ngTemplateOutlet",yt.tagTemplate||$e)("ngTemplateOutletContext",M.eq3(4,B,yt.searchTerm))}}function Ie(mt,_t){if(1&mt&&(M.j41(0,"div",35),M.EFF(1),M.k0s()),2&mt){const $e=M.XpG(3);M.R7$(),M.JRh($e.notFoundText)}}function we(mt,_t){}function Ee(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,Ie,2,1,"ng-template",null,6,M.C5r)(3,we,0,0,"ng-template",21),M.bVm()),2&mt){const $e=M.sdS(2),yt=M.XpG(2);M.R7$(3),M.Y8G("ngTemplateOutlet",yt.notFoundTemplate||$e)("ngTemplateOutletContext",M.eq3(2,B,yt.searchTerm))}}function Me(mt,_t){if(1&mt&&(M.j41(0,"div",35),M.EFF(1),M.k0s()),2&mt){const $e=M.XpG(3);M.R7$(),M.JRh($e.typeToSearchText)}}function Xe(mt,_t){}function Je(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,Me,2,1,"ng-template",null,7,M.C5r)(3,Xe,0,0,"ng-template",24),M.bVm()),2&mt){const $e=M.sdS(2),yt=M.XpG(2);M.R7$(3),M.Y8G("ngTemplateOutlet",yt.typeToSearchTemplate||$e)}}function lt(mt,_t){if(1&mt&&(M.j41(0,"div",35),M.EFF(1),M.k0s()),2&mt){const $e=M.XpG(3);M.R7$(),M.JRh($e.loadingText)}}function qe(mt,_t){}function st(mt,_t){if(1&mt&&(M.qex(0),M.DNE(1,lt,2,1,"ng-template",null,8,M.C5r)(3,qe,0,0,"ng-template",21),M.bVm()),2&mt){const $e=M.sdS(2),yt=M.XpG(2);M.R7$(3),M.Y8G("ngTemplateOutlet",yt.loadingTextTemplate||$e)("ngTemplateOutletContext",M.eq3(2,B,yt.searchTerm))}}function Tt(mt,_t){if(1&mt){const $e=M.RV6();M.j41(0,"ng-dropdown-panel",28),M.bIt("update",function(At){M.eBV($e);const $t=M.XpG();return M.Njj($t.viewPortItems=At)})("scroll",function(At){M.eBV($e);const $t=M.XpG();return M.Njj($t.scroll.emit(At))})("scrollToEnd",function(At){M.eBV($e);const $t=M.XpG();return M.Njj($t.scrollToEnd.emit(At))})("outsideClick",function(){M.eBV($e);const At=M.XpG();return M.Njj(At.close())}),M.qex(1),M.DNE(2,oe,4,22,"div",29)(3,xe,4,6,"div",30),M.bVm(),M.DNE(4,Ee,4,4,"ng-container",12)(5,Je,4,1,"ng-container",12)(6,st,4,4,"ng-container",12),M.k0s()}if(2&mt){const $e=M.XpG();M.AVh("ng-select-multiple",$e.multiple),M.Y8G("virtualScroll",$e.virtualScroll)("bufferAmount",$e.bufferAmount)("appendTo",$e.appendTo)("position",$e.dropdownPosition)("headerTemplate",$e.headerTemplate)("footerTemplate",$e.footerTemplate)("filterValue",$e.searchTerm)("items",$e.itemsList.filteredItems)("markedItem",$e.itemsList.markedItem)("ngClass",$e.appendTo?$e.classes:null)("id",$e.dropdownId),M.R7$(2),M.Y8G("ngForOf",$e.viewPortItems)("ngForTrackBy",$e.trackByOption),M.R7$(),M.Y8G("ngIf",$e.showAddTag),M.R7$(),M.Y8G("ngIf",$e.showNoItemsFound()),M.R7$(),M.Y8G("ngIf",$e.showTypeToSearch()),M.R7$(),M.Y8G("ngIf",$e.loading&&0===$e.itemsList.filteredItems.length)}}const pt=/[&<>"']/g,ht=RegExp(pt.source),Pt={"&":"&","<":"<",">":">",'"':""","'":"'"};function ti(mt){return null!=mt}function Dt(mt){return"object"==typeof mt&&ti(mt)}function xt(mt){return mt instanceof Function}let wt=(()=>{class mt{constructor($e){this.element=$e,this.escape=!0}ngOnChanges($e){this.element.nativeElement.innerHTML=this.escape?function Gt(mt){return mt&&ht.test(mt)?mt.replace(pt,_t=>Pt[_t]):mt}(this.ngItemLabel):this.ngItemLabel}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.aKT))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ngItemLabel",""]],inputs:{ngItemLabel:"ngItemLabel",escape:"escape"},features:[M.OA$]})}return mt})(),Qt=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-option-tmp",""]]})}return mt})(),di=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-optgroup-tmp",""]]})}return mt})(),Ni=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-label-tmp",""]]})}return mt})(),mi=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-multi-label-tmp",""]]})}return mt})(),vi=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-header-tmp",""]]})}return mt})(),zi=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-footer-tmp",""]]})}return mt})(),gs=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-notfound-tmp",""]]})}return mt})(),Fn=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-typetosearch-tmp",""]]})}return mt})(),as=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-loadingtext-tmp",""]]})}return mt})(),ms=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-tag-tmp",""]]})}return mt})(),Ln=(()=>{class mt{constructor($e){this.template=$e}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.C4Q))};static#t=this.\u0275dir=M.FsC({type:mt,selectors:[["","ng-loadingspinner-tmp",""]]})}return mt})();function fn(){return"axxxxxxxxxxx".replace(/[x]/g,()=>(16*Math.random()|0).toString(16))}const ki={"\u24b6":"A",\uff21:"A",\u00c0:"A",\u00c1:"A",\u00c2:"A",\u1ea6:"A",\u1ea4:"A",\u1eaa:"A",\u1ea8:"A",\u00c3:"A",\u0100:"A",\u0102:"A",\u1eb0:"A",\u1eae:"A",\u1eb4:"A",\u1eb2:"A",\u0226:"A",\u01e0:"A",\u00c4:"A",\u01de:"A",\u1ea2:"A",\u00c5:"A",\u01fa:"A",\u01cd:"A",\u0200:"A",\u0202:"A",\u1ea0:"A",\u1eac:"A",\u1eb6:"A",\u1e00:"A",\u0104:"A",\u023a:"A",\u2c6f:"A",\ua732:"AA",\u00c6:"AE",\u01fc:"AE",\u01e2:"AE",\ua734:"AO",\ua736:"AU",\ua738:"AV",\ua73a:"AV",\ua73c:"AY","\u24b7":"B",\uff22:"B",\u1e02:"B",\u1e04:"B",\u1e06:"B",\u0243:"B",\u0182:"B",\u0181:"B","\u24b8":"C",\uff23:"C",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u00c7:"C",\u1e08:"C",\u0187:"C",\u023b:"C",\ua73e:"C","\u24b9":"D",\uff24:"D",\u1e0a:"D",\u010e:"D",\u1e0c:"D",\u1e10:"D",\u1e12:"D",\u1e0e:"D",\u0110:"D",\u018b:"D",\u018a:"D",\u0189:"D",\ua779:"D",\u01f1:"DZ",\u01c4:"DZ",\u01f2:"Dz",\u01c5:"Dz","\u24ba":"E",\uff25:"E",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u1ec0:"E",\u1ebe:"E",\u1ec4:"E",\u1ec2:"E",\u1ebc:"E",\u0112:"E",\u1e14:"E",\u1e16:"E",\u0114:"E",\u0116:"E",\u00cb:"E",\u1eba:"E",\u011a:"E",\u0204:"E",\u0206:"E",\u1eb8:"E",\u1ec6:"E",\u0228:"E",\u1e1c:"E",\u0118:"E",\u1e18:"E",\u1e1a:"E",\u0190:"E",\u018e:"E","\u24bb":"F",\uff26:"F",\u1e1e:"F",\u0191:"F",\ua77b:"F","\u24bc":"G",\uff27:"G",\u01f4:"G",\u011c:"G",\u1e20:"G",\u011e:"G",\u0120:"G",\u01e6:"G",\u0122:"G",\u01e4:"G",\u0193:"G",\ua7a0:"G",\ua77d:"G",\ua77e:"G","\u24bd":"H",\uff28:"H",\u0124:"H",\u1e22:"H",\u1e26:"H",\u021e:"H",\u1e24:"H",\u1e28:"H",\u1e2a:"H",\u0126:"H",\u2c67:"H",\u2c75:"H",\ua78d:"H","\u24be":"I",\uff29:"I",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u0128:"I",\u012a:"I",\u012c:"I",\u0130:"I",\u00cf:"I",\u1e2e:"I",\u1ec8:"I",\u01cf:"I",\u0208:"I",\u020a:"I",\u1eca:"I",\u012e:"I",\u1e2c:"I",\u0197:"I","\u24bf":"J",\uff2a:"J",\u0134:"J",\u0248:"J","\u24c0":"K",\uff2b:"K",\u1e30:"K",\u01e8:"K",\u1e32:"K",\u0136:"K",\u1e34:"K",\u0198:"K",\u2c69:"K",\ua740:"K",\ua742:"K",\ua744:"K",\ua7a2:"K","\u24c1":"L",\uff2c:"L",\u013f:"L",\u0139:"L",\u013d:"L",\u1e36:"L",\u1e38:"L",\u013b:"L",\u1e3c:"L",\u1e3a:"L",\u0141:"L",\u023d:"L",\u2c62:"L",\u2c60:"L",\ua748:"L",\ua746:"L",\ua780:"L",\u01c7:"LJ",\u01c8:"Lj","\u24c2":"M",\uff2d:"M",\u1e3e:"M",\u1e40:"M",\u1e42:"M",\u2c6e:"M",\u019c:"M","\u24c3":"N",\uff2e:"N",\u01f8:"N",\u0143:"N",\u00d1:"N",\u1e44:"N",\u0147:"N",\u1e46:"N",\u0145:"N",\u1e4a:"N",\u1e48:"N",\u0220:"N",\u019d:"N",\ua790:"N",\ua7a4:"N",\u01ca:"NJ",\u01cb:"Nj","\u24c4":"O",\uff2f:"O",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u1ed2:"O",\u1ed0:"O",\u1ed6:"O",\u1ed4:"O",\u00d5:"O",\u1e4c:"O",\u022c:"O",\u1e4e:"O",\u014c:"O",\u1e50:"O",\u1e52:"O",\u014e:"O",\u022e:"O",\u0230:"O",\u00d6:"O",\u022a:"O",\u1ece:"O",\u0150:"O",\u01d1:"O",\u020c:"O",\u020e:"O",\u01a0:"O",\u1edc:"O",\u1eda:"O",\u1ee0:"O",\u1ede:"O",\u1ee2:"O",\u1ecc:"O",\u1ed8:"O",\u01ea:"O",\u01ec:"O",\u00d8:"O",\u01fe:"O",\u0186:"O",\u019f:"O",\ua74a:"O",\ua74c:"O",\u01a2:"OI",\ua74e:"OO",\u0222:"OU","\u24c5":"P",\uff30:"P",\u1e54:"P",\u1e56:"P",\u01a4:"P",\u2c63:"P",\ua750:"P",\ua752:"P",\ua754:"P","\u24c6":"Q",\uff31:"Q",\ua756:"Q",\ua758:"Q",\u024a:"Q","\u24c7":"R",\uff32:"R",\u0154:"R",\u1e58:"R",\u0158:"R",\u0210:"R",\u0212:"R",\u1e5a:"R",\u1e5c:"R",\u0156:"R",\u1e5e:"R",\u024c:"R",\u2c64:"R",\ua75a:"R",\ua7a6:"R",\ua782:"R","\u24c8":"S",\uff33:"S",\u1e9e:"S",\u015a:"S",\u1e64:"S",\u015c:"S",\u1e60:"S",\u0160:"S",\u1e66:"S",\u1e62:"S",\u1e68:"S",\u0218:"S",\u015e:"S",\u2c7e:"S",\ua7a8:"S",\ua784:"S","\u24c9":"T",\uff34:"T",\u1e6a:"T",\u0164:"T",\u1e6c:"T",\u021a:"T",\u0162:"T",\u1e70:"T",\u1e6e:"T",\u0166:"T",\u01ac:"T",\u01ae:"T",\u023e:"T",\ua786:"T",\ua728:"TZ","\u24ca":"U",\uff35:"U",\u00d9:"U",\u00da:"U",\u00db:"U",\u0168:"U",\u1e78:"U",\u016a:"U",\u1e7a:"U",\u016c:"U",\u00dc:"U",\u01db:"U",\u01d7:"U",\u01d5:"U",\u01d9:"U",\u1ee6:"U",\u016e:"U",\u0170:"U",\u01d3:"U",\u0214:"U",\u0216:"U",\u01af:"U",\u1eea:"U",\u1ee8:"U",\u1eee:"U",\u1eec:"U",\u1ef0:"U",\u1ee4:"U",\u1e72:"U",\u0172:"U",\u1e76:"U",\u1e74:"U",\u0244:"U","\u24cb":"V",\uff36:"V",\u1e7c:"V",\u1e7e:"V",\u01b2:"V",\ua75e:"V",\u0245:"V",\ua760:"VY","\u24cc":"W",\uff37:"W",\u1e80:"W",\u1e82:"W",\u0174:"W",\u1e86:"W",\u1e84:"W",\u1e88:"W",\u2c72:"W","\u24cd":"X",\uff38:"X",\u1e8a:"X",\u1e8c:"X","\u24ce":"Y",\uff39:"Y",\u1ef2:"Y",\u00dd:"Y",\u0176:"Y",\u1ef8:"Y",\u0232:"Y",\u1e8e:"Y",\u0178:"Y",\u1ef6:"Y",\u1ef4:"Y",\u01b3:"Y",\u024e:"Y",\u1efe:"Y","\u24cf":"Z",\uff3a:"Z",\u0179:"Z",\u1e90:"Z",\u017b:"Z",\u017d:"Z",\u1e92:"Z",\u1e94:"Z",\u01b5:"Z",\u0224:"Z",\u2c7f:"Z",\u2c6b:"Z",\ua762:"Z","\u24d0":"a",\uff41:"a",\u1e9a:"a",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u1ea7:"a",\u1ea5:"a",\u1eab:"a",\u1ea9:"a",\u00e3:"a",\u0101:"a",\u0103:"a",\u1eb1:"a",\u1eaf:"a",\u1eb5:"a",\u1eb3:"a",\u0227:"a",\u01e1:"a",\u00e4:"a",\u01df:"a",\u1ea3:"a",\u00e5:"a",\u01fb:"a",\u01ce:"a",\u0201:"a",\u0203:"a",\u1ea1:"a",\u1ead:"a",\u1eb7:"a",\u1e01:"a",\u0105:"a",\u2c65:"a",\u0250:"a",\ua733:"aa",\u00e6:"ae",\u01fd:"ae",\u01e3:"ae",\ua735:"ao",\ua737:"au",\ua739:"av",\ua73b:"av",\ua73d:"ay","\u24d1":"b",\uff42:"b",\u1e03:"b",\u1e05:"b",\u1e07:"b",\u0180:"b",\u0183:"b",\u0253:"b","\u24d2":"c",\uff43:"c",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u00e7:"c",\u1e09:"c",\u0188:"c",\u023c:"c",\ua73f:"c",\u2184:"c","\u24d3":"d",\uff44:"d",\u1e0b:"d",\u010f:"d",\u1e0d:"d",\u1e11:"d",\u1e13:"d",\u1e0f:"d",\u0111:"d",\u018c:"d",\u0256:"d",\u0257:"d",\ua77a:"d",\u01f3:"dz",\u01c6:"dz","\u24d4":"e",\uff45:"e",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u1ec1:"e",\u1ebf:"e",\u1ec5:"e",\u1ec3:"e",\u1ebd:"e",\u0113:"e",\u1e15:"e",\u1e17:"e",\u0115:"e",\u0117:"e",\u00eb:"e",\u1ebb:"e",\u011b:"e",\u0205:"e",\u0207:"e",\u1eb9:"e",\u1ec7:"e",\u0229:"e",\u1e1d:"e",\u0119:"e",\u1e19:"e",\u1e1b:"e",\u0247:"e",\u025b:"e",\u01dd:"e","\u24d5":"f",\uff46:"f",\u1e1f:"f",\u0192:"f",\ua77c:"f","\u24d6":"g",\uff47:"g",\u01f5:"g",\u011d:"g",\u1e21:"g",\u011f:"g",\u0121:"g",\u01e7:"g",\u0123:"g",\u01e5:"g",\u0260:"g",\ua7a1:"g",\u1d79:"g",\ua77f:"g","\u24d7":"h",\uff48:"h",\u0125:"h",\u1e23:"h",\u1e27:"h",\u021f:"h",\u1e25:"h",\u1e29:"h",\u1e2b:"h",\u1e96:"h",\u0127:"h",\u2c68:"h",\u2c76:"h",\u0265:"h",\u0195:"hv","\u24d8":"i",\uff49:"i",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u0129:"i",\u012b:"i",\u012d:"i",\u00ef:"i",\u1e2f:"i",\u1ec9:"i",\u01d0:"i",\u0209:"i",\u020b:"i",\u1ecb:"i",\u012f:"i",\u1e2d:"i",\u0268:"i",\u0131:"i","\u24d9":"j",\uff4a:"j",\u0135:"j",\u01f0:"j",\u0249:"j","\u24da":"k",\uff4b:"k",\u1e31:"k",\u01e9:"k",\u1e33:"k",\u0137:"k",\u1e35:"k",\u0199:"k",\u2c6a:"k",\ua741:"k",\ua743:"k",\ua745:"k",\ua7a3:"k","\u24db":"l",\uff4c:"l",\u0140:"l",\u013a:"l",\u013e:"l",\u1e37:"l",\u1e39:"l",\u013c:"l",\u1e3d:"l",\u1e3b:"l",\u017f:"l",\u0142:"l",\u019a:"l",\u026b:"l",\u2c61:"l",\ua749:"l",\ua781:"l",\ua747:"l",\u01c9:"lj","\u24dc":"m",\uff4d:"m",\u1e3f:"m",\u1e41:"m",\u1e43:"m",\u0271:"m",\u026f:"m","\u24dd":"n",\uff4e:"n",\u01f9:"n",\u0144:"n",\u00f1:"n",\u1e45:"n",\u0148:"n",\u1e47:"n",\u0146:"n",\u1e4b:"n",\u1e49:"n",\u019e:"n",\u0272:"n",\u0149:"n",\ua791:"n",\ua7a5:"n",\u01cc:"nj","\u24de":"o",\uff4f:"o",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u1ed3:"o",\u1ed1:"o",\u1ed7:"o",\u1ed5:"o",\u00f5:"o",\u1e4d:"o",\u022d:"o",\u1e4f:"o",\u014d:"o",\u1e51:"o",\u1e53:"o",\u014f:"o",\u022f:"o",\u0231:"o",\u00f6:"o",\u022b:"o",\u1ecf:"o",\u0151:"o",\u01d2:"o",\u020d:"o",\u020f:"o",\u01a1:"o",\u1edd:"o",\u1edb:"o",\u1ee1:"o",\u1edf:"o",\u1ee3:"o",\u1ecd:"o",\u1ed9:"o",\u01eb:"o",\u01ed:"o",\u00f8:"o",\u01ff:"o",\u0254:"o",\ua74b:"o",\ua74d:"o",\u0275:"o",\u01a3:"oi",\u0223:"ou",\ua74f:"oo","\u24df":"p",\uff50:"p",\u1e55:"p",\u1e57:"p",\u01a5:"p",\u1d7d:"p",\ua751:"p",\ua753:"p",\ua755:"p","\u24e0":"q",\uff51:"q",\u024b:"q",\ua757:"q",\ua759:"q","\u24e1":"r",\uff52:"r",\u0155:"r",\u1e59:"r",\u0159:"r",\u0211:"r",\u0213:"r",\u1e5b:"r",\u1e5d:"r",\u0157:"r",\u1e5f:"r",\u024d:"r",\u027d:"r",\ua75b:"r",\ua7a7:"r",\ua783:"r","\u24e2":"s",\uff53:"s",\u00df:"s",\u015b:"s",\u1e65:"s",\u015d:"s",\u1e61:"s",\u0161:"s",\u1e67:"s",\u1e63:"s",\u1e69:"s",\u0219:"s",\u015f:"s",\u023f:"s",\ua7a9:"s",\ua785:"s",\u1e9b:"s","\u24e3":"t",\uff54:"t",\u1e6b:"t",\u1e97:"t",\u0165:"t",\u1e6d:"t",\u021b:"t",\u0163:"t",\u1e71:"t",\u1e6f:"t",\u0167:"t",\u01ad:"t",\u0288:"t",\u2c66:"t",\ua787:"t",\ua729:"tz","\u24e4":"u",\uff55:"u",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u0169:"u",\u1e79:"u",\u016b:"u",\u1e7b:"u",\u016d:"u",\u00fc:"u",\u01dc:"u",\u01d8:"u",\u01d6:"u",\u01da:"u",\u1ee7:"u",\u016f:"u",\u0171:"u",\u01d4:"u",\u0215:"u",\u0217:"u",\u01b0:"u",\u1eeb:"u",\u1ee9:"u",\u1eef:"u",\u1eed:"u",\u1ef1:"u",\u1ee5:"u",\u1e73:"u",\u0173:"u",\u1e77:"u",\u1e75:"u",\u0289:"u","\u24e5":"v",\uff56:"v",\u1e7d:"v",\u1e7f:"v",\u028b:"v",\ua75f:"v",\u028c:"v",\ua761:"vy","\u24e6":"w",\uff57:"w",\u1e81:"w",\u1e83:"w",\u0175:"w",\u1e87:"w",\u1e85:"w",\u1e98:"w",\u1e89:"w",\u2c73:"w","\u24e7":"x",\uff58:"x",\u1e8b:"x",\u1e8d:"x","\u24e8":"y",\uff59:"y",\u1ef3:"y",\u00fd:"y",\u0177:"y",\u1ef9:"y",\u0233:"y",\u1e8f:"y",\u00ff:"y",\u1ef7:"y",\u1e99:"y",\u1ef5:"y",\u01b4:"y",\u024f:"y",\u1eff:"y","\u24e9":"z",\uff5a:"z",\u017a:"z",\u1e91:"z",\u017c:"z",\u017e:"z",\u1e93:"z",\u1e95:"z",\u01b6:"z",\u0225:"z",\u0240:"z",\u2c6c:"z",\ua763:"z",\u0386:"\u0391",\u0388:"\u0395",\u0389:"\u0397",\u038a:"\u0399",\u03aa:"\u0399",\u038c:"\u039f",\u038e:"\u03a5",\u03ab:"\u03a5",\u038f:"\u03a9",\u03ac:"\u03b1",\u03ad:"\u03b5",\u03ae:"\u03b7",\u03af:"\u03b9",\u03ca:"\u03b9",\u0390:"\u03b9",\u03cc:"\u03bf",\u03cd:"\u03c5",\u03cb:"\u03c5",\u03b0:"\u03c5",\u03c9:"\u03c9",\u03c2:"\u03c3"};function Cs(mt){return mt.replace(/[^\u0000-\u007E]/g,$e=>ki[$e]||$e)}class Kn{constructor(_t,$e){this._ngSelect=_t,this._selectionModel=$e,this._items=[],this._filteredItems=[],this._markedIndex=-1}get items(){return this._items}get filteredItems(){return this._filteredItems}get markedIndex(){return this._markedIndex}get selectedItems(){return this._selectionModel.value}get markedItem(){return this._filteredItems[this._markedIndex]}get noItemsToSelect(){return this._ngSelect.hideSelected&&this._items.length===this.selectedItems.length}get maxItemsSelected(){return this._ngSelect.multiple&&this._ngSelect.maxSelectedItems<=this.selectedItems.length}get lastSelectedItem(){let _t=this.selectedItems.length-1;for(;_t>=0;_t--){const $e=this.selectedItems[_t];if(!$e.disabled)return $e}return null}setItems(_t){this._items=_t.map(($e,yt)=>this.mapItem($e,yt)),this._ngSelect.groupBy?(this._groups=this._groupBy(this._items,this._ngSelect.groupBy),this._items=this._flatten(this._groups)):(this._groups=new Map,this._groups.set(void 0,this._items)),this._filteredItems=[...this._items]}select(_t){if(_t.selected||this.maxItemsSelected)return;const $e=this._ngSelect.multiple;$e||this.clearSelected(),this._selectionModel.select(_t,$e,this._ngSelect.selectableGroupAsModel),this._ngSelect.hideSelected&&this._hideSelected(_t)}unselect(_t){_t.selected&&(this._selectionModel.unselect(_t,this._ngSelect.multiple),this._ngSelect.hideSelected&&ti(_t.index)&&this._ngSelect.multiple&&this._showSelected(_t))}findItem(_t){let $e;return $e=this._ngSelect.compareWith?yt=>this._ngSelect.compareWith(yt.value,_t):this._ngSelect.bindValue?yt=>!yt.children&&this.resolveNested(yt.value,this._ngSelect.bindValue)===_t:yt=>yt.value===_t||!yt.children&&yt.label&&yt.label===this.resolveNested(_t,this._ngSelect.bindLabel),this._items.find(yt=>$e(yt))}addItem(_t){const $e=this.mapItem(_t,this._items.length);return this._items.push($e),this._filteredItems.push($e),$e}clearSelected(_t=!1){this._selectionModel.clear(_t),this._items.forEach($e=>{$e.selected=_t&&$e.selected&&$e.disabled,$e.marked=!1}),this._ngSelect.hideSelected&&this.resetFilteredItems()}findByLabel(_t){return _t=Cs(_t).toLocaleLowerCase(),this.filteredItems.find($e=>Cs($e.label).toLocaleLowerCase().substr(0,_t.length)===_t)}filter(_t){if(!_t)return void this.resetFilteredItems();this._filteredItems=[],_t=this._ngSelect.searchFn?_t:Cs(_t).toLocaleLowerCase();const $e=this._ngSelect.searchFn||this._defaultSearchFn,yt=this._ngSelect.hideSelected;for(const At of Array.from(this._groups.keys())){const $t=[];for(const si of this._groups.get(At))yt&&(si.parent&&si.parent.selected||si.selected)||$e(_t,this._ngSelect.searchFn?si.value:si)&&$t.push(si);if($t.length>0){const[si]=$t.slice(-1);if(si.parent){const Di=this._items.find(qi=>qi===si.parent);this._filteredItems.push(Di)}this._filteredItems.push(...$t)}}}resetFilteredItems(){this._filteredItems.length!==this._items.length&&(this._filteredItems=this._ngSelect.hideSelected&&this.selectedItems.length>0?this._items.filter(_t=>!_t.selected):this._items)}unmarkItem(){this._markedIndex=-1}markNextItem(){this._stepToItem(1)}markPreviousItem(){this._stepToItem(-1)}markItem(_t){this._markedIndex=this._filteredItems.indexOf(_t)}markSelectedOrDefault(_t){if(0===this._filteredItems.length)return;const $e=this._getLastMarkedIndex();this._markedIndex=$e>-1?$e:_t?this.filteredItems.findIndex(yt=>!yt.disabled):-1}resolveNested(_t,$e){if(!Dt(_t))return _t;if(-1===$e.indexOf("."))return _t[$e];{const yt=$e.split(".");let At=_t;for(let $t=0,si=yt.length;$t-1===this.selectedItems.indexOf($e)))}_showSelected(_t){if(this._filteredItems.push(_t),_t.parent){const $e=_t.parent;this._filteredItems.find(At=>At===$e)||this._filteredItems.push($e)}else if(_t.children)for(const $e of _t.children)$e.selected=!1,this._filteredItems.push($e);this._filteredItems=[...this._filteredItems.sort(($e,yt)=>$e.index-yt.index)]}_hideSelected(_t){this._filteredItems=this._filteredItems.filter($e=>$e!==_t),_t.parent?_t.parent.children.every(yt=>yt.selected)&&(this._filteredItems=this._filteredItems.filter(yt=>yt!==_t.parent)):_t.children&&(this._filteredItems=this.filteredItems.filter($e=>$e.parent!==_t))}_defaultSearchFn(_t,$e){return Cs($e.label).toLocaleLowerCase().indexOf(_t)>-1}_getNextItemIndex(_t){return _t>0?this._markedIndex>=this._filteredItems.length-1?0:this._markedIndex+1:this._markedIndex<=0?this._filteredItems.length-1:this._markedIndex-1}_stepToItem(_t){0===this._filteredItems.length||this._filteredItems.every($e=>$e.disabled)||(this._markedIndex=this._getNextItemIndex(_t),this.markedItem.disabled&&this._stepToItem(_t))}_getLastMarkedIndex(){if(this._ngSelect.hideSelected||this._markedIndex>-1&&void 0===this.markedItem)return-1;const _t=this._filteredItems.indexOf(this.lastSelectedItem);return this.lastSelectedItem&&_t<0?-1:Math.max(this.markedIndex,_t)}_groupBy(_t,$e){const yt=new Map;if(0===_t.length)return yt;if(Array.isArray(_t[0].value[$e])){for(const si of _t){const Di=(si.value[$e]||[]).map((qi,Ki)=>this.mapItem(qi,Ki));yt.set(si,Di)}return yt}const At=xt(this._ngSelect.groupBy),$t=si=>{const Di=At?$e(si.value):si.value[$e];return ti(Di)?Di:void 0};for(const si of _t){const Di=$t(si),qi=yt.get(Di);qi?qi.push(si):yt.set(Di,[si])}return yt}_flatten(_t){const $e=xt(this._ngSelect.groupBy),yt=[];for(const At of Array.from(_t.keys())){let $t=yt.length;if(void 0===At){const Hn=_t.get(void 0)||[];yt.push(...Hn.map(tn=>(tn.index=$t++,tn)));continue}const si=Dt(At),Di={label:si?"":String(At),children:void 0,parent:null,index:$t++,disabled:!this._ngSelect.selectableGroup,htmlId:fn()},qi=$e?this._ngSelect.bindLabel:this._ngSelect.groupBy,Ki=this._ngSelect.groupValue||(()=>si?At.value:{[qi]:At}),ls=_t.get(At).map(Hn=>(Hn.parent=Di,Hn.children=void 0,Hn.index=$t++,Hn));Di.children=ls,Di.value=Ki(At,ls.map(Hn=>Hn.value)),yt.push(Di),yt.push(...ls)}return yt}}var In=function(mt){return mt[mt.Tab=9]="Tab",mt[mt.Enter=13]="Enter",mt[mt.Esc=27]="Esc",mt[mt.Space=32]="Space",mt[mt.ArrowUp=38]="ArrowUp",mt[mt.ArrowDown=40]="ArrowDown",mt[mt.Backspace=8]="Backspace",mt}(In||{});let Bs=(()=>{class mt{constructor(){this._dimensions={itemHeight:0,panelHeight:0,itemsPerViewport:0}}get dimensions(){return this._dimensions}calculateItems($e,yt,At){const $t=this._dimensions,si=$t.itemHeight*yt,qi=Math.max(0,$e)/si*yt;let Ki=Math.min(yt,Math.ceil(qi)+($t.itemsPerViewport+1));const Hn=Math.max(0,Ki-$t.itemsPerViewport);let tn=Math.min(Hn,Math.floor(qi)),gn=$t.itemHeight*Math.ceil(tn)-$t.itemHeight*Math.min(tn,At);return gn=isNaN(gn)?0:gn,tn=isNaN(tn)?-1:tn,Ki=isNaN(Ki)?-1:Ki,tn-=At,tn=Math.max(0,tn),Ki+=At,Ki=Math.min(yt,Ki),{topPadding:gn,scrollHeight:si,start:tn,end:Ki}}setDimensions($e,yt){const At=Math.max(1,Math.floor(yt/$e));this._dimensions={itemHeight:$e,panelHeight:yt,itemsPerViewport:At}}getScrollTo($e,yt,At){const{panelHeight:$t}=this.dimensions,si=$e+yt,qi=At+$t;return $t>=si&&At===$e?null:si>qi?At+si-qi:$e<=At?$e:null}static#e=this.\u0275fac=function(yt){return new(yt||mt)};static#t=this.\u0275prov=M.jDH({token:mt,factory:mt.\u0275fac})}return mt})();const qn=["top","right","bottom","left"],Wi=typeof requestAnimationFrame<"u"?j.X:v;let js=(()=>{class mt{constructor($e,yt,At,$t,si){this._renderer=$e,this._zone=yt,this._panelService=At,this._document=si,this.items=[],this.position="auto",this.virtualScroll=!1,this.filterValue=null,this.update=new M.bkB,this.scroll=new M.bkB,this.scrollToEnd=new M.bkB,this.outsideClick=new M.bkB,this._destroy$=new n.B,this._scrollToEndFired=!1,this._updateScrollHeight=!1,this._lastScrollPosition=0,this._dropdown=$t.nativeElement}get currentPosition(){return this._currentPosition}get itemsLength(){return this._itemsLength}set itemsLength($e){$e!==this._itemsLength&&(this._itemsLength=$e,this._onItemsLengthChanged())}get _startOffset(){if(this.markedItem){const{itemHeight:$e,panelHeight:yt}=this._panelService.dimensions,At=this.markedItem.index*$e;return yt>At?0:At}return 0}ngOnInit(){this._select=this._dropdown.parentElement,this._virtualPadding=this.paddingElementRef.nativeElement,this._scrollablePanel=this.scrollElementRef.nativeElement,this._contentPanel=this.contentElementRef.nativeElement,this._handleScroll(),this._handleOutsideClick(),this._appendDropdown(),this._setupMousedownListener()}ngOnChanges($e){if($e.items){const yt=$e.items;this._onItemsChange(yt.currentValue,yt.firstChange)}}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete(),this._destroy$.unsubscribe(),this.appendTo&&this._renderer.removeChild(this._dropdown.parentNode,this._dropdown)}scrollTo($e,yt=!1){if(!$e)return;const At=this.items.indexOf($e);if(At<0||At>=this.itemsLength)return;let $t;if(this.virtualScroll){const si=this._panelService.dimensions.itemHeight;$t=this._panelService.getScrollTo(At*si,si,this._lastScrollPosition)}else{const si=this._dropdown.querySelector(`#${$e.htmlId}`);$t=this._panelService.getScrollTo(si.offsetTop,si.clientHeight,yt?si.offsetTop:this._lastScrollPosition)}ti($t)&&(this._scrollablePanel.scrollTop=$t)}scrollToTag(){const $e=this._scrollablePanel;$e.scrollTop=$e.scrollHeight-$e.clientHeight}adjustPosition(){this._updateYPosition()}_handleDropdownPosition(){this._currentPosition=this._calculateCurrentPosition(this._dropdown),qn.includes(this._currentPosition)?this._updateDropdownClass(this._currentPosition):this._updateDropdownClass("bottom"),this.appendTo&&this._updateYPosition(),this._dropdown.style.opacity="1"}_updateDropdownClass($e){qn.forEach(At=>{const $t=`ng-select-${At}`;this._renderer.removeClass(this._dropdown,$t),this._renderer.removeClass(this._select,$t)});const yt=`ng-select-${$e}`;this._renderer.addClass(this._dropdown,yt),this._renderer.addClass(this._select,yt)}_handleScroll(){this._zone.runOutsideAngular(()=>{(0,r.R)(this.scrollElementRef.nativeElement,"scroll").pipe((0,V.Q)(this._destroy$),function pe(mt,_t=Le.E){return function ve(mt){return(0,q.N)((_t,$e)=>{let yt=!1,At=null,$t=null,si=!1;const Di=()=>{if($t?.unsubscribe(),$t=null,yt){yt=!1;const Ki=At;At=null,$e.next(Ki)}si&&$e.complete()},qi=()=>{$t=null,si&&$e.complete()};_t.subscribe((0,re._)($e,Ki=>{yt=!0,At=Ki,$t||(0,ne.Tg)(mt(Ki)).subscribe($t=(0,re._)($e,Di,qi))},()=>{si=!0,(!yt||!$t||$t.closed)&&$e.complete()}))})}(()=>(0,le.O)(mt,_t))}(0,Wi)).subscribe($e=>{const yt=$e.path||$e.composedPath&&$e.composedPath();yt&&(0!==yt.length||$e.target)&&this._onContentScrolled(yt&&0!==yt.length?yt[0].scrollTop:$e.target.scrollTop)})})}_handleOutsideClick(){this._document&&this._zone.runOutsideAngular(()=>{(0,l.h)((0,r.R)(this._document,"touchstart",{capture:!0}),(0,r.R)(this._document,"mousedown",{capture:!0})).pipe((0,V.Q)(this._destroy$)).subscribe($e=>this._checkToClose($e))})}_checkToClose($e){if(this._select.contains($e.target)||this._dropdown.contains($e.target))return;const yt=$e.path||$e.composedPath&&$e.composedPath();$e.target&&$e.target.shadowRoot&&yt&&yt[0]&&this._select.contains(yt[0])||this._zone.run(()=>this.outsideClick.emit())}_onItemsChange($e,yt){this.items=$e||[],this._scrollToEndFired=!1,this.itemsLength=$e.length,this.virtualScroll?this._updateItemsRange(yt):(this._setVirtualHeight(),this._updateItems(yt))}_updateItems($e){this.update.emit(this.items),!1!==$e&&this._zone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._panelService.setDimensions(0,this._scrollablePanel.clientHeight),this._handleDropdownPosition(),this.scrollTo(this.markedItem,$e)})})}_updateItemsRange($e){this._zone.runOutsideAngular(()=>{this._measureDimensions().then(()=>{$e?(this._renderItemsRange(this._startOffset),this._handleDropdownPosition()):this._renderItemsRange()})})}_onContentScrolled($e){this.virtualScroll&&this._renderItemsRange($e),this._lastScrollPosition=$e,this._fireScrollToEnd($e)}_updateVirtualHeight($e){this._updateScrollHeight&&(this._virtualPadding.style.height=`${$e}px`,this._updateScrollHeight=!1)}_setVirtualHeight(){this._virtualPadding&&(this._virtualPadding.style.height="0px")}_onItemsLengthChanged(){this._updateScrollHeight=!0}_renderItemsRange($e=null){if($e&&this._lastScrollPosition===$e)return;const yt=this._panelService.calculateItems($e=$e||this._scrollablePanel.scrollTop,this.itemsLength,this.bufferAmount);this._updateVirtualHeight(yt.scrollHeight),this._contentPanel.style.transform=`translateY(${yt.topPadding}px)`,this._zone.run(()=>{this.update.emit(this.items.slice(yt.start,yt.end)),this.scroll.emit({start:yt.start,end:yt.end})}),ti($e)&&0===this._lastScrollPosition&&(this._scrollablePanel.scrollTop=$e,this._lastScrollPosition=$e)}_measureDimensions(){if(this._panelService.dimensions.itemHeight>0||0===this.itemsLength)return Promise.resolve(this._panelService.dimensions);const[$e]=this.items;return this.update.emit([$e]),Promise.resolve().then(()=>{const At=this._dropdown.querySelector(`#${$e.htmlId}`).clientHeight;return this._virtualPadding.style.height=At*this.itemsLength+"px",this._panelService.setDimensions(At,this._scrollablePanel.clientHeight),this._panelService.dimensions})}_fireScrollToEnd($e){this._scrollToEndFired||0===$e||$e+this._dropdown.clientHeight>=(this.virtualScroll?this._virtualPadding:this._contentPanel).clientHeight-1&&(this._zone.run(()=>this.scrollToEnd.emit()),this._scrollToEndFired=!0)}_calculateCurrentPosition($e){if("auto"!==this.position)return this.position;const yt=this._select.getBoundingClientRect(),At=document.documentElement.scrollTop||document.body.scrollTop;return yt.top+window.pageYOffset+yt.height+$e.getBoundingClientRect().height>At+document.documentElement.clientHeight?"top":"bottom"}_appendDropdown(){if(this.appendTo){if(this._parent=document.querySelector(this.appendTo),!this._parent)throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);this._updateXPosition(),this._parent.appendChild(this._dropdown)}}_updateXPosition(){const $e=this._select.getBoundingClientRect(),yt=this._parent.getBoundingClientRect();this._dropdown.style.left=$e.left-yt.left+"px",this._dropdown.style.width=$e.width+"px",this._dropdown.style.minWidth=$e.width+"px"}_updateYPosition(){const $e=this._select.getBoundingClientRect(),yt=this._parent.getBoundingClientRect(),At=$e.height;"top"===this._currentPosition?(this._dropdown.style.bottom=yt.bottom-$e.bottom+At+"px",this._dropdown.style.top="auto"):"bottom"===this._currentPosition&&(this._dropdown.style.top=$e.top-yt.top+At+"px",this._dropdown.style.bottom="auto")}_setupMousedownListener(){this._zone.runOutsideAngular(()=>{(0,r.R)(this._dropdown,"mousedown").pipe((0,V.Q)(this._destroy$)).subscribe($e=>{"INPUT"!==$e.target.tagName&&$e.preventDefault()})})}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.sFG),M.rXU(M.SKi),M.rXU(Bs),M.rXU(M.aKT),M.rXU(d.qQ,8))};static#t=this.\u0275cmp=M.VBU({type:mt,selectors:[["ng-dropdown-panel"]],viewQuery:function(yt,At){if(1&yt&&(M.GBs(C,7,M.aKT),M.GBs(k,7,M.aKT),M.GBs(p,7,M.aKT)),2&yt){let $t;M.mGM($t=M.lsd())&&(At.contentElementRef=$t.first),M.mGM($t=M.lsd())&&(At.scrollElementRef=$t.first),M.mGM($t=M.lsd())&&(At.paddingElementRef=$t.first)}},inputs:{items:"items",markedItem:"markedItem",position:"position",appendTo:"appendTo",bufferAmount:"bufferAmount",virtualScroll:"virtualScroll",headerTemplate:"headerTemplate",footerTemplate:"footerTemplate",filterValue:"filterValue"},outputs:{update:"update",scroll:"scroll",scrollToEnd:"scrollToEnd",outsideClick:"outsideClick"},features:[M.OA$],ngContentSelectors:T,decls:9,vars:6,consts:[["scroll",""],["padding",""],["content",""],["class","ng-dropdown-header",4,"ngIf"],["role","listbox",1,"ng-dropdown-panel-items","scroll-host"],["class","ng-dropdown-footer",4,"ngIf"],[1,"ng-dropdown-header"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng-dropdown-footer"]],template:function(yt,At){1&yt&&(M.NAR(),M.DNE(0,z,2,4,"div",3),M.j41(1,"div",4,0),M.nrm(3,"div",null,1),M.j41(5,"div",null,2),M.SdG(7),M.k0s()(),M.DNE(8,K,2,4,"div",5)),2&yt&&(M.Y8G("ngIf",At.headerTemplate),M.R7$(3),M.AVh("total-padding",At.virtualScroll),M.R7$(2),M.AVh("scrollable-content",At.virtualScroll&&At.items.length),M.R7$(3),M.Y8G("ngIf",At.footerTemplate))},dependencies:[d.bT,d.T3],encapsulation:2,changeDetection:0})}return mt})(),On=(()=>{class mt{get disabled(){return this._disabled}set disabled($e){this._disabled=this._isDisabled($e)}constructor($e){this.elementRef=$e,this.stateChange$=new n.B,this._disabled=!1}get label(){return(this.elementRef.nativeElement.textContent||"").trim()}ngOnChanges($e){$e.disabled&&this.stateChange$.next({value:this.value,disabled:this._disabled})}ngAfterViewChecked(){this.label!==this._previousLabel&&(this._previousLabel=this.label,this.stateChange$.next({value:this.value,disabled:this._disabled,label:this.elementRef.nativeElement.innerHTML}))}ngOnDestroy(){this.stateChange$.complete()}_isDisabled($e){return null!=$e&&"false"!=`${$e}`}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.rXU(M.aKT))};static#t=this.\u0275cmp=M.VBU({type:mt,selectors:[["ng-option"]],inputs:{value:"value",disabled:"disabled"},features:[M.OA$],ngContentSelectors:T,decls:1,vars:0,template:function(yt,At){1&yt&&(M.NAR(),M.SdG(0))},encapsulation:2,changeDetection:0})}return mt})(),ar=(()=>{class mt{constructor(){this.notFoundText="No items found",this.typeToSearchText="Type to search",this.addTagText="Add item",this.loadingText="Loading...",this.clearAllText="Clear all",this.disableVirtualScroll=!0,this.openOnEnter=!0,this.appearance="underline"}static#e=this.\u0275fac=function(yt){return new(yt||mt)};static#t=this.\u0275prov=M.jDH({token:mt,factory:mt.\u0275fac,providedIn:"root"})}return mt})(),To=(()=>{class mt{warn($e){console.warn($e)}static#e=this.\u0275fac=function(yt){return new(yt||mt)};static#t=this.\u0275prov=M.jDH({token:mt,factory:mt.\u0275fac,providedIn:"root"})}return mt})();const Wr=new M.nKC("ng-select-selection-model");let Cr=(()=>{class mt{get items(){return this._items}set items($e){null===$e&&($e=[]),this._itemsAreUsed=!0,this._items=$e}get compareWith(){return this._compareWith}set compareWith($e){if(null!=$e&&!xt($e))throw Error("`compareWith` must be a function.");this._compareWith=$e}get clearSearchOnAdd(){return ti(this._clearSearchOnAdd)?this._clearSearchOnAdd:ti(this.config.clearSearchOnAdd)?this.config.clearSearchOnAdd:this.closeOnSelect}set clearSearchOnAdd($e){this._clearSearchOnAdd=$e}get deselectOnClick(){return ti(this._deselectOnClick)?this._deselectOnClick:ti(this.config.deselectOnClick)?this.config.deselectOnClick:this.multiple}set deselectOnClick($e){this._deselectOnClick=$e}get disabled(){return this.readonly||this._disabled}get filtered(){return!!this.searchTerm&&this.searchable||this._isComposing}get single(){return!this.multiple}get _editableSearchTerm(){return this.editableSearchTerm&&!this.multiple}constructor($e,yt,At,$t,si,Di,qi){this.classes=$e,this.autoFocus=yt,this.config=At,this._cd=Di,this._console=qi,this.markFirst=!0,this.dropdownPosition="auto",this.loading=!1,this.closeOnSelect=!0,this.hideSelected=!1,this.selectOnTab=!1,this.bufferAmount=4,this.selectableGroup=!1,this.selectableGroupAsModel=!0,this.searchFn=null,this.trackByFn=null,this.clearOnBackspace=!0,this.labelForId=null,this.inputAttrs={},this.readonly=!1,this.searchWhileComposing=!0,this.minTermLength=0,this.editableSearchTerm=!1,this.keyDownFn=Ki=>!0,this.multiple=!1,this.addTag=!1,this.searchable=!0,this.clearable=!0,this.isOpen=!1,this.blurEvent=new M.bkB,this.focusEvent=new M.bkB,this.changeEvent=new M.bkB,this.openEvent=new M.bkB,this.closeEvent=new M.bkB,this.searchEvent=new M.bkB,this.clearEvent=new M.bkB,this.addEvent=new M.bkB,this.removeEvent=new M.bkB,this.scroll=new M.bkB,this.scrollToEnd=new M.bkB,this.useDefaultClass=!0,this.viewPortItems=[],this.searchTerm=null,this.dropdownId=fn(),this.escapeHTML=!0,this._items=[],this._defaultLabel="label",this._pressedKeys=[],this._isComposing=!1,this._destroy$=new n.B,this._keyPress$=new n.B,this._onChange=Ki=>{},this._onTouched=()=>{},this.clearItem=Ki=>{const ls=this.selectedItems.find(Hn=>Hn.value===Ki);this.unselect(ls)},this.trackByOption=(Ki,ls)=>this.trackByFn?this.trackByFn(ls.value):ls,this._mergeGlobalConfig(At),this.itemsList=new Kn(this,$t()),this.element=si.nativeElement}get selectedItems(){return this.itemsList.selectedItems}get selectedValues(){return this.selectedItems.map($e=>$e.value)}get hasValue(){return this.selectedItems.length>0}get currentPanelPosition(){if(this.dropdownPanel)return this.dropdownPanel.currentPosition}ngOnInit(){this._handleKeyPresses(),this._setInputAttributes()}ngOnChanges($e){$e.multiple&&this.itemsList.clearSelected(),$e.items&&this._setItems($e.items.currentValue||[]),$e.isOpen&&(this._manualOpen=ti($e.isOpen.currentValue))}ngAfterViewInit(){this._itemsAreUsed||(this.escapeHTML=!1,this._setItemsFromNgOptions()),ti(this.autoFocus)&&this.focus()}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete()}handleKeyDown($e){if(In[$e.which]){if(!1===this.keyDownFn($e))return;this.handleKeyCode($e)}else $e.key&&1===$e.key.length&&this._keyPress$.next($e.key.toLocaleLowerCase())}handleKeyCode($e){this.clearButton&&this.clearButton.nativeElement===$e.target?this.handleKeyCodeClear($e):this.handleKeyCodeInput($e)}handleKeyCodeInput($e){switch($e.which){case In.ArrowDown:this._handleArrowDown($e);break;case In.ArrowUp:this._handleArrowUp($e);break;case In.Space:this._handleSpace($e);break;case In.Enter:this._handleEnter($e);break;case In.Tab:this._handleTab($e);break;case In.Esc:this.close(),$e.preventDefault();break;case In.Backspace:this._handleBackspace()}}handleKeyCodeClear($e){$e.which===In.Enter&&(this.handleClearClick(),$e.preventDefault())}handleMousedown($e){const yt=$e.target;"INPUT"!==yt.tagName&&$e.preventDefault(),yt.classList.contains("ng-clear-wrapper")?this.handleClearClick():yt.classList.contains("ng-arrow-wrapper")?this.handleArrowClick():yt.classList.contains("ng-value-icon")||(this.focused||this.focus(),this.searchable?this.open():this.toggle())}handleArrowClick(){this.isOpen?this.close():this.open()}handleClearClick(){this.hasValue&&(this.itemsList.clearSelected(!0),this._updateNgModel()),this._clearSearch(),this.focus(),this.clearEvent.emit(),this._onSelectionChanged()}clearModel(){this.clearable&&(this.itemsList.clearSelected(),this._updateNgModel())}writeValue($e){this.itemsList.clearSelected(),this._handleWriteValue($e),this._cd.markForCheck()}registerOnChange($e){this._onChange=$e}registerOnTouched($e){this._onTouched=$e}setDisabledState($e){this._disabled=$e,this._cd.markForCheck()}toggle(){this.isOpen?this.close():this.open()}open(){this.disabled||this.isOpen||this._manualOpen||!this._isTypeahead&&!this.addTag&&this.itemsList.noItemsToSelect||(this.isOpen=!0,this.itemsList.markSelectedOrDefault(this.markFirst),this.openEvent.emit(),this.searchTerm||this.focus(),this.detectChanges())}close(){!this.isOpen||this._manualOpen||(this.isOpen=!1,this._isComposing=!1,this._editableSearchTerm?this.itemsList.resetFilteredItems():this._clearSearch(),this.itemsList.unmarkItem(),this._onTouched(),this.closeEvent.emit(),this._cd.markForCheck())}toggleItem($e){!$e||$e.disabled||this.disabled||(this.deselectOnClick&&$e.selected?this.unselect($e):this.select($e),this._editableSearchTerm&&this._setSearchTermFromItems(),this._onSelectionChanged())}select($e){$e.selected||(this.itemsList.select($e),this.clearSearchOnAdd&&!this._editableSearchTerm&&this._clearSearch(),this._updateNgModel(),this.multiple&&this.addEvent.emit($e.value)),(this.closeOnSelect||this.itemsList.noItemsToSelect)&&this.close()}focus(){this.searchInput.nativeElement.focus()}blur(){this.searchInput.nativeElement.blur()}unselect($e){$e&&(this.itemsList.unselect($e),this.focus(),this._updateNgModel(),this.removeEvent.emit($e.value))}selectTag(){let $e;$e=xt(this.addTag)?this.addTag(this.searchTerm):this._primitive?this.searchTerm:{[this.bindLabel]:this.searchTerm};const yt=At=>this._isTypeahead||!this.isOpen?this.itemsList.mapItem(At,null):this.itemsList.addItem(At);!function It(mt){return mt instanceof Promise}($e)?$e&&this.select(yt($e)):$e.then(At=>this.select(yt(At))).catch(()=>{})}showClear(){return this.clearable&&(this.hasValue||this.searchTerm)&&!this.disabled}focusOnClear(){this.blur(),this.clearButton&&this.clearButton.nativeElement.focus()}get showAddTag(){if(!this._validTerm)return!1;const $e=this.searchTerm.toLowerCase().trim();return this.addTag&&!this.itemsList.filteredItems.some(yt=>yt.label.toLowerCase()===$e)&&(!this.hideSelected&&this.isOpen||!this.selectedItems.some(yt=>yt.label.toLowerCase()===$e))&&!this.loading}showNoItemsFound(){const $e=0===this.itemsList.filteredItems.length;return($e&&!this._isTypeahead&&!this.loading||$e&&this._isTypeahead&&this._validTerm&&!this.loading)&&!this.showAddTag}showTypeToSearch(){return 0===this.itemsList.filteredItems.length&&this._isTypeahead&&!this._validTerm&&!this.loading}onCompositionStart(){this._isComposing=!0}onCompositionEnd($e){this._isComposing=!1,!this.searchWhileComposing&&this.filter($e)}filter($e){this._isComposing&&!this.searchWhileComposing||(this.searchTerm=$e,this._isTypeahead&&(this._validTerm||0===this.minTermLength)&&this.typeahead.next($e),this._isTypeahead||(this.itemsList.filter(this.searchTerm),this.isOpen&&this.itemsList.markSelectedOrDefault(this.markFirst)),this.searchEvent.emit({term:$e,items:this.itemsList.filteredItems.map(yt=>yt.value)}),this.open())}onInputFocus($e){this.focused||(this._editableSearchTerm&&this._setSearchTermFromItems(),this.element.classList.add("ng-select-focused"),this.focusEvent.emit($e),this.focused=!0)}onInputBlur($e){this.element.classList.remove("ng-select-focused"),this.blurEvent.emit($e),!this.isOpen&&!this.disabled&&this._onTouched(),this._editableSearchTerm&&this._setSearchTermFromItems(),this.focused=!1}onItemHover($e){$e.disabled||this.itemsList.markItem($e)}detectChanges(){this._cd.destroyed||this._cd.detectChanges()}_setSearchTermFromItems(){const $e=this.selectedItems&&this.selectedItems[0];this.searchTerm=$e&&$e.label||null}_setItems($e){const yt=$e[0];this.bindLabel=this.bindLabel||this._defaultLabel,this._primitive=ti(yt)?!Dt(yt):this._primitive||this.bindLabel===this._defaultLabel,this.itemsList.setItems($e),$e.length>0&&this.hasValue&&this.itemsList.mapSelectedItems(),this.isOpen&&ti(this.searchTerm)&&!this._isTypeahead&&this.itemsList.filter(this.searchTerm),(this._isTypeahead||this.isOpen)&&this.itemsList.markSelectedOrDefault(this.markFirst)}_setItemsFromNgOptions(){const $e=At=>{this.items=At.map($t=>({$ngOptionValue:$t.value,$ngOptionLabel:$t.elementRef.nativeElement.innerHTML,disabled:$t.disabled})),this.itemsList.setItems(this.items),this.hasValue&&this.itemsList.mapSelectedItems(),this.detectChanges()},yt=()=>{const At=(0,l.h)(this.ngOptions.changes,this._destroy$);(0,l.h)(...this.ngOptions.map($t=>$t.stateChange$)).pipe((0,V.Q)(At)).subscribe($t=>{const si=this.itemsList.findItem($t.value);si.disabled=$t.disabled,si.label=$t.label||si.label,this._cd.detectChanges()})};this.ngOptions.changes.pipe((0,ue.Z)(this.ngOptions),(0,V.Q)(this._destroy$)).subscribe(At=>{this.bindLabel=this._defaultLabel,$e(At),yt()})}_isValidWriteValue($e){if(!ti($e)||this.multiple&&""===$e||Array.isArray($e)&&0===$e.length)return!1;const yt=At=>!(!ti(this.compareWith)&&Dt(At)&&this.bindValue&&(this._console.warn(`Setting object(${JSON.stringify(At)}) as your model with bindValue is not allowed unless [compareWith] is used.`),1));return this.multiple?Array.isArray($e)?$e.every(At=>yt(At)):(this._console.warn("Multiple select ngModel should be array."),!1):yt($e)}_handleWriteValue($e){if(!this._isValidWriteValue($e))return;const yt=At=>{let $t=this.itemsList.findItem(At);if($t)this.itemsList.select($t);else{const si=Dt(At);si||!si&&!this.bindValue?this.itemsList.select(this.itemsList.mapItem(At,null)):this.bindValue&&($t={[this.bindLabel]:null,[this.bindValue]:At},this.itemsList.select(this.itemsList.mapItem($t,null)))}};this.multiple?$e.forEach(At=>yt(At)):yt($e)}_handleKeyPresses(){this.searchable||this._keyPress$.pipe((0,V.Q)(this._destroy$),(0,J.M)($e=>this._pressedKeys.push($e)),(0,te.B)(200),(0,X.p)(()=>this._pressedKeys.length>0),(0,E.T)(()=>this._pressedKeys.join(""))).subscribe($e=>{const yt=this.itemsList.findByLabel($e);yt&&(this.isOpen?(this.itemsList.markItem(yt),this._scrollToMarked(),this._cd.markForCheck()):this.select(yt)),this._pressedKeys=[]})}_setInputAttributes(){const $e=this.searchInput.nativeElement,yt={type:"text",autocorrect:"off",autocapitalize:"off",autocomplete:this.labelForId?"off":this.dropdownId,...this.inputAttrs};for(const At of Object.keys(yt))$e.setAttribute(At,yt[At])}_updateNgModel(){const $e=[];for(const At of this.selectedItems)if(this.bindValue){let $t=null;$t=At.children?At.value[(this.groupValue?this.bindValue:this.groupBy)||this.groupBy]:this.itemsList.resolveNested(At.value,this.bindValue),$e.push($t)}else $e.push(At.value);const yt=this.selectedItems.map(At=>At.value);this.multiple?(this._onChange($e),this.changeEvent.emit(yt)):(this._onChange(ti($e[0])?$e[0]:null),this.changeEvent.emit(yt[0])),this._cd.markForCheck()}_clearSearch(){this.searchTerm&&(this._changeSearch(null),this.itemsList.resetFilteredItems())}_changeSearch($e){this.searchTerm=$e,this._isTypeahead&&this.typeahead.next($e)}_scrollToMarked(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollTo(this.itemsList.markedItem)}_scrollToTag(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollToTag()}_onSelectionChanged(){this.isOpen&&this.deselectOnClick&&this.appendTo&&(this._cd.detectChanges(),this.dropdownPanel.adjustPosition())}_handleTab($e){if(!1===this.isOpen)if(this.showClear())this.focusOnClear(),$e.preventDefault();else if(!this.addTag)return;this.selectOnTab?this.itemsList.markedItem?(this.toggleItem(this.itemsList.markedItem),$e.preventDefault()):this.showAddTag?(this.selectTag(),$e.preventDefault()):this.close():this.close()}_handleEnter($e){if(this.isOpen||this._manualOpen)this.itemsList.markedItem?this.toggleItem(this.itemsList.markedItem):this.showAddTag&&this.selectTag();else{if(!this.openOnEnter)return;this.open()}$e.preventDefault()}_handleSpace($e){this.isOpen||this._manualOpen||(this.open(),$e.preventDefault())}_handleArrowDown($e){this._nextItemIsTag(1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markNextItem(),this._scrollToMarked()),this.open(),$e.preventDefault()}_handleArrowUp($e){this.isOpen&&(this._nextItemIsTag(-1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markPreviousItem(),this._scrollToMarked()),$e.preventDefault())}_nextItemIsTag($e){const yt=this.itemsList.markedIndex+$e;return this.addTag&&this.searchTerm&&this.itemsList.markedItem&&(yt<0||yt===this.itemsList.filteredItems.length)}_handleBackspace(){this.searchTerm||!this.clearable||!this.clearOnBackspace||!this.hasValue||(this.multiple?this.unselect(this.itemsList.lastSelectedItem):this.clearModel())}get _isTypeahead(){return this.typeahead&&this.typeahead.observers.length>0}get _validTerm(){const $e=this.searchTerm&&this.searchTerm.trim();return $e&&$e.length>=this.minTermLength}_mergeGlobalConfig($e){this.placeholder=this.placeholder||$e.placeholder,this.notFoundText=this.notFoundText||$e.notFoundText,this.typeToSearchText=this.typeToSearchText||$e.typeToSearchText,this.addTagText=this.addTagText||$e.addTagText,this.loadingText=this.loadingText||$e.loadingText,this.clearAllText=this.clearAllText||$e.clearAllText,this.virtualScroll=ti(this.virtualScroll)?this.virtualScroll:!!ti($e.disableVirtualScroll)&&!$e.disableVirtualScroll,this.openOnEnter=ti(this.openOnEnter)?this.openOnEnter:$e.openOnEnter,this.appendTo=this.appendTo||$e.appendTo,this.bindValue=this.bindValue||$e.bindValue,this.bindLabel=this.bindLabel||$e.bindLabel,this.appearance=this.appearance||$e.appearance}static#e=this.\u0275fac=function(yt){return new(yt||mt)(M.kS0("class"),M.kS0("autofocus"),M.rXU(ar),M.rXU(Wr),M.rXU(M.aKT),M.rXU(M.gRc),M.rXU(To))};static#t=this.\u0275cmp=M.VBU({type:mt,selectors:[["ng-select"]],contentQueries:function(yt,At,$t){if(1&yt&&(M.wni($t,Qt,5,M.C4Q),M.wni($t,di,5,M.C4Q),M.wni($t,Ni,5,M.C4Q),M.wni($t,mi,5,M.C4Q),M.wni($t,vi,5,M.C4Q),M.wni($t,zi,5,M.C4Q),M.wni($t,gs,5,M.C4Q),M.wni($t,Fn,5,M.C4Q),M.wni($t,as,5,M.C4Q),M.wni($t,ms,5,M.C4Q),M.wni($t,Ln,5,M.C4Q),M.wni($t,On,5)),2&yt){let si;M.mGM(si=M.lsd())&&(At.optionTemplate=si.first),M.mGM(si=M.lsd())&&(At.optgroupTemplate=si.first),M.mGM(si=M.lsd())&&(At.labelTemplate=si.first),M.mGM(si=M.lsd())&&(At.multiLabelTemplate=si.first),M.mGM(si=M.lsd())&&(At.headerTemplate=si.first),M.mGM(si=M.lsd())&&(At.footerTemplate=si.first),M.mGM(si=M.lsd())&&(At.notFoundTemplate=si.first),M.mGM(si=M.lsd())&&(At.typeToSearchTemplate=si.first),M.mGM(si=M.lsd())&&(At.loadingTextTemplate=si.first),M.mGM(si=M.lsd())&&(At.tagTemplate=si.first),M.mGM(si=M.lsd())&&(At.loadingSpinnerTemplate=si.first),M.mGM(si=M.lsd())&&(At.ngOptions=si)}},viewQuery:function(yt,At){if(1&yt&&(M.GBs(js,5),M.GBs(U,7),M.GBs(se,5)),2&yt){let $t;M.mGM($t=M.lsd())&&(At.dropdownPanel=$t.first),M.mGM($t=M.lsd())&&(At.searchInput=$t.first),M.mGM($t=M.lsd())&&(At.clearButton=$t.first)}},hostVars:20,hostBindings:function(yt,At){1&yt&&M.bIt("keydown",function(si){return At.handleKeyDown(si)}),2&yt&&M.AVh("ng-select-typeahead",At.typeahead)("ng-select-multiple",At.multiple)("ng-select-taggable",At.addTag)("ng-select-searchable",At.searchable)("ng-select-clearable",At.clearable)("ng-select-opened",At.isOpen)("ng-select",At.useDefaultClass)("ng-select-disabled",At.disabled)("ng-select-filtered",At.filtered)("ng-select-single",At.single)},inputs:{bindLabel:"bindLabel",bindValue:"bindValue",markFirst:"markFirst",placeholder:"placeholder",notFoundText:"notFoundText",typeToSearchText:"typeToSearchText",addTagText:"addTagText",loadingText:"loadingText",clearAllText:"clearAllText",appearance:"appearance",dropdownPosition:"dropdownPosition",appendTo:"appendTo",loading:"loading",closeOnSelect:"closeOnSelect",hideSelected:"hideSelected",selectOnTab:"selectOnTab",openOnEnter:"openOnEnter",maxSelectedItems:"maxSelectedItems",groupBy:"groupBy",groupValue:"groupValue",bufferAmount:"bufferAmount",virtualScroll:"virtualScroll",selectableGroup:"selectableGroup",selectableGroupAsModel:"selectableGroupAsModel",searchFn:"searchFn",trackByFn:"trackByFn",clearOnBackspace:"clearOnBackspace",labelForId:"labelForId",inputAttrs:"inputAttrs",tabIndex:"tabIndex",readonly:"readonly",searchWhileComposing:"searchWhileComposing",minTermLength:"minTermLength",editableSearchTerm:"editableSearchTerm",keyDownFn:"keyDownFn",typeahead:"typeahead",multiple:"multiple",addTag:"addTag",searchable:"searchable",clearable:"clearable",isOpen:"isOpen",items:"items",compareWith:"compareWith",clearSearchOnAdd:"clearSearchOnAdd",deselectOnClick:"deselectOnClick"},outputs:{blurEvent:"blur",focusEvent:"focus",changeEvent:"change",openEvent:"open",closeEvent:"close",searchEvent:"search",clearEvent:"clear",addEvent:"add",removeEvent:"remove",scroll:"scroll",scrollToEnd:"scrollToEnd"},features:[M.Jv_([{provide:e.kq,useExisting:(0,M.Rfq)(()=>mt),multi:!0},Bs]),M.OA$],decls:14,vars:19,consts:[["searchInput",""],["defaultLabelTemplate",""],["defaultLoadingSpinnerTemplate",""],["clearButton",""],["defaultOptionTemplate",""],["defaultTagTemplate",""],["defaultNotFoundTemplate",""],["defaultTypeToSearchTemplate",""],["defaultLoadingTextTemplate",""],[1,"ng-select-container",3,"mousedown"],[1,"ng-value-container"],[1,"ng-placeholder"],[4,"ngIf"],["role","combobox","aria-haspopup","listbox",1,"ng-input"],["aria-autocomplete","list",3,"input","compositionstart","compositionend","focus","blur","change","readOnly","disabled","value"],["class","ng-clear-wrapper","tabindex","0",3,"title",4,"ngIf"],[1,"ng-arrow-wrapper"],[1,"ng-arrow"],["class","ng-dropdown-panel","role","listbox","aria-label","Options list",3,"virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ng-select-multiple","ngClass","id","update","scroll","scrollToEnd","outsideClick",4,"ngIf"],["class","ng-value",3,"ng-value-disabled",4,"ngFor","ngForOf","ngForTrackBy"],[1,"ng-value"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["aria-hidden","true",1,"ng-value-icon","left",3,"click"],[1,"ng-value-label",3,"ngItemLabel","escape"],[3,"ngTemplateOutlet"],[1,"ng-spinner-loader"],["tabindex","0",1,"ng-clear-wrapper",3,"title"],["aria-hidden","true",1,"ng-clear"],["role","listbox","aria-label","Options list",1,"ng-dropdown-panel",3,"update","scroll","scrollToEnd","outsideClick","virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ngClass","id"],["class","ng-option",3,"ng-option-disabled","ng-option-selected","ng-optgroup","ng-option","ng-option-child","ng-option-marked","click","mouseover",4,"ngFor","ngForOf","ngForTrackBy"],["class","ng-option","role","option",3,"ng-option-marked","mouseover","click",4,"ngIf"],[1,"ng-option",3,"click","mouseover"],[1,"ng-option-label",3,"ngItemLabel","escape"],["role","option",1,"ng-option",3,"mouseover","click"],[1,"ng-tag-label"],[1,"ng-option","ng-option-disabled"]],template:function(yt,At){if(1&yt){const $t=M.RV6();M.j41(0,"div",9),M.bIt("mousedown",function(Di){return M.eBV($t),M.Njj(At.handleMousedown(Di))}),M.j41(1,"div",10)(2,"div",11),M.EFF(3),M.k0s(),M.DNE(4,Z,2,2,"ng-container",12)(5,he,1,5,null,12),M.j41(6,"div",13)(7,"input",14,0),M.bIt("input",function(){M.eBV($t);const Di=M.sdS(8);return M.Njj(At.filter(Di.value))})("compositionstart",function(){return M.eBV($t),M.Njj(At.onCompositionStart())})("compositionend",function(){M.eBV($t);const Di=M.sdS(8);return M.Njj(At.onCompositionEnd(Di.value))})("focus",function(Di){return M.eBV($t),M.Njj(At.onInputFocus(Di))})("blur",function(Di){return M.eBV($t),M.Njj(At.onInputBlur(Di))})("change",function(Di){return M.eBV($t),M.Njj(Di.stopPropagation())}),M.k0s()()(),M.DNE(9,Te,4,1,"ng-container",12)(10,Oe,4,1,"span",15),M.j41(11,"span",16),M.nrm(12,"span",17),M.k0s()(),M.DNE(13,Tt,7,19,"ng-dropdown-panel",18)}2&yt&&(M.AVh("ng-appearance-outline","outline"===At.appearance)("ng-has-value",At.hasValue),M.R7$(3),M.JRh(At.placeholder),M.R7$(),M.Y8G("ngIf",(!At.multiLabelTemplate||!At.multiple)&&At.selectedItems.length>0),M.R7$(),M.Y8G("ngIf",At.multiple&&At.multiLabelTemplate&&At.selectedValues.length>0),M.R7$(),M.BMQ("aria-expanded",At.isOpen)("aria-owns",At.isOpen?At.dropdownId:null),M.R7$(),M.Y8G("readOnly",!At.searchable||At.itemsList.maxItemsSelected)("disabled",At.disabled)("value",At.searchTerm?At.searchTerm:""),M.BMQ("id",At.labelForId)("tabindex",At.tabIndex)("aria-activedescendant",At.isOpen?null==At.itemsList||null==At.itemsList.markedItem?null:At.itemsList.markedItem.htmlId:null)("aria-controls",At.isOpen?At.dropdownId:null),M.R7$(2),M.Y8G("ngIf",At.loading),M.R7$(),M.Y8G("ngIf",At.showClear()),M.R7$(3),M.Y8G("ngIf",At.isOpen))},dependencies:[d.YU,d.Sq,d.bT,d.T3,js,wt],styles:['@charset "UTF-8";.ng-select{position:relative;display:block;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:none;user-select:none;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:"\\200b"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0}\n'],encapsulation:2,changeDetection:0})}return mt})();function St(){return new Rt}class Rt{constructor(){this._selected=[]}get value(){return this._selected}select(_t,$e,yt){if(_t.selected=!0,(!_t.children||!$e&&yt)&&this._selected.push(_t),$e)if(_t.parent){const At=_t.parent.children.length,$t=_t.parent.children.filter(si=>si.selected).length;_t.parent.selected=At===$t}else _t.children&&(this._setChildrenSelectedState(_t.children,!0),this._removeChildren(_t),this._selected=yt&&this._activeChildren(_t)?[...this._selected.filter(At=>At.parent!==_t),_t]:[...this._selected,..._t.children.filter(At=>!At.disabled)])}unselect(_t,$e){if(this._selected=this._selected.filter(yt=>yt!==_t),_t.selected=!1,$e)if(_t.parent&&_t.parent.selected){const yt=_t.parent.children;this._removeParent(_t.parent),this._removeChildren(_t.parent),this._selected.push(...yt.filter(At=>At!==_t&&!At.disabled)),_t.parent.selected=!1}else _t.children&&(this._setChildrenSelectedState(_t.children,!1),this._removeChildren(_t))}clear(_t){this._selected=_t?this._selected.filter($e=>$e.disabled):[]}_setChildrenSelectedState(_t,$e){for(const yt of _t)yt.disabled||(yt.selected=$e)}_removeChildren(_t){this._selected=[...this._selected.filter($e=>$e.parent!==_t),..._t.children.filter($e=>$e.parent===_t&&$e.disabled&&$e.selected)]}_removeParent(_t){this._selected=this._selected.filter($e=>$e!==_t)}_activeChildren(_t){return _t.children.every($e=>!$e.disabled||$e.selected)}}let Nt=(()=>{class mt{static#e=this.\u0275fac=function(yt){return new(yt||mt)};static#t=this.\u0275mod=M.$C({type:mt});static#i=this.\u0275inj=M.G2t({providers:[{provide:Wr,useValue:St}],imports:[d.MD]})}return mt})()},19664:(ri,Bt,We)=>{"use strict";We.d(Bt,{Mm:()=>l,h:()=>C,D9:()=>d,c$:()=>r});var M=We(54438),e=We(7673),V=We(74402),Le=We(27468),q=We(28793),ne=We(59030),re=We(96697),ve=We(21413),le=We(86129);class pe extends ve.B{constructor(p=1/0,T=1/0,B=le.U){super(),this._bufferSize=p,this._windowTime=T,this._timestampProvider=B,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=T===1/0,this._bufferSize=Math.max(1,p),this._windowTime=Math.max(1,T)}next(p){const{isStopped:T,_buffer:B,_infiniteTimeWindow:z,_timestampProvider:K,_windowTime:U}=this;T||(B.push(p),!z&&B.push(K.now()+U)),this._trimBuffer(),super.next(p)}_subscribe(p){this._throwIfClosed(),this._trimBuffer();const T=this._innerSubscribe(p),{_infiniteTimeWindow:B,_buffer:z}=this,K=z.slice();for(let U=0;Unew pe(B,p,T),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:z})}var te=We(96354),X=We(70274),E=We(25558);class j{}let F=(()=>{class k extends j{getTranslation(T){return(0,e.of)({})}static \u0275fac=(()=>{let T;return function(z){return(T||(T=M.xGo(k)))(z||k)}})();static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();class P{}let D=(()=>{class k{handle(T){return T.key}static \u0275fac=function(B){return new(B||k)};static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();function A(k,p){if(k===p)return!0;if(null===k||null===p)return!1;if(k!=k&&p!=p)return!0;let z,K,U,T=typeof k;if(T==typeof p&&"object"==T){if(!Array.isArray(k)){if(Array.isArray(p))return!1;for(K in U=Object.create(null),k){if(!A(k[K],p[K]))return!1;U[K]=!0}for(K in p)if(!(K in U)&&typeof p[K]<"u")return!1;return!0}if(!Array.isArray(p))return!1;if((z=k.length)==p.length){for(K=0;K{_(p[B])?B in k?T[B]=m(k[B],p[B]):Object.assign(T,{[B]:p[B]}):Object.assign(T,{[B]:p[B]})}),T}class w{}let G=(()=>{class k extends w{templateMatcher=/{{\s?([^{}\s]*)\s?}}/g;interpolate(T,B){let z;return z="string"==typeof T?this.interpolateString(T,B):"function"==typeof T?this.interpolateFunction(T,B):T,z}getValue(T,B){let z="string"==typeof B?B.split("."):[B];B="";do{B+=z.shift(),!I(T)||!I(T[B])||"object"!=typeof T[B]&&z.length?z.length?B+=".":T=void 0:(T=T[B],B="")}while(z.length);return T}interpolateFunction(T,B){return T(B)}interpolateString(T,B){return B?T.replace(this.templateMatcher,(z,K)=>{let U=this.getValue(B,K);return I(U)?U:z}):T}static \u0275fac=(()=>{let T;return function(z){return(T||(T=M.xGo(k)))(z||k)}})();static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();class O{}let f=(()=>{class k extends O{compile(T,B){return T}compileTranslations(T,B){return T}static \u0275fac=(()=>{let T;return function(z){return(T||(T=M.xGo(k)))(z||k)}})();static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})();class a{defaultLang;currentLang=this.defaultLang;translations={};langs=[];onTranslationChange=new M.bkB;onLangChange=new M.bkB;onDefaultLangChange=new M.bkB}const g=new M.nKC("USE_STORE"),v=new M.nKC("USE_DEFAULT_LANG"),o=new M.nKC("DEFAULT_LANGUAGE"),n=new M.nKC("USE_EXTEND");let r=(()=>{class k{store;currentLoader;compiler;parser;missingTranslationHandler;useDefaultLang;isolate;extend;loadingTranslations;pending=!1;_onTranslationChange=new M.bkB;_onLangChange=new M.bkB;_onDefaultLangChange=new M.bkB;_defaultLang;_currentLang;_langs=[];_translations={};_translationRequests={};get onTranslationChange(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange}get onLangChange(){return this.isolate?this._onLangChange:this.store.onLangChange}get onDefaultLangChange(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange}get defaultLang(){return this.isolate?this._defaultLang:this.store.defaultLang}set defaultLang(T){this.isolate?this._defaultLang=T:this.store.defaultLang=T}get currentLang(){return this.isolate?this._currentLang:this.store.currentLang}set currentLang(T){this.isolate?this._currentLang=T:this.store.currentLang=T}get langs(){return this.isolate?this._langs:this.store.langs}set langs(T){this.isolate?this._langs=T:this.store.langs=T}get translations(){return this.isolate?this._translations:this.store.translations}set translations(T){this.isolate?this._translations=T:this.store.translations=T}constructor(T,B,z,K,U,se=!0,S=!1,$=!1,H){this.store=T,this.currentLoader=B,this.compiler=z,this.parser=K,this.missingTranslationHandler=U,this.useDefaultLang=se,this.isolate=S,this.extend=$,H&&this.setDefaultLang(H)}setDefaultLang(T){if(T===this.defaultLang)return;let B=this.retrieveTranslations(T);typeof B<"u"?(null==this.defaultLang&&(this.defaultLang=T),B.pipe((0,re.s)(1)).subscribe(z=>{this.changeDefaultLang(T)})):this.changeDefaultLang(T)}getDefaultLang(){return this.defaultLang}use(T){if(T===this.currentLang)return(0,e.of)(this.translations[T]);let B=this.retrieveTranslations(T);return typeof B<"u"?(this.currentLang||(this.currentLang=T),B.pipe((0,re.s)(1)).subscribe(z=>{this.changeLang(T)}),B):(this.changeLang(T),(0,e.of)(this.translations[T]))}retrieveTranslations(T){let B;return(typeof this.translations[T]>"u"||this.extend)&&(this._translationRequests[T]=this._translationRequests[T]||this.getTranslation(T),B=this._translationRequests[T]),B}getTranslation(T){this.pending=!0;const B=this.currentLoader.getTranslation(T).pipe(J(1),(0,re.s)(1));return this.loadingTranslations=B.pipe((0,te.T)(z=>this.compiler.compileTranslations(z,T)),J(1),(0,re.s)(1)),this.loadingTranslations.subscribe({next:z=>{this.translations[T]=this.extend&&this.translations[T]?{...z,...this.translations[T]}:z,this.updateLangs(),this.pending=!1},error:z=>{this.pending=!1}}),B}setTranslation(T,B,z=!1){B=this.compiler.compileTranslations(B,T),this.translations[T]=(z||this.extend)&&this.translations[T]?m(this.translations[T],B):B,this.updateLangs(),this.onTranslationChange.emit({lang:T,translations:this.translations[T]})}getLangs(){return this.langs}addLangs(T){T.forEach(B=>{-1===this.langs.indexOf(B)&&this.langs.push(B)})}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResult(T,B,z){let K;if(B instanceof Array){let U={},se=!1;for(let S of B)U[S]=this.getParsedResult(T,S,z),(0,V.A)(U[S])&&(se=!0);if(se){const S=B.map($=>(0,V.A)(U[$])?U[$]:(0,e.of)(U[$]));return(0,Le.p)(S).pipe((0,te.T)($=>{let H={};return $.forEach((x,N)=>{H[B[N]]=x}),H}))}return U}if(T&&(K=this.parser.interpolate(this.parser.getValue(T,B),z)),typeof K>"u"&&null!=this.defaultLang&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(K=this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang],B),z)),typeof K>"u"){let U={key:B,translateService:this};typeof z<"u"&&(U.interpolateParams=z),K=this.missingTranslationHandler.handle(U)}return typeof K<"u"?K:B}get(T,B){if(!I(T)||!T.length)throw new Error('Parameter "key" required');if(this.pending)return this.loadingTranslations.pipe((0,X.H)(z=>(z=this.getParsedResult(z,T,B),(0,V.A)(z)?z:(0,e.of)(z))));{let z=this.getParsedResult(this.translations[this.currentLang],T,B);return(0,V.A)(z)?z:(0,e.of)(z)}}getStreamOnTranslationChange(T,B){if(!I(T)||!T.length)throw new Error('Parameter "key" required');return(0,q.x)((0,ne.v)(()=>this.get(T,B)),this.onTranslationChange.pipe((0,E.n)(z=>{const K=this.getParsedResult(z.translations,T,B);return"function"==typeof K.subscribe?K:(0,e.of)(K)})))}stream(T,B){if(!I(T)||!T.length)throw new Error('Parameter "key" required');return(0,q.x)((0,ne.v)(()=>this.get(T,B)),this.onLangChange.pipe((0,E.n)(z=>{const K=this.getParsedResult(z.translations,T,B);return(0,V.A)(K)?K:(0,e.of)(K)})))}instant(T,B){if(!I(T)||!T.length)throw new Error('Parameter "key" required');let z=this.getParsedResult(this.translations[this.currentLang],T,B);if((0,V.A)(z)){if(T instanceof Array){let K={};return T.forEach((U,se)=>{K[T[se]]=T[se]}),K}return T}return z}set(T,B,z=this.currentLang){this.translations[z][T]=this.compiler.compile(B,z),this.updateLangs(),this.onTranslationChange.emit({lang:z,translations:this.translations[z]})}changeLang(T){this.currentLang=T,this.onLangChange.emit({lang:T,translations:this.translations[T]}),null==this.defaultLang&&this.changeDefaultLang(T)}changeDefaultLang(T){this.defaultLang=T,this.onDefaultLangChange.emit({lang:T,translations:this.translations[T]})}reloadLang(T){return this.resetLang(T),this.getTranslation(T)}resetLang(T){this._translationRequests[T]=void 0,this.translations[T]=void 0}getBrowserLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let T=window.navigator.languages?window.navigator.languages[0]:null;return T=T||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,typeof T>"u"?void 0:(-1!==T.indexOf("-")&&(T=T.split("-")[0]),-1!==T.indexOf("_")&&(T=T.split("_")[0]),T)}getBrowserCultureLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let T=window.navigator.languages?window.navigator.languages[0]:null;return T=T||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,T}static \u0275fac=function(B){return new(B||k)(M.KVO(a),M.KVO(j),M.KVO(O),M.KVO(w),M.KVO(P),M.KVO(v),M.KVO(g),M.KVO(n),M.KVO(o))};static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})(),l=(()=>{class k{translateService;element;_ref;key;lastParams;currentParams;onLangChangeSub;onDefaultLangChangeSub;onTranslationChangeSub;set translate(T){T&&(this.key=T,this.checkNodes())}set translateParams(T){A(this.currentParams,T)||(this.currentParams=T,this.checkNodes(!0))}constructor(T,B,z){this.translateService=T,this.element=B,this._ref=z,this.onTranslationChangeSub||(this.onTranslationChangeSub=this.translateService.onTranslationChange.subscribe(K=>{K.lang===this.translateService.currentLang&&this.checkNodes(!0,K.translations)})),this.onLangChangeSub||(this.onLangChangeSub=this.translateService.onLangChange.subscribe(K=>{this.checkNodes(!0,K.translations)})),this.onDefaultLangChangeSub||(this.onDefaultLangChangeSub=this.translateService.onDefaultLangChange.subscribe(K=>{this.checkNodes(!0)}))}ngAfterViewChecked(){this.checkNodes()}checkNodes(T=!1,B){let z=this.element.nativeElement.childNodes;z.length||(this.setContent(this.element.nativeElement,this.key),z=this.element.nativeElement.childNodes);for(let K=0;K{U!==T&&(B.lastKey=T),B.originalContent||(B.originalContent=this.getContent(B)),B.currentValue=I(U)?U:B.originalContent||T,this.setContent(B,this.key?B.currentValue:B.originalContent.replace(T,B.currentValue)),this._ref.markForCheck()};if(I(z)){let U=this.translateService.getParsedResult(z,T,this.currentParams);(0,V.A)(U)?U.subscribe({next:K}):K(U)}else this.translateService.get(T,this.currentParams).subscribe(K)}}getContent(T){return I(T.textContent)?T.textContent:T.data}setContent(T,B){I(T.textContent)?T.textContent=B:T.data=B}ngOnDestroy(){this.onLangChangeSub&&this.onLangChangeSub.unsubscribe(),this.onDefaultLangChangeSub&&this.onDefaultLangChangeSub.unsubscribe(),this.onTranslationChangeSub&&this.onTranslationChangeSub.unsubscribe()}static \u0275fac=function(B){return new(B||k)(M.rXU(r),M.rXU(M.aKT),M.rXU(M.gRc))};static \u0275dir=M.FsC({type:k,selectors:[["","translate",""],["","ngx-translate",""]],inputs:{translate:"translate",translateParams:"translateParams"}})}return k})(),d=(()=>{class k{translate;_ref;value="";lastKey=null;lastParams=[];onTranslationChange;onLangChange;onDefaultLangChange;constructor(T,B){this.translate=T,this._ref=B}updateValue(T,B,z){let K=U=>{this.value=void 0!==U?U:T,this.lastKey=T,this._ref.markForCheck()};if(z){let U=this.translate.getParsedResult(z,T,B);(0,V.A)(U.subscribe)?U.subscribe(K):K(U)}this.translate.get(T,B).subscribe(K)}transform(T,...B){if(!T||!T.length)return T;if(A(T,this.lastKey)&&A(B,this.lastParams))return this.value;let z;if(I(B[0])&&B.length)if("string"==typeof B[0]&&B[0].length){let K=B[0].replace(/(\')?([a-zA-Z0-9_]+)(\')?(\s)?:/g,'"$2":').replace(/:(\s)?(\')(.*?)(\')/g,':"$3"');try{z=JSON.parse(K)}catch{throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${B[0]}`)}}else"object"==typeof B[0]&&!Array.isArray(B[0])&&(z=B[0]);return this.lastKey=T,this.lastParams=B,this.updateValue(T,z),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(K=>{this.lastKey&&K.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(T,z,K.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(K=>{this.lastKey&&(this.lastKey=null,this.updateValue(T,z,K.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(T,z))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}static \u0275fac=function(B){return new(B||k)(M.rXU(r,16),M.rXU(M.gRc,16))};static \u0275pipe=M.EJ8({name:"translate",type:k,pure:!1});static \u0275prov=M.jDH({token:k,factory:k.\u0275fac})}return k})(),C=(()=>{class k{static forRoot(T={}){return{ngModule:k,providers:[T.loader||{provide:j,useClass:F},T.compiler||{provide:O,useClass:f},T.parser||{provide:w,useClass:G},T.missingTranslationHandler||{provide:P,useClass:D},a,{provide:g,useValue:T.isolate},{provide:v,useValue:T.useDefaultLang},{provide:n,useValue:T.extend},{provide:o,useValue:T.defaultLanguage},r]}}static forChild(T={}){return{ngModule:k,providers:[T.loader||{provide:j,useClass:F},T.compiler||{provide:O,useClass:f},T.parser||{provide:w,useClass:G},T.missingTranslationHandler||{provide:P,useClass:D},{provide:g,useValue:T.isolate},{provide:v,useValue:T.useDefaultLang},{provide:n,useValue:T.extend},{provide:o,useValue:T.defaultLanguage},r]}}static \u0275fac=function(B){return new(B||k)};static \u0275mod=M.$C({type:k});static \u0275inj=M.G2t({})}return k})()},91346:(ri,Bt,We)=>{"use strict";We.d(Bt,{t1:()=>J,S6:()=>j,Fr:()=>D,SV:()=>F});var M=We(21264),e=We.t(M,2),V=We(21413);class Le extends V.B{constructor(){super(...arguments),this._value=null,this._hasValue=!1,this._isComplete=!1}_checkFinalizedStatuses(I){const{hasError:_,_hasValue:m,_value:w,thrownError:G,isStopped:O,_isComplete:f}=this;_?I.error(G):(O||f)&&(m&&I.next(w),I.complete())}next(I){this.isStopped||(this._value=I,this._hasValue=!0)}complete(){const{_hasValue:I,_value:_,_isComplete:m}=this;m||(this._isComplete=!0,I&&super.next(_),super.complete())}}var q=We(54438),ne=We(12146),re=We.t(ne,2),ve=We(84191),le=We.t(ve,2),pe=We(31923),ue=We.t(pe,2);class J{constructor(I={series:[]}){this.options=I,this.refSubject=new Le,this.ref$=this.refSubject.asObservable()}addPoint(I,_=0,m=!0,w=!1){this.ref$.subscribe(G=>{G.series.length>_&&G.series[_].addPoint(I,m,w)})}addSeries(I,_=!0,m){this.ref$.subscribe(w=>{w.addSeries(I,_,m)})}removePoint(I,_=0){this.ref$.subscribe(m=>{m.series.length>_&&m.series[_].data.length>I&&m.series[_].removePoint(I,!0)})}removeSeries(I){this.ref$.subscribe(_=>{_.series.length>I&&_.series[I].remove(!0)})}init(I){this.ref||M.chart(I.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Le,this.ref$=this.refSubject.asObservable())}}class te{constructor(I={series:[]}){this.options=I,this.refSubject=new Le,this.ref$=this.refSubject.asObservable()}init(I){this.ref||ne.mapChart(I.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Le,this.ref$=this.refSubject.asObservable())}}class X{constructor(I={series:[]}){this.options=I,this.refSubject=new Le,this.ref$=this.refSubject.asObservable()}init(I){this.ref||ve.stockChart(I.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Le,this.ref$=this.refSubject.asObservable())}}class E{constructor(I={series:[]}){this.options=I,this.refSubject=new Le,this.ref$=this.refSubject.asObservable()}init(I){this.ref||pe.ganttChart(I.nativeElement,this.options,_=>{this.ref||(this.refSubject.next(_),this.ref=_,this.refSubject.complete())})}destroy(){this.ref&&(this.options=this.ref.options,this.ref.destroy(),this.ref=void 0,this.refSubject=new Le,this.ref$=this.refSubject.asObservable())}}let j=(()=>{class A{constructor(_){this.el=_}ngOnChanges(_){_.chart?.isFirstChange()||(this.destroy(),this.init())}ngOnInit(){this.init()}ngOnDestroy(){this.destroy()}init(){(this.chart instanceof J||this.chart instanceof X||this.chart instanceof te||this.chart instanceof E)&&this.chart.init(this.el)}destroy(){(this.chart instanceof J||this.chart instanceof X||this.chart instanceof te||this.chart instanceof E)&&this.chart.destroy()}static#e=this.\u0275fac=function(m){return new(m||A)(q.rXU(q.aKT))};static#t=this.\u0275dir=q.FsC({type:A,selectors:[["","chart",""]],inputs:{chart:"chart"},features:[q.OA$]})}return A})(),F=new q.nKC("HighchartsModules"),P=(()=>{class A{constructor(_){this.chartModules=_}initModules(){this.chartModules.forEach(_=>{[e,le,re,ue].forEach(_)})}static#e=this.\u0275fac=function(m){return new(m||A)(q.KVO(F))};static#t=this.\u0275prov=q.jDH({token:A,factory:A.\u0275fac})}return A})(),D=(()=>{class A{constructor(_){this.cs=_,this.cs.initModules()}static#e=this.\u0275fac=function(m){return new(m||A)(q.KVO(P))};static#t=this.\u0275mod=q.$C({type:A});static#i=this.\u0275inj=q.G2t({providers:[{provide:F,useValue:[]},P]})}return A})()},36554:(ri,Bt,We)=>{"use strict";We.d(Bt,{PO:()=>m,et:()=>_,ex:()=>D});var M=We(54438),e=We(84412),V=We(21413),Le=We(5964),q=We(56977),ne=We(49969),re=We(60177),ve=We(345);const le=["overlay"],pe=["*"];function ue(w,G){1&w&&M.nrm(0,"div")}function J(w,G){if(1&w&&(M.j41(0,"div"),M.DNE(1,ue,1,0,"div",6),M.k0s()),2&w){const O=M.XpG(2);M.HbH(O.spinner.class),M.xc7("color",O.spinner.color),M.R7$(),M.Y8G("ngForOf",O.spinner.divArray)}}function te(w,G){if(1&w&&(M.nrm(0,"div",7),M.nI1(1,"safeHtml")),2&w){const O=M.XpG(2);M.Y8G("innerHTML",M.bMT(1,1,O.template),M.npT)}}function X(w,G){if(1&w&&(M.j41(0,"div",2,0),M.DNE(2,J,2,5,"div",3)(3,te,2,3,"div",4),M.j41(4,"div",5),M.SdG(5),M.k0s()()),2&w){const O=M.XpG();M.xc7("background-color",O.spinner.bdColor)("z-index",O.spinner.zIndex)("position",O.spinner.fullScreen?"fixed":"absolute"),M.Y8G("@.disabled",O.disableAnimation)("@fadeIn","in"),M.R7$(2),M.Y8G("ngIf",!O.template),M.R7$(),M.Y8G("ngIf",O.template),M.R7$(),M.xc7("z-index",O.spinner.zIndex)}}const E={"ball-8bits":16,"ball-atom":4,"ball-beat":3,"ball-circus":5,"ball-climbing-dot":4,"ball-clip-rotate":1,"ball-clip-rotate-multiple":2,"ball-clip-rotate-pulse":2,"ball-elastic-dots":5,"ball-fall":3,"ball-fussion":4,"ball-grid-beat":9,"ball-grid-pulse":9,"ball-newton-cradle":4,"ball-pulse":3,"ball-pulse-rise":5,"ball-pulse-sync":3,"ball-rotate":1,"ball-running-dots":5,"ball-scale":1,"ball-scale-multiple":3,"ball-scale-pulse":2,"ball-scale-ripple":1,"ball-scale-ripple-multiple":3,"ball-spin":8,"ball-spin-clockwise":8,"ball-spin-clockwise-fade":8,"ball-spin-clockwise-fade-rotating":8,"ball-spin-fade":8,"ball-spin-fade-rotating":8,"ball-spin-rotate":2,"ball-square-clockwise-spin":8,"ball-square-spin":8,"ball-triangle-path":3,"ball-zig-zag":2,"ball-zig-zag-deflect":2,cog:1,"cube-transition":2,fire:3,"line-scale":5,"line-scale-party":5,"line-scale-pulse-out":5,"line-scale-pulse-out-rapid":5,"line-spin-clockwise-fade":8,"line-spin-clockwise-fade-rotating":8,"line-spin-fade":8,"line-spin-fade-rotating":8,pacman:6,"square-jelly-box":2,"square-loader":1,"square-spin":1,timer:1,"triangle-skew-spin":1},F="primary";class P{constructor(G){Object.assign(this,G)}static create(G){return!G?.template&&!G?.type&&console.warn('[ngx-spinner]: Property "type" is missed. Please, provide animation type to component\n and ensure css is added to angular.json file'),new P(G)}}let D=(()=>{class w{constructor(){this.spinnerObservable=new e.t(null)}getSpinner(O){return this.spinnerObservable.asObservable().pipe((0,Le.p)(f=>f&&f.name===O))}show(O=F,f){return new Promise((a,g)=>{setTimeout(()=>{f&&Object.keys(f).length?(f.name=O,this.spinnerObservable.next(new P({...f,show:!0})),a(!0)):(this.spinnerObservable.next(new P({name:O,show:!0})),a(!0))},10)})}hide(O=F,f=10){return new Promise((a,g)=>{setTimeout(()=>{this.spinnerObservable.next(new P({name:O,show:!1})),a(!0)},f)})}static#e=this.\u0275fac=function(f){return new(f||w)};static#t=this.\u0275prov=M.jDH({token:w,factory:w.\u0275fac,providedIn:"root"})}return w})();const A=new M.nKC("NGX_SPINNER_CONFIG");let I=(()=>{class w{constructor(O){this._sanitizer=O}transform(O){if(O)return this._sanitizer.bypassSecurityTrustHtml(O)}static#e=this.\u0275fac=function(f){return new(f||w)(M.rXU(ve.up,16))};static#t=this.\u0275pipe=M.EJ8({name:"safeHtml",type:w,pure:!0})}return w})(),_=(()=>{class w{constructor(O,f,a,g){this.spinnerService=O,this.changeDetector=f,this.elementRef=a,this.globalConfig=g,this.disableAnimation=!1,this.spinner=new P,this.ngUnsubscribe=new V.B,this.setDefaultOptions=()=>{const{type:v}=this.globalConfig??{};this.spinner=P.create({name:this.name,bdColor:this.bdColor,size:this.size,color:this.color,type:this.type??v,fullScreen:this.fullScreen,divArray:this.divArray,divCount:this.divCount,show:this.show,zIndex:this.zIndex,template:this.template,showSpinner:this.showSpinner})},this.bdColor="rgba(51,51,51,0.8)",this.zIndex=99999,this.color="#fff",this.size="large",this.fullScreen=!0,this.name=F,this.template=null,this.showSpinner=!1,this.divArray=[],this.divCount=0,this.show=!1}initObservable(){this.spinnerService.getSpinner(this.name).pipe((0,q.Q)(this.ngUnsubscribe)).subscribe(O=>{this.setDefaultOptions(),Object.assign(this.spinner,O),O.show&&this.onInputChange(),this.changeDetector.detectChanges()})}ngOnInit(){this.setDefaultOptions(),this.initObservable()}isSpinnerZone(O){return O===this.elementRef.nativeElement.parentElement||O.parentNode&&this.isSpinnerZone(O.parentNode)}ngOnChanges(O){for(const f in O)if(f){const a=O[f];if(a.isFirstChange())return;typeof a.currentValue<"u"&&a.currentValue!==a.previousValue&&""!==a.currentValue&&(this.spinner[f]=a.currentValue,"showSpinner"===f&&(a.currentValue?this.spinnerService.show(this.spinner.name,this.spinner):this.spinnerService.hide(this.spinner.name)),"name"===f&&this.initObservable())}}getClass(O,f){this.spinner.divCount=E[O],this.spinner.divArray=Array(this.spinner.divCount).fill(0).map((g,v)=>v);let a="";switch(f.toLowerCase()){case"small":a="la-sm";break;case"medium":a="la-2x";break;case"large":a="la-3x"}return"la-"+O+" "+a}onInputChange(){this.spinner.class=this.getClass(this.spinner.type,this.spinner.size)}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}static#e=this.\u0275fac=function(f){return new(f||w)(M.rXU(D),M.rXU(M.gRc),M.rXU(M.aKT),M.rXU(A,8))};static#t=this.\u0275cmp=M.VBU({type:w,selectors:[["ngx-spinner"]],viewQuery:function(f,a){if(1&f&&M.GBs(le,5),2&f){let g;M.mGM(g=M.lsd())&&(a.spinnerDOM=g.first)}},inputs:{bdColor:"bdColor",size:"size",color:"color",type:"type",fullScreen:"fullScreen",name:"name",zIndex:"zIndex",template:"template",showSpinner:"showSpinner",disableAnimation:"disableAnimation"},features:[M.OA$],ngContentSelectors:pe,decls:1,vars:1,consts:[["overlay",""],["class","ngx-spinner-overlay",3,"background-color","z-index","position",4,"ngIf"],[1,"ngx-spinner-overlay"],[3,"class","color",4,"ngIf"],[3,"innerHTML",4,"ngIf"],[1,"loading-text"],[4,"ngFor","ngForOf"],[3,"innerHTML"]],template:function(f,a){1&f&&(M.NAR(),M.DNE(0,X,6,12,"div",1)),2&f&&M.Y8G("ngIf",a.spinner.show)},dependencies:[re.Sq,re.bT,I],styles:[".ngx-spinner-overlay[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%}.ngx-spinner-overlay[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:not(.loading-text){top:50%;left:50%;margin:0;position:absolute;transform:translate(-50%,-50%)}.loading-text[_ngcontent-%COMP%]{position:absolute;top:60%;left:50%;transform:translate(-50%,-60%)}"],data:{animation:[(0,ne.hZ)("fadeIn",[(0,ne.wk)("in",(0,ne.iF)({opacity:1})),(0,ne.kY)(":enter",[(0,ne.iF)({opacity:0}),(0,ne.i0)(300)]),(0,ne.kY)(":leave",(0,ne.i0)(200,(0,ne.iF)({opacity:0})))])]},changeDetection:0})}return w})(),m=(()=>{class w{static forRoot(O){return{ngModule:w,providers:[{provide:A,useValue:O}]}}static#e=this.\u0275fac=function(f){return new(f||w)};static#t=this.\u0275mod=M.$C({type:w});static#i=this.\u0275inj=M.G2t({imports:[re.MD]})}return w})()},45794:(ri,Bt,We)=>{"use strict";We.d(Bt,{_B:()=>l,tw:()=>v});var M=We(54438),e=We(49969),V=We(60177),Le=We(21413),q=We(345);const ne=["toast-component",""];function re(T,B){if(1&T){const z=M.RV6();M.j41(0,"button",5),M.bIt("click",function(){M.eBV(z);const U=M.XpG();return M.Njj(U.remove())}),M.j41(1,"span",6),M.EFF(2,"\xd7"),M.k0s()()}}function ve(T,B){if(1&T&&(M.qex(0),M.EFF(1),M.bVm()),2&T){const z=M.XpG(2);M.R7$(),M.SpI("[",z.duplicatesCount+1,"]")}}function le(T,B){if(1&T&&(M.j41(0,"div"),M.EFF(1),M.DNE(2,ve,2,1,"ng-container",4),M.k0s()),2&T){const z=M.XpG();M.HbH(z.options.titleClass),M.BMQ("aria-label",z.title),M.R7$(),M.SpI(" ",z.title," "),M.R7$(),M.Y8G("ngIf",z.duplicatesCount)}}function pe(T,B){if(1&T&&M.nrm(0,"div",7),2&T){const z=M.XpG();M.HbH(z.options.messageClass),M.Y8G("innerHTML",z.message,M.npT)}}function ue(T,B){if(1&T&&(M.j41(0,"div",8),M.EFF(1),M.k0s()),2&T){const z=M.XpG();M.HbH(z.options.messageClass),M.BMQ("aria-label",z.message),M.R7$(),M.SpI(" ",z.message," ")}}function J(T,B){if(1&T&&(M.j41(0,"div"),M.nrm(1,"div",9),M.k0s()),2&T){const z=M.XpG();M.R7$(),M.xc7("width",z.width+"%")}}class A{_attachedHost;component;viewContainerRef;injector;constructor(B,z){this.component=B,this.injector=z}attach(B,z){return this._attachedHost=B,B.attach(this,z)}detach(){const B=this._attachedHost;if(B)return this._attachedHost=void 0,B.detach()}get isAttached(){return null!=this._attachedHost}setAttachedHost(B){this._attachedHost=B}}class I{_attachedPortal;_disposeFn;attach(B,z){return this._attachedPortal=B,this.attachComponentPortal(B,z)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(B){this._disposeFn=B}}class _{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new Le.B;_activate=new Le.B;_manualClose=new Le.B;_resetTimeout=new Le.B;_countDuplicate=new Le.B;constructor(B){this._overlayRef=B}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(B,z){B&&this._resetTimeout.next(),z&&this._countDuplicate.next(++this.duplicatesCount)}}class m{toastId;config;message;title;toastType;toastRef;_onTap=new Le.B;_onAction=new Le.B;constructor(B,z,K,U,se,S){this.toastId=B,this.config=z,this.message=K,this.title=U,this.toastType=se,this.toastRef=S,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(B){this._onAction.next(B)}onAction(){return this._onAction.asObservable()}}const G=new M.nKC("ToastConfig");class O extends I{_hostDomElement;_componentFactoryResolver;_appRef;constructor(B,z,K){super(),this._hostDomElement=B,this._componentFactoryResolver=z,this._appRef=K}attachComponentPortal(B,z){const K=this._componentFactoryResolver.resolveComponentFactory(B.component);let U;return U=K.create(B.injector),this._appRef.attachView(U.hostView),this.setDisposeFn(()=>{this._appRef.detachView(U.hostView),U.destroy()}),z?this._hostDomElement.insertBefore(this._getComponentRootNode(U),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(U)),U}_getComponentRootNode(B){return B.hostView.rootNodes[0]}}let f=(()=>{class T{_document=(0,M.WQX)(V.qQ);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const z=this._document.createElement("div");z.classList.add("overlay-container"),z.setAttribute("aria-live","polite"),this._document.body.appendChild(z),this._containerElement=z}static \u0275fac=function(K){return new(K||T)};static \u0275prov=M.jDH({token:T,factory:T.\u0275fac,providedIn:"root"})}return T})();class a{_portalHost;constructor(B){this._portalHost=B}attach(B,z=!0){return this._portalHost.attach(B,z)}detach(){return this._portalHost.detach()}}let g=(()=>{class T{_overlayContainer=(0,M.WQX)(f);_componentFactoryResolver=(0,M.WQX)(M.OM3);_appRef=(0,M.WQX)(M.o8S);_document=(0,M.WQX)(V.qQ);_paneElements=new Map;create(z,K){return this._createOverlayRef(this.getPaneElement(z,K))}getPaneElement(z="",K){return this._paneElements.get(K)||this._paneElements.set(K,{}),this._paneElements.get(K)[z]||(this._paneElements.get(K)[z]=this._createPaneElement(z,K)),this._paneElements.get(K)[z]}_createPaneElement(z,K){const U=this._document.createElement("div");return U.id="toast-container",U.classList.add(z),U.classList.add("toast-container"),K?K.getContainerElement().appendChild(U):this._overlayContainer.getContainerElement().appendChild(U),U}_createPortalHost(z){return new O(z,this._componentFactoryResolver,this._appRef)}_createOverlayRef(z){return new a(this._createPortalHost(z))}static \u0275fac=function(K){return new(K||T)};static \u0275prov=M.jDH({token:T,factory:T.\u0275fac,providedIn:"root"})}return T})(),v=(()=>{class T{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(z,K,U,se,S){this.overlay=K,this._injector=U,this.sanitizer=se,this.ngZone=S,this.toastrConfig={...z.default,...z.config},z.config.iconClasses&&(this.toastrConfig.iconClasses={...z.default.iconClasses,...z.config.iconClasses})}show(z,K,U={},se=""){return this._preBuildNotification(se,z,K,this.applyConfig(U))}success(z,K,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.success||"",z,K,this.applyConfig(U))}error(z,K,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.error||"",z,K,this.applyConfig(U))}info(z,K,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.info||"",z,K,this.applyConfig(U))}warning(z,K,U={}){return this._preBuildNotification(this.toastrConfig.iconClasses.warning||"",z,K,this.applyConfig(U))}clear(z){for(const K of this.toasts)if(void 0!==z){if(K.toastId===z)return void K.toastRef.manualClose()}else K.toastRef.manualClose()}remove(z){const K=this._findToast(z);if(!K||(K.activeToast.toastRef.close(),this.toasts.splice(K.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActivethis._buildNotification(z,K,U,se)):this._buildNotification(z,K,U,se)}_buildNotification(z,K,U,se){if(!se.toastComponent)throw new Error("toastComponent required");const S=this.findDuplicate(U,K,this.toastrConfig.resetTimeoutOnDuplicate&&se.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&U||K)&&this.toastrConfig.preventDuplicates&&null!==S)return S;this.previousToastMessage=K;let $=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&($=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));const H=this.overlay.create(se.positionClass,this.overlayContainer);this.index=this.index+1;let x=K;K&&se.enableHtml&&(x=this.sanitizer.sanitize(M.WPN.HTML,K));const N=new _(H),R=new m(this.index,se,x,U,z,N),Y=M.zZn.create({providers:[{provide:m,useValue:R}],parent:this._injector}),he=new A(se.toastComponent,Y),ge=H.attach(he,se.newestOnTop);N.componentInstance=ge.instance;const _e={toastId:this.index,title:U||"",message:K||"",toastRef:N,onShown:N.afterActivate(),onHidden:N.afterClosed(),onTap:R.onTap(),onAction:R.onAction(),portal:ge};return $||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{_e.toastRef.activate()})),this.toasts.push(_e),_e}static \u0275fac=function(K){return new(K||T)(M.KVO(G),M.KVO(g),M.KVO(M.zZn),M.KVO(q.up),M.KVO(M.SKi))};static \u0275prov=M.jDH({token:T,factory:T.\u0275fac,providedIn:"root"})}return T})();const n={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing",toastComponent:(()=>{class T{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=-1;toastClasses="";state;get displayStyle(){if("inactive"===this.state.value)return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(z,K,U){this.toastrService=z,this.toastPackage=K,this.ngZone=U,this.message=K.message,this.title=K.title,this.options=K.config,this.originalTimeout=K.config.timeOut,this.toastClasses=`${K.toastType} ${K.config.toastClass}`,this.sub=K.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=K.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=K.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=K.toastRef.countDuplicate().subscribe(se=>{this.duplicatesCount=se}),this.state={value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}}}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state={...this.state,value:"active"},!0!==this.options.disableTimeOut&&"timeOut"!==this.options.disableTimeOut&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=(new Date).getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(0===this.width||100===this.width||!this.options.timeOut)return;const z=(new Date).getTime();this.width=(this.hideTime-z)/this.options.timeOut*100,"increasing"===this.options.progressAnimation&&(this.width=100-this.width),this.width<=0&&(this.width=0),this.width>=100&&(this.width=100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state={...this.state,value:"active"},this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){"removed"!==this.state.value&&(clearTimeout(this.timeout),this.state={...this.state,value:"removed"},this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){"removed"!==this.state.value&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){"removed"!==this.state.value&&"extendedTimeOut"!==this.options.disableTimeOut&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width=0)}delayedHideToast(){!0===this.options.disableTimeOut||"extendedTimeOut"===this.options.disableTimeOut||0===this.options.extendedTimeOut||"removed"===this.state.value||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=(new Date).getTime()+(this.options.timeOut||0),this.width=-1,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(z,K){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(z),K)):this.timeout=setTimeout(()=>z(),K)}outsideInterval(z,K){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(z),K)):this.intervalId=setInterval(()=>z(),K)}runInsideAngular(z){this.ngZone?this.ngZone.run(()=>z()):z()}static \u0275fac=function(K){return new(K||T)(M.rXU(v),M.rXU(m),M.rXU(M.SKi))};static \u0275cmp=M.VBU({type:T,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(K,U){1&K&&M.bIt("click",function(){return U.tapToast()})("mouseenter",function(){return U.stickAround()})("mouseleave",function(){return U.delayedHideToast()}),2&K&&(M.zvX("@flyInOut",U.state),M.HbH(U.toastClasses),M.xc7("display",U.displayStyle))},standalone:!0,features:[M.aNF],attrs:ne,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(K,U){1&K&&M.DNE(0,re,3,0,"button",0)(1,le,3,5,"div",1)(2,pe,1,3,"div",2)(3,ue,2,4,"div",3)(4,J,2,2,"div",4),2&K&&(M.Y8G("ngIf",U.options.closeButton),M.R7$(),M.Y8G("ngIf",U.title),M.R7$(),M.Y8G("ngIf",U.message&&U.options.enableHtml),M.R7$(),M.Y8G("ngIf",U.message&&!U.options.enableHtml),M.R7$(),M.Y8G("ngIf",U.options.progressBar))},dependencies:[V.bT],encapsulation:2,data:{animation:[(0,e.hZ)("flyInOut",[(0,e.wk)("inactive",(0,e.iF)({opacity:0})),(0,e.wk)("active",(0,e.iF)({opacity:1})),(0,e.wk)("removed",(0,e.iF)({opacity:0})),(0,e.kY)("inactive => active",(0,e.i0)("{{ easeTime }}ms {{ easing }}")),(0,e.kY)("active => removed",(0,e.i0)("{{ easeTime }}ms {{ easing }}"))])]}})}return T})()},r=(T={})=>(0,M.EmA)([{provide:G,useValue:{default:n,config:T}}]);let l=(()=>{class T{static forRoot(z={}){return{ngModule:T,providers:[r(z)]}}static \u0275fac=function(K){return new(K||T)};static \u0275mod=M.$C({type:T});static \u0275inj=M.G2t({})}return T})()},5779:(ri,Bt,We)=>{"use strict";We.d(Bt,{E:()=>ue,Ei:()=>P,Gg:()=>D,Rn:()=>le,Y9:()=>j,Yj:()=>A,r1:()=>E,si:()=>te,tl:()=>pe,wi:()=>F});var M=We(54438),e=We(21413),V=We(54420),Le=We(60177);const q=["*"];let le=(()=>class _{static STARTS_WITH="startsWith";static CONTAINS="contains";static NOT_CONTAINS="notContains";static ENDS_WITH="endsWith";static EQUALS="equals";static NOT_EQUALS="notEquals";static IN="in";static LESS_THAN="lt";static LESS_THAN_OR_EQUAL_TO="lte";static GREATER_THAN="gt";static GREATER_THAN_OR_EQUAL_TO="gte";static BETWEEN="between";static IS="is";static IS_NOT="isNot";static BEFORE="before";static AFTER="after";static DATE_IS="dateIs";static DATE_IS_NOT="dateIsNot";static DATE_BEFORE="dateBefore";static DATE_AFTER="dateAfter"})(),pe=(()=>class _{static AND="and";static OR="or"})(),ue=(()=>{class _{filter(w,G,O,f,a){let g=[];if(w)for(let v of w)for(let o of G){let n=V.BF.resolveFieldData(v,o);if(this.filters[f](n,O,a)){g.push(v);break}}return g}filters={startsWith:(w,G,O)=>{if(null==G||""===G.trim())return!0;if(null==w)return!1;let f=V.BF.removeAccents(G.toString()).toLocaleLowerCase(O);return V.BF.removeAccents(w.toString()).toLocaleLowerCase(O).slice(0,f.length)===f},contains:(w,G,O)=>{if(null==G||"string"==typeof G&&""===G.trim())return!0;if(null==w)return!1;let f=V.BF.removeAccents(G.toString()).toLocaleLowerCase(O);return-1!==V.BF.removeAccents(w.toString()).toLocaleLowerCase(O).indexOf(f)},notContains:(w,G,O)=>{if(null==G||"string"==typeof G&&""===G.trim())return!0;if(null==w)return!1;let f=V.BF.removeAccents(G.toString()).toLocaleLowerCase(O);return-1===V.BF.removeAccents(w.toString()).toLocaleLowerCase(O).indexOf(f)},endsWith:(w,G,O)=>{if(null==G||""===G.trim())return!0;if(null==w)return!1;let f=V.BF.removeAccents(G.toString()).toLocaleLowerCase(O),a=V.BF.removeAccents(w.toString()).toLocaleLowerCase(O);return-1!==a.indexOf(f,a.length-f.length)},equals:(w,G,O)=>null==G||"string"==typeof G&&""===G.trim()||null!=w&&(w.getTime&&G.getTime?w.getTime()===G.getTime():V.BF.removeAccents(w.toString()).toLocaleLowerCase(O)==V.BF.removeAccents(G.toString()).toLocaleLowerCase(O)),notEquals:(w,G,O)=>!(null==G||"string"==typeof G&&""===G.trim()||null!=w&&(w.getTime&&G.getTime?w.getTime()===G.getTime():V.BF.removeAccents(w.toString()).toLocaleLowerCase(O)==V.BF.removeAccents(G.toString()).toLocaleLowerCase(O))),in:(w,G)=>{if(null==G||0===G.length)return!0;for(let O=0;Onull==G||null==G[0]||null==G[1]||null!=w&&(w.getTime?G[0].getTime()<=w.getTime()&&w.getTime()<=G[1].getTime():G[0]<=w&&w<=G[1]),lt:(w,G,O)=>null==G||null!=w&&(w.getTime&&G.getTime?w.getTime()null==G||null!=w&&(w.getTime&&G.getTime?w.getTime()<=G.getTime():w<=G),gt:(w,G,O)=>null==G||null!=w&&(w.getTime&&G.getTime?w.getTime()>G.getTime():w>G),gte:(w,G,O)=>null==G||null!=w&&(w.getTime&&G.getTime?w.getTime()>=G.getTime():w>=G),is:(w,G,O)=>this.filters.equals(w,G,O),isNot:(w,G,O)=>this.filters.notEquals(w,G,O),before:(w,G,O)=>this.filters.lt(w,G,O),after:(w,G,O)=>this.filters.gt(w,G,O),dateIs:(w,G)=>null==G||null!=w&&w.toDateString()===G.toDateString(),dateIsNot:(w,G)=>null==G||null!=w&&w.toDateString()!==G.toDateString(),dateBefore:(w,G)=>null==G||null!=w&&w.getTime()null==G||null!=w&&w.getTime()>G.getTime()};register(w,G){this.filters[w]=G}static \u0275fac=function(G){return new(G||_)};static \u0275prov=M.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),te=(()=>{class _{clickSource=new e.B;clickObservable=this.clickSource.asObservable();add(w){w&&this.clickSource.next(w)}static \u0275fac=function(G){return new(G||_)};static \u0275prov=M.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),E=(()=>{class _{ripple=!1;inputStyle="outlined";overlayOptions={};filterMatchModeOptions={text:[le.STARTS_WITH,le.CONTAINS,le.NOT_CONTAINS,le.ENDS_WITH,le.EQUALS,le.NOT_EQUALS],numeric:[le.EQUALS,le.NOT_EQUALS,le.LESS_THAN,le.LESS_THAN_OR_EQUAL_TO,le.GREATER_THAN,le.GREATER_THAN_OR_EQUAL_TO],date:[le.DATE_IS,le.DATE_IS_NOT,le.DATE_BEFORE,le.DATE_AFTER]};translation={startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",is:"Is",isNot:"Is not",before:"Before",after:"After",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",upload:"Upload",cancel:"Cancel",pending:"Pending",fileSizeTypes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],chooseYear:"Choose Year",chooseMonth:"Choose Month",chooseDate:"Choose Date",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",prevHour:"Previous Hour",nextHour:"Next Hour",prevMinute:"Previous Minute",nextMinute:"Next Minute",prevSecond:"Previous Second",nextSecond:"Next Second",am:"am",pm:"pm",dateFormat:"mm/dd/yy",firstDayOfWeek:0,today:"Today",weekHeader:"Wk",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyMessage:"No results found",searchMessage:"{0} results are available",selectionMessage:"{0} items selected",emptySelectionMessage:"No selected item",emptySearchMessage:"No results found",emptyFilterMessage:"No results found",aria:{trueLabel:"True",falseLabel:"False",nullLabel:"Not Selected",star:"1 star",stars:"{star} stars",selectAll:"All items selected",unselectAll:"All items unselected",close:"Close",previous:"Previous",next:"Next",navigation:"Navigation",scrollTop:"Scroll Top",moveTop:"Move Top",moveUp:"Move Up",moveDown:"Move Down",moveBottom:"Move Bottom",moveToTarget:"Move to Target",moveToSource:"Move to Source",moveAllToTarget:"Move All to Target",moveAllToSource:"Move All to Source",pageLabel:"{page}",firstPageLabel:"First Page",lastPageLabel:"Last Page",nextPageLabel:"Next Page",prevPageLabel:"Previous Page",rowsPerPageLabel:"Rows per page",previousPageLabel:"Previous Page",jumpToPageDropdownLabel:"Jump to Page Dropdown",jumpToPageInputLabel:"Jump to Page Input",selectRow:"Row Selected",unselectRow:"Row Unselected",expandRow:"Row Expanded",collapseRow:"Row Collapsed",showFilterMenu:"Show Filter Menu",hideFilterMenu:"Hide Filter Menu",filterOperator:"Filter Operator",filterConstraint:"Filter Constraint",editRow:"Row Edit",saveEdit:"Save Edit",cancelEdit:"Cancel Edit",listView:"List View",gridView:"Grid View",slide:"Slide",slideNumber:"{slideNumber}",zoomImage:"Zoom Image",zoomIn:"Zoom In",zoomOut:"Zoom Out",rotateRight:"Rotate Right",rotateLeft:"Rotate Left",listLabel:"Option List",selectColor:"Select a color",removeLabel:"Remove"}};zIndex={modal:1100,overlay:1e3,menu:1e3,tooltip:1100};translationSource=new e.B;translationObserver=this.translationSource.asObservable();getTranslation(w){return this.translation[w]}setTranslation(w){this.translation={...this.translation,...w},this.translationSource.next(this.translation)}static \u0275fac=function(G){return new(G||_)};static \u0275prov=M.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),j=(()=>{class _{static \u0275fac=function(G){return new(G||_)};static \u0275cmp=M.VBU({type:_,selectors:[["p-header"]],ngContentSelectors:q,decls:1,vars:0,template:function(G,O){1&G&&(M.NAR(),M.SdG(0))},encapsulation:2})}return _})(),F=(()=>{class _{static \u0275fac=function(G){return new(G||_)};static \u0275cmp=M.VBU({type:_,selectors:[["p-footer"]],ngContentSelectors:q,decls:1,vars:0,template:function(G,O){1&G&&(M.NAR(),M.SdG(0))},encapsulation:2})}return _})(),P=(()=>{class _{template;type;name;constructor(w){this.template=w}getType(){return this.name}static \u0275fac=function(G){return new(G||_)(M.rXU(M.C4Q))};static \u0275dir=M.FsC({type:_,selectors:[["","pTemplate",""]],inputs:{type:"type",name:[M.Mj6.None,"pTemplate","name"]}})}return _})(),D=(()=>{class _{static \u0275fac=function(G){return new(G||_)};static \u0275mod=M.$C({type:_});static \u0275inj=M.G2t({imports:[Le.MD]})}return _})(),A=(()=>class _{static STARTS_WITH="startsWith";static CONTAINS="contains";static NOT_CONTAINS="notContains";static ENDS_WITH="endsWith";static EQUALS="equals";static NOT_EQUALS="notEquals";static NO_FILTER="noFilter";static LT="lt";static LTE="lte";static GT="gt";static GTE="gte";static IS="is";static IS_NOT="isNot";static BEFORE="before";static AFTER="after";static CLEAR="clear";static APPLY="apply";static MATCH_ALL="matchAll";static MATCH_ANY="matchAny";static ADD_RULE="addRule";static REMOVE_RULE="removeRule";static ACCEPT="accept";static REJECT="reject";static CHOOSE="choose";static UPLOAD="upload";static CANCEL="cancel";static PENDING="pending";static FILE_SIZE_TYPES="fileSizeTypes";static DAY_NAMES="dayNames";static DAY_NAMES_SHORT="dayNamesShort";static DAY_NAMES_MIN="dayNamesMin";static MONTH_NAMES="monthNames";static MONTH_NAMES_SHORT="monthNamesShort";static FIRST_DAY_OF_WEEK="firstDayOfWeek";static TODAY="today";static WEEK_HEADER="weekHeader";static WEAK="weak";static MEDIUM="medium";static STRONG="strong";static PASSWORD_PROMPT="passwordPrompt";static EMPTY_MESSAGE="emptyMessage";static EMPTY_FILTER_MESSAGE="emptyFilterMessage";static SHOW_FILTER_MENU="showFilterMenu";static HIDE_FILTER_MENU="hideFilterMenu";static SELECTION_MESSAGE="selectionMessage";static ARIA="aria";static SELECT_COLOR="selectColor"})()},461:(ri,Bt,We)=>{"use strict";We.d(Bt,{h:()=>Le});var M=We(54438),e=We(54420);const V=["*"];let Le=(()=>{class q{label;spin=!1;styleClass;role;ariaLabel;ariaHidden;ngOnInit(){this.getAttributes()}getAttributes(){const re=e.BF.isEmpty(this.label);this.role=re?void 0:"img",this.ariaLabel=re?void 0:this.label,this.ariaHidden=re}getClassNames(){return`p-icon ${this.styleClass?this.styleClass+" ":""}${this.spin?"p-icon-spin":""}`}static \u0275fac=function(ve){return new(ve||q)};static \u0275cmp=M.VBU({type:q,selectors:[["ng-component"]],hostAttrs:[1,"p-element","p-icon-wrapper"],inputs:{label:"label",spin:"spin",styleClass:"styleClass"},standalone:!0,features:[M.aNF],ngContentSelectors:V,decls:1,vars:0,template:function(ve,le){1&ve&&(M.NAR(),M.SdG(0))},encapsulation:2,changeDetection:0})}return q})()},81141:(ri,Bt,We)=>{"use strict";We.d(Bt,{_f:()=>G,tm:()=>f});var M=We(60177),e=We(54438),V=We(5779),Le=We(81455),q=We(38757),ne=We(10563),re=We(54420);const w={button:"p-button",component:"p-component",iconOnly:"p-button-icon-only",disabled:"p-disabled",loading:"p-button-loading",labelOnly:"p-button-loading-label-only"};let G=(()=>{class a{el;document;iconPos="left";loadingIcon;get label(){return this._label}set label(v){this._label=v,this.initialized&&(this.updateLabel(),this.updateIcon(),this.setStyleClass())}get icon(){return this._icon}set icon(v){this._icon=v,this.initialized&&(this.updateIcon(),this.setStyleClass())}get loading(){return this._loading}set loading(v){this._loading=v,this.initialized&&(this.updateIcon(),this.setStyleClass())}_label;_icon;_loading=!1;initialized;get htmlElement(){return this.el.nativeElement}_internalClasses=Object.values(w);spinnerIcon='\n \n \n \n \n \n \n \n \n ';constructor(v,o){this.el=v,this.document=o}ngAfterViewInit(){Le.D.addMultipleClasses(this.htmlElement,this.getStyleClass().join(" ")),this.createIcon(),this.createLabel(),this.initialized=!0}getStyleClass(){const v=[w.button,w.component];return this.icon&&!this.label&&re.BF.isEmpty(this.htmlElement.textContent)&&v.push(w.iconOnly),this.loading&&(v.push(w.disabled,w.loading),!this.icon&&this.label&&v.push(w.labelOnly),this.icon&&!this.label&&!re.BF.isEmpty(this.htmlElement.textContent)&&v.push(w.iconOnly)),v}setStyleClass(){const v=this.getStyleClass();this.htmlElement.classList.remove(...this._internalClasses),this.htmlElement.classList.add(...v)}createLabel(){if(!Le.D.findSingle(this.htmlElement,".p-button-label")&&this.label){let o=this.document.createElement("span");this.icon&&!this.label&&o.setAttribute("aria-hidden","true"),o.className="p-button-label",o.appendChild(this.document.createTextNode(this.label)),this.htmlElement.appendChild(o)}}createIcon(){if(!Le.D.findSingle(this.htmlElement,".p-button-icon")&&(this.icon||this.loading)){let o=this.document.createElement("span");o.className="p-button-icon",o.setAttribute("aria-hidden","true");let n=this.label?"p-button-icon-"+this.iconPos:null;n&&Le.D.addClass(o,n);let r=this.getIconClass();r&&Le.D.addMultipleClasses(o,r),!this.loadingIcon&&this.loading&&(o.innerHTML=this.spinnerIcon),this.htmlElement.insertBefore(o,this.htmlElement.firstChild)}}updateLabel(){let v=Le.D.findSingle(this.htmlElement,".p-button-label");this.label?v?v.textContent=this.label:this.createLabel():v&&this.htmlElement.removeChild(v)}updateIcon(){let v=Le.D.findSingle(this.htmlElement,".p-button-icon"),o=Le.D.findSingle(this.htmlElement,".p-button-label");this.loading&&!this.loadingIcon&&v?v.innerHTML=this.spinnerIcon:v?.innerHTML&&(v.innerHTML=""),v?v.className=this.iconPos?"p-button-icon "+(o?"p-button-icon-"+this.iconPos:"")+" "+this.getIconClass():"p-button-icon "+this.getIconClass():this.createIcon()}getIconClass(){return this.loading?"p-button-loading-icon "+(this.loadingIcon?this.loadingIcon:"p-icon"):this.icon||"p-hidden"}ngOnDestroy(){this.initialized=!1}static \u0275fac=function(o){return new(o||a)(e.rXU(e.aKT),e.rXU(M.qQ))};static \u0275dir=e.FsC({type:a,selectors:[["","pButton",""]],hostAttrs:[1,"p-element"],inputs:{iconPos:"iconPos",loadingIcon:"loadingIcon",label:"label",icon:"icon",loading:"loading"}})}return a})(),f=(()=>{class a{static \u0275fac=function(o){return new(o||a)};static \u0275mod=e.$C({type:a});static \u0275inj=e.G2t({imports:[M.MD,ne.Z,V.Gg,q.N,V.Gg]})}return a})()},41570:(ri,Bt,We)=>{"use strict";We.d(Bt,{l:()=>Be,P:()=>oe});var M=We(49969),e=We(60177),V=We(54438),Le=We(5779),q=We(81455);let ne=(()=>{class ee{pFocusTrapDisabled=!1;host=(0,V.WQX)(V.aKT);onkeydown(xe){if(!0!==this.pFocusTrapDisabled){xe.preventDefault();const Ie=q.D.getNextFocusableElement(this.host.nativeElement,xe.shiftKey);Ie&&(Ie.focus(),Ie.select?.())}}static \u0275fac=function(Ie){return new(Ie||ee)};static \u0275dir=V.FsC({type:ee,selectors:[["","pFocusTrap",""]],hostAttrs:[1,"p-element"],hostBindings:function(Ie,we){1&Ie&&V.bIt("keydown.tab",function(Me){return we.onkeydown(Me)})("keydown.shift.tab",function(Me){return we.onkeydown(Me)})},inputs:{pFocusTrapDisabled:"pFocusTrapDisabled"}})}return ee})(),re=(()=>{class ee{static \u0275fac=function(Ie){return new(Ie||ee)};static \u0275mod=V.$C({type:ee});static \u0275inj=V.G2t({imports:[e.MD]})}return ee})();var ve=We(1512),le=We(461),pe=We(54420);let ue=(()=>{class ee extends le.h{pathId;ngOnInit(){this.pathId="url(#"+(0,pe._Y)()+")"}static \u0275fac=(()=>{let xe;return function(we){return(xe||(xe=V.xGo(ee)))(we||ee)}})();static \u0275cmp=V.VBU({type:ee,selectors:[["WindowMaximizeIcon"]],standalone:!0,features:[V.Vt3,V.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14ZM9.77805 7.42192C9.89013 7.534 10.0415 7.59788 10.2 7.59995C10.3585 7.59788 10.5099 7.534 10.622 7.42192C10.7341 7.30985 10.798 7.15844 10.8 6.99995V3.94242C10.8066 3.90505 10.8096 3.86689 10.8089 3.82843C10.8079 3.77159 10.7988 3.7157 10.7824 3.6623C10.756 3.55552 10.701 3.45698 10.622 3.37798C10.5099 3.2659 10.3585 3.20202 10.2 3.19995H7.00002C6.84089 3.19995 6.68828 3.26317 6.57576 3.37569C6.46324 3.48821 6.40002 3.64082 6.40002 3.79995C6.40002 3.95908 6.46324 4.11169 6.57576 4.22422C6.68828 4.33674 6.84089 4.39995 7.00002 4.39995H8.80006L6.19997 7.00005C6.10158 7.11005 6.04718 7.25246 6.04718 7.40005C6.04718 7.54763 6.10158 7.69004 6.19997 7.80005C6.30202 7.91645 6.44561 7.98824 6.59997 8.00005C6.75432 7.98824 6.89791 7.91645 6.99997 7.80005L9.60002 5.26841V6.99995C9.6021 7.15844 9.66598 7.30985 9.77805 7.42192ZM1.4 14H3.8C4.17066 13.9979 4.52553 13.8498 4.78763 13.5877C5.04973 13.3256 5.1979 12.9707 5.2 12.6V10.2C5.1979 9.82939 5.04973 9.47452 4.78763 9.21242C4.52553 8.95032 4.17066 8.80215 3.8 8.80005H1.4C1.02934 8.80215 0.674468 8.95032 0.412371 9.21242C0.150274 9.47452 0.00210008 9.82939 0 10.2V12.6C0.00210008 12.9707 0.150274 13.3256 0.412371 13.5877C0.674468 13.8498 1.02934 13.9979 1.4 14ZM1.25858 10.0586C1.29609 10.0211 1.34696 10 1.4 10H3.8C3.85304 10 3.90391 10.0211 3.94142 10.0586C3.97893 10.0961 4 10.147 4 10.2V12.6C4 12.6531 3.97893 12.704 3.94142 12.7415C3.90391 12.779 3.85304 12.8 3.8 12.8H1.4C1.34696 12.8 1.29609 12.779 1.25858 12.7415C1.22107 12.704 1.2 12.6531 1.2 12.6V10.2C1.2 10.147 1.22107 10.0961 1.25858 10.0586Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(Ie,we){1&Ie&&(V.qSk(),V.j41(0,"svg",0)(1,"g"),V.nrm(2,"path",1),V.k0s(),V.j41(3,"defs")(4,"clipPath",2),V.nrm(5,"rect",3),V.k0s()()()),2&Ie&&(V.HbH(we.getClassNames()),V.BMQ("aria-label",we.ariaLabel)("aria-hidden",we.ariaHidden)("role",we.role),V.R7$(),V.BMQ("clip-path",we.pathId),V.R7$(3),V.Y8G("id",we.pathId))},encapsulation:2})}return ee})(),J=(()=>{class ee extends le.h{pathId;ngOnInit(){this.pathId="url(#"+(0,pe._Y)()+")"}static \u0275fac=(()=>{let xe;return function(we){return(xe||(xe=V.xGo(ee)))(we||ee)}})();static \u0275cmp=V.VBU({type:ee,selectors:[["WindowMinimizeIcon"]],standalone:!0,features:[V.Vt3,V.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0ZM6.368 7.952C6.44137 7.98326 6.52025 7.99958 6.6 8H9.8C9.95913 8 10.1117 7.93678 10.2243 7.82426C10.3368 7.71174 10.4 7.55913 10.4 7.4C10.4 7.24087 10.3368 7.08826 10.2243 6.97574C10.1117 6.86321 9.95913 6.8 9.8 6.8H8.048L10.624 4.224C10.73 4.11026 10.7877 3.95982 10.7849 3.80438C10.7822 3.64894 10.7192 3.50063 10.6093 3.3907C10.4994 3.28077 10.3511 3.2178 10.1956 3.21506C10.0402 3.21232 9.88974 3.27002 9.776 3.376L7.2 5.952V4.2C7.2 4.04087 7.13679 3.88826 7.02426 3.77574C6.91174 3.66321 6.75913 3.6 6.6 3.6C6.44087 3.6 6.28826 3.66321 6.17574 3.77574C6.06321 3.88826 6 4.04087 6 4.2V7.4C6.00042 7.47975 6.01674 7.55862 6.048 7.632C6.07656 7.70442 6.11971 7.7702 6.17475 7.82524C6.2298 7.88029 6.29558 7.92344 6.368 7.952ZM1.4 8.80005H3.8C4.17066 8.80215 4.52553 8.95032 4.78763 9.21242C5.04973 9.47452 5.1979 9.82939 5.2 10.2V12.6C5.1979 12.9707 5.04973 13.3256 4.78763 13.5877C4.52553 13.8498 4.17066 13.9979 3.8 14H1.4C1.02934 13.9979 0.674468 13.8498 0.412371 13.5877C0.150274 13.3256 0.00210008 12.9707 0 12.6V10.2C0.00210008 9.82939 0.150274 9.47452 0.412371 9.21242C0.674468 8.95032 1.02934 8.80215 1.4 8.80005ZM3.94142 12.7415C3.97893 12.704 4 12.6531 4 12.6V10.2C4 10.147 3.97893 10.0961 3.94142 10.0586C3.90391 10.0211 3.85304 10 3.8 10H1.4C1.34696 10 1.29609 10.0211 1.25858 10.0586C1.22107 10.0961 1.2 10.147 1.2 10.2V12.6C1.2 12.6531 1.22107 12.704 1.25858 12.7415C1.29609 12.779 1.34696 12.8 1.4 12.8H3.8C3.85304 12.8 3.90391 12.779 3.94142 12.7415Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(Ie,we){1&Ie&&(V.qSk(),V.j41(0,"svg",0)(1,"g"),V.nrm(2,"path",1),V.k0s(),V.j41(3,"defs")(4,"clipPath",2),V.nrm(5,"rect",3),V.k0s()()()),2&Ie&&(V.HbH(we.getClassNames()),V.BMQ("aria-label",we.ariaLabel)("aria-hidden",we.ariaHidden)("role",we.role),V.R7$(),V.BMQ("clip-path",we.pathId),V.R7$(3),V.Y8G("id",we.pathId))},encapsulation:2})}return ee})();var te=We(10563),X=We(81141);const E=["titlebar"],j=["content"],F=["footer"],P=["*",[["p-header"]],[["p-footer"]]],D=["*","p-header","p-footer"],A=(ee,be,xe,Ie,we,Ee,Me,Xe,Je,lt)=>({"p-dialog-mask":!0,"p-component-overlay p-component-overlay-enter":ee,"p-dialog-mask-scrollblocker":be,"p-dialog-left":xe,"p-dialog-right":Ie,"p-dialog-top":we,"p-dialog-top-left":Ee,"p-dialog-top-right":Me,"p-dialog-bottom":Xe,"p-dialog-bottom-left":Je,"p-dialog-bottom-right":lt}),I=(ee,be,xe,Ie)=>({"p-dialog p-component":!0,"p-dialog-rtl":ee,"p-dialog-draggable":be,"p-dialog-resizable":xe,"p-dialog-maximized":Ie}),_=(ee,be)=>({transform:ee,transition:be}),m=ee=>({value:"visible",params:ee}),w=()=>({"p-dialog-header-icon p-dialog-header-maximize p-link":!0}),G=()=>({"p-dialog-header-icon p-dialog-header-close p-link":!0});function O(ee,be){1&ee&&V.eu8(0)}function f(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,O,1,0,"ng-container",10),V.bVm()),2&ee){const xe=V.XpG(3);V.R7$(),V.Y8G("ngTemplateOutlet",xe.headlessTemplate)}}function a(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"div",15),V.bIt("mousedown",function(we){V.eBV(xe);const Ee=V.XpG(4);return V.Njj(Ee.initResize(we))}),V.k0s()}}function g(ee,be){if(1&ee&&(V.j41(0,"span",21),V.EFF(1),V.k0s()),2&ee){const xe=V.XpG(5);V.Y8G("id",xe.getAriaLabelledBy()),V.R7$(),V.JRh(xe.header)}}function v(ee,be){if(1&ee&&(V.j41(0,"span",21),V.SdG(1,1),V.k0s()),2&ee){const xe=V.XpG(5);V.Y8G("id",xe.getAriaLabelledBy())}}function o(ee,be){1&ee&&V.eu8(0)}function n(ee,be){if(1&ee&&V.nrm(0,"span",25),2&ee){const xe=V.XpG(6);V.Y8G("ngClass",xe.maximized?xe.minimizeIcon:xe.maximizeIcon)}}function r(ee,be){1&ee&&V.nrm(0,"WindowMaximizeIcon",27),2&ee&&V.Y8G("styleClass","p-dialog-header-maximize-icon")}function l(ee,be){1&ee&&V.nrm(0,"WindowMinimizeIcon",27),2&ee&&V.Y8G("styleClass","p-dialog-header-maximize-icon")}function d(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,r,1,1,"WindowMaximizeIcon",26)(2,l,1,1,"WindowMinimizeIcon",26),V.bVm()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngIf",!xe.maximized&&!xe.maximizeIconTemplate),V.R7$(),V.Y8G("ngIf",xe.maximized&&!xe.minimizeIconTemplate)}}function C(ee,be){}function k(ee,be){1&ee&&V.DNE(0,C,0,0,"ng-template")}function p(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,k,1,0,null,10),V.bVm()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngTemplateOutlet",xe.maximizeIconTemplate)}}function T(ee,be){}function B(ee,be){1&ee&&V.DNE(0,T,0,0,"ng-template")}function z(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,B,1,0,null,10),V.bVm()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngTemplateOutlet",xe.minimizeIconTemplate)}}function K(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"button",22),V.bIt("click",function(){V.eBV(xe);const we=V.XpG(5);return V.Njj(we.maximize())})("keydown.enter",function(){V.eBV(xe);const we=V.XpG(5);return V.Njj(we.maximize())}),V.DNE(1,n,1,1,"span",23)(2,d,3,2,"ng-container",24)(3,p,2,1,"ng-container",24)(4,z,2,1,"ng-container",24),V.k0s()}if(2&ee){const xe=V.XpG(5);V.Y8G("ngClass",V.lJ4(6,w)),V.BMQ("tabindex",xe.maximizable?"0":"-1"),V.R7$(),V.Y8G("ngIf",xe.maximizeIcon&&!xe.maximizeIconTemplate&&!xe.minimizeIconTemplate),V.R7$(),V.Y8G("ngIf",!xe.maximizeIcon),V.R7$(),V.Y8G("ngIf",!xe.maximized),V.R7$(),V.Y8G("ngIf",xe.maximized)}}function U(ee,be){if(1&ee&&V.nrm(0,"span",30),2&ee){const xe=V.XpG(7);V.Y8G("ngClass",xe.closeIcon)}}function se(ee,be){1&ee&&V.nrm(0,"TimesIcon",27),2&ee&&V.Y8G("styleClass","p-dialog-header-close-icon")}function S(ee,be){if(1&ee&&(V.qex(0),V.DNE(1,U,1,1,"span",29)(2,se,1,1,"TimesIcon",26),V.bVm()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngIf",xe.closeIcon),V.R7$(),V.Y8G("ngIf",!xe.closeIcon)}}function $(ee,be){}function H(ee,be){1&ee&&V.DNE(0,$,0,0,"ng-template")}function x(ee,be){if(1&ee&&(V.j41(0,"span"),V.DNE(1,H,1,0,null,10),V.k0s()),2&ee){const xe=V.XpG(6);V.R7$(),V.Y8G("ngTemplateOutlet",xe.closeIconTemplate)}}function N(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"button",28),V.bIt("click",function(we){V.eBV(xe);const Ee=V.XpG(5);return V.Njj(Ee.close(we))})("keydown.enter",function(we){V.eBV(xe);const Ee=V.XpG(5);return V.Njj(Ee.close(we))}),V.DNE(1,S,3,2,"ng-container",24)(2,x,2,1,"span",24),V.k0s()}if(2&ee){const xe=V.XpG(5);V.Y8G("ngClass",V.lJ4(5,G)),V.BMQ("aria-label",xe.closeAriaLabel)("tabindex",xe.closeTabindex),V.R7$(),V.Y8G("ngIf",!xe.closeIconTemplate),V.R7$(),V.Y8G("ngIf",xe.closeIconTemplate)}}function R(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"div",16,3),V.bIt("mousedown",function(we){V.eBV(xe);const Ee=V.XpG(4);return V.Njj(Ee.initDrag(we))}),V.DNE(2,g,2,2,"span",17)(3,v,2,1,"span",17)(4,o,1,0,"ng-container",10),V.j41(5,"div",18),V.DNE(6,K,5,7,"button",19)(7,N,3,6,"button",20),V.k0s()()}if(2&ee){const xe=V.XpG(4);V.R7$(2),V.Y8G("ngIf",!xe.headerFacet&&!xe.headerTemplate),V.R7$(),V.Y8G("ngIf",xe.headerFacet),V.R7$(),V.Y8G("ngTemplateOutlet",xe.headerTemplate),V.R7$(2),V.Y8G("ngIf",xe.maximizable),V.R7$(),V.Y8G("ngIf",xe.closable)}}function Z(ee,be){1&ee&&V.eu8(0)}function Y(ee,be){1&ee&&V.eu8(0)}function he(ee,be){if(1&ee&&(V.j41(0,"div",31,4),V.SdG(2,2),V.DNE(3,Y,1,0,"ng-container",10),V.k0s()),2&ee){const xe=V.XpG(4);V.R7$(3),V.Y8G("ngTemplateOutlet",xe.footerTemplate)}}function ge(ee,be){if(1&ee&&(V.DNE(0,a,1,0,"div",11)(1,R,8,5,"div",12),V.j41(2,"div",13,2),V.SdG(4),V.DNE(5,Z,1,0,"ng-container",10),V.k0s(),V.DNE(6,he,4,1,"div",14)),2&ee){const xe=V.XpG(3);V.Y8G("ngIf",xe.resizable),V.R7$(),V.Y8G("ngIf",xe.showHeader),V.R7$(),V.HbH(xe.contentStyleClass),V.Y8G("ngClass","p-dialog-content")("ngStyle",xe.contentStyle),V.R7$(3),V.Y8G("ngTemplateOutlet",xe.contentTemplate),V.R7$(),V.Y8G("ngIf",xe.footerFacet||xe.footerTemplate)}}function _e(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"div",8,0),V.bIt("@animation.start",function(we){V.eBV(xe);const Ee=V.XpG(2);return V.Njj(Ee.onAnimationStart(we))})("@animation.done",function(we){V.eBV(xe);const Ee=V.XpG(2);return V.Njj(Ee.onAnimationEnd(we))}),V.DNE(2,f,2,1,"ng-container",9)(3,ge,7,8,"ng-template",null,1,V.C5r),V.k0s()}if(2&ee){const xe=V.sdS(4),Ie=V.XpG(2);V.HbH(Ie.styleClass),V.Y8G("ngClass",V.ziG(10,I,Ie.rtl,Ie.draggable,Ie.resizable,Ie.maximized))("ngStyle",Ie.style)("pFocusTrapDisabled",!1===Ie.focusTrap)("@animation",V.eq3(18,m,V.l_i(15,_,Ie.transformOptions,Ie.transitionOptions))),V.BMQ("aria-labelledby",Ie.ariaLabelledBy)("aria-modal",!0),V.R7$(2),V.Y8G("ngIf",Ie.headlessTemplate)("ngIfElse",xe)}}function Te(ee,be){if(1&ee){const xe=V.RV6();V.j41(0,"div",6),V.bIt("focus",function(we){V.eBV(xe);const Ee=V.XpG();return V.Njj(Ee.containerFocus(we))}),V.DNE(1,_e,5,20,"div",7),V.k0s()}if(2&ee){const xe=V.XpG();V.Aen(xe.maskStyle),V.HbH(xe.maskStyleClass),V.Y8G("ngClass",V.zJS(6,A,[xe.modal,xe.modal||xe.blockScroll,"left"===xe.position,"right"===xe.position,"top"===xe.position,"topleft"===xe.position||"top-left"===xe.position,"topright"===xe.position||"top-right"===xe.position,"bottom"===xe.position,"bottomleft"===xe.position||"bottom-left"===xe.position,"bottomright"===xe.position||"bottom-right"===xe.position])),V.R7$(),V.Y8G("ngIf",xe.visible)}}const Oe=(0,M.lY)([(0,M.iF)({transform:"{{transform}}",opacity:0}),(0,M.i0)("{{transition}}")]),De=(0,M.lY)([(0,M.i0)("{{transition}}",(0,M.iF)({transform:"{{transform}}",opacity:0}))]);let Be=(()=>{class ee{document;platformId;el;renderer;zone;cd;config;header;draggable=!0;resizable=!0;get positionLeft(){return 0}set positionLeft(xe){console.log("positionLeft property is deprecated.")}get positionTop(){return 0}set positionTop(xe){console.log("positionTop property is deprecated.")}contentStyle;contentStyleClass;modal=!1;closeOnEscape=!0;dismissableMask=!1;rtl=!1;closable=!0;get responsive(){return!1}set responsive(xe){console.log("Responsive property is deprecated.")}appendTo;breakpoints;styleClass;maskStyleClass;maskStyle;showHeader=!0;get breakpoint(){return 649}set breakpoint(xe){console.log("Breakpoint property is not utilized and deprecated, use breakpoints or CSS media queries instead.")}blockScroll=!1;autoZIndex=!0;baseZIndex=0;minX=0;minY=0;focusOnShow=!0;maximizable=!1;keepInViewport=!0;focusTrap=!0;transitionOptions="150ms cubic-bezier(0, 0, 0.2, 1)";closeIcon;closeAriaLabel;closeTabindex="0";minimizeIcon;maximizeIcon;get visible(){return this._visible}set visible(xe){this._visible=xe,this._visible&&!this.maskVisible&&(this.maskVisible=!0)}get style(){return this._style}set style(xe){xe&&(this._style={...xe},this.originalStyle=xe)}get position(){return this._position}set position(xe){switch(this._position=xe,xe){case"topleft":case"bottomleft":case"left":this.transformOptions="translate3d(-100%, 0px, 0px)";break;case"topright":case"bottomright":case"right":this.transformOptions="translate3d(100%, 0px, 0px)";break;case"bottom":this.transformOptions="translate3d(0px, 100%, 0px)";break;case"top":this.transformOptions="translate3d(0px, -100%, 0px)";break;default:this.transformOptions="scale(0.7)"}}onShow=new V.bkB;onHide=new V.bkB;visibleChange=new V.bkB;onResizeInit=new V.bkB;onResizeEnd=new V.bkB;onDragEnd=new V.bkB;onMaximize=new V.bkB;headerFacet;footerFacet;templates;headerViewChild;contentViewChild;footerViewChild;headerTemplate;contentTemplate;footerTemplate;maximizeIconTemplate;closeIconTemplate;minimizeIconTemplate;headlessTemplate;_visible=!1;maskVisible;container;wrapper;dragging;ariaLabelledBy;documentDragListener;documentDragEndListener;resizing;documentResizeListener;documentResizeEndListener;documentEscapeListener;maskClickListener;lastPageX;lastPageY;preventVisibleChangePropagation;maximized;preMaximizeContentHeight;preMaximizeContainerWidth;preMaximizeContainerHeight;preMaximizePageX;preMaximizePageY;id=(0,pe._Y)();_style={};_position="center";originalStyle;transformOptions="scale(0.7)";styleElement;window;constructor(xe,Ie,we,Ee,Me,Xe,Je){this.document=xe,this.platformId=Ie,this.el=we,this.renderer=Ee,this.zone=Me,this.cd=Xe,this.config=Je,this.window=this.document.defaultView}ngAfterContentInit(){this.templates?.forEach(xe=>{switch(xe.getType()){case"header":this.headerTemplate=xe.template;break;case"content":default:this.contentTemplate=xe.template;break;case"footer":this.footerTemplate=xe.template;break;case"closeicon":this.closeIconTemplate=xe.template;break;case"maximizeicon":this.maximizeIconTemplate=xe.template;break;case"minimizeicon":this.minimizeIconTemplate=xe.template;break;case"headless":this.headlessTemplate=xe.template}})}ngOnInit(){this.breakpoints&&this.createStyle()}getAriaLabelledBy(){return null!==this.header?(0,pe._Y)()+"_header":null}focus(){let xe=q.D.findSingle(this.container,"[autofocus]");xe&&this.zone.runOutsideAngular(()=>{setTimeout(()=>xe.focus(),5)})}close(xe){this.visibleChange.emit(!1),xe.preventDefault()}enableModality(){this.closable&&this.dismissableMask&&(this.maskClickListener=this.renderer.listen(this.wrapper,"mousedown",xe=>{this.wrapper&&this.wrapper.isSameNode(xe.target)&&this.close(xe)})),this.modal&&q.D.blockBodyScroll()}disableModality(){if(this.wrapper){this.dismissableMask&&this.unbindMaskClickListener();const xe=document.querySelectorAll(".p-dialog-mask-scrollblocker");this.modal&&xe&&1==xe.length&&q.D.unblockBodyScroll(),this.cd.destroyed||this.cd.detectChanges()}}maximize(){this.maximized=!this.maximized,!this.modal&&!this.blockScroll&&(this.maximized?q.D.blockBodyScroll():q.D.unblockBodyScroll()),this.onMaximize.emit({maximized:this.maximized})}unbindMaskClickListener(){this.maskClickListener&&(this.maskClickListener(),this.maskClickListener=null)}moveOnTop(){this.autoZIndex&&(pe.Q$.set("modal",this.container,this.baseZIndex+this.config.zIndex.modal),this.wrapper.style.zIndex=String(parseInt(this.container.style.zIndex,10)-1))}createStyle(){if((0,e.UE)(this.platformId)&&!this.styleElement){this.styleElement=this.renderer.createElement("style"),this.styleElement.type="text/css",this.renderer.appendChild(this.document.head,this.styleElement);let xe="";for(let Ie in this.breakpoints)xe+=`\n @media screen and (max-width: ${Ie}) {\n .p-dialog[${this.id}]:not(.p-dialog-maximized) {\n width: ${this.breakpoints[Ie]} !important;\n }\n }\n `;this.renderer.setProperty(this.styleElement,"innerHTML",xe)}}initDrag(xe){q.D.hasClass(xe.target,"p-dialog-header-icon")||q.D.hasClass(xe.target.parentElement,"p-dialog-header-icon")||this.draggable&&(this.dragging=!0,this.lastPageX=xe.pageX,this.lastPageY=xe.pageY,this.container.style.margin="0",q.D.addClass(this.document.body,"p-unselectable-text"))}onKeydown(xe){if(this.focusTrap&&9===xe.which){xe.preventDefault();let Ie=q.D.getFocusableElements(this.container);if(Ie&&Ie.length>0)if(Ie[0].ownerDocument.activeElement){let we=Ie.indexOf(Ie[0].ownerDocument.activeElement);xe.shiftKey?-1==we||0===we?Ie[Ie.length-1].focus():Ie[we-1].focus():-1==we||we===Ie.length-1?Ie[0].focus():Ie[we+1].focus()}else Ie[0].focus()}}onDrag(xe){if(this.dragging){const Ie=q.D.getOuterWidth(this.container),we=q.D.getOuterHeight(this.container),Ee=xe.pageX-this.lastPageX,Me=xe.pageY-this.lastPageY,Xe=this.container.getBoundingClientRect(),Je=getComputedStyle(this.container),lt=parseFloat(Je.marginLeft),qe=parseFloat(Je.marginTop),st=Xe.left+Ee-lt,Tt=Xe.top+Me-qe,pt=q.D.getViewport();this.container.style.position="fixed",this.keepInViewport?(st>=this.minX&&st+Ie=this.minY&&Tt+weparseInt(qe))&&Tt.left+JeparseInt(st))&&Tt.top+lt{this.documentDragListener=this.renderer.listen(this.window,"mousemove",this.onDrag.bind(this))})}unbindDocumentDragListener(){this.documentDragListener&&(this.documentDragListener(),this.documentDragListener=null)}bindDocumentDragEndListener(){this.documentDragEndListener||this.zone.runOutsideAngular(()=>{this.documentDragEndListener=this.renderer.listen(this.window,"mouseup",this.endDrag.bind(this))})}unbindDocumentDragEndListener(){this.documentDragEndListener&&(this.documentDragEndListener(),this.documentDragEndListener=null)}bindDocumentResizeListeners(){!this.documentResizeListener&&!this.documentResizeEndListener&&this.zone.runOutsideAngular(()=>{this.documentResizeListener=this.renderer.listen(this.window,"mousemove",this.onResize.bind(this)),this.documentResizeEndListener=this.renderer.listen(this.window,"mouseup",this.resizeEnd.bind(this))})}unbindDocumentResizeListeners(){this.documentResizeListener&&this.documentResizeEndListener&&(this.documentResizeListener(),this.documentResizeEndListener(),this.documentResizeListener=null,this.documentResizeEndListener=null)}bindDocumentEscapeListener(){this.documentEscapeListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:"document","keydown",Ie=>{27==Ie.which&&this.close(Ie)})}unbindDocumentEscapeListener(){this.documentEscapeListener&&(this.documentEscapeListener(),this.documentEscapeListener=null)}appendContainer(){this.appendTo&&("body"===this.appendTo?this.renderer.appendChild(this.document.body,this.wrapper):q.D.appendChild(this.wrapper,this.appendTo))}restoreAppend(){this.container&&this.appendTo&&this.renderer.appendChild(this.el.nativeElement,this.wrapper)}onAnimationStart(xe){switch(xe.toState){case"visible":this.container=xe.element,this.wrapper=this.container?.parentElement,this.appendContainer(),this.moveOnTop(),this.bindGlobalListeners(),this.container?.setAttribute(this.id,""),this.modal&&this.enableModality(),!this.modal&&this.blockScroll&&q.D.addClass(this.document.body,"p-overflow-hidden"),this.focusOnShow&&this.focus();break;case"void":this.wrapper&&this.modal&&q.D.addClass(this.wrapper,"p-component-overlay-leave")}}onAnimationEnd(xe){switch(xe.toState){case"void":this.onContainerDestroy(),this.onHide.emit({}),this.cd.markForCheck();break;case"visible":this.onShow.emit({})}}onContainerDestroy(){this.unbindGlobalListeners(),this.dragging=!1,this.maskVisible=!1,this.maximized&&(q.D.removeClass(this.document.body,"p-overflow-hidden"),this.document.body.style.removeProperty("--scrollbar-width"),this.maximized=!1),this.modal&&this.disableModality(),this.blockScroll&&q.D.removeClass(this.document.body,"p-overflow-hidden"),this.container&&this.autoZIndex&&pe.Q$.clear(this.container),this.container=null,this.wrapper=null,this._style=this.originalStyle?{...this.originalStyle}:{}}destroyStyle(){this.styleElement&&(this.renderer.removeChild(this.document.head,this.styleElement),this.styleElement=null)}ngOnDestroy(){this.container&&(this.restoreAppend(),this.onContainerDestroy()),this.destroyStyle()}static \u0275fac=function(Ie){return new(Ie||ee)(V.rXU(e.qQ),V.rXU(V.Agw),V.rXU(V.aKT),V.rXU(V.sFG),V.rXU(V.SKi),V.rXU(V.gRc),V.rXU(Le.r1))};static \u0275cmp=V.VBU({type:ee,selectors:[["p-dialog"]],contentQueries:function(Ie,we,Ee){if(1&Ie&&(V.wni(Ee,Le.Y9,5),V.wni(Ee,Le.wi,5),V.wni(Ee,Le.Ei,4)),2&Ie){let Me;V.mGM(Me=V.lsd())&&(we.headerFacet=Me.first),V.mGM(Me=V.lsd())&&(we.footerFacet=Me.first),V.mGM(Me=V.lsd())&&(we.templates=Me)}},viewQuery:function(Ie,we){if(1&Ie&&(V.GBs(E,5),V.GBs(j,5),V.GBs(F,5)),2&Ie){let Ee;V.mGM(Ee=V.lsd())&&(we.headerViewChild=Ee.first),V.mGM(Ee=V.lsd())&&(we.contentViewChild=Ee.first),V.mGM(Ee=V.lsd())&&(we.footerViewChild=Ee.first)}},hostAttrs:[1,"p-element"],inputs:{header:"header",draggable:"draggable",resizable:"resizable",positionLeft:"positionLeft",positionTop:"positionTop",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",modal:"modal",closeOnEscape:"closeOnEscape",dismissableMask:"dismissableMask",rtl:"rtl",closable:"closable",responsive:"responsive",appendTo:"appendTo",breakpoints:"breakpoints",styleClass:"styleClass",maskStyleClass:"maskStyleClass",maskStyle:"maskStyle",showHeader:"showHeader",breakpoint:"breakpoint",blockScroll:"blockScroll",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",minX:"minX",minY:"minY",focusOnShow:"focusOnShow",maximizable:"maximizable",keepInViewport:"keepInViewport",focusTrap:"focusTrap",transitionOptions:"transitionOptions",closeIcon:"closeIcon",closeAriaLabel:"closeAriaLabel",closeTabindex:"closeTabindex",minimizeIcon:"minimizeIcon",maximizeIcon:"maximizeIcon",visible:"visible",style:"style",position:"position"},outputs:{onShow:"onShow",onHide:"onHide",visibleChange:"visibleChange",onResizeInit:"onResizeInit",onResizeEnd:"onResizeEnd",onDragEnd:"onDragEnd",onMaximize:"onMaximize"},ngContentSelectors:D,decls:1,vars:1,consts:[["container",""],["notHeadless",""],["content",""],["titlebar",""],["footer",""],[3,"class","style","ngClass","focus",4,"ngIf"],[3,"focus","ngClass"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","class","pFocusTrapDisabled",4,"ngIf"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","pFocusTrapDisabled"],[4,"ngIf","ngIfElse"],[4,"ngTemplateOutlet"],["class","p-resizable-handle","style","z-index: 90;",3,"mousedown",4,"ngIf"],["class","p-dialog-header",3,"mousedown",4,"ngIf"],[3,"ngClass","ngStyle"],["class","p-dialog-footer",4,"ngIf"],[1,"p-resizable-handle",2,"z-index","90",3,"mousedown"],[1,"p-dialog-header",3,"mousedown"],["class","p-dialog-title",3,"id",4,"ngIf"],[1,"p-dialog-header-icons"],["role","button","type","button","pRipple","","pButton","",3,"ngClass","click","keydown.enter",4,"ngIf"],["type","button","pRipple","","pButton","",3,"ngClass","click","keydown.enter",4,"ngIf"],[1,"p-dialog-title",3,"id"],["role","button","type","button","pRipple","","pButton","",3,"click","keydown.enter","ngClass"],["class","p-dialog-header-maximize-icon",3,"ngClass",4,"ngIf"],[4,"ngIf"],[1,"p-dialog-header-maximize-icon",3,"ngClass"],[3,"styleClass",4,"ngIf"],[3,"styleClass"],["type","button","pRipple","","pButton","",3,"click","keydown.enter","ngClass"],["class","p-dialog-header-close-icon",3,"ngClass",4,"ngIf"],[1,"p-dialog-header-close-icon",3,"ngClass"],[1,"p-dialog-footer"]],template:function(Ie,we){1&Ie&&(V.NAR(P),V.DNE(0,Te,2,17,"div",5)),2&Ie&&V.Y8G("ngIf",we.maskVisible)},dependencies:()=>[e.YU,e.bT,e.T3,e.B3,ne,X._f,te.n,ve.A,ue,J],styles:["@layer primeng{.p-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.p-dialog-mask.p-component-overlay{pointer-events:auto}.p-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative}.p-dialog-content{overflow-y:auto;flex-grow:1}.p-dialog-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.p-dialog-draggable .p-dialog-header{cursor:move}.p-dialog-footer{flex-shrink:0}.p-dialog .p-dialog-header-icons{display:flex;align-items:center}.p-dialog .p-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-fluid .p-dialog-footer .p-button{width:auto}.p-dialog-top .p-dialog,.p-dialog-bottom .p-dialog,.p-dialog-left .p-dialog,.p-dialog-right .p-dialog,.p-dialog-top-left .p-dialog,.p-dialog-top-right .p-dialog,.p-dialog-bottom-left .p-dialog,.p-dialog-bottom-right .p-dialog{margin:.75rem;transform:translateZ(0)}.p-dialog-maximized{-webkit-transition:none;transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.p-dialog-maximized .p-dialog-content{flex-grow:1}.p-dialog-left{justify-content:flex-start}.p-dialog-right{justify-content:flex-end}.p-dialog-top{align-items:flex-start}.p-dialog-top-left{justify-content:flex-start;align-items:flex-start}.p-dialog-top-right{justify-content:flex-end;align-items:flex-start}.p-dialog-bottom{align-items:flex-end}.p-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.p-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.p-dialog .p-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.p-confirm-dialog .p-dialog-content{display:flex;align-items:center}}\n"],encapsulation:2,data:{animation:[(0,M.hZ)("animation",[(0,M.kY)("void => visible",[(0,M.sM)(Oe)]),(0,M.kY)("visible => void",[(0,M.sM)(De)])])]},changeDetection:0})}return ee})(),oe=(()=>{class ee{static \u0275fac=function(Ie){return new(Ie||ee)};static \u0275mod=V.$C({type:ee});static \u0275inj=V.G2t({imports:[e.MD,re,X.tm,te.Z,ve.A,ue,J,Le.Gg]})}return ee})()},81455:(ri,Bt,We)=>{"use strict";We.d(Bt,{D:()=>M,b:()=>e});let M=(()=>{class V{static zindex=1e3;static calculatedScrollbarWidth=null;static calculatedScrollbarHeight=null;static browser;static addClass(q,ne){q&&ne&&(q.classList?q.classList.add(ne):q.className+=" "+ne)}static addMultipleClasses(q,ne){if(q&&ne)if(q.classList){let re=ne.trim().split(" ");for(let ve=0;vere.split(" ").forEach(ve=>this.removeClass(q,ve)))}static hasClass(q,ne){return!(!q||!ne)&&(q.classList?q.classList.contains(ne):new RegExp("(^| )"+ne+"( |$)","gi").test(q.className))}static siblings(q){return Array.prototype.filter.call(q.parentNode.children,function(ne){return ne!==q})}static find(q,ne){return Array.from(q.querySelectorAll(ne))}static findSingle(q,ne){return this.isElement(q)?q.querySelector(ne):null}static index(q){let ne=q.parentNode.childNodes,re=0;for(var ve=0;ve{if(A)return"relative"===getComputedStyle(A).getPropertyValue("position")?A:re(A.parentElement)},ve=q.offsetParent?{width:q.offsetWidth,height:q.offsetHeight}:this.getHiddenElementDimensions(q),le=ne.offsetHeight,pe=ne.getBoundingClientRect(),ue=this.getWindowScrollTop(),J=this.getWindowScrollLeft(),te=this.getViewport(),E=re(q)?.getBoundingClientRect()||{top:-1*ue,left:-1*J};let j,F;pe.top+le+ve.height>te.height?(j=pe.top-E.top-ve.height,q.style.transformOrigin="bottom",pe.top+j<0&&(j=-1*pe.top)):(j=le+pe.top-E.top,q.style.transformOrigin="top");const P=pe.left+ve.width-te.width;F=ve.width>te.width?-1*(pe.left-E.left):P>0?pe.left-E.left-P:pe.left-E.left,q.style.top=j+"px",q.style.left=F+"px"}static absolutePosition(q,ne){const re=q.offsetParent?{width:q.offsetWidth,height:q.offsetHeight}:this.getHiddenElementDimensions(q),ve=re.height,le=re.width,pe=ne.offsetHeight,ue=ne.offsetWidth,J=ne.getBoundingClientRect(),te=this.getWindowScrollTop(),X=this.getWindowScrollLeft(),E=this.getViewport();let j,F;J.top+pe+ve>E.height?(j=J.top+te-ve,q.style.transformOrigin="bottom",j<0&&(j=te)):(j=pe+J.top+te,q.style.transformOrigin="top"),F=J.left+le>E.width?Math.max(0,J.left+X+ue-le):J.left+X,q.style.top=j+"px",q.style.left=F+"px"}static getParents(q,ne=[]){return null===q.parentNode?ne:this.getParents(q.parentNode,ne.concat([q.parentNode]))}static getScrollableParents(q){let ne=[];if(q){let re=this.getParents(q);const ve=/(auto|scroll)/,le=pe=>{let ue=window.getComputedStyle(pe,null);return ve.test(ue.getPropertyValue("overflow"))||ve.test(ue.getPropertyValue("overflowX"))||ve.test(ue.getPropertyValue("overflowY"))};for(let pe of re){let ue=1===pe.nodeType&&pe.dataset.scrollselectors;if(ue){let J=ue.split(",");for(let te of J){let X=this.findSingle(pe,te);X&&le(X)&&ne.push(X)}}9!==pe.nodeType&&le(pe)&&ne.push(pe)}}return ne}static getHiddenElementOuterHeight(q){q.style.visibility="hidden",q.style.display="block";let ne=q.offsetHeight;return q.style.display="none",q.style.visibility="visible",ne}static getHiddenElementOuterWidth(q){q.style.visibility="hidden",q.style.display="block";let ne=q.offsetWidth;return q.style.display="none",q.style.visibility="visible",ne}static getHiddenElementDimensions(q){let ne={};return q.style.visibility="hidden",q.style.display="block",ne.width=q.offsetWidth,ne.height=q.offsetHeight,q.style.display="none",q.style.visibility="visible",ne}static scrollInView(q,ne){let re=getComputedStyle(q).getPropertyValue("borderTopWidth"),ve=re?parseFloat(re):0,le=getComputedStyle(q).getPropertyValue("paddingTop"),pe=le?parseFloat(le):0,ue=q.getBoundingClientRect(),te=ne.getBoundingClientRect().top+document.body.scrollTop-(ue.top+document.body.scrollTop)-ve-pe,X=q.scrollTop,E=q.clientHeight,j=this.getOuterHeight(ne);te<0?q.scrollTop=X+te:te+j>E&&(q.scrollTop=X+te-E+j)}static fadeIn(q,ne){q.style.opacity=0;let re=+new Date,ve=0,le=function(){ve=+q.style.opacity.replace(",",".")+((new Date).getTime()-re)/ne,q.style.opacity=ve,re=+new Date,+ve<1&&(window.requestAnimationFrame&&requestAnimationFrame(le)||setTimeout(le,16))};le()}static fadeOut(q,ne){var re=1,pe=50/ne;let ue=setInterval(()=>{(re-=pe)<=0&&(re=0,clearInterval(ue)),q.style.opacity=re},50)}static getWindowScrollTop(){let q=document.documentElement;return(window.pageYOffset||q.scrollTop)-(q.clientTop||0)}static getWindowScrollLeft(){let q=document.documentElement;return(window.pageXOffset||q.scrollLeft)-(q.clientLeft||0)}static matches(q,ne){var re=Element.prototype;return(re.matches||re.webkitMatchesSelector||re.mozMatchesSelector||re.msMatchesSelector||function(le){return-1!==[].indexOf.call(document.querySelectorAll(le),this)}).call(q,ne)}static getOuterWidth(q,ne){let re=q.offsetWidth;if(ne){let ve=getComputedStyle(q);re+=parseFloat(ve.marginLeft)+parseFloat(ve.marginRight)}return re}static getHorizontalPadding(q){let ne=getComputedStyle(q);return parseFloat(ne.paddingLeft)+parseFloat(ne.paddingRight)}static getHorizontalMargin(q){let ne=getComputedStyle(q);return parseFloat(ne.marginLeft)+parseFloat(ne.marginRight)}static innerWidth(q){let ne=q.offsetWidth,re=getComputedStyle(q);return ne+=parseFloat(re.paddingLeft)+parseFloat(re.paddingRight),ne}static width(q){let ne=q.offsetWidth,re=getComputedStyle(q);return ne-=parseFloat(re.paddingLeft)+parseFloat(re.paddingRight),ne}static getInnerHeight(q){let ne=q.offsetHeight,re=getComputedStyle(q);return ne+=parseFloat(re.paddingTop)+parseFloat(re.paddingBottom),ne}static getOuterHeight(q,ne){let re=q.offsetHeight;if(ne){let ve=getComputedStyle(q);re+=parseFloat(ve.marginTop)+parseFloat(ve.marginBottom)}return re}static getHeight(q){let ne=q.offsetHeight,re=getComputedStyle(q);return ne-=parseFloat(re.paddingTop)+parseFloat(re.paddingBottom)+parseFloat(re.borderTopWidth)+parseFloat(re.borderBottomWidth),ne}static getWidth(q){let ne=q.offsetWidth,re=getComputedStyle(q);return ne-=parseFloat(re.paddingLeft)+parseFloat(re.paddingRight)+parseFloat(re.borderLeftWidth)+parseFloat(re.borderRightWidth),ne}static getViewport(){let q=window,ne=document,re=ne.documentElement,ve=ne.getElementsByTagName("body")[0];return{width:q.innerWidth||re.clientWidth||ve.clientWidth,height:q.innerHeight||re.clientHeight||ve.clientHeight}}static getOffset(q){var ne=q.getBoundingClientRect();return{top:ne.top+(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0),left:ne.left+(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0)}}static replaceElementWith(q,ne){let re=q.parentNode;if(!re)throw"Can't replace element";return re.replaceChild(ne,q)}static getUserAgent(){if(navigator&&this.isClient())return navigator.userAgent}static isIE(){var q=window.navigator.userAgent;return q.indexOf("MSIE ")>0||(q.indexOf("Trident/")>0?(q.indexOf("rv:"),!0):q.indexOf("Edge/")>0)}static isIOS(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream}static isAndroid(){return/(android)/i.test(navigator.userAgent)}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}static appendChild(q,ne){if(this.isElement(ne))ne.appendChild(q);else{if(!(ne&&ne.el&&ne.el.nativeElement))throw"Cannot append "+ne+" to "+q;ne.el.nativeElement.appendChild(q)}}static removeChild(q,ne){if(this.isElement(ne))ne.removeChild(q);else{if(!ne.el||!ne.el.nativeElement)throw"Cannot remove "+q+" from "+ne;ne.el.nativeElement.removeChild(q)}}static removeElement(q){"remove"in Element.prototype?q.remove():q.parentNode.removeChild(q)}static isElement(q){return"object"==typeof HTMLElement?q instanceof HTMLElement:q&&"object"==typeof q&&null!==q&&1===q.nodeType&&"string"==typeof q.nodeName}static calculateScrollbarWidth(q){if(q){let ne=getComputedStyle(q);return q.offsetWidth-q.clientWidth-parseFloat(ne.borderLeftWidth)-parseFloat(ne.borderRightWidth)}{if(null!==this.calculatedScrollbarWidth)return this.calculatedScrollbarWidth;let ne=document.createElement("div");ne.className="p-scrollbar-measure",document.body.appendChild(ne);let re=ne.offsetWidth-ne.clientWidth;return document.body.removeChild(ne),this.calculatedScrollbarWidth=re,re}}static calculateScrollbarHeight(){if(null!==this.calculatedScrollbarHeight)return this.calculatedScrollbarHeight;let q=document.createElement("div");q.className="p-scrollbar-measure",document.body.appendChild(q);let ne=q.offsetHeight-q.clientHeight;return document.body.removeChild(q),this.calculatedScrollbarWidth=ne,ne}static invokeElementMethod(q,ne,re){q[ne].apply(q,re)}static clearSelection(){if(window.getSelection)window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().rangeCount>0&&window.getSelection().getRangeAt(0).getClientRects().length>0&&window.getSelection().removeAllRanges();else if(document.selection&&document.selection.empty)try{document.selection.empty()}catch{}}static getBrowser(){if(!this.browser){let q=this.resolveUserAgent();this.browser={},q.browser&&(this.browser[q.browser]=!0,this.browser.version=q.version),this.browser.chrome?this.browser.webkit=!0:this.browser.webkit&&(this.browser.safari=!0)}return this.browser}static resolveUserAgent(){let q=navigator.userAgent.toLowerCase(),ne=/(chrome)[ \/]([\w.]+)/.exec(q)||/(webkit)[ \/]([\w.]+)/.exec(q)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(q)||/(msie) ([\w.]+)/.exec(q)||q.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(q)||[];return{browser:ne[1]||"",version:ne[2]||"0"}}static isInteger(q){return Number.isInteger?Number.isInteger(q):"number"==typeof q&&isFinite(q)&&Math.floor(q)===q}static isHidden(q){return!q||null===q.offsetParent}static isVisible(q){return q&&null!=q.offsetParent}static isExist(q){return null!==q&&typeof q<"u"&&q.nodeName&&q.parentNode}static focus(q,ne){q&&document.activeElement!==q&&q.focus(ne)}static getFocusableElements(q,ne=""){let re=this.find(q,`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne},\n [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${ne}`),ve=[];for(let le of re){const pe=getComputedStyle(le);this.isVisible(le)&&"none"!=pe.display&&"hidden"!=pe.visibility&&ve.push(le)}return ve}static getFirstFocusableElement(q,ne){const re=this.getFocusableElements(q,ne);return re.length>0?re[0]:null}static getLastFocusableElement(q,ne){const re=this.getFocusableElements(q,ne);return re.length>0?re[re.length-1]:null}static getNextFocusableElement(q,ne=!1){const re=V.getFocusableElements(q);let ve=0;if(re&&re.length>0){const le=re.indexOf(re[0].ownerDocument.activeElement);ne?ve=-1==le||0===le?re.length-1:le-1:-1!=le&&le!==re.length-1&&(ve=le+1)}return re[ve]}static generateZIndex(){return this.zindex=this.zindex||999,++this.zindex}static getSelection(){return window.getSelection?window.getSelection().toString():document.getSelection?document.getSelection().toString():document.selection?document.selection.createRange().text:null}static getTargetElement(q,ne){if(!q)return null;switch(q){case"document":return document;case"window":return window;case"@next":return ne?.nextElementSibling;case"@prev":return ne?.previousElementSibling;case"@parent":return ne?.parentElement;case"@grandparent":return ne?.parentElement.parentElement;default:const re=typeof q;if("string"===re)return document.querySelector(q);if("object"===re&&q.hasOwnProperty("nativeElement"))return this.isExist(q.nativeElement)?q.nativeElement:void 0;const le=(pe=q)&&pe.constructor&&pe.call&&pe.apply?q():q;return le&&9===le.nodeType||this.isExist(le)?le:null}var pe}static isClient(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}static getAttribute(q,ne){if(q){const re=q.getAttribute(ne);return isNaN(re)?"true"===re||"false"===re?"true"===re:re:+re}}static calculateBodyScrollbarWidth(){return window.innerWidth-document.documentElement.offsetWidth}static blockBodyScroll(q="p-overflow-hidden"){document.body.style.setProperty("--scrollbar-width",this.calculateBodyScrollbarWidth()+"px"),this.addClass(document.body,q)}static unblockBodyScroll(q="p-overflow-hidden"){document.body.style.removeProperty("--scrollbar-width"),this.removeClass(document.body,q)}}return V})();class e{element;listener;scrollableParents;constructor(Le,q=(()=>{})){this.element=Le,this.listener=q}bindScrollListener(){this.scrollableParents=M.getScrollableParents(this.element);for(let Le=0;Le{"use strict";We.d(Bt,{N:()=>Le});var M=We(54438),e=We(461),V=We(54420);let Le=(()=>{class q extends e.h{pathId;ngOnInit(){this.pathId="url(#"+(0,V._Y)()+")"}static \u0275fac=(()=>{let re;return function(le){return(re||(re=M.xGo(q)))(le||q)}})();static \u0275cmp=M.VBU({type:q,selectors:[["SpinnerIcon"]],standalone:!0,features:[M.Vt3,M.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ve,le){1&ve&&(M.qSk(),M.j41(0,"svg",0)(1,"g"),M.nrm(2,"path",1),M.k0s(),M.j41(3,"defs")(4,"clipPath",2),M.nrm(5,"rect",3),M.k0s()()()),2&ve&&(M.HbH(le.getClassNames()),M.BMQ("aria-label",le.ariaLabel)("aria-hidden",le.ariaHidden)("role",le.role),M.R7$(),M.BMQ("clip-path",le.pathId),M.R7$(3),M.Y8G("id",le.pathId))},encapsulation:2})}return q})()},1512:(ri,Bt,We)=>{"use strict";We.d(Bt,{A:()=>V});var M=We(54438),e=We(461);let V=(()=>{class Le extends e.h{static \u0275fac=(()=>{let ne;return function(ve){return(ne||(ne=M.xGo(Le)))(ve||Le)}})();static \u0275cmp=M.VBU({type:Le,selectors:[["TimesIcon"]],standalone:!0,features:[M.Vt3,M.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z","fill","currentColor"]],template:function(re,ve){1&re&&(M.qSk(),M.j41(0,"svg",0),M.nrm(1,"path",1),M.k0s()),2&re&&(M.HbH(ve.getClassNames()),M.BMQ("aria-label",ve.ariaLabel)("aria-hidden",ve.ariaHidden)("role",ve.role))},encapsulation:2})}return Le})()},22242:(ri,Bt,We)=>{"use strict";We.d(Bt,{S:()=>Le,u:()=>q});var M=We(54438),e=We(60177),V=We(89417);let Le=(()=>{class ne{el;ngModel;cd;filled;constructor(ve,le,pe){this.el=ve,this.ngModel=le,this.cd=pe}ngAfterViewInit(){this.updateFilledState(),this.cd.detectChanges()}ngDoCheck(){this.updateFilledState()}onInput(){this.updateFilledState()}updateFilledState(){this.filled=this.el.nativeElement.value&&this.el.nativeElement.value.length||this.ngModel&&this.ngModel.model}static \u0275fac=function(le){return new(le||ne)(M.rXU(M.aKT),M.rXU(V.vS,8),M.rXU(M.gRc))};static \u0275dir=M.FsC({type:ne,selectors:[["","pInputText",""]],hostAttrs:[1,"p-inputtext","p-component","p-element"],hostVars:2,hostBindings:function(le,pe){1&le&&M.bIt("input",function(J){return pe.onInput(J)}),2&le&&M.AVh("p-filled",pe.filled)}})}return ne})(),q=(()=>{class ne{static \u0275fac=function(le){return new(le||ne)};static \u0275mod=M.$C({type:ne});static \u0275inj=M.G2t({imports:[e.MD]})}return ne})()},10563:(ri,Bt,We)=>{"use strict";We.d(Bt,{Z:()=>ne,n:()=>q});var M=We(60177),e=We(54438),V=We(81455),Le=We(5779);let q=(()=>{class re{document;platformId;renderer;el;zone;config;constructor(le,pe,ue,J,te,X){this.document=le,this.platformId=pe,this.renderer=ue,this.el=J,this.zone=te,this.config=X}animationListener;mouseDownListener;timeout;ngAfterViewInit(){(0,M.UE)(this.platformId)&&this.config&&this.config.ripple&&this.zone.runOutsideAngular(()=>{this.create(),this.mouseDownListener=this.renderer.listen(this.el.nativeElement,"mousedown",this.onMouseDown.bind(this))})}onMouseDown(le){let pe=this.getInk();if(!pe||"none"===this.document.defaultView?.getComputedStyle(pe,null).display)return;if(V.D.removeClass(pe,"p-ink-active"),!V.D.getHeight(pe)&&!V.D.getWidth(pe)){let X=Math.max(V.D.getOuterWidth(this.el.nativeElement),V.D.getOuterHeight(this.el.nativeElement));pe.style.height=X+"px",pe.style.width=X+"px"}let ue=V.D.getOffset(this.el.nativeElement),J=le.pageX-ue.left+this.document.body.scrollTop-V.D.getWidth(pe)/2,te=le.pageY-ue.top+this.document.body.scrollLeft-V.D.getHeight(pe)/2;this.renderer.setStyle(pe,"top",te+"px"),this.renderer.setStyle(pe,"left",J+"px"),V.D.addClass(pe,"p-ink-active"),this.timeout=setTimeout(()=>{let X=this.getInk();X&&V.D.removeClass(X,"p-ink-active")},401)}getInk(){const le=this.el.nativeElement.children;for(let pe=0;pe{class re{static \u0275fac=function(pe){return new(pe||re)};static \u0275mod=e.$C({type:re});static \u0275inj=e.G2t({imports:[M.MD]})}return re})()},46247:(ri,Bt,We)=>{"use strict";We.d(Bt,{c5:()=>ts,hp:()=>kn,FP:()=>Ai,yc:()=>ei,Tg:()=>Ut,XI:()=>Ne,bG:()=>Vr});var M=We(60177),e=We(54438),V=We(89417),Le=We(5779),q=We(81141),ne=We(49969),re=We(81455),ve=We(10563),le=We(54420),pe=We(461);let ue=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ChevronLeftIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M9.61296 13C9.50997 13.0005 9.40792 12.9804 9.3128 12.9409C9.21767 12.9014 9.13139 12.8433 9.05902 12.7701L3.83313 7.54416C3.68634 7.39718 3.60388 7.19795 3.60388 6.99022C3.60388 6.78249 3.68634 6.58325 3.83313 6.43628L9.05902 1.21039C9.20762 1.07192 9.40416 0.996539 9.60724 1.00012C9.81032 1.00371 10.0041 1.08597 10.1477 1.22959C10.2913 1.37322 10.3736 1.56698 10.3772 1.77005C10.3808 1.97313 10.3054 2.16968 10.1669 2.31827L5.49496 6.99022L10.1669 11.6622C10.3137 11.8091 10.3962 12.0084 10.3962 12.2161C10.3962 12.4238 10.3137 12.6231 10.1669 12.7701C10.0945 12.8433 10.0083 12.9014 9.91313 12.9409C9.81801 12.9804 9.71596 13.0005 9.61296 13Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),J=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ChevronRightIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),te=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ChevronUpIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M12.2097 10.4113C12.1057 10.4118 12.0027 10.3915 11.9067 10.3516C11.8107 10.3118 11.7237 10.2532 11.6506 10.1792L6.93602 5.46461L2.22139 10.1476C2.07272 10.244 1.89599 10.2877 1.71953 10.2717C1.54307 10.2556 1.3771 10.1808 1.24822 10.0593C1.11933 9.93766 1.035 9.77633 1.00874 9.6011C0.982477 9.42587 1.0158 9.2469 1.10338 9.09287L6.37701 3.81923C6.52533 3.6711 6.72639 3.58789 6.93602 3.58789C7.14565 3.58789 7.3467 3.6711 7.49502 3.81923L12.7687 9.09287C12.9168 9.24119 13 9.44225 13 9.65187C13 9.8615 12.9168 10.0626 12.7687 10.2109C12.616 10.3487 12.4151 10.4207 12.2097 10.4113Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),X=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ChevronDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})();var E=We(1512);let j=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["CalendarIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M10.7838 1.51351H9.83783V0.567568C9.83783 0.417039 9.77804 0.272676 9.6716 0.166237C9.56516 0.0597971 9.42079 0 9.27027 0C9.11974 0 8.97538 0.0597971 8.86894 0.166237C8.7625 0.272676 8.7027 0.417039 8.7027 0.567568V1.51351H5.29729V0.567568C5.29729 0.417039 5.2375 0.272676 5.13106 0.166237C5.02462 0.0597971 4.88025 0 4.72973 0C4.5792 0 4.43484 0.0597971 4.3284 0.166237C4.22196 0.272676 4.16216 0.417039 4.16216 0.567568V1.51351H3.21621C2.66428 1.51351 2.13494 1.73277 1.74467 2.12305C1.35439 2.51333 1.13513 3.04266 1.13513 3.59459V11.9189C1.13513 12.4709 1.35439 13.0002 1.74467 13.3905C2.13494 13.7807 2.66428 14 3.21621 14H10.7838C11.3357 14 11.865 13.7807 12.2553 13.3905C12.6456 13.0002 12.8649 12.4709 12.8649 11.9189V3.59459C12.8649 3.04266 12.6456 2.51333 12.2553 2.12305C11.865 1.73277 11.3357 1.51351 10.7838 1.51351ZM3.21621 2.64865H4.16216V3.59459C4.16216 3.74512 4.22196 3.88949 4.3284 3.99593C4.43484 4.10237 4.5792 4.16216 4.72973 4.16216C4.88025 4.16216 5.02462 4.10237 5.13106 3.99593C5.2375 3.88949 5.29729 3.74512 5.29729 3.59459V2.64865H8.7027V3.59459C8.7027 3.74512 8.7625 3.88949 8.86894 3.99593C8.97538 4.10237 9.11974 4.16216 9.27027 4.16216C9.42079 4.16216 9.56516 4.10237 9.6716 3.99593C9.77804 3.88949 9.83783 3.74512 9.83783 3.59459V2.64865H10.7838C11.0347 2.64865 11.2753 2.74831 11.4527 2.92571C11.6301 3.10311 11.7297 3.34371 11.7297 3.59459V5.67568H2.27027V3.59459C2.27027 3.34371 2.36993 3.10311 2.54733 2.92571C2.72473 2.74831 2.96533 2.64865 3.21621 2.64865ZM10.7838 12.8649H3.21621C2.96533 12.8649 2.72473 12.7652 2.54733 12.5878C2.36993 12.4104 2.27027 12.1698 2.27027 11.9189V6.81081H11.7297V11.9189C11.7297 12.1698 11.6301 12.4104 11.4527 12.5878C11.2753 12.7652 11.0347 12.8649 10.7838 12.8649Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})();const F=["container"],P=["inputfield"],D=["contentWrapper"],A=[[["p-header"]],[["p-footer"]]],I=["p-header","p-footer"],_=(ye,et,u,ie,de)=>({"p-calendar":!0,"p-input-icon-right":ye,"p-calendar-w-btn":et,"p-calendar-timeonly":u,"p-calendar-disabled":ie,"p-focus":de}),m=ye=>({clickCallBack:ye}),w=ye=>({"p-datepicker-icon":ye}),G=(ye,et,u,ie,de,Ae)=>({"p-datepicker p-component":!0,"p-datepicker-inline":ye,"p-disabled":et,"p-datepicker-timeonly":u,"p-datepicker-multiple-month":ie,"p-datepicker-monthpicker":de,"p-datepicker-touch-ui":Ae}),O=(ye,et)=>({showTransitionParams:ye,hideTransitionParams:et}),f=ye=>({value:"visibleTouchUI",params:ye}),a=ye=>({value:"visible",params:ye}),g=ye=>({$implicit:ye}),v=(ye,et)=>({"p-datepicker-other-month":ye,"p-datepicker-today":et}),o=(ye,et)=>({"p-highlight":ye,"p-disabled":et}),n=ye=>[ye];function r(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"TimesIcon",11),e.bIt("click",function(){e.eBV(u);const de=e.XpG(3);return e.Njj(de.clear())}),e.k0s()}2&ye&&e.Y8G("styleClass","p-calendar-clear-icon")}function l(ye,et){}function d(ye,et){1&ye&&e.DNE(0,l,0,0,"ng-template")}function C(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",12),e.bIt("click",function(){e.eBV(u);const de=e.XpG(3);return e.Njj(de.clear())}),e.DNE(1,d,1,0,null,13),e.k0s()}if(2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.clearIconTemplate)}}function k(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,r,1,1,"TimesIcon",9)(2,C,2,1,"span",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.clearIconTemplate),e.R7$(),e.Y8G("ngIf",u.clearIconTemplate)}}function p(ye,et){if(1&ye&&e.nrm(0,"span",16),2&ye){const u=e.XpG(3);e.Y8G("ngClass",u.icon)}}function T(ye,et){1&ye&&e.nrm(0,"CalendarIcon")}function B(ye,et){}function z(ye,et){1&ye&&e.DNE(0,B,0,0,"ng-template")}function K(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,T,1,0,"CalendarIcon",7)(2,z,1,0,null,13),e.bVm()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngIf",!u.triggerIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.triggerIconTemplate)}}function U(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",14),e.bIt("click",function(de){e.eBV(u),e.XpG();const Ae=e.sdS(1),nt=e.XpG();return e.Njj(nt.onButtonClick(de,Ae))}),e.DNE(1,p,1,1,"span",15)(2,K,3,2,"ng-container",7),e.k0s()}if(2&ye){let u;const ie=e.XpG(2);e.Y8G("disabled",ie.disabled),e.BMQ("aria-label",ie.iconButtonAriaLabel)("aria-expanded",null!==(u=ie.overlayVisible)&&void 0!==u&&u)("aria-controls",ie.overlayVisible?ie.panelId:null),e.R7$(),e.Y8G("ngIf",ie.icon),e.R7$(),e.Y8G("ngIf",!ie.icon)}}function se(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"CalendarIcon",19),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onButtonClick(de))}),e.k0s()}if(2&ye){const u=e.XpG(3);e.Y8G("ngClass",e.eq3(1,w,u.showOnFocus))}}function S(ye,et){1&ye&&e.eu8(0)}function $(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,se,1,3,"CalendarIcon",17)(2,S,1,0,"ng-container",18),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.inputIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.inputIconTemplate)("ngTemplateOutletContext",e.eq3(3,m,u.onButtonClick.bind(u)))}}function H(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"input",6,1),e.bIt("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputFocus(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputKeydown(de))})("click",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onInputClick())})("blur",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputBlur(de))})("input",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUserInput(de))}),e.k0s(),e.DNE(2,k,3,2,"ng-container",7)(3,U,3,6,"button",8)(4,$,3,5,"ng-container",7)}if(2&ye){let u;const ie=e.XpG();e.HbH(ie.inputStyleClass),e.Y8G("value",ie.inputFieldValue)("readonly",ie.readonlyInput)("ngStyle",ie.inputStyle)("placeholder",ie.placeholder||"")("disabled",ie.disabled)("ngClass","p-inputtext p-component"),e.BMQ("id",ie.inputId)("name",ie.name)("required",ie.required)("aria-required",ie.required)("aria-expanded",null!==(u=ie.overlayVisible)&&void 0!==u&&u)("aria-controls",ie.overlayVisible?ie.panelId:null)("aria-labelledby",ie.ariaLabelledBy)("aria-label",ie.ariaLabel)("tabindex",ie.tabindex)("inputmode",ie.touchUI?"off":null),e.R7$(2),e.Y8G("ngIf",ie.showClear&&!ie.disabled&&null!=ie.value),e.R7$(),e.Y8G("ngIf",ie.showIcon&&"button"===ie.iconDisplay),e.R7$(),e.Y8G("ngIf","input"===ie.iconDisplay&&ie.showIcon)}}function x(ye,et){1&ye&&e.eu8(0)}function N(ye,et){1&ye&&e.nrm(0,"ChevronLeftIcon",40),2&ye&&e.Y8G("styleClass","p-datepicker-prev-icon")}function R(ye,et){}function Z(ye,et){1&ye&&e.DNE(0,R,0,0,"ng-template")}function Y(ye,et){if(1&ye&&(e.j41(0,"span",41),e.DNE(1,Z,1,0,null,13),e.k0s()),2&ye){const u=e.XpG(5);e.R7$(),e.Y8G("ngTemplateOutlet",u.previousIconTemplate)}}function he(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",38),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.onPrevButtonClick(de))}),e.DNE(1,N,1,1,"ChevronLeftIcon",35)(2,Y,2,1,"span",39),e.k0s()}if(2&ye){const u=e.XpG(4);e.BMQ("aria-label",u.prevIconAriaLabel),e.R7$(),e.Y8G("ngIf",!u.previousIconTemplate),e.R7$(),e.Y8G("ngIf",u.previousIconTemplate)}}function ge(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",42),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.switchToMonthView(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.onContainerButtonKeydown(de))}),e.EFF(1),e.k0s()}if(2&ye){const u=e.XpG().$implicit,ie=e.XpG(3);e.Y8G("disabled",ie.switchViewButtonDisabled()),e.BMQ("aria-label",ie.getTranslation("chooseMonth")),e.R7$(),e.SpI(" ",ie.getMonthName(u.month)," ")}}function _e(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",43),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.switchToYearView(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG(4);return e.Njj(Ae.onContainerButtonKeydown(de))}),e.EFF(1),e.k0s()}if(2&ye){const u=e.XpG().$implicit,ie=e.XpG(3);e.Y8G("disabled",ie.switchViewButtonDisabled()),e.BMQ("aria-label",ie.getTranslation("chooseYear")),e.R7$(),e.SpI(" ",ie.getYear(u)," ")}}function Te(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(5);e.R7$(),e.Lme("",u.yearPickerValues()[0]," - ",u.yearPickerValues()[u.yearPickerValues().length-1],"")}}function Oe(ye,et){1&ye&&e.eu8(0)}function De(ye,et){if(1&ye&&(e.j41(0,"span",44),e.DNE(1,Te,2,2,"ng-container",7)(2,Oe,1,0,"ng-container",18),e.k0s()),2&ye){const u=e.XpG(4);e.R7$(),e.Y8G("ngIf",!u.decadeTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decadeTemplate)("ngTemplateOutletContext",e.eq3(3,g,u.yearPickerValues))}}function Be(ye,et){1&ye&&e.nrm(0,"ChevronRightIcon",40),2&ye&&e.Y8G("styleClass","p-datepicker-next-icon")}function oe(ye,et){}function ee(ye,et){1&ye&&e.DNE(0,oe,0,0,"ng-template")}function be(ye,et){if(1&ye&&(e.j41(0,"span",45),e.DNE(1,ee,1,0,null,13),e.k0s()),2&ye){const u=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",u.nextIconTemplate)}}function xe(ye,et){if(1&ye&&(e.j41(0,"th",51)(1,"span"),e.EFF(2),e.k0s()()),2&ye){const u=e.XpG(5);e.R7$(2),e.JRh(u.getTranslation("weekHeader"))}}function Ie(ye,et){if(1&ye&&(e.j41(0,"th",52)(1,"span"),e.EFF(2),e.k0s()()),2&ye){const u=et.$implicit;e.R7$(2),e.JRh(u)}}function we(ye,et){if(1&ye&&(e.j41(0,"td",55)(1,"span",56),e.EFF(2),e.k0s()()),2&ye){const u=e.XpG().index,ie=e.XpG(2).$implicit;e.R7$(2),e.SpI(" ",ie.weekNumbers[u]," ")}}function Ee(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(2).$implicit;e.R7$(),e.JRh(u.day)}}function Me(ye,et){1&ye&&e.eu8(0)}function Xe(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Me,1,0,"ng-container",18),e.bVm()),2&ye){const u=e.XpG(2).$implicit,ie=e.XpG(6);e.R7$(),e.Y8G("ngTemplateOutlet",ie.dateTemplate)("ngTemplateOutletContext",e.eq3(2,g,u))}}function Je(ye,et){1&ye&&e.eu8(0)}function lt(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Je,1,0,"ng-container",18),e.bVm()),2&ye){const u=e.XpG(2).$implicit,ie=e.XpG(6);e.R7$(),e.Y8G("ngTemplateOutlet",ie.disabledDateTemplate)("ngTemplateOutletContext",e.eq3(2,g,u))}}function qe(ye,et){if(1&ye&&(e.j41(0,"div",59),e.EFF(1),e.k0s()),2&ye){const u=e.XpG(2).$implicit;e.R7$(),e.SpI(" ",u.day," ")}}function st(ye,et){if(1&ye){const u=e.RV6();e.qex(0),e.j41(1,"span",57),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG().$implicit,nt=e.XpG(6);return e.Njj(nt.onDateSelect(de,Ae))})("keydown",function(de){e.eBV(u);const Ae=e.XpG().$implicit,nt=e.XpG(3).index,kt=e.XpG(3);return e.Njj(kt.onDateCellKeydown(de,Ae,nt))}),e.DNE(2,Ee,2,1,"ng-container",7)(3,Xe,2,4,"ng-container",7)(4,lt,2,4,"ng-container",7),e.k0s(),e.DNE(5,qe,2,1,"div",58),e.bVm()}if(2&ye){const u=e.XpG().$implicit,ie=e.XpG(6);e.R7$(),e.Y8G("ngClass",e.l_i(5,o,ie.isSelected(u)&&u.selectable,!u.selectable)),e.R7$(),e.Y8G("ngIf",!ie.dateTemplate&&(u.selectable||!ie.disabledDateTemplate)),e.R7$(),e.Y8G("ngIf",u.selectable||!ie.disabledDateTemplate),e.R7$(),e.Y8G("ngIf",!u.selectable),e.R7$(),e.Y8G("ngIf",ie.isSelected(u))}}function Tt(ye,et){if(1&ye&&(e.j41(0,"td",16),e.DNE(1,st,6,8,"ng-container",7),e.k0s()),2&ye){const u=et.$implicit,ie=e.XpG(6);e.Y8G("ngClass",e.l_i(3,v,u.otherMonth,u.today)),e.BMQ("aria-label",u.day),e.R7$(),e.Y8G("ngIf",!u.otherMonth||ie.showOtherMonths)}}function pt(ye,et){if(1&ye&&(e.j41(0,"tr"),e.DNE(1,we,3,1,"td",53)(2,Tt,2,6,"td",54),e.k0s()),2&ye){const u=et.$implicit,ie=e.XpG(5);e.R7$(),e.Y8G("ngIf",ie.showWeek),e.R7$(),e.Y8G("ngForOf",u)}}function ht(ye,et){if(1&ye&&(e.j41(0,"div",46)(1,"table",47)(2,"thead")(3,"tr"),e.DNE(4,xe,3,1,"th",48)(5,Ie,3,1,"th",49),e.k0s()(),e.j41(6,"tbody"),e.DNE(7,pt,3,2,"tr",50),e.k0s()()()),2&ye){const u=e.XpG().$implicit,ie=e.XpG(3);e.R7$(4),e.Y8G("ngIf",ie.showWeek),e.R7$(),e.Y8G("ngForOf",ie.weekDays),e.R7$(2),e.Y8G("ngForOf",u.dates)}}function Pt(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",27)(1,"div",28),e.DNE(2,he,3,3,"button",29),e.j41(3,"div",30),e.DNE(4,ge,2,3,"button",31)(5,_e,2,3,"button",32)(6,De,3,5,"span",33),e.k0s(),e.j41(7,"button",34),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onNextButtonClick(de))}),e.DNE(8,Be,1,1,"ChevronRightIcon",35)(9,be,2,1,"span",36),e.k0s()(),e.DNE(10,ht,8,3,"div",37),e.k0s()}if(2&ye){const u=et.index,ie=e.XpG(3);e.R7$(2),e.Y8G("ngIf",0===u),e.R7$(2),e.Y8G("ngIf","date"===ie.currentView),e.R7$(),e.Y8G("ngIf","year"!==ie.currentView),e.R7$(),e.Y8G("ngIf","year"===ie.currentView),e.R7$(),e.xc7("display",1===ie.numberOfMonths||u===ie.numberOfMonths-1?"inline-flex":"none"),e.BMQ("aria-label",ie.nextIconAriaLabel),e.R7$(),e.Y8G("ngIf",!ie.nextIconTemplate),e.R7$(),e.Y8G("ngIf",ie.nextIconTemplate),e.R7$(),e.Y8G("ngIf","date"===ie.currentView)}}function Gt(ye,et){if(1&ye&&(e.j41(0,"div",59),e.EFF(1),e.k0s()),2&ye){const u=e.XpG().$implicit;e.R7$(),e.SpI(" ",u," ")}}function ti(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",62),e.bIt("click",function(de){const Ae=e.eBV(u).index,nt=e.XpG(4);return e.Njj(nt.onMonthSelect(de,Ae))})("keydown",function(de){const Ae=e.eBV(u).index,nt=e.XpG(4);return e.Njj(nt.onMonthCellKeydown(de,Ae))}),e.EFF(1),e.DNE(2,Gt,2,1,"div",58),e.k0s()}if(2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(4);e.Y8G("ngClass",e.l_i(3,o,de.isMonthSelected(ie),de.isMonthDisabled(ie))),e.R7$(),e.SpI(" ",u," "),e.R7$(),e.Y8G("ngIf",de.isMonthSelected(ie))}}function Dt(ye,et){if(1&ye&&(e.j41(0,"div",60),e.DNE(1,ti,3,6,"span",61),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngForOf",u.monthPickerValues())}}function It(ye,et){if(1&ye&&(e.j41(0,"div",59),e.EFF(1),e.k0s()),2&ye){const u=e.XpG().$implicit;e.R7$(),e.SpI(" ",u," ")}}function xt(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",65),e.bIt("click",function(de){const Ae=e.eBV(u).$implicit,nt=e.XpG(4);return e.Njj(nt.onYearSelect(de,Ae))})("keydown",function(de){const Ae=e.eBV(u).$implicit,nt=e.XpG(4);return e.Njj(nt.onYearCellKeydown(de,Ae))}),e.EFF(1),e.DNE(2,It,2,1,"div",58),e.k0s()}if(2&ye){const u=et.$implicit,ie=e.XpG(4);e.Y8G("ngClass",e.l_i(3,o,ie.isYearSelected(u),ie.isYearDisabled(u))),e.R7$(),e.SpI(" ",u," "),e.R7$(),e.Y8G("ngIf",ie.isYearSelected(u))}}function wt(ye,et){if(1&ye&&(e.j41(0,"div",63),e.DNE(1,xt,3,6,"span",64),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngForOf",u.yearPickerValues())}}function Qt(ye,et){if(1&ye&&(e.qex(0),e.j41(1,"div",23),e.DNE(2,Pt,11,10,"div",24),e.k0s(),e.DNE(3,Dt,2,1,"div",25)(4,wt,2,1,"div",26),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(2),e.Y8G("ngForOf",u.months),e.R7$(),e.Y8G("ngIf","month"===u.currentView),e.R7$(),e.Y8G("ngIf","year"===u.currentView)}}function di(ye,et){1&ye&&e.nrm(0,"ChevronUpIcon")}function Ni(ye,et){}function mi(ye,et){1&ye&&e.DNE(0,Ni,0,0,"ng-template")}function vi(ye,et){1&ye&&(e.qex(0),e.EFF(1,"0"),e.bVm())}function zi(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon")}function gs(ye,et){}function Fn(ye,et){1&ye&&e.DNE(0,gs,0,0,"ng-template")}function as(ye,et){1&ye&&e.nrm(0,"ChevronUpIcon")}function ms(ye,et){}function Ln(ye,et){1&ye&&e.DNE(0,ms,0,0,"ng-template")}function fn(ye,et){1&ye&&(e.qex(0),e.EFF(1,"0"),e.bVm())}function ki(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon")}function Cs(ye,et){}function Kn(ye,et){1&ye&&e.DNE(0,Cs,0,0,"ng-template")}function In(ye,et){if(1&ye&&(e.j41(0,"div",69)(1,"span"),e.EFF(2),e.k0s()()),2&ye){const u=e.XpG(3);e.R7$(2),e.JRh(u.timeSeparator)}}function Bs(ye,et){1&ye&&e.nrm(0,"ChevronUpIcon")}function qn(ye,et){}function Wi(ye,et){1&ye&&e.DNE(0,qn,0,0,"ng-template")}function js(ye,et){1&ye&&(e.qex(0),e.EFF(1,"0"),e.bVm())}function On(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon")}function ar(ye,et){}function To(ye,et){1&ye&&e.DNE(0,ar,0,0,"ng-template")}function Wr(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",74)(1,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.incrementSecond(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.incrementSecond(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseDown(de,2,1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(3);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(2,Bs,1,0,"ChevronUpIcon",7)(3,Wi,1,0,null,13),e.k0s(),e.j41(4,"span"),e.DNE(5,js,2,0,"ng-container",7),e.EFF(6),e.k0s(),e.j41(7,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.decrementSecond(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.decrementSecond(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseDown(de,2,-1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(3);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(8,On,1,0,"ChevronDownIcon",7)(9,To,1,0,null,13),e.k0s()()}if(2&ye){const u=e.XpG(3);e.R7$(),e.BMQ("aria-label",u.getTranslation("nextSecond")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.Y8G("ngIf",u.currentSecond<10),e.R7$(),e.JRh(u.currentSecond),e.R7$(),e.BMQ("aria-label",u.getTranslation("prevSecond")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate)}}function Cr(ye,et){1&ye&&e.nrm(0,"ChevronUpIcon")}function St(ye,et){}function Rt(ye,et){1&ye&&e.DNE(0,St,0,0,"ng-template")}function Nt(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon")}function mt(ye,et){}function _t(ye,et){1&ye&&e.DNE(0,mt,0,0,"ng-template")}function $e(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",75)(1,"button",76),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.toggleAMPM(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.toggleAMPM(de))}),e.DNE(2,Cr,1,0,"ChevronUpIcon",7)(3,Rt,1,0,null,13),e.k0s(),e.j41(4,"span"),e.EFF(5),e.k0s(),e.j41(6,"button",76),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.toggleAMPM(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.toggleAMPM(de))}),e.DNE(7,Nt,1,0,"ChevronDownIcon",7)(8,_t,1,0,null,13),e.k0s()()}if(2&ye){const u=e.XpG(3);e.R7$(),e.BMQ("aria-label",u.getTranslation("am")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.JRh(u.pm?"PM":"AM"),e.R7$(),e.BMQ("aria-label",u.getTranslation("pm")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate)}}function yt(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",66)(1,"div",67)(2,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.incrementHour(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.incrementHour(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseDown(de,0,1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(3,di,1,0,"ChevronUpIcon",7)(4,mi,1,0,null,13),e.k0s(),e.j41(5,"span"),e.DNE(6,vi,2,0,"ng-container",7),e.EFF(7),e.k0s(),e.j41(8,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.decrementHour(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.decrementHour(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseDown(de,0,-1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(9,zi,1,0,"ChevronDownIcon",7)(10,Fn,1,0,null,13),e.k0s()(),e.j41(11,"div",69)(12,"span"),e.EFF(13),e.k0s()(),e.j41(14,"div",70)(15,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.incrementMinute(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.incrementMinute(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseDown(de,1,1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(16,as,1,0,"ChevronUpIcon",7)(17,Ln,1,0,null,13),e.k0s(),e.j41(18,"span"),e.DNE(19,fn,2,0,"ng-container",7),e.EFF(20),e.k0s(),e.j41(21,"button",68),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("keydown.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.decrementMinute(de))})("keydown.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.decrementMinute(de))})("mousedown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseDown(de,1,-1))})("mouseup",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.enter",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("keyup.space",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTimePickerElementMouseUp(de))})("mouseleave",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.onTimePickerElementMouseLeave())}),e.DNE(22,ki,1,0,"ChevronDownIcon",7)(23,Kn,1,0,null,13),e.k0s()(),e.DNE(24,In,3,1,"div",71)(25,Wr,10,8,"div",72)(26,$e,9,7,"div",73),e.k0s()}if(2&ye){const u=e.XpG(2);e.R7$(2),e.BMQ("aria-label",u.getTranslation("nextHour")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.Y8G("ngIf",u.currentHour<10),e.R7$(),e.JRh(u.currentHour),e.R7$(),e.BMQ("aria-label",u.getTranslation("prevHour")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate),e.R7$(3),e.JRh(u.timeSeparator),e.R7$(2),e.BMQ("aria-label",u.getTranslation("nextMinute")),e.R7$(),e.Y8G("ngIf",!u.incrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementIconTemplate),e.R7$(2),e.Y8G("ngIf",u.currentMinute<10),e.R7$(),e.JRh(u.currentMinute),e.R7$(),e.BMQ("aria-label",u.getTranslation("prevMinute")),e.R7$(),e.Y8G("ngIf",!u.decrementIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementIconTemplate),e.R7$(),e.Y8G("ngIf",u.showSeconds),e.R7$(),e.Y8G("ngIf",u.showSeconds),e.R7$(),e.Y8G("ngIf","12"==u.hourFormat)}}function At(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",77)(1,"button",78),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onTodayButtonClick(de))}),e.k0s(),e.j41(2,"button",78),e.bIt("keydown",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onContainerButtonKeydown(de))})("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onClearButtonClick(de))}),e.k0s()()}if(2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("label",u.getTranslation("today"))("ngClass",e.eq3(4,n,u.todayButtonStyleClass)),e.R7$(),e.Y8G("label",u.getTranslation("clear"))("ngClass",e.eq3(6,n,u.clearButtonStyleClass))}}function $t(ye,et){1&ye&&e.eu8(0)}function si(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",20,2),e.bIt("@overlayAnimation.start",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onOverlayAnimationStart(de))})("@overlayAnimation.done",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onOverlayAnimationDone(de))})("click",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onOverlayClick(de))}),e.SdG(2),e.DNE(3,x,1,0,"ng-container",13)(4,Qt,5,3,"ng-container",7)(5,yt,27,20,"div",21)(6,At,3,8,"div",22),e.SdG(7,1),e.DNE(8,$t,1,0,"ng-container",13),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.panelStyleClass),e.Y8G("ngStyle",u.panelStyle)("ngClass",e.l4e(14,G,u.inline,u.disabled,u.timeOnly,u.numberOfMonths>1,"month"===u.view,u.touchUI))("@overlayAnimation",u.touchUI?e.eq3(24,f,e.l_i(21,O,u.showTransitionOptions,u.hideTransitionOptions)):e.eq3(29,a,e.l_i(26,O,u.showTransitionOptions,u.hideTransitionOptions)))("@.disabled",!0===u.inline),e.BMQ("aria-label",u.getTranslation("chooseDate"))("role",u.inline?null:"dialog")("aria-modal",u.inline?null:"true"),e.R7$(3),e.Y8G("ngTemplateOutlet",u.headerTemplate),e.R7$(),e.Y8G("ngIf",!u.timeOnly),e.R7$(),e.Y8G("ngIf",(u.showTime||u.timeOnly)&&"date"===u.currentView),e.R7$(),e.Y8G("ngIf",u.showButtonBar),e.R7$(2),e.Y8G("ngTemplateOutlet",u.footerTemplate)}}const Di={provide:V.kq,useExisting:(0,e.Rfq)(()=>qi),multi:!0};let qi=(()=>{class ye{document;el;renderer;cd;zone;config;overlayService;iconDisplay="button";style;styleClass;inputStyle;inputId;name;inputStyleClass;placeholder;ariaLabelledBy;ariaLabel;iconAriaLabel;disabled;dateFormat;multipleSeparator=",";rangeSeparator="-";inline=!1;showOtherMonths=!0;selectOtherMonths;showIcon;icon;appendTo;readonlyInput;shortYearCutoff="+10";monthNavigator;yearNavigator;hourFormat="24";timeOnly;stepHour=1;stepMinute=1;stepSecond=1;showSeconds=!1;required;showOnFocus=!0;showWeek=!1;showClear=!1;dataType="date";selectionMode="single";maxDateCount;showButtonBar;todayButtonStyleClass="p-button-text";clearButtonStyleClass="p-button-text";autoZIndex=!0;baseZIndex=0;panelStyleClass;panelStyle;keepInvalid=!1;hideOnDateTimeSelect=!0;touchUI;timeSeparator=":";focusTrap=!0;showTransitionOptions=".12s cubic-bezier(0, 0, 0.2, 1)";hideTransitionOptions=".1s linear";tabindex;get minDate(){return this._minDate}set minDate(u){this._minDate=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get maxDate(){return this._maxDate}set maxDate(u){this._maxDate=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get disabledDates(){return this._disabledDates}set disabledDates(u){this._disabledDates=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get disabledDays(){return this._disabledDays}set disabledDays(u){this._disabledDays=u,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get yearRange(){return this._yearRange}set yearRange(u){if(this._yearRange=u,u){const ie=u.split(":"),de=parseInt(ie[0]),Ae=parseInt(ie[1]);this.populateYearOptions(de,Ae)}}get showTime(){return this._showTime}set showTime(u){this._showTime=u,void 0===this.currentHour&&this.initTime(this.value||new Date),this.updateInputfield()}get responsiveOptions(){return this._responsiveOptions}set responsiveOptions(u){this._responsiveOptions=u,this.destroyResponsiveStyleElement(),this.createResponsiveStyle()}get numberOfMonths(){return this._numberOfMonths}set numberOfMonths(u){this._numberOfMonths=u,this.destroyResponsiveStyleElement(),this.createResponsiveStyle()}get firstDayOfWeek(){return this._firstDayOfWeek}set firstDayOfWeek(u){this._firstDayOfWeek=u,this.createWeekDays()}set locale(u){console.warn("Locale property has no effect, use new i18n API instead.")}get view(){return this._view}set view(u){this._view=u,this.currentView=this._view}get defaultDate(){return this._defaultDate}set defaultDate(u){if(this._defaultDate=u,this.initialized){const ie=u||new Date;this.currentMonth=ie.getMonth(),this.currentYear=ie.getFullYear(),this.initTime(ie),this.createMonths(this.currentMonth,this.currentYear)}}onFocus=new e.bkB;onBlur=new e.bkB;onClose=new e.bkB;onSelect=new e.bkB;onClear=new e.bkB;onInput=new e.bkB;onTodayClick=new e.bkB;onClearClick=new e.bkB;onMonthChange=new e.bkB;onYearChange=new e.bkB;onClickOutside=new e.bkB;onShow=new e.bkB;templates;containerViewChild;inputfieldViewChild;set content(u){this.contentViewChild=u,this.contentViewChild&&(this.isMonthNavigate?(Promise.resolve(null).then(()=>this.updateFocus()),this.isMonthNavigate=!1):!this.focus&&!this.inline&&this.initFocusableCell())}contentViewChild;value;dates;months;weekDays;currentMonth;currentYear;currentHour;currentMinute;currentSecond;pm;mask;maskClickListener;overlay;responsiveStyleElement;overlayVisible;onModelChange=()=>{};onModelTouched=()=>{};calendarElement;timePickerTimer;documentClickListener;animationEndListener;ticksTo1970;yearOptions;focus;isKeydown;filled;inputFieldValue=null;_minDate;_maxDate;_showTime;_yearRange;preventDocumentListener;dateTemplate;headerTemplate;footerTemplate;disabledDateTemplate;decadeTemplate;previousIconTemplate;nextIconTemplate;triggerIconTemplate;clearIconTemplate;decrementIconTemplate;incrementIconTemplate;inputIconTemplate;_disabledDates;_disabledDays;selectElement;todayElement;focusElement;scrollHandler;documentResizeListener;navigationState=null;isMonthNavigate;initialized;translationSubscription;_locale;_responsiveOptions;currentView;attributeSelector;panelId;_numberOfMonths=1;_firstDayOfWeek;_view="date";preventFocus;_defaultDate;window;get locale(){return this._locale}get iconButtonAriaLabel(){return this.iconAriaLabel?this.iconAriaLabel:this.getTranslation("chooseDate")}get prevIconAriaLabel(){return this.getTranslation("year"===this.currentView?"prevDecade":"month"===this.currentView?"prevYear":"prevMonth")}get nextIconAriaLabel(){return this.getTranslation("year"===this.currentView?"nextDecade":"month"===this.currentView?"nextYear":"nextMonth")}constructor(u,ie,de,Ae,nt,kt,zt){this.document=u,this.el=ie,this.renderer=de,this.cd=Ae,this.zone=nt,this.config=kt,this.overlayService=zt,this.window=this.document.defaultView}ngOnInit(){this.attributeSelector=(0,le._Y)(),this.panelId=this.attributeSelector+"_panel";const u=this.defaultDate||new Date;this.createResponsiveStyle(),this.currentMonth=u.getMonth(),this.currentYear=u.getFullYear(),this.yearOptions=[],this.currentView=this.view,"date"===this.view&&(this.createWeekDays(),this.initTime(u),this.createMonths(this.currentMonth,this.currentYear),this.ticksTo1970=24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7),this.translationSubscription=this.config.translationObserver.subscribe(()=>{this.createWeekDays(),this.cd.markForCheck()}),this.initialized=!0}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"date":default:this.dateTemplate=u.template;break;case"decade":this.decadeTemplate=u.template;break;case"disabledDate":this.disabledDateTemplate=u.template;break;case"header":this.headerTemplate=u.template;break;case"inputicon":this.inputIconTemplate=u.template;break;case"previousicon":this.previousIconTemplate=u.template;break;case"nexticon":this.nextIconTemplate=u.template;break;case"triggericon":this.triggerIconTemplate=u.template;break;case"clearicon":this.clearIconTemplate=u.template;break;case"decrementicon":this.decrementIconTemplate=u.template;break;case"incrementicon":this.incrementIconTemplate=u.template;break;case"footer":this.footerTemplate=u.template}})}ngAfterViewInit(){this.inline&&(this.contentViewChild&&this.contentViewChild.nativeElement.setAttribute(this.attributeSelector,""),!this.disabled&&!this.inline&&(this.initFocusableCell(),1===this.numberOfMonths&&this.contentViewChild&&this.contentViewChild.nativeElement&&(this.contentViewChild.nativeElement.style.width=re.D.getOuterWidth(this.containerViewChild?.nativeElement)+"px")))}getTranslation(u){return this.config.getTranslation(u)}populateYearOptions(u,ie){this.yearOptions=[];for(let de=u;de<=ie;de++)this.yearOptions.push(de)}createWeekDays(){this.weekDays=[];let u=this.getFirstDateOfWeek(),ie=this.getTranslation(Le.Yj.DAY_NAMES_MIN);for(let de=0;de<7;de++)this.weekDays.push(ie[u]),u=6==u?0:++u}monthPickerValues(){let u=[];for(let ie=0;ie<=11;ie++)u.push(this.config.getTranslation("monthNamesShort")[ie]);return u}yearPickerValues(){let u=[],ie=this.currentYear-this.currentYear%10;for(let de=0;de<10;de++)u.push(ie+de);return u}createMonths(u,ie){this.months=this.months=[];for(let de=0;de11&&(Ae=Ae%11-1,nt=ie+1),this.months.push(this.createMonth(Ae,nt))}}getWeekNumber(u){let ie=new Date(u.getTime());ie.setDate(ie.getDate()+4-(ie.getDay()||7));let de=ie.getTime();return ie.setMonth(0),ie.setDate(1),Math.floor(Math.round((de-ie.getTime())/864e5)/7)+1}createMonth(u,ie){let de=[],Ae=this.getFirstDayOfMonthIndex(u,ie),nt=this.getDaysCountInMonth(u,ie),kt=this.getDaysCountInPrevMonth(u,ie),zt=1,ai=new Date,oi=[],Li=Math.ceil((nt+Ae)/7);for(let Yi=0;Yint){let _n=this.getNextMonthAndYear(u,ie);Xi.push({day:zt-nt,month:_n.month,year:_n.year,otherMonth:!0,today:this.isToday(ai,zt-nt,_n.month,_n.year),selectable:this.isSelectable(zt-nt,_n.month,_n.year,!0)})}else Xi.push({day:zt,month:u,year:ie,today:this.isToday(ai,zt,u,ie),selectable:this.isSelectable(zt,u,ie,!1)});zt++}this.showWeek&&oi.push(this.getWeekNumber(new Date(Xi[0].year,Xi[0].month,Xi[0].day))),de.push(Xi)}return{month:u,year:ie,dates:de,weekNumbers:oi}}initTime(u){this.pm=u.getHours()>11,this.showTime?(this.currentMinute=u.getMinutes(),this.currentSecond=u.getSeconds(),this.setCurrentHourPM(u.getHours())):this.timeOnly&&(this.currentMinute=0,this.currentHour=0,this.currentSecond=0)}navBackward(u){this.disabled?u.preventDefault():(this.isMonthNavigate=!0,"month"===this.currentView?(this.decrementYear(),setTimeout(()=>{this.updateFocus()},1)):"year"===this.currentView?(this.decrementDecade(),setTimeout(()=>{this.updateFocus()},1)):(0===this.currentMonth?(this.currentMonth=11,this.decrementYear()):this.currentMonth--,this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear)))}navForward(u){this.disabled?u.preventDefault():(this.isMonthNavigate=!0,"month"===this.currentView?(this.incrementYear(),setTimeout(()=>{this.updateFocus()},1)):"year"===this.currentView?(this.incrementDecade(),setTimeout(()=>{this.updateFocus()},1)):(11===this.currentMonth?(this.currentMonth=0,this.incrementYear()):this.currentMonth++,this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear)))}decrementYear(){this.currentYear--;let u=this.yearOptions;if(this.yearNavigator&&this.currentYearu[u.length-1]){let ie=u[u.length-1]-u[0];this.populateYearOptions(u[0]+ie,u[u.length-1]+ie)}}switchToMonthView(u){this.setCurrentView("month"),u.preventDefault()}switchToYearView(u){this.setCurrentView("year"),u.preventDefault()}onDateSelect(u,ie){!this.disabled&&ie.selectable?(this.isMultipleSelection()&&this.isSelected(ie)?(this.value=this.value.filter((de,Ae)=>!this.isDateEquals(de,ie)),0===this.value.length&&(this.value=null),this.updateModel(this.value)):this.shouldSelectDate(ie)&&this.selectDate(ie),(this.isSingleSelection()&&this.hideOnDateTimeSelect||this.isRangeSelection()&&this.value[1])&&setTimeout(()=>{u.preventDefault(),this.hideOverlay(),this.mask&&this.disableModality(),this.cd.markForCheck()},150),this.updateInputfield(),u.preventDefault()):u.preventDefault()}shouldSelectDate(u){return!this.isMultipleSelection()||null==this.maxDateCount||this.maxDateCount>(this.value?this.value.length:0)}onMonthSelect(u,ie){"month"===this.view?this.onDateSelect(u,{year:this.currentYear,month:ie,day:1,selectable:!0}):(this.currentMonth=ie,this.createMonths(this.currentMonth,this.currentYear),this.setCurrentView("date"),this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}))}onYearSelect(u,ie){"year"===this.view?this.onDateSelect(u,{year:ie,month:0,day:1,selectable:!0}):(this.currentYear=ie,this.setCurrentView("month"),this.onYearChange.emit({month:this.currentMonth+1,year:this.currentYear}))}updateInputfield(){let u="";if(this.value)if(this.isSingleSelection())u=this.formatDateTime(this.value);else if(this.isMultipleSelection())for(let ie=0;ie11,this.currentHour=u>=12?12==u?12:u-12:0==u?12:u):this.currentHour=u}setCurrentView(u){this.currentView=u,this.cd.detectChanges(),this.alignOverlay()}selectDate(u){let ie=new Date(u.year,u.month,u.day);if(this.showTime&&(ie.setHours("12"==this.hourFormat?12===this.currentHour?this.pm?12:0:this.pm?this.currentHour+12:this.currentHour:this.currentHour),ie.setMinutes(this.currentMinute),ie.setSeconds(this.currentSecond)),this.minDate&&this.minDate>ie&&(ie=this.minDate,this.setCurrentHourPM(ie.getHours()),this.currentMinute=ie.getMinutes(),this.currentSecond=ie.getSeconds()),this.maxDate&&this.maxDate=de.getTime()?Ae=ie:(de=ie,Ae=null),this.updateModel([de,Ae])}else this.updateModel([ie,null]);this.onSelect.emit(ie)}updateModel(u){if(this.value=u,"date"==this.dataType)this.onModelChange(this.value);else if("string"==this.dataType)if(this.isSingleSelection())this.onModelChange(this.formatDateTime(this.value));else{let ie=null;Array.isArray(this.value)&&(ie=this.value.map(de=>this.formatDateTime(de))),this.onModelChange(ie)}}getFirstDayOfMonthIndex(u,ie){let de=new Date;de.setDate(1),de.setMonth(u),de.setFullYear(ie);let Ae=de.getDay()+this.getSundayIndex();return Ae>=7?Ae-7:Ae}getDaysCountInMonth(u,ie){return 32-this.daylightSavingAdjust(new Date(ie,u,32)).getDate()}getDaysCountInPrevMonth(u,ie){let de=this.getPreviousMonthAndYear(u,ie);return this.getDaysCountInMonth(de.month,de.year)}getPreviousMonthAndYear(u,ie){let de,Ae;return 0===u?(de=11,Ae=ie-1):(de=u-1,Ae=ie),{month:de,year:Ae}}getNextMonthAndYear(u,ie){let de,Ae;return 11===u?(de=0,Ae=ie+1):(de=u+1,Ae=ie),{month:de,year:Ae}}getSundayIndex(){let u=this.getFirstDateOfWeek();return u>0?7-u:0}isSelected(u){if(!this.value)return!1;if(this.isSingleSelection())return this.isDateEquals(this.value,u);if(this.isMultipleSelection()){let ie=!1;for(let de of this.value)if(ie=this.isDateEquals(de,u),ie)break;return ie}return this.isRangeSelection()?this.value[1]?this.isDateEquals(this.value[0],u)||this.isDateEquals(this.value[1],u)||this.isDateBetween(this.value[0],this.value[1],u):this.isDateEquals(this.value[0],u):void 0}isComparable(){return null!=this.value&&"string"!=typeof this.value}isMonthSelected(u){if(this.isComparable()&&!this.isMultipleSelection()){const[ie,de]=this.isRangeSelection()?this.value:[this.value,this.value],Ae=new Date(this.currentYear,u,1);return Ae>=ie&&Ae<=(de??ie)}return!1}isMonthDisabled(u){for(let ie=1;ie=nt.getTime()}return!1}isSingleSelection(){return"single"===this.selectionMode}isRangeSelection(){return"range"===this.selectionMode}isMultipleSelection(){return"multiple"===this.selectionMode}isToday(u,ie,de,Ae){return u.getDate()===ie&&u.getMonth()===de&&u.getFullYear()===Ae}isSelectable(u,ie,de,Ae){let nt=!0,kt=!0,zt=!0,ai=!0;return!(Ae&&!this.selectOtherMonths)&&(this.minDate&&(this.minDate.getFullYear()>de||this.minDate.getFullYear()===de&&"year"!=this.currentView&&(this.minDate.getMonth()>ie||this.minDate.getMonth()===ie&&this.minDate.getDate()>u))&&(nt=!1),this.maxDate&&(this.maxDate.getFullYear()1||this.disabled}onPrevButtonClick(u){this.navigationState={backward:!0,button:!0},this.navBackward(u)}onNextButtonClick(u){this.navigationState={backward:!1,button:!0},this.navForward(u)}onContainerButtonKeydown(u){switch(u.which){case 9:if(this.inline||this.trapFocus(u),this.inline){const ie=re.D.findSingle(this.containerViewChild?.nativeElement,".p-datepicker-header");u.target==ie.children[ie.children.length-1]&&this.initFocusableCell()}break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault()}}onInputKeydown(u){this.isKeydown=!0,40===u.keyCode&&this.contentViewChild?this.trapFocus(u):27===u.keyCode?this.overlayVisible&&(this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault()):13===u.keyCode?this.overlayVisible&&(this.overlayVisible=!1,u.preventDefault()):9===u.keyCode&&this.contentViewChild&&(re.D.getFocusableElements(this.contentViewChild.nativeElement).forEach(ie=>ie.tabIndex="-1"),this.overlayVisible&&(this.overlayVisible=!1))}onDateCellKeydown(u,ie,de){const Ae=u.currentTarget,nt=Ae.parentElement;switch(u.which){case 40:{Ae.tabIndex="-1";let kt=re.D.index(nt),zt=nt.parentElement.nextElementSibling;zt?re.D.hasClass(zt.children[kt].children[0],"p-disabled")?(this.navigationState={backward:!1},this.navForward(u)):(zt.children[kt].children[0].tabIndex="0",zt.children[kt].children[0].focus()):(this.navigationState={backward:!1},this.navForward(u)),u.preventDefault();break}case 38:{Ae.tabIndex="-1";let kt=re.D.index(nt),zt=nt.parentElement.previousElementSibling;if(zt){let ai=zt.children[kt].children[0];re.D.hasClass(ai,"p-disabled")?(this.navigationState={backward:!0},this.navBackward(u)):(ai.tabIndex="0",ai.focus())}else this.navigationState={backward:!0},this.navBackward(u);u.preventDefault();break}case 37:{Ae.tabIndex="-1";let kt=nt.previousElementSibling;if(kt){let zt=kt.children[0];re.D.hasClass(zt,"p-disabled")||re.D.hasClass(zt.parentElement,"p-datepicker-weeknumber")?this.navigateToMonth(!0,de):(zt.tabIndex="0",zt.focus())}else this.navigateToMonth(!0,de);u.preventDefault();break}case 39:{Ae.tabIndex="-1";let kt=nt.nextElementSibling;if(kt){let zt=kt.children[0];re.D.hasClass(zt,"p-disabled")?this.navigateToMonth(!1,de):(zt.tabIndex="0",zt.focus())}else this.navigateToMonth(!1,de);u.preventDefault();break}case 13:case 32:this.onDateSelect(u,ie),u.preventDefault();break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault();break;case 9:this.inline||this.trapFocus(u)}}onMonthCellKeydown(u,ie){const de=u.currentTarget;switch(u.which){case 38:case 40:{de.tabIndex="-1";var Ae=de.parentElement.children,nt=re.D.index(de);let kt=Ae[40===u.which?nt+3:nt-3];kt&&(kt.tabIndex="0",kt.focus()),u.preventDefault();break}case 37:{de.tabIndex="-1";let kt=de.previousElementSibling;kt?(kt.tabIndex="0",kt.focus()):(this.navigationState={backward:!0},this.navBackward(u)),u.preventDefault();break}case 39:{de.tabIndex="-1";let kt=de.nextElementSibling;kt?(kt.tabIndex="0",kt.focus()):(this.navigationState={backward:!1},this.navForward(u)),u.preventDefault();break}case 13:case 32:this.onMonthSelect(u,ie),u.preventDefault();break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault();break;case 9:this.inline||this.trapFocus(u)}}onYearCellKeydown(u,ie){const de=u.currentTarget;switch(u.which){case 38:case 40:{de.tabIndex="-1";var Ae=de.parentElement.children,nt=re.D.index(de);let kt=Ae[40===u.which?nt+2:nt-2];kt&&(kt.tabIndex="0",kt.focus()),u.preventDefault();break}case 37:{de.tabIndex="-1";let kt=de.previousElementSibling;kt?(kt.tabIndex="0",kt.focus()):(this.navigationState={backward:!0},this.navBackward(u)),u.preventDefault();break}case 39:{de.tabIndex="-1";let kt=de.nextElementSibling;kt?(kt.tabIndex="0",kt.focus()):(this.navigationState={backward:!1},this.navForward(u)),u.preventDefault();break}case 13:case 32:this.onYearSelect(u,ie),u.preventDefault();break;case 27:this.inputfieldViewChild?.nativeElement.focus(),this.overlayVisible=!1,u.preventDefault();break;case 9:this.trapFocus(u)}}navigateToMonth(u,ie){if(u)if(1===this.numberOfMonths||0===ie)this.navigationState={backward:!0},this.navBackward(event);else{let Ae=re.D.find(this.contentViewChild.nativeElement.children[ie-1],".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)"),nt=Ae[Ae.length-1];nt.tabIndex="0",nt.focus()}else if(1===this.numberOfMonths||ie===this.numberOfMonths-1)this.navigationState={backward:!1},this.navForward(event);else{let Ae=re.D.findSingle(this.contentViewChild.nativeElement.children[ie+1],".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)");Ae.tabIndex="0",Ae.focus()}}updateFocus(){let u;if(this.navigationState){if(this.navigationState.button)this.initFocusableCell(),this.navigationState.backward?re.D.findSingle(this.contentViewChild.nativeElement,".p-datepicker-prev").focus():re.D.findSingle(this.contentViewChild.nativeElement,".p-datepicker-next").focus();else{if(this.navigationState.backward){let ie;ie=re.D.find(this.contentViewChild.nativeElement,"month"===this.currentView?".p-monthpicker .p-monthpicker-month:not(.p-disabled)":"year"===this.currentView?".p-yearpicker .p-yearpicker-year:not(.p-disabled)":".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)"),ie&&ie.length>0&&(u=ie[ie.length-1])}else u=re.D.findSingle(this.contentViewChild.nativeElement,"month"===this.currentView?".p-monthpicker .p-monthpicker-month:not(.p-disabled)":"year"===this.currentView?".p-yearpicker .p-yearpicker-year:not(.p-disabled)":".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)");u&&(u.tabIndex="0",u.focus())}this.navigationState=null}else this.initFocusableCell()}initFocusableCell(){const u=this.contentViewChild?.nativeElement;let ie;if("month"===this.currentView){let de=re.D.find(u,".p-monthpicker .p-monthpicker-month:not(.p-disabled)"),Ae=re.D.findSingle(u,".p-monthpicker .p-monthpicker-month.p-highlight");de.forEach(nt=>nt.tabIndex=-1),ie=Ae||de[0],0===de.length&&re.D.find(u,'.p-monthpicker .p-monthpicker-month.p-disabled[tabindex = "0"]').forEach(kt=>kt.tabIndex=-1)}else if("year"===this.currentView){let de=re.D.find(u,".p-yearpicker .p-yearpicker-year:not(.p-disabled)"),Ae=re.D.findSingle(u,".p-yearpicker .p-yearpicker-year.p-highlight");de.forEach(nt=>nt.tabIndex=-1),ie=Ae||de[0],0===de.length&&re.D.find(u,'.p-yearpicker .p-yearpicker-year.p-disabled[tabindex = "0"]').forEach(kt=>kt.tabIndex=-1)}else if(ie=re.D.findSingle(u,"span.p-highlight"),!ie){let de=re.D.findSingle(u,"td.p-datepicker-today span:not(.p-disabled):not(.p-ink)");ie=de||re.D.findSingle(u,".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)")}ie&&(ie.tabIndex="0",!this.preventFocus&&(!this.navigationState||!this.navigationState.button)&&setTimeout(()=>{this.disabled||ie.focus()},1),this.preventFocus=!1)}trapFocus(u){let ie=re.D.getFocusableElements(this.contentViewChild.nativeElement);if(ie&&ie.length>0)if(ie[0].ownerDocument.activeElement){let de=ie.indexOf(ie[0].ownerDocument.activeElement);if(u.shiftKey)if(-1==de||0===de)if(this.focusTrap)ie[ie.length-1].focus();else{if(-1===de)return this.hideOverlay();if(0===de)return}else ie[de-1].focus();else if(-1==de)if(this.timeOnly)ie[0].focus();else{let Ae=0;for(let nt=0;ntkt||this.minDate.getHours()===kt&&(this.minDate.getMinutes()>ie||this.minDate.getMinutes()===ie&&this.minDate.getSeconds()>de))||this.maxDate&&Li&&this.maxDate.toDateString()===Li&&(this.maxDate.getHours()=24?de-24:de:"12"==this.hourFormat&&(this.currentHour<12&&de>11&&(Ae=!this.pm),de=de>=13?de-12:de),this.validateTime(de,this.currentMinute,this.currentSecond,Ae)&&(this.currentHour=de,this.pm=Ae),u.preventDefault()}onTimePickerElementMouseDown(u,ie,de){this.disabled||(this.repeat(u,null,ie,de),u.preventDefault())}onTimePickerElementMouseUp(u){this.disabled||(this.clearTimePickerTimer(),this.updateTime())}onTimePickerElementMouseLeave(){!this.disabled&&this.timePickerTimer&&(this.clearTimePickerTimer(),this.updateTime())}repeat(u,ie,de,Ae){let nt=ie||500;switch(this.clearTimePickerTimer(),this.timePickerTimer=setTimeout(()=>{this.repeat(u,100,de,Ae),this.cd.markForCheck()},nt),de){case 0:1===Ae?this.incrementHour(u):this.decrementHour(u);break;case 1:1===Ae?this.incrementMinute(u):this.decrementMinute(u);break;case 2:1===Ae?this.incrementSecond(u):this.decrementSecond(u)}this.updateInputfield()}clearTimePickerTimer(){this.timePickerTimer&&(clearTimeout(this.timePickerTimer),this.timePickerTimer=null)}decrementHour(u){let ie=this.currentHour-this.stepHour,de=this.pm;"24"==this.hourFormat?ie=ie<0?24+ie:ie:"12"==this.hourFormat&&(12===this.currentHour&&(de=!this.pm),ie=ie<=0?12+ie:ie),this.validateTime(ie,this.currentMinute,this.currentSecond,de)&&(this.currentHour=ie,this.pm=de),u.preventDefault()}incrementMinute(u){let ie=this.currentMinute+this.stepMinute;ie=ie>59?ie-60:ie,this.validateTime(this.currentHour,ie,this.currentSecond,this.pm)&&(this.currentMinute=ie),u.preventDefault()}decrementMinute(u){let ie=this.currentMinute-this.stepMinute;ie=ie<0?60+ie:ie,this.validateTime(this.currentHour,ie,this.currentSecond,this.pm)&&(this.currentMinute=ie),u.preventDefault()}incrementSecond(u){let ie=this.currentSecond+this.stepSecond;ie=ie>59?ie-60:ie,this.validateTime(this.currentHour,this.currentMinute,ie,this.pm)&&(this.currentSecond=ie),u.preventDefault()}decrementSecond(u){let ie=this.currentSecond-this.stepSecond;ie=ie<0?60+ie:ie,this.validateTime(this.currentHour,this.currentMinute,ie,this.pm)&&(this.currentSecond=ie),u.preventDefault()}updateTime(){let u=this.value;this.isRangeSelection()&&(u=this.value[1]||this.value[0]),this.isMultipleSelection()&&(u=this.value[this.value.length-1]),u=u?new Date(u.getTime()):new Date,u.setHours("12"==this.hourFormat?12===this.currentHour?this.pm?12:0:this.pm?this.currentHour+12:this.currentHour:this.currentHour),u.setMinutes(this.currentMinute),u.setSeconds(this.currentSecond),this.isRangeSelection()&&(u=this.value[1]?[this.value[0],u]:[u,null]),this.isMultipleSelection()&&(u=[...this.value.slice(0,-1),u]),this.updateModel(u),this.onSelect.emit(u),this.updateInputfield()}toggleAMPM(u){const ie=!this.pm;this.validateTime(this.currentHour,this.currentMinute,this.currentSecond,ie)&&(this.pm=ie,this.updateTime()),u.preventDefault()}onUserInput(u){if(!this.isKeydown)return;this.isKeydown=!1;let ie=u.target.value;try{let de=this.parseValueFromString(ie);this.isValidSelection(de)?(this.updateModel(de),this.updateUI()):this.keepInvalid&&this.updateModel(de)}catch{this.updateModel(this.keepInvalid?ie:null)}this.filled=null!=ie&&ie.length,this.onInput.emit(u)}isValidSelection(u){let ie=!0;return this.isSingleSelection()?this.isSelectable(u.getDate(),u.getMonth(),u.getFullYear(),!1)||(ie=!1):u.every(de=>this.isSelectable(de.getDate(),de.getMonth(),de.getFullYear(),!1))&&this.isRangeSelection()&&(ie=u.length>1&&u[1]>u[0]),ie}parseValueFromString(u){if(!u||0===u.trim().length)return null;let ie;if(this.isSingleSelection())ie=this.parseDateTime(u);else if(this.isMultipleSelection()){let de=u.split(this.multipleSeparator);ie=[];for(let Ae of de)ie.push(this.parseDateTime(Ae.trim()))}else if(this.isRangeSelection()){let de=u.split(" "+this.rangeSeparator+" ");ie=[];for(let Ae=0;Ae{this.disableModality(),this.overlayVisible=!1}),this.renderer.appendChild(this.document.body,this.mask),re.D.blockBodyScroll())}disableModality(){this.mask&&(re.D.addClass(this.mask,"p-component-overlay-leave"),this.animationEndListener||(this.animationEndListener=this.renderer.listen(this.mask,"animationend",this.destroyMask.bind(this))))}destroyMask(){if(!this.mask)return;this.renderer.removeChild(this.document.body,this.mask);let ie,u=this.document.body.children;for(let de=0;de{const Li=de+1{let Xi=""+Li;if(Ae(oi))for(;Xi.lengthAe(oi)?Xi[Li]:Yi[Li];let zt="",ai=!1;if(u)for(de=0;de11&&12!=de&&(de-=12),ie+="12"==this.hourFormat&&0===de?12:de<10?"0"+de:de,ie+=":",ie+=Ae<10?"0"+Ae:Ae,this.showSeconds&&(ie+=":",ie+=nt<10?"0"+nt:nt),"12"==this.hourFormat&&(ie+=u.getHours()>11?" PM":" AM"),ie}parseTime(u){let ie=u.split(":");if(ie.length!==(this.showSeconds?3:2))throw"Invalid time";let Ae=parseInt(ie[0]),nt=parseInt(ie[1]),kt=this.showSeconds?parseInt(ie[2]):null;if(isNaN(Ae)||isNaN(nt)||Ae>23||nt>59||"12"==this.hourFormat&&Ae>12||this.showSeconds&&(isNaN(kt)||kt>59))throw"Invalid time";return"12"==this.hourFormat&&(12!==Ae&&this.pm?Ae+=12:!this.pm&&12===Ae&&(Ae-=12)),{hour:Ae,minute:nt,second:kt}}parseDate(u,ie){if(null==ie||null==u)throw"Invalid arguments";if(""===(u="object"==typeof u?u.toString():u+""))return null;let de,Ae,nt,Ji,kt=0,zt="string"!=typeof this.shortYearCutoff?this.shortYearCutoff:(new Date).getFullYear()%100+parseInt(this.shortYearCutoff,10),ai=-1,oi=-1,Li=-1,Yi=-1,Xi=!1,_n=Zs=>{let dr=de+1{let dr=_n(Zs),ho="@"===Zs?14:"!"===Zs?20:"y"===Zs&&dr?4:"o"===Zs?3:2,Mc=new RegExp("^\\d{"+("y"===Zs?ho:1)+","+ho+"}"),la=u.substring(kt).match(Mc);if(!la)throw"Missing number at position "+kt;return kt+=la[0].length,parseInt(la[0],10)},Jn=(Zs,dr,ho)=>{let sr=-1,Mc=_n(Zs)?ho:dr,la=[];for(let Ns=0;Ns-(Ns[1].length-Ea[1].length));for(let Ns=0;Ns{if(u.charAt(kt)!==ie.charAt(de))throw"Unexpected literal at position "+kt;kt++};for("month"===this.view&&(Li=1),de=0;de-1)for(oi=1,Li=Yi;Ae=this.getDaysCountInMonth(ai,oi-1),!(Li<=Ae);)oi++,Li-=Ae;if("year"===this.view&&(oi=-1===oi?1:oi,Li=-1===Li?1:Li),Ji=this.daylightSavingAdjust(new Date(ai,oi-1,Li)),Ji.getFullYear()!==ai||Ji.getMonth()+1!==oi||Ji.getDate()!==Li)throw"Invalid date";return Ji}daylightSavingAdjust(u){return u?(u.setHours(u.getHours()>12?u.getHours()+2:0),u):null}updateFilledState(){this.filled=this.inputFieldValue&&""!=this.inputFieldValue}onTodayButtonClick(u){const ie=new Date,de={day:ie.getDate(),month:ie.getMonth(),year:ie.getFullYear(),otherMonth:ie.getMonth()!==this.currentMonth||ie.getFullYear()!==this.currentYear,today:!0,selectable:!0};this.createMonths(ie.getMonth(),ie.getFullYear()),this.onDateSelect(u,de),this.onTodayClick.emit(u)}onClearButtonClick(u){this.updateModel(null),this.updateInputfield(),this.hideOverlay(),this.onClearClick.emit(u)}createResponsiveStyle(){if(this.numberOfMonths>1&&this.responsiveOptions){this.responsiveStyleElement||(this.responsiveStyleElement=this.renderer.createElement("style"),this.responsiveStyleElement.type="text/css",this.renderer.appendChild(this.document.body,this.responsiveStyleElement));let u="";if(this.responsiveOptions){let ie=[...this.responsiveOptions].filter(de=>!(!de.breakpoint||!de.numMonths)).sort((de,Ae)=>-1*de.breakpoint.localeCompare(Ae.breakpoint,void 0,{numeric:!0}));for(let de=0;de{this.documentClickListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:this.document,"mousedown",ie=>{this.isOutsideClicked(ie)&&this.overlayVisible&&this.zone.run(()=>{this.hideOverlay(),this.onClickOutside.emit(ie),this.cd.markForCheck()})})})}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)}bindDocumentResizeListener(){!this.documentResizeListener&&!this.touchUI&&(this.documentResizeListener=this.renderer.listen(this.window,"resize",this.onWindowResize.bind(this)))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new re.b(this.containerViewChild?.nativeElement,()=>{this.overlayVisible&&this.hideOverlay()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}isOutsideClicked(u){return!(this.el.nativeElement.isSameNode(u.target)||this.isNavIconClicked(u)||this.el.nativeElement.contains(u.target)||this.overlay&&this.overlay.contains(u.target))}isNavIconClicked(u){return re.D.hasClass(u.target,"p-datepicker-prev")||re.D.hasClass(u.target,"p-datepicker-prev-icon")||re.D.hasClass(u.target,"p-datepicker-next")||re.D.hasClass(u.target,"p-datepicker-next-icon")}onWindowResize(){this.overlayVisible&&!re.D.isTouchDevice()&&this.hideOverlay()}onOverlayHide(){this.currentView=this.view,this.mask&&this.destroyMask(),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.overlay=null}ngOnDestroy(){this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.translationSubscription&&this.translationSubscription.unsubscribe(),this.overlay&&this.autoZIndex&&le.Q$.clear(this.overlay),this.destroyResponsiveStyleElement(),this.clearTimePickerTimer(),this.restoreOverlayAppend(),this.onOverlayHide()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(e.gRc),e.rXU(e.SKi),e.rXU(Le.r1),e.rXU(Le.si))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-calendar"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(F,5),e.GBs(P,5),e.GBs(D,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.containerViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.inputfieldViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.content=Ae.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:6,hostBindings:function(ie,de){2&ie&&e.AVh("p-inputwrapper-filled",de.filled)("p-inputwrapper-focus",de.focus)("p-calendar-clearable",de.showClear&&!de.disabled)},inputs:{iconDisplay:"iconDisplay",style:"style",styleClass:"styleClass",inputStyle:"inputStyle",inputId:"inputId",name:"name",inputStyleClass:"inputStyleClass",placeholder:"placeholder",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",iconAriaLabel:"iconAriaLabel",disabled:"disabled",dateFormat:"dateFormat",multipleSeparator:"multipleSeparator",rangeSeparator:"rangeSeparator",inline:"inline",showOtherMonths:"showOtherMonths",selectOtherMonths:"selectOtherMonths",showIcon:"showIcon",icon:"icon",appendTo:"appendTo",readonlyInput:"readonlyInput",shortYearCutoff:"shortYearCutoff",monthNavigator:"monthNavigator",yearNavigator:"yearNavigator",hourFormat:"hourFormat",timeOnly:"timeOnly",stepHour:"stepHour",stepMinute:"stepMinute",stepSecond:"stepSecond",showSeconds:"showSeconds",required:"required",showOnFocus:"showOnFocus",showWeek:"showWeek",showClear:"showClear",dataType:"dataType",selectionMode:"selectionMode",maxDateCount:"maxDateCount",showButtonBar:"showButtonBar",todayButtonStyleClass:"todayButtonStyleClass",clearButtonStyleClass:"clearButtonStyleClass",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",panelStyleClass:"panelStyleClass",panelStyle:"panelStyle",keepInvalid:"keepInvalid",hideOnDateTimeSelect:"hideOnDateTimeSelect",touchUI:"touchUI",timeSeparator:"timeSeparator",focusTrap:"focusTrap",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",tabindex:"tabindex",minDate:"minDate",maxDate:"maxDate",disabledDates:"disabledDates",disabledDays:"disabledDays",yearRange:"yearRange",showTime:"showTime",responsiveOptions:"responsiveOptions",numberOfMonths:"numberOfMonths",firstDayOfWeek:"firstDayOfWeek",locale:"locale",view:"view",defaultDate:"defaultDate"},outputs:{onFocus:"onFocus",onBlur:"onBlur",onClose:"onClose",onSelect:"onSelect",onClear:"onClear",onInput:"onInput",onTodayClick:"onTodayClick",onClearClick:"onClearClick",onMonthChange:"onMonthChange",onYearChange:"onYearChange",onClickOutside:"onClickOutside",onShow:"onShow"},features:[e.Jv_([Di])],ngContentSelectors:I,decls:4,vars:12,consts:[["container",""],["inputfield",""],["contentWrapper",""],[3,"ngClass","ngStyle"],[3,"ngIf"],[3,"class","ngStyle","ngClass","click",4,"ngIf"],["type","text","role","combobox","aria-autocomplete","none","aria-haspopup","dialog","autocomplete","off",3,"focus","keydown","click","blur","input","value","readonly","ngStyle","placeholder","disabled","ngClass"],[4,"ngIf"],["type","button","aria-haspopup","dialog","pButton","","pRipple","","class","p-datepicker-trigger p-button-icon-only","tabindex","0",3,"disabled","click",4,"ngIf"],[3,"styleClass","click",4,"ngIf"],["class","p-calendar-clear-icon",3,"click",4,"ngIf"],[3,"click","styleClass"],[1,"p-calendar-clear-icon",3,"click"],[4,"ngTemplateOutlet"],["type","button","aria-haspopup","dialog","pButton","","pRipple","","tabindex","0",1,"p-datepicker-trigger","p-button-icon-only",3,"click","disabled"],[3,"ngClass",4,"ngIf"],[3,"ngClass"],[3,"ngClass","click",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"click","ngClass"],[3,"click","ngStyle","ngClass"],["class","p-timepicker",4,"ngIf"],["class","p-datepicker-buttonbar",4,"ngIf"],[1,"p-datepicker-group-container"],["class","p-datepicker-group",4,"ngFor","ngForOf"],["class","p-monthpicker",4,"ngIf"],["class","p-yearpicker",4,"ngIf"],[1,"p-datepicker-group"],[1,"p-datepicker-header"],["class","p-datepicker-prev p-link","type","button","pRipple","",3,"keydown","click",4,"ngIf"],[1,"p-datepicker-title"],["type","button","class","p-datepicker-month p-link",3,"disabled","click","keydown",4,"ngIf"],["type","button","class","p-datepicker-year p-link",3,"disabled","click","keydown",4,"ngIf"],["class","p-datepicker-decade",4,"ngIf"],["type","button","pRipple","",1,"p-datepicker-next","p-link",3,"keydown","click"],[3,"styleClass",4,"ngIf"],["class","p-datepicker-next-icon",4,"ngIf"],["class","p-datepicker-calendar-container",4,"ngIf"],["type","button","pRipple","",1,"p-datepicker-prev","p-link",3,"keydown","click"],["class","p-datepicker-prev-icon",4,"ngIf"],[3,"styleClass"],[1,"p-datepicker-prev-icon"],["type","button",1,"p-datepicker-month","p-link",3,"click","keydown","disabled"],["type","button",1,"p-datepicker-year","p-link",3,"click","keydown","disabled"],[1,"p-datepicker-decade"],[1,"p-datepicker-next-icon"],[1,"p-datepicker-calendar-container"],["role","grid",1,"p-datepicker-calendar"],["class","p-datepicker-weekheader p-disabled",4,"ngIf"],["scope","col",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"p-datepicker-weekheader","p-disabled"],["scope","col"],["class","p-datepicker-weeknumber",4,"ngIf"],[3,"ngClass",4,"ngFor","ngForOf"],[1,"p-datepicker-weeknumber"],[1,"p-disabled"],["draggable","false","pRipple","",3,"click","keydown","ngClass"],["class","p-hidden-accessible","aria-live","polite",4,"ngIf"],["aria-live","polite",1,"p-hidden-accessible"],[1,"p-monthpicker"],["class","p-monthpicker-month","pRipple","",3,"ngClass","click","keydown",4,"ngFor","ngForOf"],["pRipple","",1,"p-monthpicker-month",3,"click","keydown","ngClass"],[1,"p-yearpicker"],["class","p-yearpicker-year","pRipple","",3,"ngClass","click","keydown",4,"ngFor","ngForOf"],["pRipple","",1,"p-yearpicker-year",3,"click","keydown","ngClass"],[1,"p-timepicker"],[1,"p-hour-picker"],["type","button","pRipple","",1,"p-link",3,"keydown","keydown.enter","keydown.space","mousedown","mouseup","keyup.enter","keyup.space","mouseleave"],[1,"p-separator"],[1,"p-minute-picker"],["class","p-separator",4,"ngIf"],["class","p-second-picker",4,"ngIf"],["class","p-ampm-picker",4,"ngIf"],[1,"p-second-picker"],[1,"p-ampm-picker"],["type","button","pRipple","",1,"p-link",3,"keydown","click","keydown.enter"],[1,"p-datepicker-buttonbar"],["type","button","pButton","","pRipple","",3,"keydown","click","label","ngClass"]],template:function(ie,de){1&ie&&(e.NAR(A),e.j41(0,"span",3,0),e.DNE(2,H,5,21,"ng-template",4)(3,si,9,31,"div",5),e.k0s()),2&ie&&(e.HbH(de.styleClass),e.Y8G("ngClass",e.s1E(6,_,de.showIcon&&"input"===de.iconDisplay,de.showIcon&&"button"===de.iconDisplay,de.timeOnly,de.disabled,de.focus||de.overlayVisible))("ngStyle",de.style),e.R7$(2),e.Y8G("ngIf",!de.inline),e.R7$(),e.Y8G("ngIf",de.inline||de.overlayVisible))},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,q._f,ve.n,ue,J,te,X,E.A,j],styles:["@layer primeng{.p-calendar{position:relative;display:inline-flex;max-width:100%}.p-calendar .p-inputtext{flex:1 1 auto;width:1%}.p-calendar-w-btn .p-inputtext{border-top-right-radius:0;border-bottom-right-radius:0}.p-calendar-w-btn .p-datepicker-trigger{border-top-left-radius:0;border-bottom-left-radius:0}.p-fluid .p-calendar{display:flex}.p-fluid .p-calendar .p-inputtext{width:1%}.p-calendar .p-datepicker{min-width:100%}.p-datepicker{width:auto;position:absolute;top:0;left:0}.p-datepicker-inline{display:inline-block;position:static;overflow-x:auto}.p-datepicker-header{display:flex;align-items:center;justify-content:space-between}.p-datepicker-header .p-datepicker-title{margin:0 auto}.p-datepicker-prev,.p-datepicker-next{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group{flex:1 1 auto}.p-datepicker-multiple-month .p-datepicker-group-container{display:flex}.p-datepicker table{width:100%;border-collapse:collapse}.p-datepicker td>span{display:flex;justify-content:center;align-items:center;cursor:pointer;margin:0 auto;overflow:hidden;position:relative}.p-monthpicker-month{width:33.3%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-datepicker-buttonbar{display:flex;justify-content:space-between;align-items:center}.p-timepicker{display:flex;justify-content:center;align-items:center}.p-timepicker button{display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-timepicker>div{display:flex;align-items:center;flex-direction:column}.p-datepicker-touch-ui,.p-calendar .p-datepicker-touch-ui{position:fixed;top:50%;left:50%;min-width:80vw;transform:translate(-50%,-50%)}.p-yearpicker-year{width:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-calendar-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-datepicker-icon{pointer-events:none}.p-calendar-clearable{position:relative}}\n"],encapsulation:2,data:{animation:[(0,ne.hZ)("overlayAnimation",[(0,ne.wk)("visibleTouchUI",(0,ne.iF)({transform:"translate(-50%,-50%)",opacity:1})),(0,ne.kY)("void => visible",[(0,ne.iF)({opacity:0,transform:"scaleY(0.8)"}),(0,ne.i0)("{{showTransitionParams}}",(0,ne.iF)({opacity:1,transform:"*"}))]),(0,ne.kY)("visible => void",[(0,ne.i0)("{{hideTransitionParams}}",(0,ne.iF)({opacity:0}))]),(0,ne.kY)("void => visibleTouchUI",[(0,ne.iF)({opacity:0,transform:"translate3d(-50%, -40%, 0) scale(0.9)"}),(0,ne.i0)("{{showTransitionParams}}")]),(0,ne.kY)("visibleTouchUI => void",[(0,ne.i0)("{{hideTransitionParams}}",(0,ne.iF)({opacity:0,transform:"translate3d(-50%, -40%, 0) scale(0.9)"}))])])]},changeDetection:0})}return ye})(),Ki=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,q.tm,Le.Gg,ve.Z,ue,J,te,X,E.A,j,q.tm,Le.Gg]})}return ye})(),ls=(()=>{class ye{host;constructor(u){this.host=u}autofocus;focused=!1;ngAfterContentChecked(){this.focused||this.autofocus&&setTimeout(()=>{const u=re.D.getFocusableElements(this.host.nativeElement);0===u.length&&this.host.nativeElement.focus(),u.length>0&&u[0].focus(),this.focused=!0})}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.aKT))};static \u0275dir=e.FsC({type:ye,selectors:[["","pAutoFocus",""]],hostAttrs:[1,"p-element"],inputs:{autofocus:"autofocus"}})}return ye})(),Hn=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD]})}return ye})();const tn=["overlay"],gn=["content"],cs=["*"],sn=(ye,et,u,ie,de,Ae,nt,kt,zt,ai,oi,Li,Yi,Xi)=>({"p-overlay p-component":!0,"p-overlay-modal p-component-overlay p-component-overlay-enter":ye,"p-overlay-center":et,"p-overlay-top":u,"p-overlay-top-start":ie,"p-overlay-top-end":de,"p-overlay-bottom":Ae,"p-overlay-bottom-start":nt,"p-overlay-bottom-end":kt,"p-overlay-left":zt,"p-overlay-left-start":ai,"p-overlay-left-end":oi,"p-overlay-right":Li,"p-overlay-right-start":Yi,"p-overlay-right-end":Xi}),Bn=(ye,et,u)=>({showTransitionParams:ye,hideTransitionParams:et,transform:u}),Er=ye=>({value:"visible",params:ye}),bs=ye=>({mode:ye}),Un=ye=>({$implicit:ye});function pr(ye,et){1&ye&&e.eu8(0)}function Ui(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",3,1),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onOverlayContentClick(de))})("@overlayContentAnimation.start",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onOverlayContentAnimationStart(de))})("@overlayContentAnimation.done",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onOverlayContentAnimationDone(de))}),e.SdG(2),e.DNE(3,pr,1,0,"ng-container",4),e.k0s()}if(2&ye){const u=e.XpG(2);e.HbH(u.contentStyleClass),e.Y8G("ngStyle",u.contentStyle)("ngClass","p-overlay-content")("@overlayContentAnimation",e.eq3(11,Er,e.sMw(7,Bn,u.showTransitionOptions,u.hideTransitionOptions,u.transformOptions[u.modal?u.overlayResponsiveDirection:"default"]))),e.R7$(3),e.Y8G("ngTemplateOutlet",u.contentTemplate)("ngTemplateOutletContext",e.eq3(15,Un,e.eq3(13,bs,u.overlayMode)))}}function ln(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",3,0),e.bIt("click",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onOverlayClick())}),e.DNE(2,Ui,4,17,"div",2),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.styleClass),e.Y8G("ngStyle",u.style)("ngClass",e.zJS(5,sn,[u.modal,u.modal&&"center"===u.overlayResponsiveDirection,u.modal&&"top"===u.overlayResponsiveDirection,u.modal&&"top-start"===u.overlayResponsiveDirection,u.modal&&"top-end"===u.overlayResponsiveDirection,u.modal&&"bottom"===u.overlayResponsiveDirection,u.modal&&"bottom-start"===u.overlayResponsiveDirection,u.modal&&"bottom-end"===u.overlayResponsiveDirection,u.modal&&"left"===u.overlayResponsiveDirection,u.modal&&"left-start"===u.overlayResponsiveDirection,u.modal&&"left-end"===u.overlayResponsiveDirection,u.modal&&"right"===u.overlayResponsiveDirection,u.modal&&"right-start"===u.overlayResponsiveDirection,u.modal&&"right-end"===u.overlayResponsiveDirection])),e.R7$(2),e.Y8G("ngIf",u.visible)}}const Na={provide:V.kq,useExisting:(0,e.Rfq)(()=>Ba),multi:!0},lr=(0,ne.lY)([(0,ne.iF)({transform:"{{transform}}",opacity:0}),(0,ne.i0)("{{showTransitionParams}}")]),Fa=(0,ne.lY)([(0,ne.i0)("{{hideTransitionParams}}",(0,ne.iF)({transform:"{{transform}}",opacity:0}))]);let Ba=(()=>{class ye{document;platformId;el;renderer;config;overlayService;cd;zone;get visible(){return this._visible}set visible(u){this._visible=u,this._visible&&!this.modalVisible&&(this.modalVisible=!0)}get mode(){return this._mode||this.overlayOptions?.mode}set mode(u){this._mode=u}get style(){return le.BF.merge(this._style,this.modal?this.overlayResponsiveOptions?.style:this.overlayOptions?.style)}set style(u){this._style=u}get styleClass(){return le.BF.merge(this._styleClass,this.modal?this.overlayResponsiveOptions?.styleClass:this.overlayOptions?.styleClass)}set styleClass(u){this._styleClass=u}get contentStyle(){return le.BF.merge(this._contentStyle,this.modal?this.overlayResponsiveOptions?.contentStyle:this.overlayOptions?.contentStyle)}set contentStyle(u){this._contentStyle=u}get contentStyleClass(){return le.BF.merge(this._contentStyleClass,this.modal?this.overlayResponsiveOptions?.contentStyleClass:this.overlayOptions?.contentStyleClass)}set contentStyleClass(u){this._contentStyleClass=u}get target(){const u=this._target||this.overlayOptions?.target;return void 0===u?"@prev":u}set target(u){this._target=u}get appendTo(){return this._appendTo||this.overlayOptions?.appendTo}set appendTo(u){this._appendTo=u}get autoZIndex(){const u=this._autoZIndex||this.overlayOptions?.autoZIndex;return void 0===u||u}set autoZIndex(u){this._autoZIndex=u}get baseZIndex(){const u=this._baseZIndex||this.overlayOptions?.baseZIndex;return void 0===u?0:u}set baseZIndex(u){this._baseZIndex=u}get showTransitionOptions(){const u=this._showTransitionOptions||this.overlayOptions?.showTransitionOptions;return void 0===u?".12s cubic-bezier(0, 0, 0.2, 1)":u}set showTransitionOptions(u){this._showTransitionOptions=u}get hideTransitionOptions(){const u=this._hideTransitionOptions||this.overlayOptions?.hideTransitionOptions;return void 0===u?".1s linear":u}set hideTransitionOptions(u){this._hideTransitionOptions=u}get listener(){return this._listener||this.overlayOptions?.listener}set listener(u){this._listener=u}get responsive(){return this._responsive||this.overlayOptions?.responsive}set responsive(u){this._responsive=u}get options(){return this._options}set options(u){this._options=u}visibleChange=new e.bkB;onBeforeShow=new e.bkB;onShow=new e.bkB;onBeforeHide=new e.bkB;onHide=new e.bkB;onAnimationStart=new e.bkB;onAnimationDone=new e.bkB;templates;overlayViewChild;contentViewChild;contentTemplate;_visible=!1;_mode;_style;_styleClass;_contentStyle;_contentStyleClass;_target;_appendTo;_autoZIndex;_baseZIndex;_showTransitionOptions;_hideTransitionOptions;_listener;_responsive;_options;modalVisible=!1;isOverlayClicked=!1;isOverlayContentClicked=!1;scrollHandler;documentClickListener;documentResizeListener;documentKeyboardListener;window;transformOptions={default:"scaleY(0.8)",center:"scale(0.7)",top:"translate3d(0px, -100%, 0px)","top-start":"translate3d(0px, -100%, 0px)","top-end":"translate3d(0px, -100%, 0px)",bottom:"translate3d(0px, 100%, 0px)","bottom-start":"translate3d(0px, 100%, 0px)","bottom-end":"translate3d(0px, 100%, 0px)",left:"translate3d(-100%, 0px, 0px)","left-start":"translate3d(-100%, 0px, 0px)","left-end":"translate3d(-100%, 0px, 0px)",right:"translate3d(100%, 0px, 0px)","right-start":"translate3d(100%, 0px, 0px)","right-end":"translate3d(100%, 0px, 0px)"};get modal(){if((0,M.UE)(this.platformId))return"modal"===this.mode||this.overlayResponsiveOptions&&this.window?.matchMedia(this.overlayResponsiveOptions.media?.replace("@media","")||`(max-width: ${this.overlayResponsiveOptions.breakpoint})`).matches}get overlayMode(){return this.mode||(this.modal?"modal":"overlay")}get overlayOptions(){return{...this.config?.overlayOptions,...this.options}}get overlayResponsiveOptions(){return{...this.overlayOptions?.responsive,...this.responsive}}get overlayResponsiveDirection(){return this.overlayResponsiveOptions?.direction||"center"}get overlayEl(){return this.overlayViewChild?.nativeElement}get contentEl(){return this.contentViewChild?.nativeElement}get targetEl(){return re.D.getTargetElement(this.target,this.el?.nativeElement)}constructor(u,ie,de,Ae,nt,kt,zt,ai){this.document=u,this.platformId=ie,this.el=de,this.renderer=Ae,this.config=nt,this.overlayService=kt,this.cd=zt,this.zone=ai,this.window=this.document.defaultView}ngAfterContentInit(){this.templates?.forEach(u=>{u.getType(),this.contentTemplate=u.template})}show(u,ie=!1){this.onVisibleChange(!0),this.handleEvents("onShow",{overlay:u||this.overlayEl,target:this.targetEl,mode:this.overlayMode}),ie&&re.D.focus(this.targetEl),this.modal&&re.D.addClass(this.document?.body,"p-overflow-hidden")}hide(u,ie=!1){this.visible&&(this.onVisibleChange(!1),this.handleEvents("onHide",{overlay:u||this.overlayEl,target:this.targetEl,mode:this.overlayMode}),ie&&re.D.focus(this.targetEl),this.modal&&re.D.removeClass(this.document?.body,"p-overflow-hidden"))}alignOverlay(){!this.modal&&re.D.alignOverlay(this.overlayEl,this.targetEl,this.appendTo)}onVisibleChange(u){this._visible=u,this.visibleChange.emit(u)}onOverlayClick(){this.isOverlayClicked=!0}onOverlayContentClick(u){this.overlayService.add({originalEvent:u,target:this.targetEl}),this.isOverlayContentClicked=!0}onOverlayContentAnimationStart(u){switch(u.toState){case"visible":this.handleEvents("onBeforeShow",{overlay:this.overlayEl,target:this.targetEl,mode:this.overlayMode}),this.autoZIndex&&le.Q$.set(this.overlayMode,this.overlayEl,this.baseZIndex+this.config?.zIndex[this.overlayMode]),re.D.appendOverlay(this.overlayEl,"body"===this.appendTo?this.document.body:this.appendTo,this.appendTo),this.alignOverlay();break;case"void":this.handleEvents("onBeforeHide",{overlay:this.overlayEl,target:this.targetEl,mode:this.overlayMode}),this.modal&&re.D.addClass(this.overlayEl,"p-component-overlay-leave")}this.handleEvents("onAnimationStart",u)}onOverlayContentAnimationDone(u){const ie=this.overlayEl||u.element.parentElement;switch(u.toState){case"visible":this.show(ie,!0),this.bindListeners();break;case"void":this.hide(ie,!0),this.unbindListeners(),re.D.appendOverlay(this.overlayEl,this.targetEl,this.appendTo),le.Q$.clear(ie),this.modalVisible=!1,this.cd.markForCheck()}this.handleEvents("onAnimationDone",u)}handleEvents(u,ie){this[u].emit(ie),this.options&&this.options[u]&&this.options[u](ie),this.config?.overlayOptions&&(this.config?.overlayOptions)[u]&&(this.config?.overlayOptions)[u](ie)}bindListeners(){this.bindScrollListener(),this.bindDocumentClickListener(),this.bindDocumentResizeListener(),this.bindDocumentKeyboardListener()}unbindListeners(){this.unbindScrollListener(),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindDocumentKeyboardListener()}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new re.b(this.targetEl,u=>{(!this.listener||this.listener(u,{type:"scroll",mode:this.overlayMode,valid:!0}))&&this.hide(u,!0)})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=this.renderer.listen(this.document,"click",u=>{const de=!(this.targetEl&&(this.targetEl.isSameNode(u.target)||!this.isOverlayClicked&&this.targetEl.contains(u.target))||this.isOverlayContentClicked);(this.listener?this.listener(u,{type:"outside",mode:this.overlayMode,valid:3!==u.which&&de}):de)&&this.hide(u),this.isOverlayClicked=this.isOverlayContentClicked=!1}))}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)}bindDocumentResizeListener(){this.documentResizeListener||(this.documentResizeListener=this.renderer.listen(this.window,"resize",u=>{(this.listener?this.listener(u,{type:"resize",mode:this.overlayMode,valid:!re.D.isTouchDevice()}):!re.D.isTouchDevice())&&this.hide(u,!0)}))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindDocumentKeyboardListener(){this.documentKeyboardListener||this.zone.runOutsideAngular(()=>{this.documentKeyboardListener=this.renderer.listen(this.window,"keydown",u=>{!1!==this.overlayOptions.hideOnEscape&&"Escape"===u.code&&(this.listener?this.listener(u,{type:"keydown",mode:this.overlayMode,valid:!re.D.isTouchDevice()}):!re.D.isTouchDevice())&&this.zone.run(()=>{this.hide(u,!0)})})})}unbindDocumentKeyboardListener(){this.documentKeyboardListener&&(this.documentKeyboardListener(),this.documentKeyboardListener=null)}ngOnDestroy(){this.hide(this.overlayEl,!0),this.overlayEl&&(re.D.appendOverlay(this.overlayEl,this.targetEl,this.appendTo),le.Q$.clear(this.overlayEl)),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.unbindListeners()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.Agw),e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(Le.r1),e.rXU(Le.si),e.rXU(e.gRc),e.rXU(e.SKi))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-overlay"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(tn,5),e.GBs(gn,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.overlayViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.contentViewChild=Ae.first)}},hostAttrs:[1,"p-element"],inputs:{visible:"visible",mode:"mode",style:"style",styleClass:"styleClass",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",target:"target",appendTo:"appendTo",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",listener:"listener",responsive:"responsive",options:"options"},outputs:{visibleChange:"visibleChange",onBeforeShow:"onBeforeShow",onShow:"onShow",onBeforeHide:"onBeforeHide",onHide:"onHide",onAnimationStart:"onAnimationStart",onAnimationDone:"onAnimationDone"},features:[e.Jv_([Na])],ngContentSelectors:cs,decls:1,vars:1,consts:[["overlay",""],["content",""],[3,"ngStyle","class","ngClass","click",4,"ngIf"],[3,"click","ngStyle","ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ie,de){1&ie&&(e.NAR(),e.DNE(0,ln,3,20,"div",2)),2&ie&&e.Y8G("ngIf",de.modalVisible)},dependencies:[M.YU,M.bT,M.T3,M.B3],styles:["@layer primeng{.p-overlay{position:absolute;top:0;left:0}.p-overlay-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%}.p-overlay-content{transform-origin:inherit}.p-overlay-modal>.p-overlay-content{z-index:1;width:90%}.p-overlay-top{align-items:flex-start}.p-overlay-top-start{align-items:flex-start;justify-content:flex-start}.p-overlay-top-end{align-items:flex-start;justify-content:flex-end}.p-overlay-bottom{align-items:flex-end}.p-overlay-bottom-start{align-items:flex-end;justify-content:flex-start}.p-overlay-bottom-end{align-items:flex-end;justify-content:flex-end}.p-overlay-left{justify-content:flex-start}.p-overlay-left-start{justify-content:flex-start;align-items:flex-start}.p-overlay-left-end{justify-content:flex-start;align-items:flex-end}.p-overlay-right{justify-content:flex-end}.p-overlay-right-start{justify-content:flex-end;align-items:flex-start}.p-overlay-right-end{justify-content:flex-end;align-items:flex-end}}\n"],encapsulation:2,data:{animation:[(0,ne.hZ)("overlayContentAnimation",[(0,ne.kY)(":enter",[(0,ne.sM)(lr)]),(0,ne.kY)(":leave",[(0,ne.sM)(Fa)])])]},changeDetection:0})}return ye})(),ja=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Le.Gg,Le.Gg]})}return ye})();var go=We(38757);const wn=["element"],Va=["content"],za=["*"],$s=(ye,et,u)=>({"p-scroller":!0,"p-scroller-inline":ye,"p-both-scroll":et,"p-horizontal-scroll":u}),ha=(ye,et)=>({$implicit:ye,options:et}),Rl=ye=>({"p-scroller-loading":ye}),Nl=ye=>({"p-component-overlay":ye}),wr=ye=>({numCols:ye}),Jr=ye=>({options:ye}),Xo=()=>({styleClass:"p-scroller-loading-icon"}),Fl=(ye,et)=>({rows:ye,columns:et});function mo(ye,et){1&ye&&e.eu8(0)}function da(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,mo,1,0,"ng-container",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.contentTemplate)("ngTemplateOutletContext",e.l_i(2,ha,u.loadedItems,u.getContentOptions()))}}function Ga(ye,et){1&ye&&e.eu8(0)}function Tr(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Ga,1,0,"ng-container",10),e.bVm()),2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",de.itemTemplate)("ngTemplateOutletContext",e.l_i(2,ha,u,de.getOptions(ie)))}}function fr(ye,et){if(1&ye&&(e.j41(0,"div",11,3),e.DNE(2,Tr,2,5,"ng-container",12),e.k0s()),2&ye){const u=e.XpG(2);e.Y8G("ngClass",e.eq3(5,Rl,u.d_loading))("ngStyle",u.contentStyle),e.BMQ("data-pc-section","content"),e.R7$(2),e.Y8G("ngForOf",u.loadedItems)("ngForTrackBy",u._trackBy||u.index)}}function tr(ye,et){if(1&ye&&e.nrm(0,"div",13),2&ye){const u=e.XpG(2);e.Y8G("ngStyle",u.spacerStyle),e.BMQ("data-pc-section","spacer")}}function Ha(ye,et){1&ye&&e.eu8(0)}function Es(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Ha,1,0,"ng-container",10),e.bVm()),2&ye){const u=et.index,ie=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",ie.loaderTemplate)("ngTemplateOutletContext",e.eq3(4,Jr,ie.getLoaderOptions(u,ie.both&&e.eq3(2,wr,ie._numItemsInViewport.cols))))}}function ir(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Es,2,6,"ng-container",15),e.bVm()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngForOf",u.loaderArr)}}function $i(ye,et){1&ye&&e.eu8(0)}function Ar(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,$i,1,0,"ng-container",10),e.bVm()),2&ye){const u=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",u.loaderIconTemplate)("ngTemplateOutletContext",e.eq3(3,Jr,e.lJ4(2,Xo)))}}function So(ye,et){1&ye&&e.nrm(0,"SpinnerIcon",16),2&ye&&(e.Y8G("styleClass","p-scroller-loading-icon pi-spin"),e.BMQ("data-pc-section","loadingIcon"))}function Yo(ye,et){if(1&ye&&e.DNE(0,Ar,2,5,"ng-container",6)(1,So,1,2,"ng-template",null,5,e.C5r),2&ye){const u=e.sdS(2),ie=e.XpG(3);e.Y8G("ngIf",ie.loaderIconTemplate)("ngIfElse",u)}}function ko(ye,et){if(1&ye&&(e.j41(0,"div",14),e.DNE(1,ir,2,1,"ng-container",6)(2,Yo,3,2,"ng-template",null,4,e.C5r),e.k0s()),2&ye){const u=e.sdS(3),ie=e.XpG(2);e.Y8G("ngClass",e.eq3(4,Nl,!ie.loaderTemplate)),e.BMQ("data-pc-section","loader"),e.R7$(),e.Y8G("ngIf",ie.loaderTemplate)("ngIfElse",u)}}function ua(ye,et){if(1&ye){const u=e.RV6();e.qex(0),e.j41(1,"div",7,1),e.bIt("scroll",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onContainerScroll(de))}),e.DNE(3,da,2,5,"ng-container",6)(4,fr,3,7,"ng-template",null,2,e.C5r)(6,tr,1,2,"div",8)(7,ko,4,6,"div",9),e.k0s(),e.bVm()}if(2&ye){const u=e.sdS(5),ie=e.XpG();e.R7$(),e.HbH(ie._styleClass),e.Y8G("ngStyle",ie._style)("ngClass",e.sMw(12,$s,ie.inline,ie.both,ie.horizontal)),e.BMQ("id",ie._id)("tabindex",ie.tabindex)("data-pc-name","scroller")("data-pc-section","root"),e.R7$(2),e.Y8G("ngIf",ie.contentTemplate)("ngIfElse",u),e.R7$(3),e.Y8G("ngIf",ie._showSpacer),e.R7$(),e.Y8G("ngIf",!ie.loaderDisabled&&ie._showLoader&&ie.d_loading)}}function pa(ye,et){1&ye&&e.eu8(0)}function fa(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,pa,1,0,"ng-container",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.contentTemplate)("ngTemplateOutletContext",e.l_i(5,ha,u.items,e.l_i(2,Fl,u._items,u.loadedColumns)))}}function Qs(ye,et){if(1&ye&&(e.SdG(0),e.DNE(1,fa,2,8,"ng-container",17)),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.contentTemplate)}}let ga=(()=>{class ye{document;platformId;renderer;cd;zone;get id(){return this._id}set id(u){this._id=u}get style(){return this._style}set style(u){this._style=u}get styleClass(){return this._styleClass}set styleClass(u){this._styleClass=u}get tabindex(){return this._tabindex}set tabindex(u){this._tabindex=u}get items(){return this._items}set items(u){this._items=u}get itemSize(){return this._itemSize}set itemSize(u){this._itemSize=u}get scrollHeight(){return this._scrollHeight}set scrollHeight(u){this._scrollHeight=u}get scrollWidth(){return this._scrollWidth}set scrollWidth(u){this._scrollWidth=u}get orientation(){return this._orientation}set orientation(u){this._orientation=u}get step(){return this._step}set step(u){this._step=u}get delay(){return this._delay}set delay(u){this._delay=u}get resizeDelay(){return this._resizeDelay}set resizeDelay(u){this._resizeDelay=u}get appendOnly(){return this._appendOnly}set appendOnly(u){this._appendOnly=u}get inline(){return this._inline}set inline(u){this._inline=u}get lazy(){return this._lazy}set lazy(u){this._lazy=u}get disabled(){return this._disabled}set disabled(u){this._disabled=u}get loaderDisabled(){return this._loaderDisabled}set loaderDisabled(u){this._loaderDisabled=u}get columns(){return this._columns}set columns(u){this._columns=u}get showSpacer(){return this._showSpacer}set showSpacer(u){this._showSpacer=u}get showLoader(){return this._showLoader}set showLoader(u){this._showLoader=u}get numToleratedItems(){return this._numToleratedItems}set numToleratedItems(u){this._numToleratedItems=u}get loading(){return this._loading}set loading(u){this._loading=u}get autoSize(){return this._autoSize}set autoSize(u){this._autoSize=u}get trackBy(){return this._trackBy}set trackBy(u){this._trackBy=u}get options(){return this._options}set options(u){this._options=u,u&&"object"==typeof u&&Object.entries(u).forEach(([ie,de])=>this[`_${ie}`]!==de&&(this[`_${ie}`]=de))}onLazyLoad=new e.bkB;onScroll=new e.bkB;onScrollIndexChange=new e.bkB;elementViewChild;contentViewChild;templates;_id;_style;_styleClass;_tabindex=0;_items;_itemSize=0;_scrollHeight;_scrollWidth;_orientation="vertical";_step=0;_delay=0;_resizeDelay=10;_appendOnly=!1;_inline=!1;_lazy=!1;_disabled=!1;_loaderDisabled=!1;_columns;_showSpacer=!0;_showLoader=!1;_numToleratedItems;_loading;_autoSize=!1;_trackBy;_options;d_loading=!1;d_numToleratedItems;contentEl;contentTemplate;itemTemplate;loaderTemplate;loaderIconTemplate;first=0;last=0;page=0;isRangeChanged=!1;numItemsInViewport=0;lastScrollPos=0;lazyLoadState={};loaderArr=[];spacerStyle={};contentStyle={};scrollTimeout;resizeTimeout;initialized=!1;windowResizeListener;defaultWidth;defaultHeight;defaultContentWidth;defaultContentHeight;get vertical(){return"vertical"===this._orientation}get horizontal(){return"horizontal"===this._orientation}get both(){return"both"===this._orientation}get loadedItems(){return this._items&&!this.d_loading?this.both?this._items.slice(this._appendOnly?0:this.first.rows,this.last.rows).map(u=>this._columns?u:u.slice(this._appendOnly?0:this.first.cols,this.last.cols)):this.horizontal&&this._columns?this._items:this._items.slice(this._appendOnly?0:this.first,this.last):[]}get loadedRows(){return this.d_loading?this._loaderDisabled?this.loaderArr:[]:this.loadedItems}get loadedColumns(){return this._columns&&(this.both||this.horizontal)?this.d_loading&&this._loaderDisabled?this.both?this.loaderArr[0]:this.loaderArr:this._columns.slice(this.both?this.first.cols:this.first,this.both?this.last.cols:this.last):this._columns}constructor(u,ie,de,Ae,nt){this.document=u,this.platformId=ie,this.renderer=de,this.cd=Ae,this.zone=nt}ngOnInit(){this.setInitialState()}ngOnChanges(u){let ie=!1;if(u.loading){const{previousValue:de,currentValue:Ae}=u.loading;this.lazy&&de!==Ae&&Ae!==this.d_loading&&(this.d_loading=Ae,ie=!0)}if(u.orientation&&(this.lastScrollPos=this.both?{top:0,left:0}:0),u.numToleratedItems){const{previousValue:de,currentValue:Ae}=u.numToleratedItems;de!==Ae&&Ae!==this.d_numToleratedItems&&(this.d_numToleratedItems=Ae)}if(u.options){const{previousValue:de,currentValue:Ae}=u.options;this.lazy&&de?.loading!==Ae?.loading&&Ae?.loading!==this.d_loading&&(this.d_loading=Ae.loading,ie=!0),de?.numToleratedItems!==Ae?.numToleratedItems&&Ae?.numToleratedItems!==this.d_numToleratedItems&&(this.d_numToleratedItems=Ae.numToleratedItems)}this.initialized&&!ie&&(u.items?.previousValue?.length!==u.items?.currentValue?.length||u.itemSize||u.scrollHeight||u.scrollWidth)&&(this.init(),this.calculateAutoSize())}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"content":this.contentTemplate=u.template;break;case"item":default:this.itemTemplate=u.template;break;case"loader":this.loaderTemplate=u.template;break;case"loadericon":this.loaderIconTemplate=u.template}})}ngAfterViewInit(){Promise.resolve().then(()=>{this.viewInit()})}ngAfterViewChecked(){this.initialized||this.viewInit()}ngOnDestroy(){this.unbindResizeListener(),this.contentEl=null,this.initialized=!1}viewInit(){(0,M.UE)(this.platformId)&&re.D.isVisible(this.elementViewChild?.nativeElement)&&(this.setInitialState(),this.setContentEl(this.contentEl),this.init(),this.defaultWidth=re.D.getWidth(this.elementViewChild?.nativeElement),this.defaultHeight=re.D.getHeight(this.elementViewChild?.nativeElement),this.defaultContentWidth=re.D.getWidth(this.contentEl),this.defaultContentHeight=re.D.getHeight(this.contentEl),this.initialized=!0)}init(){this._disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize(),this.bindResizeListener(),this.cd.detectChanges())}setContentEl(u){this.contentEl=u||this.contentViewChild?.nativeElement||re.D.findSingle(this.elementViewChild?.nativeElement,".p-scroller-content")}setInitialState(){this.first=this.both?{rows:0,cols:0}:0,this.last=this.both?{rows:0,cols:0}:0,this.numItemsInViewport=this.both?{rows:0,cols:0}:0,this.lastScrollPos=this.both?{top:0,left:0}:0,this.d_loading=this._loading||!1,this.d_numToleratedItems=this._numToleratedItems,this.loaderArr=[],this.spacerStyle={},this.contentStyle={}}getElementRef(){return this.elementViewChild}getPageByFirst(u){return Math.floor(((u??this.first)+4*this.d_numToleratedItems)/(this._step||1))}isPageChanged(u){return!this._step||this.page!==this.getPageByFirst(u??this.first)}scrollTo(u){this.elementViewChild?.nativeElement?.scrollTo(u)}scrollToIndex(u,ie="auto"){if(this.both?u.every(Ae=>Ae>-1):u>-1){const Ae=this.first,{scrollTop:nt=0,scrollLeft:kt=0}=this.elementViewChild?.nativeElement,{numToleratedItems:zt}=this.calculateNumItems(),ai=this.getContentPosition(),oi=this.itemSize,Li=(Jn=0,Ms)=>Jn<=Ms?0:Jn,Yi=(Jn,Ms,Zs)=>Jn*Ms+Zs,Xi=(Jn=0,Ms=0)=>this.scrollTo({left:Jn,top:Ms,behavior:ie});let Ji=this.both?{rows:0,cols:0}:0,_n=!1,en=!1;this.both?(Ji={rows:Li(u[0],zt[0]),cols:Li(u[1],zt[1])},Xi(Yi(Ji.cols,oi[1],ai.left),Yi(Ji.rows,oi[0],ai.top)),en=this.lastScrollPos.top!==nt||this.lastScrollPos.left!==kt,_n=Ji.rows!==Ae.rows||Ji.cols!==Ae.cols):(Ji=Li(u,zt),this.horizontal?Xi(Yi(Ji,oi,ai.left),nt):Xi(kt,Yi(Ji,oi,ai.top)),en=this.lastScrollPos!==(this.horizontal?kt:nt),_n=Ji!==Ae),this.isRangeChanged=_n,en&&(this.first=Ji)}}scrollInView(u,ie,de="auto"){if(ie){const{first:Ae,viewport:nt}=this.getRenderedRange(),kt=(oi=0,Li=0)=>this.scrollTo({left:oi,top:Li,behavior:de}),ai="to-end"===ie;if("to-start"===ie){if(this.both)nt.first.rows-Ae.rows>u[0]?kt(nt.first.cols*this._itemSize[1],(nt.first.rows-1)*this._itemSize[0]):nt.first.cols-Ae.cols>u[1]&&kt((nt.first.cols-1)*this._itemSize[1],nt.first.rows*this._itemSize[0]);else if(nt.first-Ae>u){const oi=(nt.first-1)*this._itemSize;this.horizontal?kt(oi,0):kt(0,oi)}}else if(ai)if(this.both)nt.last.rows-Ae.rows<=u[0]+1?kt(nt.first.cols*this._itemSize[1],(nt.first.rows+1)*this._itemSize[0]):nt.last.cols-Ae.cols<=u[1]+1&&kt((nt.first.cols+1)*this._itemSize[1],nt.first.rows*this._itemSize[0]);else if(nt.last-Ae<=u+1){const oi=(nt.first+1)*this._itemSize;this.horizontal?kt(oi,0):kt(0,oi)}}else this.scrollToIndex(u,de)}getRenderedRange(){const u=(Ae,nt)=>Math.floor(Ae/(nt||Ae));let ie=this.first,de=0;if(this.elementViewChild?.nativeElement){const{scrollTop:Ae,scrollLeft:nt}=this.elementViewChild.nativeElement;this.both?(ie={rows:u(Ae,this._itemSize[0]),cols:u(nt,this._itemSize[1])},de={rows:ie.rows+this.numItemsInViewport.rows,cols:ie.cols+this.numItemsInViewport.cols}):(ie=u(this.horizontal?nt:Ae,this._itemSize),de=ie+this.numItemsInViewport)}return{first:this.first,last:this.last,viewport:{first:ie,last:de}}}calculateNumItems(){const u=this.getContentPosition(),ie=(this.elementViewChild?.nativeElement?this.elementViewChild.nativeElement.offsetWidth-u.left:0)||0,de=(this.elementViewChild?.nativeElement?this.elementViewChild.nativeElement.offsetHeight-u.top:0)||0,Ae=(ai,oi)=>Math.ceil(ai/(oi||ai)),nt=ai=>Math.ceil(ai/2),kt=this.both?{rows:Ae(de,this._itemSize[0]),cols:Ae(ie,this._itemSize[1])}:Ae(this.horizontal?ie:de,this._itemSize);return{numItemsInViewport:kt,numToleratedItems:this.d_numToleratedItems||(this.both?[nt(kt.rows),nt(kt.cols)]:nt(kt))}}calculateOptions(){const{numItemsInViewport:u,numToleratedItems:ie}=this.calculateNumItems(),de=(kt,zt,ai,oi=!1)=>this.getLast(kt+zt+(ktArray.from({length:u.cols})):Array.from({length:u})),this._lazy&&Promise.resolve().then(()=>{this.lazyLoadState={first:this._step?this.both?{rows:0,cols:Ae.cols}:0:Ae,last:Math.min(this._step?this._step:this.last,this.items.length)},this.handleEvents("onLazyLoad",this.lazyLoadState)})}calculateAutoSize(){this._autoSize&&!this.d_loading&&Promise.resolve().then(()=>{if(this.contentEl){this.contentEl.style.minHeight=this.contentEl.style.minWidth="auto",this.contentEl.style.position="relative",this.elementViewChild.nativeElement.style.contain="none";const[u,ie]=[re.D.getWidth(this.contentEl),re.D.getHeight(this.contentEl)];u!==this.defaultContentWidth&&(this.elementViewChild.nativeElement.style.width=""),ie!==this.defaultContentHeight&&(this.elementViewChild.nativeElement.style.height="");const[de,Ae]=[re.D.getWidth(this.elementViewChild.nativeElement),re.D.getHeight(this.elementViewChild.nativeElement)];(this.both||this.horizontal)&&(this.elementViewChild.nativeElement.style.width=dethis.elementViewChild.nativeElement.style[nt]=kt;this.both||this.horizontal?(Ae("height",de),Ae("width",ie)):Ae("height",de)}}setSpacerSize(){if(this._items){const u=this.getContentPosition(),ie=(de,Ae,nt,kt=0)=>this.spacerStyle={...this.spacerStyle,[`${de}`]:(Ae||[]).length*nt+kt+"px"};this.both?(ie("height",this._items,this._itemSize[0],u.y),ie("width",this._columns||this._items[1],this._itemSize[1],u.x)):this.horizontal?ie("width",this._columns||this._items,this._itemSize,u.x):ie("height",this._items,this._itemSize,u.y)}}setContentPosition(u){if(this.contentEl&&!this._appendOnly){const ie=u?u.first:this.first,de=(nt,kt)=>nt*kt,Ae=(nt=0,kt=0)=>this.contentStyle={...this.contentStyle,transform:`translate3d(${nt}px, ${kt}px, 0)`};if(this.both)Ae(de(ie.cols,this._itemSize[1]),de(ie.rows,this._itemSize[0]));else{const nt=de(ie,this._itemSize);this.horizontal?Ae(nt,0):Ae(0,nt)}}}onScrollPositionChange(u){const ie=u.target,de=this.getContentPosition(),Ae=(en,Jn)=>en?en>Jn?en-Jn:en:0,nt=(en,Jn)=>Math.floor(en/(Jn||en)),kt=(en,Jn,Ms,Zs,dr,ho)=>en<=dr?dr:ho?Ms-Zs-dr:Jn+dr-1,zt=(en,Jn,Ms,Zs,dr,ho,sr)=>en<=ho?0:Math.max(0,sr?enJn?Ms:en-2*ho),ai=(en,Jn,Ms,Zs,dr,ho=!1)=>{let sr=Jn+Zs+2*dr;return en>=dr&&(sr+=dr+1),this.getLast(sr,ho)},oi=Ae(ie.scrollTop,de.top),Li=Ae(ie.scrollLeft,de.left);let Yi=this.both?{rows:0,cols:0}:0,Xi=this.last,Ji=!1,_n=this.lastScrollPos;if(this.both){const en=this.lastScrollPos.top<=oi,Jn=this.lastScrollPos.left<=Li;if(!this._appendOnly||this._appendOnly&&(en||Jn)){const Ms={rows:nt(oi,this._itemSize[0]),cols:nt(Li,this._itemSize[1])},Zs={rows:kt(Ms.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],en),cols:kt(Ms.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],Jn)};Yi={rows:zt(Ms.rows,Zs.rows,this.first.rows,0,0,this.d_numToleratedItems[0],en),cols:zt(Ms.cols,Zs.cols,this.first.cols,0,0,this.d_numToleratedItems[1],Jn)},Xi={rows:ai(Ms.rows,Yi.rows,0,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:ai(Ms.cols,Yi.cols,0,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},Ji=Yi.rows!==this.first.rows||Xi.rows!==this.last.rows||Yi.cols!==this.first.cols||Xi.cols!==this.last.cols||this.isRangeChanged,_n={top:oi,left:Li}}}else{const en=this.horizontal?Li:oi,Jn=this.lastScrollPos<=en;if(!this._appendOnly||this._appendOnly&&Jn){const Ms=nt(en,this._itemSize);Yi=zt(Ms,kt(Ms,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,Jn),this.first,0,0,this.d_numToleratedItems,Jn),Xi=ai(Ms,Yi,0,this.numItemsInViewport,this.d_numToleratedItems),Ji=Yi!==this.first||Xi!==this.last||this.isRangeChanged,_n=en}}return{first:Yi,last:Xi,isRangeChanged:Ji,scrollPos:_n}}onScrollChange(u){const{first:ie,last:de,isRangeChanged:Ae,scrollPos:nt}=this.onScrollPositionChange(u);if(Ae){const kt={first:ie,last:de};if(this.setContentPosition(kt),this.first=ie,this.last=de,this.lastScrollPos=nt,this.handleEvents("onScrollIndexChange",kt),this._lazy&&this.isPageChanged(ie)){const zt={first:this._step?Math.min(this.getPageByFirst(ie)*this._step,this.items.length-this._step):ie,last:Math.min(this._step?(this.getPageByFirst(ie)+1)*this._step:de,this.items.length)};(this.lazyLoadState.first!==zt.first||this.lazyLoadState.last!==zt.last)&&this.handleEvents("onLazyLoad",zt),this.lazyLoadState=zt}}}onContainerScroll(u){if(this.handleEvents("onScroll",{originalEvent:u}),this._delay&&this.isPageChanged()){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:ie}=this.onScrollPositionChange(u);(ie||this._step&&this.isPageChanged())&&(this.d_loading=!0,this.cd.detectChanges())}this.scrollTimeout=setTimeout(()=>{this.onScrollChange(u),this.d_loading&&this.showLoader&&(!this._lazy||void 0===this._loading)&&(this.d_loading=!1,this.page=this.getPageByFirst(),this.cd.detectChanges())},this._delay)}else!this.d_loading&&this.onScrollChange(u)}bindResizeListener(){(0,M.UE)(this.platformId)&&(this.windowResizeListener||this.zone.runOutsideAngular(()=>{const u=this.document.defaultView,ie=re.D.isTouchDevice()?"orientationchange":"resize";this.windowResizeListener=this.renderer.listen(u,ie,this.onWindowResize.bind(this))}))}unbindResizeListener(){this.windowResizeListener&&(this.windowResizeListener(),this.windowResizeListener=null)}onWindowResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{if(re.D.isVisible(this.elementViewChild?.nativeElement)){const[u,ie]=[re.D.getWidth(this.elementViewChild?.nativeElement),re.D.getHeight(this.elementViewChild?.nativeElement)],[de,Ae]=[u!==this.defaultWidth,ie!==this.defaultHeight];(this.both?de||Ae:this.horizontal?de:this.vertical&&Ae)&&this.zone.run(()=>{this.d_numToleratedItems=this._numToleratedItems,this.defaultWidth=u,this.defaultHeight=ie,this.defaultContentWidth=re.D.getWidth(this.contentEl),this.defaultContentHeight=re.D.getHeight(this.contentEl),this.init()})}},this._resizeDelay)}handleEvents(u,ie){return this.options&&this.options[u]?this.options[u](ie):this[u].emit(ie)}getContentOptions(){return{contentStyleClass:"p-scroller-content "+(this.d_loading?"p-scroller-loading":""),items:this.loadedItems,getItemOptions:u=>this.getOptions(u),loading:this.d_loading,getLoaderOptions:(u,ie)=>this.getLoaderOptions(u,ie),itemSize:this._itemSize,rows:this.loadedRows,columns:this.loadedColumns,spacerStyle:this.spacerStyle,contentStyle:this.contentStyle,vertical:this.vertical,horizontal:this.horizontal,both:this.both}}getOptions(u){const ie=(this._items||[]).length,de=this.both?this.first.rows+u:this.first+u;return{index:de,count:ie,first:0===de,last:de===ie-1,even:de%2==0,odd:de%2!=0}}getLoaderOptions(u,ie){const de=this.loaderArr.length;return{index:u,count:de,first:0===u,last:u===de-1,even:u%2==0,odd:u%2!=0,...ie}}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.Agw),e.rXU(e.sFG),e.rXU(e.gRc),e.rXU(e.SKi))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-scroller"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(wn,5),e.GBs(Va,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.elementViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.contentViewChild=Ae.first)}},hostAttrs:[1,"p-scroller-viewport","p-element"],inputs:{id:"id",style:"style",styleClass:"styleClass",tabindex:"tabindex",items:"items",itemSize:"itemSize",scrollHeight:"scrollHeight",scrollWidth:"scrollWidth",orientation:"orientation",step:"step",delay:"delay",resizeDelay:"resizeDelay",appendOnly:"appendOnly",inline:"inline",lazy:"lazy",disabled:"disabled",loaderDisabled:"loaderDisabled",columns:"columns",showSpacer:"showSpacer",showLoader:"showLoader",numToleratedItems:"numToleratedItems",loading:"loading",autoSize:"autoSize",trackBy:"trackBy",options:"options"},outputs:{onLazyLoad:"onLazyLoad",onScroll:"onScroll",onScrollIndexChange:"onScrollIndexChange"},features:[e.OA$],ngContentSelectors:za,decls:3,vars:2,consts:[["disabledContainer",""],["element",""],["buildInContent",""],["content",""],["buildInLoader",""],["buildInLoaderIcon",""],[4,"ngIf","ngIfElse"],[3,"scroll","ngStyle","ngClass"],["class","p-scroller-spacer",3,"ngStyle",4,"ngIf"],["class","p-scroller-loader",3,"ngClass",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-scroller-content",3,"ngClass","ngStyle"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"p-scroller-spacer",3,"ngStyle"],[1,"p-scroller-loader",3,"ngClass"],[4,"ngFor","ngForOf"],[3,"styleClass"],[4,"ngIf"]],template:function(ie,de){if(1&ie&&(e.NAR(),e.DNE(0,ua,8,16,"ng-container",6)(1,Qs,2,1,"ng-template",null,0,e.C5r)),2&ie){const Ae=e.sdS(2);e.Y8G("ngIf",!de._disabled)("ngIfElse",Ae)}},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,go.N],styles:["@layer primeng{p-scroller{flex:1;outline:0 none}.p-scroller{position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;outline:0 none}.p-scroller-content{position:absolute;top:0;left:0;min-height:100%;min-width:100%;will-change:transform}.p-scroller-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0;pointer-events:none}.p-scroller-loader{position:sticky;top:0;left:0;width:100%;height:100%}.p-scroller-loader.p-component-overlay{display:flex;align-items:center;justify-content:center}.p-scroller-loading-icon{scale:2}.p-scroller-inline .p-scroller-content{position:static}}\n"],encapsulation:2})}return ye})(),eo=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Le.Gg,go.N,Le.Gg]})}return ye})(),ma=(()=>{class ye{platformId;el;zone;config;renderer;viewContainer;tooltipPosition;tooltipEvent="hover";appendTo;positionStyle;tooltipStyleClass;tooltipZIndex;escape=!0;showDelay;hideDelay;life;positionTop;positionLeft;autoHide=!0;fitContent=!0;hideOnEscape=!0;content;get disabled(){return this._disabled}set disabled(u){this._disabled=u,this.deactivate()}tooltipOptions;_tooltipOptions={tooltipLabel:null,tooltipPosition:"right",tooltipEvent:"hover",appendTo:"body",positionStyle:null,tooltipStyleClass:null,tooltipZIndex:"auto",escape:!0,disabled:null,showDelay:null,hideDelay:null,positionTop:null,positionLeft:null,life:null,autoHide:!0,hideOnEscape:!0,id:(0,le._Y)()+"_tooltip"};_disabled;container;styleClass;tooltipText;showTimeout;hideTimeout;active;mouseEnterListener;mouseLeaveListener;containerMouseleaveListener;clickListener;focusListener;blurListener;scrollHandler;resizeListener;constructor(u,ie,de,Ae,nt,kt){this.platformId=u,this.el=ie,this.zone=de,this.config=Ae,this.renderer=nt,this.viewContainer=kt}ngAfterViewInit(){(0,M.UE)(this.platformId)&&this.zone.runOutsideAngular(()=>{if("hover"===this.getOption("tooltipEvent"))this.mouseEnterListener=this.onMouseEnter.bind(this),this.mouseLeaveListener=this.onMouseLeave.bind(this),this.clickListener=this.onInputClick.bind(this),this.el.nativeElement.addEventListener("mouseenter",this.mouseEnterListener),this.el.nativeElement.addEventListener("click",this.clickListener),this.el.nativeElement.addEventListener("mouseleave",this.mouseLeaveListener);else if("focus"===this.getOption("tooltipEvent")){this.focusListener=this.onFocus.bind(this),this.blurListener=this.onBlur.bind(this);let u=this.getTarget(this.el.nativeElement);u.addEventListener("focus",this.focusListener),u.addEventListener("blur",this.blurListener)}})}ngOnChanges(u){u.tooltipPosition&&this.setOption({tooltipPosition:u.tooltipPosition.currentValue}),u.tooltipEvent&&this.setOption({tooltipEvent:u.tooltipEvent.currentValue}),u.appendTo&&this.setOption({appendTo:u.appendTo.currentValue}),u.positionStyle&&this.setOption({positionStyle:u.positionStyle.currentValue}),u.tooltipStyleClass&&this.setOption({tooltipStyleClass:u.tooltipStyleClass.currentValue}),u.tooltipZIndex&&this.setOption({tooltipZIndex:u.tooltipZIndex.currentValue}),u.escape&&this.setOption({escape:u.escape.currentValue}),u.showDelay&&this.setOption({showDelay:u.showDelay.currentValue}),u.hideDelay&&this.setOption({hideDelay:u.hideDelay.currentValue}),u.life&&this.setOption({life:u.life.currentValue}),u.positionTop&&this.setOption({positionTop:u.positionTop.currentValue}),u.positionLeft&&this.setOption({positionLeft:u.positionLeft.currentValue}),u.disabled&&this.setOption({disabled:u.disabled.currentValue}),u.content&&(this.setOption({tooltipLabel:u.content.currentValue}),this.active&&(u.content.currentValue?this.container&&this.container.offsetParent?(this.updateText(),this.align()):this.show():this.hide())),u.autoHide&&this.setOption({autoHide:u.autoHide.currentValue}),u.id&&this.setOption({id:u.id.currentValue}),u.tooltipOptions&&(this._tooltipOptions={...this._tooltipOptions,...u.tooltipOptions.currentValue},this.deactivate(),this.active&&(this.getOption("tooltipLabel")?this.container&&this.container.offsetParent?(this.updateText(),this.align()):this.show():this.hide()))}isAutoHide(){return this.getOption("autoHide")}onMouseEnter(u){!this.container&&!this.showTimeout&&this.activate()}onMouseLeave(u){(this.isAutoHide()||!(re.D.hasClass(u.relatedTarget,"p-tooltip")||re.D.hasClass(u.relatedTarget,"p-tooltip-text")||re.D.hasClass(u.relatedTarget,"p-tooltip-arrow")))&&this.deactivate()}onFocus(u){this.activate()}onBlur(u){this.deactivate()}onInputClick(u){this.deactivate()}onPressEscape(){this.hideOnEscape&&this.deactivate()}activate(){if(this.active=!0,this.clearHideTimeout(),this.getOption("showDelay")?this.showTimeout=setTimeout(()=>{this.show()},this.getOption("showDelay")):this.show(),this.getOption("life")){let u=this.getOption("showDelay")?this.getOption("life")+this.getOption("showDelay"):this.getOption("life");this.hideTimeout=setTimeout(()=>{this.hide()},u)}}deactivate(){this.active=!1,this.clearShowTimeout(),this.getOption("hideDelay")?(this.clearHideTimeout(),this.hideTimeout=setTimeout(()=>{this.hide()},this.getOption("hideDelay"))):this.hide()}create(){this.container&&(this.clearHideTimeout(),this.remove()),this.container=document.createElement("div"),this.container.setAttribute("id",this.getOption("id")),this.container.setAttribute("role","tooltip");let u=document.createElement("div");u.className="p-tooltip-arrow",this.container.appendChild(u),this.tooltipText=document.createElement("div"),this.tooltipText.className="p-tooltip-text",this.updateText(),this.getOption("positionStyle")&&(this.container.style.position=this.getOption("positionStyle")),this.container.appendChild(this.tooltipText),"body"===this.getOption("appendTo")?document.body.appendChild(this.container):"target"===this.getOption("appendTo")?re.D.appendChild(this.container,this.el.nativeElement):re.D.appendChild(this.container,this.getOption("appendTo")),this.container.style.display="inline-block",this.fitContent&&(this.container.style.width="fit-content"),this.isAutoHide()?this.container.style.pointerEvents="none":(this.container.style.pointerEvents="unset",this.bindContainerMouseleaveListener())}bindContainerMouseleaveListener(){this.containerMouseleaveListener||(this.containerMouseleaveListener=this.renderer.listen(this.container??this.container.nativeElement,"mouseleave",ie=>{this.deactivate()}))}unbindContainerMouseleaveListener(){this.containerMouseleaveListener&&(this.bindContainerMouseleaveListener(),this.containerMouseleaveListener=null)}show(){!this.getOption("tooltipLabel")||this.getOption("disabled")||(this.create(),this.align(),re.D.fadeIn(this.container,250),"auto"===this.getOption("tooltipZIndex")?le.Q$.set("tooltip",this.container,this.config.zIndex.tooltip):this.container.style.zIndex=this.getOption("tooltipZIndex"),this.bindDocumentResizeListener(),this.bindScrollListener())}hide(){"auto"===this.getOption("tooltipZIndex")&&le.Q$.clear(this.container),this.remove()}updateText(){const u=this.getOption("tooltipLabel");if(u instanceof e.C4Q){const ie=this.viewContainer.createEmbeddedView(u);ie.detectChanges(),ie.rootNodes.forEach(de=>this.tooltipText.appendChild(de))}else this.getOption("escape")?(this.tooltipText.innerHTML="",this.tooltipText.appendChild(document.createTextNode(u))):this.tooltipText.innerHTML=u}align(){switch(this.getOption("tooltipPosition")){case"top":this.alignTop(),this.isOutOfBounds()&&(this.alignBottom(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&this.alignLeft()));break;case"bottom":this.alignBottom(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&this.alignLeft()));break;case"left":this.alignLeft(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&this.alignBottom()));break;case"right":this.alignRight(),this.isOutOfBounds()&&(this.alignLeft(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&this.alignBottom()))}}getHostOffset(){if("body"===this.getOption("appendTo")||"target"===this.getOption("appendTo")){let u=this.el.nativeElement.getBoundingClientRect();return{left:u.left+re.D.getWindowScrollLeft(),top:u.top+re.D.getWindowScrollTop()}}return{left:0,top:0}}alignRight(){this.preAlign("right");let u=this.getHostOffset(),ie=u.left+re.D.getOuterWidth(this.el.nativeElement),de=u.top+(re.D.getOuterHeight(this.el.nativeElement)-re.D.getOuterHeight(this.container))/2;this.container.style.left=ie+this.getOption("positionLeft")+"px",this.container.style.top=de+this.getOption("positionTop")+"px"}alignLeft(){this.preAlign("left");let u=this.getHostOffset(),ie=u.left-re.D.getOuterWidth(this.container),de=u.top+(re.D.getOuterHeight(this.el.nativeElement)-re.D.getOuterHeight(this.container))/2;this.container.style.left=ie+this.getOption("positionLeft")+"px",this.container.style.top=de+this.getOption("positionTop")+"px"}alignTop(){this.preAlign("top");let u=this.getHostOffset(),ie=u.left+(re.D.getOuterWidth(this.el.nativeElement)-re.D.getOuterWidth(this.container))/2,de=u.top-re.D.getOuterHeight(this.container);this.container.style.left=ie+this.getOption("positionLeft")+"px",this.container.style.top=de+this.getOption("positionTop")+"px"}alignBottom(){this.preAlign("bottom");let u=this.getHostOffset(),ie=u.left+(re.D.getOuterWidth(this.el.nativeElement)-re.D.getOuterWidth(this.container))/2,de=u.top+re.D.getOuterHeight(this.el.nativeElement);this.container.style.left=ie+this.getOption("positionLeft")+"px",this.container.style.top=de+this.getOption("positionTop")+"px"}setOption(u){this._tooltipOptions={...this._tooltipOptions,...u}}getOption(u){return this._tooltipOptions[u]}getTarget(u){return re.D.hasClass(u,"p-inputwrapper")?re.D.findSingle(u,"input"):u}preAlign(u){this.container.style.left="-999px",this.container.style.top="-999px";let ie="p-tooltip p-component p-tooltip-"+u;this.container.className=this.getOption("tooltipStyleClass")?ie+" "+this.getOption("tooltipStyleClass"):ie}isOutOfBounds(){let u=this.container.getBoundingClientRect(),ie=u.top,de=u.left,Ae=re.D.getOuterWidth(this.container),nt=re.D.getOuterHeight(this.container),kt=re.D.getViewport();return de+Ae>kt.width||de<0||ie<0||ie+nt>kt.height}onWindowResize(u){this.hide()}bindDocumentResizeListener(){this.zone.runOutsideAngular(()=>{this.resizeListener=this.onWindowResize.bind(this),window.addEventListener("resize",this.resizeListener)})}unbindDocumentResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new re.b(this.el.nativeElement,()=>{this.container&&this.hide()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}unbindEvents(){if("hover"===this.getOption("tooltipEvent"))this.el.nativeElement.removeEventListener("mouseenter",this.mouseEnterListener),this.el.nativeElement.removeEventListener("mouseleave",this.mouseLeaveListener),this.el.nativeElement.removeEventListener("click",this.clickListener);else if("focus"===this.getOption("tooltipEvent")){let u=this.getTarget(this.el.nativeElement);u.removeEventListener("focus",this.focusListener),u.removeEventListener("blur",this.blurListener)}this.unbindDocumentResizeListener()}remove(){this.container&&this.container.parentElement&&("body"===this.getOption("appendTo")?document.body.removeChild(this.container):"target"===this.getOption("appendTo")?this.el.nativeElement.removeChild(this.container):re.D.removeChild(this.container,this.getOption("appendTo"))),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.unbindContainerMouseleaveListener(),this.clearTimeouts(),this.container=null,this.scrollHandler=null}clearShowTimeout(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null)}clearHideTimeout(){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout()}ngOnDestroy(){this.unbindEvents(),this.container&&le.Q$.clear(this.container),this.remove(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null)}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.Agw),e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(Le.r1),e.rXU(e.sFG),e.rXU(e.c1b))};static \u0275dir=e.FsC({type:ye,selectors:[["","pTooltip",""]],hostAttrs:[1,"p-element"],hostBindings:function(ie,de){1&ie&&e.bIt("keydown.escape",function(nt){return de.onPressEscape(nt)},!1,e.EBC)},inputs:{tooltipPosition:"tooltipPosition",tooltipEvent:"tooltipEvent",appendTo:"appendTo",positionStyle:"positionStyle",tooltipStyleClass:"tooltipStyleClass",tooltipZIndex:"tooltipZIndex",escape:"escape",showDelay:"showDelay",hideDelay:"hideDelay",life:"life",positionTop:"positionTop",positionLeft:"positionLeft",autoHide:"autoHide",fitContent:"fitContent",hideOnEscape:"hideOnEscape",content:[e.Mj6.None,"pTooltip","content"],disabled:[e.Mj6.None,"tooltipDisabled","disabled"],tooltipOptions:"tooltipOptions"},features:[e.OA$]})}return ye})(),Ir=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD]})}return ye})(),cr=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["SearchIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M2.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})();const es=ye=>({height:ye}),$r=(ye,et,u)=>({"p-dropdown-item":!0,"p-highlight":ye,"p-disabled":et,"p-focus":u}),Ko=ye=>({$implicit:ye});function Do(ye,et){if(1&ye&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&ye){let u;const ie=e.XpG();e.R7$(),e.JRh(null!==(u=ie.label)&&void 0!==u?u:"empty")}}function Zo(ye,et){1&ye&&e.eu8(0)}const to=["container"],ba=["filter"],va=["focusInput"],Mo=["editableInput"],Js=["items"],bo=["scroller"],Eo=["overlay"],wh=["firstHiddenFocusableEl"],Lc=["lastHiddenFocusableEl"],Sr=ye=>({options:ye}),Dn=(ye,et)=>({$implicit:ye,options:et}),Ao=()=>({});function ya(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.JRh("p-emptylabel"===u.label()?"\xa0":u.label())}}function Io(ye,et){if(1&ye&&e.eu8(0,25),2&ye){const u=e.XpG(2);e.Y8G("ngTemplateOutlet",u.selectedItemTemplate)("ngTemplateOutletContext",e.eq3(2,Ko,u.selectedOption))}}function hr(ye,et){if(1&ye&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.JRh("p-emptylabel"===u.label()?"\xa0":u.placeholder())}}function ol(ye,et){if(1&ye&&e.DNE(0,hr,2,1,"span",17),2&ye){const u=e.XpG(2);e.Y8G("ngIf",u.displayPlaceholder())}}function Or(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",22,2),e.bIt("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputFocus(de))})("blur",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputBlur(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onKeyDown(de))}),e.DNE(2,ya,2,1,"ng-container",23)(3,Io,1,4,"ng-container",24)(4,ol,1,1,"ng-template",null,3,e.C5r),e.k0s()}if(2&ye){let u;const ie=e.sdS(5),de=e.XpG();e.Y8G("ngClass",de.inputClass)("pTooltip",de.tooltip)("tooltipPosition",de.tooltipPosition)("positionStyle",de.tooltipPositionStyle)("tooltipStyleClass",de.tooltipStyleClass)("autofocus",de.autofocus),e.BMQ("aria-disabled",de.disabled)("id",de.inputId)("aria-label",de.ariaLabel||("p-emptylabel"===de.label()?void 0:de.label()))("aria-labelledby",de.ariaLabelledBy)("aria-haspopup","listbox")("aria-expanded",null!==(u=de.overlayVisible)&&void 0!==u&&u)("aria-controls",de.overlayVisible?de.id+"_list":null)("tabindex",de.disabled?-1:de.tabindex)("aria-activedescendant",de.focused?de.focusedOptionId:void 0)("aria-required",de.required)("required",de.required),e.R7$(2),e.Y8G("ngIf",!de.selectedItemTemplate)("ngIfElse",ie),e.R7$(),e.Y8G("ngIf",de.selectedItemTemplate&&de.selectedOption)}}function cn(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"input",26,4),e.bIt("input",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onEditableInput(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onKeyDown(de))})("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputFocus(de))})("blur",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onInputBlur(de))}),e.k0s()}if(2&ye){const u=e.XpG();e.Y8G("ngClass",u.inputClass)("disabled",u.disabled),e.BMQ("maxlength",u.maxlength)("placeholder",void 0===u.modelValue()||null===u.modelValue()?u.placeholder():void 0)}}function Bl(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"TimesIcon",29),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.clear(de))}),e.k0s()}2&ye&&(e.Y8G("styleClass","p-dropdown-clear-icon"),e.BMQ("data-pc-section","clearicon"))}function Ua(ye,et){}function ot(ye,et){1&ye&&e.DNE(0,Ua,0,0,"ng-template")}function ct(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",30),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.clear(de))}),e.DNE(1,ot,1,0,null,31),e.k0s()}if(2&ye){const u=e.XpG(2);e.BMQ("data-pc-section","clearicon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.clearIconTemplate)}}function Ye(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Bl,1,2,"TimesIcon",27)(2,ct,2,2,"span",28),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",!u.clearIconTemplate),e.R7$(),e.Y8G("ngIf",u.clearIconTemplate)}}function vt(ye,et){if(1&ye&&e.nrm(0,"span",34),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.dropdownIcon)}}function Ft(ye,et){1&ye&&e.nrm(0,"ChevronDownIcon",35),2&ye&&e.Y8G("styleClass","p-dropdown-trigger-icon")}function Fi(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,vt,1,1,"span",32)(2,Ft,1,1,"ChevronDownIcon",33),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.dropdownIcon),e.R7$(),e.Y8G("ngIf",!u.dropdownIcon)}}function mn(ye,et){}function io(ye,et){1&ye&&e.DNE(0,mn,0,0,"ng-template")}function nr(ye,et){if(1&ye&&(e.j41(0,"span",36),e.DNE(1,io,1,0,null,31),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dropdownIconTemplate)}}function Vs(ye,et){1&ye&&e.eu8(0)}function qo(ye,et){1&ye&&e.eu8(0)}function gr(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,qo,1,0,"ng-container",43),e.bVm()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.filterTemplate)("ngTemplateOutletContext",e.eq3(2,Sr,u.filterOptions))}}function ac(ye,et){1&ye&&e.nrm(0,"SearchIcon",35),2&ye&&e.Y8G("styleClass","p-dropdown-filter-icon")}function Mn(ye,et){}function jl(ye,et){1&ye&&e.DNE(0,Mn,0,0,"ng-template")}function lc(ye,et){if(1&ye&&(e.j41(0,"span",47),e.DNE(1,jl,1,0,null,31),e.k0s()),2&ye){const u=e.XpG(4);e.R7$(),e.Y8G("ngTemplateOutlet",u.filterIconTemplate)}}function cc(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",44)(1,"input",45,9),e.bIt("input",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onFilterInputChange(de))})("keydown",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onFilterKeyDown(de))})("blur",function(de){e.eBV(u);const Ae=e.XpG(3);return e.Njj(Ae.onFilterBlur(de))}),e.k0s(),e.DNE(3,ac,1,1,"SearchIcon",33)(4,lc,2,1,"span",46),e.k0s()}if(2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("value",u._filterValue()||""),e.BMQ("placeholder",u.filterPlaceholder)("aria-owns",u.id+"_list")("aria-label",u.ariaFilterLabel)("aria-activedescendant",u.focusedOptionId),e.R7$(2),e.Y8G("ngIf",!u.filterIconTemplate),e.R7$(),e.Y8G("ngIf",u.filterIconTemplate)}}function al(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",42),e.bIt("click",function(de){return e.eBV(u),e.Njj(de.stopPropagation())}),e.DNE(1,gr,2,4,"ng-container",23)(2,cc,5,7,"ng-template",null,8,e.C5r),e.k0s()}if(2&ye){const u=e.sdS(3),ie=e.XpG(2);e.R7$(),e.Y8G("ngIf",ie.filterTemplate)("ngIfElse",u)}}function ll(ye,et){1&ye&&e.eu8(0)}function ad(ye,et){if(1&ye&&e.DNE(0,ll,1,0,"ng-container",43),2&ye){const u=et.$implicit,ie=et.options;e.XpG(2);const de=e.sdS(9);e.Y8G("ngTemplateOutlet",de)("ngTemplateOutletContext",e.l_i(2,Dn,u,ie))}}function Vl(ye,et){1&ye&&e.eu8(0)}function hc(ye,et){if(1&ye&&e.DNE(0,Vl,1,0,"ng-container",43),2&ye){const u=et.options,ie=e.XpG(4);e.Y8G("ngTemplateOutlet",ie.loaderTemplate)("ngTemplateOutletContext",e.eq3(2,Sr,u))}}function zl(ye,et){1&ye&&(e.qex(0),e.DNE(1,hc,1,4,"ng-template",49),e.bVm())}function Oo(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-scroller",48,10),e.bIt("onLazyLoad",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onLazyLoad.emit(de))}),e.DNE(2,ad,1,5,"ng-template",21)(3,zl,2,0,"ng-container",17),e.k0s()}if(2&ye){const u=e.XpG(2);e.Aen(e.eq3(8,es,u.scrollHeight)),e.Y8G("items",u.visibleOptions())("itemSize",u.virtualScrollItemSize||u._itemSize)("autoSize",!0)("lazy",u.lazy)("options",u.virtualScrollOptions),e.R7$(3),e.Y8G("ngIf",u.loaderTemplate)}}function Gl(ye,et){1&ye&&e.eu8(0)}function vo(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Gl,1,0,"ng-container",43),e.bVm()),2&ye){e.XpG();const u=e.sdS(9),ie=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u)("ngTemplateOutletContext",e.l_i(3,Dn,ie.visibleOptions(),e.lJ4(2,Ao)))}}function Wa(ye,et){if(1&ye&&(e.j41(0,"span"),e.EFF(1),e.k0s()),2&ye){const u=e.XpG(2).$implicit,ie=e.XpG(3);e.R7$(),e.JRh(ie.getOptionGroupLabel(u.optionGroup))}}function pn(ye,et){1&ye&&e.eu8(0)}function vs(ye,et){if(1&ye&&(e.qex(0),e.j41(1,"li",53),e.DNE(2,Wa,2,1,"span",17)(3,pn,1,0,"ng-container",43),e.k0s(),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG().options,nt=e.XpG(2);e.R7$(),e.Y8G("ngStyle",e.eq3(5,es,Ae.itemSize+"px")),e.BMQ("id",nt.id+"_"+nt.getOptionIndex(de,Ae)),e.R7$(),e.Y8G("ngIf",!nt.groupTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",nt.groupTemplate)("ngTemplateOutletContext",e.eq3(7,Ko,ie.optionGroup))}}function fs(ye,et){if(1&ye){const u=e.RV6();e.qex(0),e.j41(1,"p-dropdownItem",54),e.bIt("onClick",function(de){e.eBV(u);const Ae=e.XpG().$implicit,nt=e.XpG(3);return e.Njj(nt.onOptionSelect(de,Ae))})("onMouseEnter",function(de){e.eBV(u);const Ae=e.XpG().index,nt=e.XpG().options,kt=e.XpG(2);return e.Njj(kt.onOptionMouseEnter(de,kt.getOptionIndex(Ae,nt)))}),e.k0s(),e.bVm()}if(2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG().options,nt=e.XpG(2);e.R7$(),e.Y8G("id",nt.id+"_"+nt.getOptionIndex(de,Ae))("option",ie)("selected",nt.isSelected(ie))("label",nt.getOptionLabel(ie))("disabled",nt.isOptionDisabled(ie))("template",nt.itemTemplate)("focused",nt.focusedOptionIndex()===nt.getOptionIndex(de,Ae))("ariaPosInset",nt.getAriaPosInset(nt.getOptionIndex(de,Ae)))("ariaSetSize",nt.ariaSetSize)}}function kr(ye,et){if(1&ye&&e.DNE(0,vs,4,9,"ng-container",17)(1,fs,2,9,"ng-container",17),2&ye){const u=et.$implicit,ie=e.XpG(3);e.Y8G("ngIf",ie.isOptionGroup(u)),e.R7$(),e.Y8G("ngIf",!ie.isOptionGroup(u))}}function er(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(4);e.R7$(),e.SpI(" ",u.emptyFilterMessageLabel," ")}}function Qo(ye,et){1&ye&&e.eu8(0,null,12)}function dc(ye,et){if(1&ye&&(e.j41(0,"li",55),e.DNE(1,er,2,1,"ng-container",23)(2,Qo,2,0,"ng-container",31),e.k0s()),2&ye){const u=e.XpG().options,ie=e.XpG(2);e.Y8G("ngStyle",e.eq3(4,es,u.itemSize+"px")),e.R7$(),e.Y8G("ngIf",!ie.emptyFilterTemplate&&!ie.emptyTemplate)("ngIfElse",ie.emptyFilter),e.R7$(),e.Y8G("ngTemplateOutlet",ie.emptyFilterTemplate||ie.emptyTemplate)}}function uc(ye,et){if(1&ye&&(e.qex(0),e.EFF(1),e.bVm()),2&ye){const u=e.XpG(4);e.R7$(),e.SpI(" ",u.emptyMessageLabel," ")}}function Th(ye,et){1&ye&&e.eu8(0,null,13)}function Sh(ye,et){if(1&ye&&(e.j41(0,"li",55),e.DNE(1,uc,2,1,"ng-container",23)(2,Th,2,0,"ng-container",31),e.k0s()),2&ye){const u=e.XpG().options,ie=e.XpG(2);e.Y8G("ngStyle",e.eq3(4,es,u.itemSize+"px")),e.R7$(),e.Y8G("ngIf",!ie.emptyTemplate)("ngIfElse",ie.empty),e.R7$(),e.Y8G("ngTemplateOutlet",ie.emptyTemplate)}}function Jo(ye,et){if(1&ye&&(e.j41(0,"ul",50,11),e.DNE(2,kr,2,2,"ng-template",51)(3,dc,3,6,"li",52)(4,Sh,3,6,"li",52),e.k0s()),2&ye){const u=et.$implicit,ie=et.options,de=e.XpG(2);e.Aen(ie.contentStyle),e.Y8G("ngClass",ie.contentStyleClass),e.BMQ("id",de.id+"_list")("aria-label",de.listLabel),e.R7$(2),e.Y8G("ngForOf",u),e.R7$(),e.Y8G("ngIf",de.filterValue&&de.isEmpty()),e.R7$(),e.Y8G("ngIf",!de.filterValue&&de.isEmpty())}}function pc(ye,et){1&ye&&e.eu8(0)}function cl(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",37)(1,"span",38,5),e.bIt("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onFirstHiddenFocus(de))}),e.k0s(),e.DNE(3,Vs,1,0,"ng-container",31)(4,al,4,2,"div",39),e.j41(5,"div",40),e.DNE(6,Oo,4,10,"p-scroller",41)(7,vo,2,6,"ng-container",17)(8,Jo,5,8,"ng-template",null,6,e.C5r),e.k0s(),e.DNE(10,pc,1,0,"ng-container",31),e.j41(11,"span",38,7),e.bIt("focus",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onLastHiddenFocus(de))}),e.k0s()()}if(2&ye){const u=e.XpG();e.HbH(u.panelStyleClass),e.Y8G("ngClass","p-dropdown-panel p-component")("ngStyle",u.panelStyle),e.R7$(),e.BMQ("aria-hidden",!0)("tabindex",0)("data-p-hidden-accessible",!0)("data-p-hidden-focusable",!0),e.R7$(2),e.Y8G("ngTemplateOutlet",u.headerTemplate),e.R7$(),e.Y8G("ngIf",u.filter),e.R7$(),e.xc7("max-height",u.virtualScroll?"auto":u.scrollHeight||"auto"),e.R7$(),e.Y8G("ngIf",u.virtualScroll),e.R7$(),e.Y8G("ngIf",!u.virtualScroll),e.R7$(3),e.Y8G("ngTemplateOutlet",u.footerTemplate),e.R7$(),e.BMQ("aria-hidden",!0)("tabindex",0)("data-p-hidden-accessible",!0)("data-p-hidden-focusable",!0)}}const Pc={provide:V.kq,useExisting:(0,e.Rfq)(()=>Rc),multi:!0};let Hl=(()=>{class ye{id;option;selected;focused;label;disabled;visible;itemSize;ariaPosInset;ariaSetSize;template;onClick=new e.bkB;onMouseEnter=new e.bkB;ngOnInit(){}onOptionClick(u){this.onClick.emit(u)}onOptionMouseEnter(u){this.onMouseEnter.emit(u)}static \u0275fac=function(ie){return new(ie||ye)};static \u0275cmp=e.VBU({type:ye,selectors:[["p-dropdownItem"]],hostAttrs:[1,"p-element"],inputs:{id:"id",option:"option",selected:"selected",focused:"focused",label:"label",disabled:"disabled",visible:"visible",itemSize:"itemSize",ariaPosInset:"ariaPosInset",ariaSetSize:"ariaSetSize",template:"template"},outputs:{onClick:"onClick",onMouseEnter:"onMouseEnter"},decls:3,vars:21,consts:[["role","option","pRipple","",3,"click","mouseenter","id","ngStyle","ngClass"],[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ie,de){1&ie&&(e.j41(0,"li",0),e.bIt("click",function(nt){return de.onOptionClick(nt)})("mouseenter",function(nt){return de.onOptionMouseEnter(nt)}),e.DNE(1,Do,2,1,"span",1)(2,Zo,1,0,"ng-container",2),e.k0s()),2&ie&&(e.Y8G("id",de.id)("ngStyle",e.eq3(13,es,de.itemSize+"px"))("ngClass",e.sMw(15,$r,de.selected,de.disabled,de.focused)),e.BMQ("aria-label",de.label)("aria-setsize",de.ariaSetSize)("aria-posinset",de.ariaPosInset)("aria-selected",de.selected)("data-p-focused",de.focused)("data-p-highlight",de.selected)("data-p-disabled",de.disabled),e.R7$(),e.Y8G("ngIf",!de.template),e.R7$(),e.Y8G("ngTemplateOutlet",de.template)("ngTemplateOutletContext",e.eq3(19,Ko,de.option)))},dependencies:[M.YU,M.bT,M.T3,M.B3,ve.n],encapsulation:2})}return ye})(),Rc=(()=>{class ye{el;renderer;cd;zone;filterService;config;id;scrollHeight="200px";filter;name;style;panelStyle;styleClass;panelStyleClass;readonly;required;editable;appendTo;tabindex=0;set placeholder(u){this._placeholder.set(u)}get placeholder(){return this._placeholder.asReadonly()}filterPlaceholder;filterLocale;inputId;dataKey;filterBy;filterFields;autofocus;resetFilterOnHide=!1;dropdownIcon;optionLabel;optionValue;optionDisabled;optionGroupLabel="label";optionGroupChildren="items";autoDisplayFirst=!0;group;showClear;emptyFilterMessage="";emptyMessage="";lazy=!1;virtualScroll;virtualScrollItemSize;virtualScrollOptions;overlayOptions;ariaFilterLabel;ariaLabel;ariaLabelledBy;filterMatchMode="contains";maxlength;tooltip="";tooltipPosition="right";tooltipPositionStyle="absolute";tooltipStyleClass;focusOnHover=!1;selectOnFocus=!1;autoOptionFocus=!0;autofocusFilter=!0;get disabled(){return this._disabled}set disabled(u){u&&(this.focused=!1,this.overlayVisible&&this.hide()),this._disabled=u,this.cd.destroyed||this.cd.detectChanges()}get itemSize(){return this._itemSize}set itemSize(u){this._itemSize=u,console.warn("The itemSize property is deprecated, use virtualScrollItemSize property instead.")}_itemSize;get autoZIndex(){return this._autoZIndex}set autoZIndex(u){this._autoZIndex=u,console.warn("The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.")}_autoZIndex;get baseZIndex(){return this._baseZIndex}set baseZIndex(u){this._baseZIndex=u,console.warn("The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.")}_baseZIndex;get showTransitionOptions(){return this._showTransitionOptions}set showTransitionOptions(u){this._showTransitionOptions=u,console.warn("The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.")}_showTransitionOptions;get hideTransitionOptions(){return this._hideTransitionOptions}set hideTransitionOptions(u){this._hideTransitionOptions=u,console.warn("The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.")}_hideTransitionOptions;get filterValue(){return this._filterValue()}set filterValue(u){setTimeout(()=>{this._filterValue.set(u)})}get options(){return this._options()}set options(u){le.BF.deepEquals(u,this._options())||this._options.set(u)}onChange=new e.bkB;onFilter=new e.bkB;onFocus=new e.bkB;onBlur=new e.bkB;onClick=new e.bkB;onShow=new e.bkB;onHide=new e.bkB;onClear=new e.bkB;onLazyLoad=new e.bkB;containerViewChild;filterViewChild;focusInputViewChild;editableInputViewChild;itemsViewChild;scroller;overlayViewChild;firstHiddenFocusableElementOnOverlay;lastHiddenFocusableElementOnOverlay;templates;_disabled;itemsWrapper;itemTemplate;groupTemplate;loaderTemplate;selectedItemTemplate;headerTemplate;filterTemplate;footerTemplate;emptyFilterTemplate;emptyTemplate;dropdownIconTemplate;clearIconTemplate;filterIconTemplate;filterOptions;_options=(0,e.vPA)(null);_placeholder=(0,e.vPA)(void 0);modelValue=(0,e.vPA)(null);value;onModelChange=()=>{};onModelTouched=()=>{};hover;focused;overlayVisible;optionsChanged;panel;dimensionsUpdated;hoveredItem;selectedOptionUpdated;_filterValue=(0,e.vPA)(null);searchValue;searchIndex;searchTimeout;previousSearchChar;currentSearchChar;preventModelTouched;focusedOptionIndex=(0,e.vPA)(-1);labelId;listId;clicked=(0,e.vPA)(!1);get emptyMessageLabel(){return this.emptyMessage||this.config.getTranslation(Le.Yj.EMPTY_MESSAGE)}get emptyFilterMessageLabel(){return this.emptyFilterMessage||this.config.getTranslation(Le.Yj.EMPTY_FILTER_MESSAGE)}get isVisibleClearIcon(){return null!=this.modelValue()&&this.hasSelectedOption()&&this.showClear&&!this.disabled}get listLabel(){return this.config.getTranslation(Le.Yj.ARIA).listLabel}get containerClass(){return{"p-dropdown p-component p-inputwrapper":!0,"p-disabled":this.disabled,"p-dropdown-clearable":this.showClear&&!this.disabled,"p-focus":this.focused,"p-inputwrapper-filled":void 0!==this.modelValue()&&null!==this.modelValue()&&!this.modelValue().length,"p-inputwrapper-focus":this.focused||this.overlayVisible}}get inputClass(){const u=this.label();return{"p-dropdown-label p-inputtext":!0,"p-placeholder":this.placeholder()&&u===this.placeholder(),"p-dropdown-label-empty":!(this.editable||this.selectedItemTemplate||null!=u&&"p-emptylabel"!==u&&0!==u.length)}}get panelClass(){return{"p-dropdown-panel p-component":!0,"p-input-filled":"filled"===this.config.inputStyle,"p-ripple-disabled":!1===this.config.ripple}}get focusedOptionId(){return-1!==this.focusedOptionIndex()?`${this.id}_${this.focusedOptionIndex()}`:null}visibleOptions=(0,e.EWP)(()=>{const u=this.getAllVisibleAndNonVisibleOptions();if(this._filterValue()){const de=this.filterBy||this.optionLabel||this.filterFields||this.optionValue?this.filterService.filter(u,this.searchFields(),this._filterValue().trim(),this.filterMatchMode,this.filterLocale):this.options.filter(Ae=>Ae.label?-1!==Ae.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()):-1!==Ae.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()));if(this.group){const nt=[];return(this.options||[]).forEach(kt=>{const ai=this.getOptionGroupChildren(kt).filter(oi=>de.includes(oi));ai.length>0&&nt.push({...kt,["string"==typeof this.optionGroupChildren?this.optionGroupChildren:"items"]:[...ai]})}),this.flatOptions(nt)}return de}return u});label=(0,e.EWP)(()=>{const u=this.getAllVisibleAndNonVisibleOptions(),ie=u.findIndex(de=>this.isOptionValueEqualsModelValue(de));return-1!==ie?this.getOptionLabel(u[ie]):this.placeholder()||"p-emptylabel"});filled=(0,e.EWP)(()=>"string"==typeof this.modelValue()?!!this.modelValue():"p-emptylabel"!==this.label()&&void 0!==this.modelValue()&&null!==this.modelValue());selectedOption;editableInputValue=(0,e.EWP)(()=>this.getOptionLabel(this.selectedOption)||this.modelValue()||"");constructor(u,ie,de,Ae,nt,kt){this.el=u,this.renderer=ie,this.cd=de,this.zone=Ae,this.filterService=nt,this.config=kt,(0,e.QZP)(()=>{const zt=this.modelValue(),ai=this.visibleOptions();if(ai&&le.BF.isNotEmpty(ai)){const oi=this.findSelectedOptionIndex();(-1!==oi||void 0===zt||"string"==typeof zt&&0===zt.length||this.isModelValueNotSet()||this.editable)&&(this.selectedOption=ai[oi])}le.BF.isEmpty(ai)&&(void 0===zt||this.isModelValueNotSet())&&le.BF.isNotEmpty(this.selectedOption)&&(this.selectedOption=null),void 0!==zt&&this.editable&&this.updateEditableLabel(),this.cd.markForCheck()})}isModelValueNotSet(){return null===this.modelValue()&&!this.isOptionValueEqualsModelValue(this.selectedOption)}displayPlaceholder(){return le.BF.isEmpty(this.selectedOption)&&this.label()===this.placeholder()}getAllVisibleAndNonVisibleOptions(){return this.group?this.flatOptions(this.options):this.options||[]}ngOnInit(){this.id=this.id||(0,le._Y)(),this.autoUpdateModel(),this.filterBy&&(this.filterOptions={filter:u=>this.onFilterInputChange(u),reset:()=>this.resetFilter()})}ngAfterViewChecked(){if(this.optionsChanged&&this.overlayVisible&&(this.optionsChanged=!1,this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.overlayViewChild&&this.overlayViewChild.alignOverlay()},1)})),this.selectedOptionUpdated&&this.itemsWrapper){let u=re.D.findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement,"li.p-highlight");u&&re.D.scrollInView(this.itemsWrapper,u),this.selectedOptionUpdated=!1}}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"item":default:this.itemTemplate=u.template;break;case"selectedItem":this.selectedItemTemplate=u.template;break;case"header":this.headerTemplate=u.template;break;case"filter":this.filterTemplate=u.template;break;case"footer":this.footerTemplate=u.template;break;case"emptyfilter":this.emptyFilterTemplate=u.template;break;case"empty":this.emptyTemplate=u.template;break;case"group":this.groupTemplate=u.template;break;case"loader":this.loaderTemplate=u.template;break;case"dropdownicon":this.dropdownIconTemplate=u.template;break;case"clearicon":this.clearIconTemplate=u.template;break;case"filtericon":this.filterIconTemplate=u.template}})}flatOptions(u){return(u||[]).reduce((ie,de,Ae)=>{ie.push({optionGroup:de,group:!0,index:Ae});const nt=this.getOptionGroupChildren(de);return nt&&nt.forEach(kt=>ie.push(kt)),ie},[])}autoUpdateModel(){if(this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption()&&(this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex()),this.onOptionSelect(null,this.visibleOptions()[this.focusedOptionIndex()],!1)),this.autoDisplayFirst&&(null===this.modelValue()||void 0===this.modelValue())&&!this.placeholder()){const u=this.findFirstOptionIndex();this.onOptionSelect(null,this.visibleOptions()[u],!1,!0)}}onOptionSelect(u,ie,de=!0,Ae=!1){if(!this.isSelected(ie)){const nt=this.getOptionValue(ie);this.updateModel(nt,u),this.focusedOptionIndex.set(this.findSelectedOptionIndex()),!1===Ae&&this.onChange.emit({originalEvent:u,value:nt})}de&&this.hide(!0)}onOptionMouseEnter(u,ie){this.focusOnHover&&this.changeFocusedOptionIndex(u,ie)}updateModel(u,ie){this.value=u,this.onModelChange(u),this.modelValue.set(u),this.selectedOptionUpdated=!0}writeValue(u){this.filter&&this.resetFilter(),this.value=u,this.allowModelChange()&&this.onModelChange(u),this.modelValue.set(this.value),this.updateEditableLabel(),this.cd.markForCheck()}allowModelChange(){return this.autoDisplayFirst&&!this.placeholder()&&(void 0===this.modelValue()||null===this.modelValue())&&!this.editable&&this.options&&this.options.length}isSelected(u){return this.isValidOption(u)&&this.isOptionValueEqualsModelValue(u)}isOptionValueEqualsModelValue(u){return le.BF.equals(this.modelValue(),this.getOptionValue(u),this.equalityKey())}ngAfterViewInit(){this.editable&&this.updateEditableLabel()}updateEditableLabel(){this.editableInputViewChild&&(this.editableInputViewChild.nativeElement.value=this.getOptionLabel(this.selectedOption)||this.modelValue()||"")}clearEditableLabel(){this.editableInputViewChild&&(this.editableInputViewChild.nativeElement.value="")}getOptionIndex(u,ie){return this.virtualScrollerDisabled?u:ie&&ie.getItemOptions(u).index}getOptionLabel(u){return null!=this.optionLabel?le.BF.resolveFieldData(u,this.optionLabel):u&&void 0!==u.label?u.label:u}getOptionValue(u){return this.optionValue&&null!==this.optionValue?le.BF.resolveFieldData(u,this.optionValue):!this.optionLabel&&u&&void 0!==u.value?u.value:u}isOptionDisabled(u){return!(this.getOptionValue(this.modelValue())===this.getOptionValue(u)||this.getOptionLabel(this.modelValue()===this.getOptionLabel(u))&&!1===u.disabled)&&(this.optionDisabled?le.BF.resolveFieldData(u,this.optionDisabled):!(!u||void 0===u.disabled)&&u.disabled)}getOptionGroupLabel(u){return null!=this.optionGroupLabel?le.BF.resolveFieldData(u,this.optionGroupLabel):u&&void 0!==u.label?u.label:u}getOptionGroupChildren(u){return null!=this.optionGroupChildren?le.BF.resolveFieldData(u,this.optionGroupChildren):u.items}getAriaPosInset(u){return(this.optionGroupLabel?u-this.visibleOptions().slice(0,u).filter(ie=>this.isOptionGroup(ie)).length:u)+1}get ariaSetSize(){return this.visibleOptions().filter(u=>!this.isOptionGroup(u)).length}resetFilter(){this._filterValue.set(null),this.filterViewChild&&this.filterViewChild.nativeElement&&(this.filterViewChild.nativeElement.value="")}registerOnChange(u){this.onModelChange=u}registerOnTouched(u){this.onModelTouched=u}setDisabledState(u){this.disabled=u,this.cd.markForCheck()}onContainerClick(u){this.disabled||this.readonly||(this.focusInputViewChild?.nativeElement.focus({preventScroll:!0}),"INPUT"!==u.target.tagName&&"clearicon"!==u.target.getAttribute("data-pc-section")&&!u.target.closest('[data-pc-section="clearicon"]')&&((!this.overlayViewChild||!this.overlayViewChild.el.nativeElement.contains(u.target))&&(this.overlayVisible?this.hide(!0):this.show(!0)),this.onClick.emit(u),this.clicked.set(!0),this.cd.detectChanges()))}isEmpty(){return!this._options()||this.visibleOptions()&&0===this.visibleOptions().length}onEditableInput(u){const ie=u.target.value;this.searchValue="",!this.searchOptions(u,ie)&&this.focusedOptionIndex.set(-1),this.onModelChange(ie),this.updateModel(ie,u),setTimeout(()=>{this.onChange.emit({originalEvent:u,value:ie})},1),!this.overlayVisible&&le.BF.isNotEmpty(ie)&&this.show()}show(u){this.overlayVisible=!0;const ie=-1!==this.focusedOptionIndex()?this.focusedOptionIndex():this.autoOptionFocus?this.findFirstFocusedOptionIndex():this.editable?-1:this.findSelectedOptionIndex();this.focusedOptionIndex.set(ie),u&&re.D.focus(this.focusInputViewChild?.nativeElement),this.cd.markForCheck()}onOverlayAnimationStart(u){if("visible"===u.toState){if(this.itemsWrapper=re.D.findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement,this.virtualScroll?".p-scroller":".p-dropdown-items-wrapper"),this.virtualScroll&&this.scroller?.setContentEl(this.itemsViewChild?.nativeElement),this.options&&this.options.length)if(this.virtualScroll){const ie=this.modelValue()?this.focusedOptionIndex():-1;-1!==ie&&this.scroller?.scrollToIndex(ie)}else{let ie=re.D.findSingle(this.itemsWrapper,".p-dropdown-item.p-highlight");ie&&ie.scrollIntoView({block:"nearest",inline:"nearest"})}this.filterViewChild&&this.filterViewChild.nativeElement&&(this.preventModelTouched=!0,this.autofocusFilter&&!this.editable&&this.filterViewChild.nativeElement.focus()),this.onShow.emit(u)}"void"===u.toState&&(this.itemsWrapper=null,this.onModelTouched(),this.onHide.emit(u))}hide(u){this.overlayVisible=!1,this.focusedOptionIndex.set(-1),this.clicked.set(!1),this.searchValue="",this.filter&&this.resetFilterOnHide&&this.resetFilter(),u&&(this.focusInputViewChild&&re.D.focus(this.focusInputViewChild?.nativeElement),this.editable&&this.editableInputViewChild&&re.D.focus(this.editableInputViewChild?.nativeElement)),this.cd.markForCheck()}onInputFocus(u){if(this.disabled)return;this.focused=!0;const ie=-1!==this.focusedOptionIndex()?this.focusedOptionIndex():this.overlayVisible&&this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1;this.focusedOptionIndex.set(ie),this.overlayVisible&&this.scrollInView(this.focusedOptionIndex()),this.onFocus.emit(u)}onInputBlur(u){this.focused=!1,!1===this.overlayVisible&&this.onBlur.emit(u),this.preventModelTouched||this.onModelTouched(),this.preventModelTouched=!1}onKeyDown(u,ie){if(!this.disabled&&!this.readonly){switch(u.code){case"ArrowDown":this.onArrowDownKey(u);break;case"ArrowUp":this.onArrowUpKey(u,this.editable);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(u,this.editable);break;case"Delete":this.onDeleteKey(u);break;case"Home":this.onHomeKey(u,this.editable);break;case"End":this.onEndKey(u,this.editable);break;case"PageDown":this.onPageDownKey(u);break;case"PageUp":this.onPageUpKey(u);break;case"Space":this.onSpaceKey(u,ie);break;case"Enter":case"NumpadEnter":this.onEnterKey(u);break;case"Escape":this.onEscapeKey(u);break;case"Tab":this.onTabKey(u);break;case"Backspace":this.onBackspaceKey(u,this.editable);break;case"ShiftLeft":case"ShiftRight":break;default:!u.metaKey&&le.BF.isPrintableCharacter(u.key)&&(!this.overlayVisible&&this.show(),!this.editable&&this.searchOptions(u,u.key))}this.clicked.set(!1)}}onFilterKeyDown(u){switch(u.code){case"ArrowDown":this.onArrowDownKey(u);break;case"ArrowUp":this.onArrowUpKey(u,!0);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(u,!0);break;case"Home":this.onHomeKey(u,!0);break;case"End":this.onEndKey(u,!0);break;case"Enter":this.onEnterKey(u,!0);break;case"Escape":this.onEscapeKey(u);break;case"Tab":this.onTabKey(u,!0)}}onFilterBlur(u){this.focusedOptionIndex.set(-1)}onArrowDownKey(u){if(this.overlayVisible){const ie=-1!==this.focusedOptionIndex()?this.findNextOptionIndex(this.focusedOptionIndex()):this.clicked()?this.findFirstOptionIndex():this.findFirstFocusedOptionIndex();this.changeFocusedOptionIndex(u,ie)}else this.show(),this.editable&&this.changeFocusedOptionIndex(u,this.findSelectedOptionIndex());u.preventDefault()}changeFocusedOptionIndex(u,ie){if(this.focusedOptionIndex()!==ie&&(this.focusedOptionIndex.set(ie),this.scrollInView(),this.selectOnFocus)){const de=this.visibleOptions()[ie];this.onOptionSelect(u,de,!1)}}get virtualScrollerDisabled(){return!this.virtualScroll}scrollInView(u=-1){if(this.itemsViewChild&&this.itemsViewChild.nativeElement){const de=re.D.findSingle(this.itemsViewChild.nativeElement,`li[id="${-1!==u?`${this.id}_${u}`:this.focusedOptionId}"]`);de?de.scrollIntoView&&de.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||setTimeout(()=>{this.virtualScroll&&this.scroller?.scrollToIndex(-1!==u?u:this.focusedOptionIndex())},0)}}hasSelectedOption(){return void 0!==this.modelValue()}isValidSelectedOption(u){return this.isValidOption(u)&&this.isSelected(u)}equalityKey(){return this.optionValue?null:this.dataKey}findFirstFocusedOptionIndex(){const u=this.findSelectedOptionIndex();return u<0?this.findFirstOptionIndex():u}findFirstOptionIndex(){return this.visibleOptions().findIndex(u=>this.isValidOption(u))}findSelectedOptionIndex(){return this.hasSelectedOption()?this.visibleOptions().findIndex(u=>this.isValidSelectedOption(u)):-1}findNextOptionIndex(u){const ie=uthis.isValidOption(de)):-1;return ie>-1?ie+u+1:u}findPrevOptionIndex(u){const ie=u>0?le.BF.findLastIndex(this.visibleOptions().slice(0,u),de=>this.isValidOption(de)):-1;return ie>-1?ie:u}findLastOptionIndex(){return le.BF.findLastIndex(this.visibleOptions(),u=>this.isValidOption(u))}findLastFocusedOptionIndex(){const u=this.findSelectedOptionIndex();return u<0?this.findLastOptionIndex():u}isValidOption(u){return null!=u&&!(this.isOptionDisabled(u)||this.isOptionGroup(u))}isOptionGroup(u){return null!=this.optionGroupLabel&&null!=u.optionGroup&&u.group}onArrowUpKey(u,ie=!1){if(u.altKey&&!ie){if(-1!==this.focusedOptionIndex()){const de=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(u,de)}this.overlayVisible&&this.hide(),u.preventDefault()}else{const de=-1!==this.focusedOptionIndex()?this.findPrevOptionIndex(this.focusedOptionIndex()):this.clicked()?this.findLastOptionIndex():this.findLastFocusedOptionIndex();this.changeFocusedOptionIndex(u,de),!this.overlayVisible&&this.show(),u.preventDefault()}}onArrowLeftKey(u,ie=!1){ie&&this.focusedOptionIndex.set(-1)}onDeleteKey(u){this.showClear&&(this.clear(u),u.preventDefault())}onHomeKey(u,ie=!1){if(ie){const de=u.currentTarget;u.shiftKey?de.setSelectionRange(0,de.value.length):(de.setSelectionRange(0,0),this.focusedOptionIndex.set(-1))}else this.changeFocusedOptionIndex(u,this.findFirstOptionIndex()),!this.overlayVisible&&this.show();u.preventDefault()}onEndKey(u,ie=!1){if(ie){const de=u.currentTarget;if(u.shiftKey)de.setSelectionRange(0,de.value.length);else{const Ae=de.value.length;de.setSelectionRange(Ae,Ae),this.focusedOptionIndex.set(-1)}}else this.changeFocusedOptionIndex(u,this.findLastOptionIndex()),!this.overlayVisible&&this.show();u.preventDefault()}onPageDownKey(u){this.scrollInView(this.visibleOptions().length-1),u.preventDefault()}onPageUpKey(u){this.scrollInView(0),u.preventDefault()}onSpaceKey(u,ie=!1){!this.editable&&!ie&&this.onEnterKey(u)}onEnterKey(u,ie=!1){if(this.overlayVisible){if(-1!==this.focusedOptionIndex()){const de=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(u,de)}!ie&&this.hide()}else this.focusedOptionIndex.set(-1),this.onArrowDownKey(u);u.preventDefault()}onEscapeKey(u){this.overlayVisible&&this.hide(!0),u.preventDefault()}onTabKey(u,ie=!1){if(!ie)if(this.overlayVisible&&this.hasFocusableElements())re.D.focus(u.shiftKey?this.lastHiddenFocusableElementOnOverlay.nativeElement:this.firstHiddenFocusableElementOnOverlay.nativeElement),u.preventDefault();else{if(-1!==this.focusedOptionIndex()&&this.overlayVisible){const de=this.visibleOptions()[this.focusedOptionIndex()];this.onOptionSelect(u,de)}this.overlayVisible&&this.hide(this.filter)}}onFirstHiddenFocus(u){const ie=u.relatedTarget===this.focusInputViewChild?.nativeElement?re.D.getFirstFocusableElement(this.overlayViewChild.el?.nativeElement,":not(.p-hidden-focusable)"):this.focusInputViewChild?.nativeElement;re.D.focus(ie)}onLastHiddenFocus(u){const ie=u.relatedTarget===this.focusInputViewChild?.nativeElement?re.D.getLastFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement,':not([data-p-hidden-focusable="true"])'):this.focusInputViewChild?.nativeElement;re.D.focus(ie)}hasFocusableElements(){return re.D.getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement,':not([data-p-hidden-focusable="true"])').length>0}onBackspaceKey(u,ie=!1){ie&&!this.overlayVisible&&this.show()}searchFields(){return this.filterBy?.split(",")||this.filterFields||[this.optionLabel]}searchOptions(u,ie){this.searchValue=(this.searchValue||"")+ie;let de=-1,Ae=!1;return-1!==this.focusedOptionIndex()?(de=this.visibleOptions().slice(this.focusedOptionIndex()).findIndex(nt=>this.isOptionMatched(nt)),de=-1===de?this.visibleOptions().slice(0,this.focusedOptionIndex()).findIndex(nt=>this.isOptionMatched(nt)):de+this.focusedOptionIndex()):de=this.visibleOptions().findIndex(nt=>this.isOptionMatched(nt)),-1!==de&&(Ae=!0),-1===de&&-1===this.focusedOptionIndex()&&(de=this.findFirstFocusedOptionIndex()),-1!==de&&this.changeFocusedOptionIndex(u,de),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout(()=>{this.searchValue="",this.searchTimeout=null},500),Ae}isOptionMatched(u){return this.isValidOption(u)&&this.getOptionLabel(u).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))}onFilterInputChange(u){this._filterValue.set(u.target.value),this.focusedOptionIndex.set(-1),this.onFilter.emit({originalEvent:u,filter:this._filterValue()}),!this.virtualScrollerDisabled&&this.scroller.scrollToIndex(0),setTimeout(()=>{this.overlayViewChild.alignOverlay()}),this.cd.markForCheck()}applyFocus(){this.editable?re.D.findSingle(this.el.nativeElement,".p-dropdown-label.p-inputtext").focus():re.D.focus(this.focusInputViewChild?.nativeElement)}focus(){this.applyFocus()}clear(u){this.updateModel(null,u),this.clearEditableLabel(),this.onModelTouched(),this.onChange.emit({originalEvent:u,value:this.value}),this.onClear.emit(u),this.resetFilter()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.aKT),e.rXU(e.sFG),e.rXU(e.gRc),e.rXU(e.SKi),e.rXU(Le.E),e.rXU(Le.r1))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-dropdown"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(to,5),e.GBs(ba,5),e.GBs(va,5),e.GBs(Mo,5),e.GBs(Js,5),e.GBs(bo,5),e.GBs(Eo,5),e.GBs(wh,5),e.GBs(Lc,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.containerViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.filterViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.focusInputViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.editableInputViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.itemsViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.scroller=Ae.first),e.mGM(Ae=e.lsd())&&(de.overlayViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.firstHiddenFocusableElementOnOverlay=Ae.first),e.mGM(Ae=e.lsd())&&(de.lastHiddenFocusableElementOnOverlay=Ae.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:4,hostBindings:function(ie,de){2&ie&&e.AVh("p-inputwrapper-filled",de.filled())("p-inputwrapper-focus",de.focused||de.overlayVisible)},inputs:{id:"id",scrollHeight:"scrollHeight",filter:"filter",name:"name",style:"style",panelStyle:"panelStyle",styleClass:"styleClass",panelStyleClass:"panelStyleClass",readonly:"readonly",required:"required",editable:"editable",appendTo:"appendTo",tabindex:"tabindex",placeholder:"placeholder",filterPlaceholder:"filterPlaceholder",filterLocale:"filterLocale",inputId:"inputId",dataKey:"dataKey",filterBy:"filterBy",filterFields:"filterFields",autofocus:"autofocus",resetFilterOnHide:"resetFilterOnHide",dropdownIcon:"dropdownIcon",optionLabel:"optionLabel",optionValue:"optionValue",optionDisabled:"optionDisabled",optionGroupLabel:"optionGroupLabel",optionGroupChildren:"optionGroupChildren",autoDisplayFirst:"autoDisplayFirst",group:"group",showClear:"showClear",emptyFilterMessage:"emptyFilterMessage",emptyMessage:"emptyMessage",lazy:"lazy",virtualScroll:"virtualScroll",virtualScrollItemSize:"virtualScrollItemSize",virtualScrollOptions:"virtualScrollOptions",overlayOptions:"overlayOptions",ariaFilterLabel:"ariaFilterLabel",ariaLabel:"ariaLabel",ariaLabelledBy:"ariaLabelledBy",filterMatchMode:"filterMatchMode",maxlength:"maxlength",tooltip:"tooltip",tooltipPosition:"tooltipPosition",tooltipPositionStyle:"tooltipPositionStyle",tooltipStyleClass:"tooltipStyleClass",focusOnHover:"focusOnHover",selectOnFocus:"selectOnFocus",autoOptionFocus:"autoOptionFocus",autofocusFilter:"autofocusFilter",disabled:"disabled",itemSize:"itemSize",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",filterValue:"filterValue",options:"options"},outputs:{onChange:"onChange",onFilter:"onFilter",onFocus:"onFocus",onBlur:"onBlur",onClick:"onClick",onShow:"onShow",onHide:"onHide",onClear:"onClear",onLazyLoad:"onLazyLoad"},features:[e.Jv_([Pc])],decls:11,vars:20,consts:[["container",""],["overlay",""],["focusInput",""],["defaultPlaceholder",""],["editableInput",""],["firstHiddenFocusableEl",""],["buildInItems",""],["lastHiddenFocusableEl",""],["builtInFilterElement",""],["filter",""],["scroller",""],["items",""],["emptyFilter",""],["empty",""],[3,"click","ngClass","ngStyle"],["role","combobox","pAutoFocus","",3,"ngClass","pTooltip","tooltipPosition","positionStyle","tooltipStyleClass","autofocus","focus","blur","keydown",4,"ngIf"],["type","text","aria-haspopup","listbox",3,"ngClass","disabled","input","keydown","focus","blur",4,"ngIf"],[4,"ngIf"],["role","button","aria-label","dropdown trigger","aria-haspopup","listbox",1,"p-dropdown-trigger"],["class","p-dropdown-trigger-icon",4,"ngIf"],[3,"visibleChange","onAnimationStart","onHide","visible","options","target","appendTo","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions"],["pTemplate","content"],["role","combobox","pAutoFocus","",3,"focus","blur","keydown","ngClass","pTooltip","tooltipPosition","positionStyle","tooltipStyleClass","autofocus"],[4,"ngIf","ngIfElse"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["type","text","aria-haspopup","listbox",3,"input","keydown","focus","blur","ngClass","disabled"],[3,"styleClass","click",4,"ngIf"],["class","p-dropdown-clear-icon",3,"click",4,"ngIf"],[3,"click","styleClass"],[1,"p-dropdown-clear-icon",3,"click"],[4,"ngTemplateOutlet"],["class","p-dropdown-trigger-icon",3,"ngClass",4,"ngIf"],[3,"styleClass",4,"ngIf"],[1,"p-dropdown-trigger-icon",3,"ngClass"],[3,"styleClass"],[1,"p-dropdown-trigger-icon"],[3,"ngClass","ngStyle"],["role","presentation",1,"p-hidden-accessible","p-hidden-focusable",3,"focus"],["class","p-dropdown-header",3,"click",4,"ngIf"],[1,"p-dropdown-items-wrapper"],[3,"items","style","itemSize","autoSize","lazy","options","onLazyLoad",4,"ngIf"],[1,"p-dropdown-header",3,"click"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-dropdown-filter-container"],["type","text","autocomplete","off",1,"p-dropdown-filter","p-inputtext","p-component",3,"input","keydown","blur","value"],["class","p-dropdown-filter-icon",4,"ngIf"],[1,"p-dropdown-filter-icon"],[3,"onLazyLoad","items","itemSize","autoSize","lazy","options"],["pTemplate","loader"],["role","listbox",1,"p-dropdown-items",3,"ngClass"],["ngFor","",3,"ngForOf"],["class","p-dropdown-empty-message",3,"ngStyle",4,"ngIf"],["role","option",1,"p-dropdown-item-group",3,"ngStyle"],[3,"onClick","onMouseEnter","id","option","selected","label","disabled","template","focused","ariaPosInset","ariaSetSize"],[1,"p-dropdown-empty-message",3,"ngStyle"]],template:function(ie,de){if(1&ie){const Ae=e.RV6();e.j41(0,"div",14,0),e.bIt("click",function(kt){return e.eBV(Ae),e.Njj(de.onContainerClick(kt))}),e.DNE(2,Or,6,20,"span",15)(3,cn,2,4,"input",16)(4,Ye,3,2,"ng-container",17),e.j41(5,"div",18),e.DNE(6,Fi,3,2,"ng-container",17)(7,nr,2,1,"span",19),e.k0s(),e.j41(8,"p-overlay",20,1),e.mxI("visibleChange",function(kt){return e.eBV(Ae),e.DH7(de.overlayVisible,kt)||(de.overlayVisible=kt),e.Njj(kt)}),e.bIt("onAnimationStart",function(kt){return e.eBV(Ae),e.Njj(de.onOverlayAnimationStart(kt))})("onHide",function(){return e.eBV(Ae),e.Njj(de.hide())}),e.DNE(10,cl,13,19,"ng-template",21),e.k0s()()}if(2&ie){let Ae;e.HbH(de.styleClass),e.Y8G("ngClass",de.containerClass)("ngStyle",de.style),e.BMQ("id",de.id),e.R7$(2),e.Y8G("ngIf",!de.editable),e.R7$(),e.Y8G("ngIf",de.editable),e.R7$(),e.Y8G("ngIf",de.isVisibleClearIcon),e.R7$(),e.BMQ("aria-expanded",null!==(Ae=de.overlayVisible)&&void 0!==Ae&&Ae)("data-pc-section","trigger"),e.R7$(),e.Y8G("ngIf",!de.dropdownIconTemplate),e.R7$(),e.Y8G("ngIf",de.dropdownIconTemplate),e.R7$(),e.R50("visible",de.overlayVisible),e.Y8G("options",de.overlayOptions)("target","@parent")("appendTo",de.appendTo)("autoZIndex",de.autoZIndex)("baseZIndex",de.baseZIndex)("showTransitionOptions",de.showTransitionOptions)("hideTransitionOptions",de.hideTransitionOptions)}},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,Ba,Le.Ei,ma,ga,ls,E.A,X,cr,Hl],styles:["@layer primeng{.p-dropdown{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-dropdown-clear-icon{position:absolute;top:50%;margin-top:-.5rem}.p-dropdown-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-dropdown-label{display:block;white-space:nowrap;overflow:hidden;flex:1 1 auto;width:1%;text-overflow:ellipsis;cursor:pointer}.p-dropdown-label-empty{overflow:hidden;opacity:0}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.p-dropdown-item-group{cursor:auto}.p-dropdown-items{margin:0;padding:0;list-style-type:none}.p-dropdown-filter{width:100%}.p-dropdown-filter-container{position:relative}.p-dropdown-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-dropdown{display:flex}.p-fluid .p-dropdown .p-dropdown-label{width:1%}}\n"],encapsulation:2,changeDetection:0})}return ye})(),Lo=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,ja,Le.Gg,Ir,ve.Z,eo,Hn,E.A,X,cr,ja,Le.Gg,eo]})}return ye})(),Nc=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ArrowDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M6.99994 14C6.91097 14.0004 6.82281 13.983 6.74064 13.9489C6.65843 13.9148 6.58387 13.8646 6.52133 13.8013L1.10198 8.38193C0.982318 8.25351 0.917175 8.08367 0.920272 7.90817C0.923368 7.73267 0.994462 7.56523 1.11858 7.44111C1.24269 7.317 1.41014 7.2459 1.58563 7.2428C1.76113 7.23971 1.93098 7.30485 2.0594 7.42451L6.32263 11.6877V0.677419C6.32263 0.497756 6.394 0.325452 6.52104 0.198411C6.64808 0.0713706 6.82039 0 7.00005 0C7.17971 0 7.35202 0.0713706 7.47906 0.198411C7.6061 0.325452 7.67747 0.497756 7.67747 0.677419V11.6877L11.9407 7.42451C12.0691 7.30485 12.2389 7.23971 12.4144 7.2428C12.5899 7.2459 12.7574 7.317 12.8815 7.44111C13.0056 7.56523 13.0767 7.73267 13.0798 7.90817C13.0829 8.08367 13.0178 8.25351 12.8981 8.38193L7.47875 13.8013C7.41621 13.8646 7.34164 13.9148 7.25944 13.9489C7.17727 13.983 7.08912 14.0004 7.00015 14C7.00012 14 7.00009 14 7.00005 14C7.00001 14 6.99998 14 6.99994 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),Ul=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["ArrowUpIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M6.51551 13.799C6.64205 13.9255 6.813 13.9977 6.99193 14C7.17087 13.9977 7.34182 13.9255 7.46835 13.799C7.59489 13.6725 7.66701 13.5015 7.66935 13.3226V2.31233L11.9326 6.57554C11.9951 6.63887 12.0697 6.68907 12.1519 6.72319C12.2341 6.75731 12.3223 6.77467 12.4113 6.77425C12.5003 6.77467 12.5885 6.75731 12.6707 6.72319C12.7529 6.68907 12.8274 6.63887 12.89 6.57554C13.0168 6.44853 13.0881 6.27635 13.0881 6.09683C13.0881 5.91732 13.0168 5.74514 12.89 5.61812L7.48846 0.216594C7.48274 0.210436 7.4769 0.204374 7.47094 0.198411C7.3439 0.0713707 7.1716 0 6.99193 0C6.81227 0 6.63997 0.0713707 6.51293 0.198411C6.50704 0.204296 6.50128 0.210278 6.49563 0.216354L1.09386 5.61812C0.974201 5.74654 0.909057 5.91639 0.912154 6.09189C0.91525 6.26738 0.986345 6.43483 1.11046 6.55894C1.23457 6.68306 1.40202 6.75415 1.57752 6.75725C1.75302 6.76035 1.92286 6.6952 2.05128 6.57554L6.31451 2.31231V13.3226C6.31685 13.5015 6.38898 13.6725 6.51551 13.799Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),As=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["CheckIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),Fc=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["FilterIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.64708 14H5.35296C5.18981 13.9979 5.03395 13.9321 4.91858 13.8167C4.8032 13.7014 4.73745 13.5455 4.73531 13.3824V7L0.329431 0.98C0.259794 0.889466 0.217389 0.780968 0.20718 0.667208C0.19697 0.553448 0.219379 0.439133 0.271783 0.337647C0.324282 0.236453 0.403423 0.151519 0.500663 0.0920138C0.597903 0.0325088 0.709548 0.000692754 0.823548 0H13.1765C13.2905 0.000692754 13.4021 0.0325088 13.4994 0.0920138C13.5966 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7826 0.780968 13.7402 0.889466 13.6706 0.98L9.26472 7V13.3824C9.26259 13.5455 9.19683 13.7014 9.08146 13.8167C8.96609 13.9321 8.81022 13.9979 8.64708 14ZM5.97061 12.7647H8.02943V6.79412C8.02878 6.66289 8.07229 6.53527 8.15296 6.43177L11.9412 1.23529H2.05884L5.86355 6.43177C5.94422 6.53527 5.98773 6.66289 5.98708 6.79412L5.97061 12.7647Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),Po=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["FilterSlashIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),ea=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["PlusIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M7.67742 6.32258V0.677419C7.67742 0.497757 7.60605 0.325452 7.47901 0.198411C7.35197 0.0713707 7.17966 0 7 0C6.82034 0 6.64803 0.0713707 6.52099 0.198411C6.39395 0.325452 6.32258 0.497757 6.32258 0.677419V6.32258H0.677419C0.497757 6.32258 0.325452 6.39395 0.198411 6.52099C0.0713707 6.64803 0 6.82034 0 7C0 7.17966 0.0713707 7.35197 0.198411 7.47901C0.325452 7.60605 0.497757 7.67742 0.677419 7.67742H6.32258V13.3226C6.32492 13.5015 6.39704 13.6725 6.52358 13.799C6.65012 13.9255 6.82106 13.9977 7 14C7.17966 14 7.35197 13.9286 7.47901 13.8016C7.60605 13.6745 7.67742 13.5022 7.67742 13.3226V7.67742H13.3226C13.5022 7.67742 13.6745 7.60605 13.8016 7.47901C13.9286 7.35197 14 7.17966 14 7C13.9977 6.82106 13.9255 6.65012 13.799 6.52358C13.6725 6.39704 13.5015 6.32492 13.3226 6.32258H7.67742Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),Hs=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["SortAltIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:9,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z","fill","currentColor"],["d","M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z","fill","currentColor"],["d","M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z","fill","currentColor"],["d","M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1)(3,"path",2)(4,"path",3)(5,"path",4),e.k0s(),e.j41(6,"defs")(7,"clipPath",5),e.nrm(8,"rect",6),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(6),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),Xs=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["SortAmountDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.93953 10.5858L3.83759 11.6877V0.677419C3.83759 0.307097 3.53049 0 3.16017 0C2.78985 0 2.48275 0.307097 2.48275 0.677419V11.6877L1.38082 10.5858C1.11888 10.3239 0.685331 10.3239 0.423396 10.5858C0.16146 10.8477 0.16146 11.2813 0.423396 11.5432L2.68146 13.8013C2.74469 13.8645 2.81694 13.9097 2.89823 13.9458C2.97952 13.9819 3.06985 14 3.16017 14C3.25049 14 3.33178 13.9819 3.42211 13.9458C3.5034 13.9097 3.57565 13.8645 3.63888 13.8013L5.89694 11.5432C6.15888 11.2813 6.15888 10.8477 5.89694 10.5858C5.63501 10.3239 5.20146 10.3239 4.93953 10.5858ZM13.0957 0H7.22468C6.85436 0 6.54726 0.307097 6.54726 0.677419C6.54726 1.04774 6.85436 1.35484 7.22468 1.35484H13.0957C13.466 1.35484 13.7731 1.04774 13.7731 0.677419C13.7731 0.307097 13.466 0 13.0957 0ZM7.22468 5.41935H9.48275C9.85307 5.41935 10.1602 5.72645 10.1602 6.09677C10.1602 6.4671 9.85307 6.77419 9.48275 6.77419H7.22468C6.85436 6.77419 6.54726 6.4671 6.54726 6.09677C6.54726 5.72645 6.85436 5.41935 7.22468 5.41935ZM7.6763 8.12903H7.22468C6.85436 8.12903 6.54726 8.43613 6.54726 8.80645C6.54726 9.17677 6.85436 9.48387 7.22468 9.48387H7.6763C8.04662 9.48387 8.35372 9.17677 8.35372 8.80645C8.35372 8.43613 8.04662 8.12903 7.6763 8.12903ZM7.22468 2.70968H11.2892C11.6595 2.70968 11.9666 3.01677 11.9666 3.3871C11.9666 3.75742 11.6595 4.06452 11.2892 4.06452H7.22468C6.85436 4.06452 6.54726 3.75742 6.54726 3.3871C6.54726 3.01677 6.85436 2.70968 7.22468 2.70968Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),ta=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["SortAmountUpAltIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M3.63435 0.19871C3.57113 0.135484 3.49887 0.0903226 3.41758 0.0541935C3.255 -0.0180645 3.06532 -0.0180645 2.90274 0.0541935C2.82145 0.0903226 2.74919 0.135484 2.68597 0.19871L0.427901 2.45677C0.165965 2.71871 0.165965 3.15226 0.427901 3.41419C0.689836 3.67613 1.12338 3.67613 1.38532 3.41419L2.48726 2.31226V13.3226C2.48726 13.6929 2.79435 14 3.16467 14C3.535 14 3.84209 13.6929 3.84209 13.3226V2.31226L4.94403 3.41419C5.07951 3.54968 5.25113 3.6129 5.42274 3.6129C5.59435 3.6129 5.76597 3.54968 5.90145 3.41419C6.16338 3.15226 6.16338 2.71871 5.90145 2.45677L3.64338 0.19871H3.63435ZM13.7685 13.3226C13.7685 12.9523 13.4615 12.6452 13.0911 12.6452H7.22016C6.84984 12.6452 6.54274 12.9523 6.54274 13.3226C6.54274 13.6929 6.84984 14 7.22016 14H13.0911C13.4615 14 13.7685 13.6929 13.7685 13.3226ZM7.22016 8.58064C6.84984 8.58064 6.54274 8.27355 6.54274 7.90323C6.54274 7.5329 6.84984 7.22581 7.22016 7.22581H9.47823C9.84855 7.22581 10.1556 7.5329 10.1556 7.90323C10.1556 8.27355 9.84855 8.58064 9.47823 8.58064H7.22016ZM7.22016 5.87097H7.67177C8.0421 5.87097 8.34919 5.56387 8.34919 5.19355C8.34919 4.82323 8.0421 4.51613 7.67177 4.51613H7.22016C6.84984 4.51613 6.54274 4.82323 6.54274 5.19355C6.54274 5.56387 6.84984 5.87097 7.22016 5.87097ZM11.2847 11.2903H7.22016C6.84984 11.2903 6.54274 10.9832 6.54274 10.6129C6.54274 10.2426 6.84984 9.93548 7.22016 9.93548H11.2847C11.655 9.93548 11.9621 10.2426 11.9621 10.6129C11.9621 10.9832 11.655 11.2903 11.2847 11.2903Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),hl=(()=>{class ye extends pe.h{pathId;ngOnInit(){this.pathId="url(#"+(0,le._Y)()+")"}static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["TrashIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:6,vars:7,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M3.44802 13.9955H10.552C10.8056 14.0129 11.06 13.9797 11.3006 13.898C11.5412 13.8163 11.7632 13.6877 11.9537 13.5196C12.1442 13.3515 12.2995 13.1473 12.4104 12.9188C12.5213 12.6903 12.5858 12.442 12.6 12.1884V4.36041H13.4C13.5591 4.36041 13.7117 4.29722 13.8243 4.18476C13.9368 4.07229 14 3.91976 14 3.76071C14 3.60166 13.9368 3.44912 13.8243 3.33666C13.7117 3.22419 13.5591 3.16101 13.4 3.16101H12.0537C12.0203 3.1557 11.9863 3.15299 11.952 3.15299C11.9178 3.15299 11.8838 3.1557 11.8503 3.16101H11.2285C11.2421 3.10893 11.2487 3.05513 11.248 3.00106V1.80966C11.2171 1.30262 10.9871 0.828306 10.608 0.48989C10.229 0.151475 9.73159 -0.0236625 9.22402 0.00257442H4.77602C4.27251 -0.0171866 3.78126 0.160868 3.40746 0.498617C3.03365 0.836366 2.807 1.30697 2.77602 1.80966V3.00106C2.77602 3.0556 2.78346 3.10936 2.79776 3.16101H0.6C0.521207 3.16101 0.443185 3.17652 0.37039 3.20666C0.297595 3.2368 0.231451 3.28097 0.175736 3.33666C0.120021 3.39235 0.0758251 3.45846 0.0456722 3.53121C0.0155194 3.60397 0 3.68196 0 3.76071C0 3.83946 0.0155194 3.91744 0.0456722 3.9902C0.0758251 4.06296 0.120021 4.12907 0.175736 4.18476C0.231451 4.24045 0.297595 4.28462 0.37039 4.31476C0.443185 4.3449 0.521207 4.36041 0.6 4.36041H1.40002V12.1884C1.41426 12.442 1.47871 12.6903 1.58965 12.9188C1.7006 13.1473 1.85582 13.3515 2.04633 13.5196C2.23683 13.6877 2.45882 13.8163 2.69944 13.898C2.94005 13.9797 3.1945 14.0129 3.44802 13.9955ZM2.60002 4.36041H11.304V12.1884C11.304 12.5163 10.952 12.7961 10.504 12.7961H3.40002C2.97602 12.7961 2.60002 12.5163 2.60002 12.1884V4.36041ZM3.95429 3.16101C3.96859 3.10936 3.97602 3.0556 3.97602 3.00106V1.80966C3.97602 1.48183 4.33602 1.20197 4.77602 1.20197H9.24802C9.66403 1.20197 10.048 1.48183 10.048 1.80966V3.00106C10.0473 3.05515 10.054 3.10896 10.0678 3.16101H3.95429ZM5.57571 10.997C5.41731 10.995 5.26597 10.9311 5.15395 10.8191C5.04193 10.7071 4.97808 10.5558 4.97601 10.3973V6.77517C4.97601 6.61612 5.0392 6.46359 5.15166 6.35112C5.26413 6.23866 5.41666 6.17548 5.57571 6.17548C5.73476 6.17548 5.8873 6.23866 5.99976 6.35112C6.11223 6.46359 6.17541 6.61612 6.17541 6.77517V10.3894C6.17647 10.4688 6.16174 10.5476 6.13208 10.6213C6.10241 10.695 6.05841 10.762 6.00261 10.8186C5.94682 10.8751 5.88035 10.92 5.80707 10.9506C5.73378 10.9813 5.65514 10.9971 5.57571 10.997ZM7.99968 10.8214C8.11215 10.9339 8.26468 10.997 8.42373 10.997C8.58351 10.9949 8.73604 10.93 8.84828 10.8163C8.96052 10.7025 9.02345 10.5491 9.02343 10.3894V6.77517C9.02343 6.61612 8.96025 6.46359 8.84778 6.35112C8.73532 6.23866 8.58278 6.17548 8.42373 6.17548C8.26468 6.17548 8.11215 6.23866 7.99968 6.35112C7.88722 6.46359 7.82404 6.61612 7.82404 6.77517V10.3973C7.82404 10.5564 7.88722 10.7089 7.99968 10.8214Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0)(1,"g"),e.nrm(2,"path",1),e.k0s(),e.j41(3,"defs")(4,"clipPath",2),e.nrm(5,"rect",3),e.k0s()()()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role),e.R7$(),e.BMQ("clip-path",de.pathId),e.R7$(3),e.Y8G("id",de.pathId))},encapsulation:2})}return ye})(),xa=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleDownIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),Xr=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleUpIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M10.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})();var _a=We(22242);const ia=["input"],kh=(ye,et,u)=>({"p-inputnumber p-component":!0,"p-inputnumber-buttons-stacked":ye,"p-inputnumber-buttons-horizontal":et,"p-inputnumber-buttons-vertical":u}),Dh=()=>({"p-inputnumber-button p-inputnumber-button-up":!0}),Wl=()=>({"p-inputnumber-button p-inputnumber-button-down":!0});function Ca(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"TimesIcon",8),e.bIt("click",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.clear())}),e.k0s()}2&ye&&(e.Y8G("ngClass","p-inputnumber-clear-icon"),e.BMQ("data-pc-section","clearIcon"))}function Mh(ye,et){}function dl(ye,et){1&ye&&e.DNE(0,Mh,0,0,"ng-template")}function Yr(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",9),e.bIt("click",function(){e.eBV(u);const de=e.XpG(2);return e.Njj(de.clear())}),e.DNE(1,dl,1,0,null,10),e.k0s()}if(2&ye){const u=e.XpG(2);e.BMQ("data-pc-section","clearIcon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.clearIconTemplate)}}function na(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Ca,1,2,"TimesIcon",6)(2,Yr,2,2,"span",7),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",!u.clearIconTemplate),e.R7$(),e.Y8G("ngIf",u.clearIconTemplate)}}function $l(ye,et){if(1&ye&&e.nrm(0,"span",14),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.incrementButtonIcon),e.BMQ("data-pc-section","incrementbuttonicon")}}function fc(ye,et){1&ye&&e.nrm(0,"AngleUpIcon"),2&ye&&e.BMQ("data-pc-section","incrementbuttonicon")}function Ge(ye,et){}function ut(ye,et){1&ye&&e.DNE(0,Ge,0,0,"ng-template")}function Ke(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,fc,1,1,"AngleUpIcon",3)(2,ut,1,0,null,10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.incrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementButtonIconTemplate)}}function at(ye,et){if(1&ye&&e.nrm(0,"span",14),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.decrementButtonIcon),e.BMQ("data-pc-section","decrementbuttonicon")}}function Et(ye,et){1&ye&&e.nrm(0,"AngleDownIcon"),2&ye&&e.BMQ("data-pc-section","decrementbuttonicon")}function Jt(ye,et){}function ci(ye,et){1&ye&&e.DNE(0,Jt,0,0,"ng-template")}function Oi(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Et,1,1,"AngleDownIcon",3)(2,ci,1,0,null,10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.decrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementButtonIconTemplate)}}function Wn(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"span",11)(1,"button",12),e.bIt("mousedown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUpButtonMouseDown(de))})("mouseup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonMouseUp())})("mouseleave",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonMouseLeave())})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUpButtonKeyDown(de))})("keyup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonKeyUp())}),e.DNE(2,$l,1,2,"span",13)(3,Ke,3,2,"ng-container",3),e.k0s(),e.j41(4,"button",12),e.bIt("mousedown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onDownButtonMouseDown(de))})("mouseup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonMouseUp())})("mouseleave",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonMouseLeave())})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onDownButtonKeyDown(de))})("keyup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonKeyUp())}),e.DNE(5,at,1,2,"span",13)(6,Oi,3,2,"ng-container",3),e.k0s()()}if(2&ye){const u=e.XpG();e.BMQ("data-pc-section","buttonGroup"),e.R7$(),e.HbH(u.incrementButtonClass),e.Y8G("ngClass",e.lJ4(17,Dh))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section","incrementbutton"),e.R7$(),e.Y8G("ngIf",u.incrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.incrementButtonIcon),e.R7$(),e.HbH(u.decrementButtonClass),e.Y8G("ngClass",e.lJ4(18,Wl))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section",u.decrementbutton),e.R7$(),e.Y8G("ngIf",u.decrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.decrementButtonIcon)}}function Qn(ye,et){if(1&ye&&e.nrm(0,"span",14),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.incrementButtonIcon),e.BMQ("data-pc-section","incrementbuttonicon")}}function os(ye,et){1&ye&&e.nrm(0,"AngleUpIcon"),2&ye&&e.BMQ("data-pc-section","incrementbuttonicon")}function xn(ye,et){}function ys(ye,et){1&ye&&e.DNE(0,xn,0,0,"ng-template")}function hs(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,os,1,1,"AngleUpIcon",3)(2,ys,1,0,null,10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.incrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.incrementButtonIconTemplate)}}function zs(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",12),e.bIt("mousedown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUpButtonMouseDown(de))})("mouseup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonMouseUp())})("mouseleave",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonMouseLeave())})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onUpButtonKeyDown(de))})("keyup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onUpButtonKeyUp())}),e.DNE(1,Qn,1,2,"span",13)(2,hs,3,2,"ng-container",3),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.incrementButtonClass),e.Y8G("ngClass",e.lJ4(8,Dh))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section","incrementbutton"),e.R7$(),e.Y8G("ngIf",u.incrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.incrementButtonIcon)}}function Lr(ye,et){if(1&ye&&e.nrm(0,"span",14),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.decrementButtonIcon),e.BMQ("data-pc-section","decrementbuttonicon")}}function Zn(ye,et){1&ye&&e.nrm(0,"AngleDownIcon"),2&ye&&e.BMQ("data-pc-section","decrementbuttonicon")}function gi(ye,et){}function Bi(ye,et){1&ye&&e.DNE(0,gi,0,0,"ng-template")}function En(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Zn,1,1,"AngleDownIcon",3)(2,Bi,1,0,null,10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.decrementButtonIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.decrementButtonIconTemplate)}}function ks(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",12),e.bIt("mousedown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onDownButtonMouseDown(de))})("mouseup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonMouseUp())})("mouseleave",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonMouseLeave())})("keydown",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onDownButtonKeyDown(de))})("keyup",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onDownButtonKeyUp())}),e.DNE(1,Lr,1,2,"span",13)(2,En,3,2,"ng-container",3),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.decrementButtonClass),e.Y8G("ngClass",e.lJ4(8,Wl))("disabled",u.disabled),e.BMQ("aria-hidden",!0)("data-pc-section","decrementbutton"),e.R7$(),e.Y8G("ngIf",u.decrementButtonIcon),e.R7$(),e.Y8G("ngIf",!u.decrementButtonIcon)}}const Us={provide:V.kq,useExisting:(0,e.Rfq)(()=>mr),multi:!0};let mr=(()=>{class ye{document;el;cd;injector;showButtons=!1;format=!0;buttonLayout="stacked";inputId;styleClass;style;placeholder;size;maxlength;tabindex;title;ariaLabelledBy;ariaLabel;ariaRequired;name;required;autocomplete;min;max;incrementButtonClass;decrementButtonClass;incrementButtonIcon;decrementButtonIcon;readonly=!1;step=1;allowEmpty=!0;locale;localeMatcher;mode="decimal";currency;currencyDisplay;useGrouping=!0;minFractionDigits;maxFractionDigits;prefix;suffix;inputStyle;inputStyleClass;showClear=!1;get disabled(){return this._disabled}set disabled(u){u&&(this.focused=!1),this._disabled=u,this.timer&&this.clearTimer()}onInput=new e.bkB;onFocus=new e.bkB;onBlur=new e.bkB;onKeyDown=new e.bkB;onClear=new e.bkB;input;templates;clearIconTemplate;incrementButtonIconTemplate;decrementButtonIconTemplate;value;onModelChange=()=>{};onModelTouched=()=>{};focused;initialized;groupChar="";prefixChar="";suffixChar="";isSpecialChar;timer;lastValue;_numeral;numberFormat;_decimal;_decimalChar;_group;_minusSign;_currency;_prefix;_suffix;_index;_disabled;ngControl=null;constructor(u,ie,de,Ae){this.document=u,this.el=ie,this.cd=de,this.injector=Ae}ngOnChanges(u){["locale","localeMatcher","mode","currency","currencyDisplay","useGrouping","minFractionDigits","maxFractionDigits","prefix","suffix"].some(de=>!!u[de])&&this.updateConstructParser()}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"clearicon":this.clearIconTemplate=u.template;break;case"incrementbuttonicon":this.incrementButtonIconTemplate=u.template;break;case"decrementbuttonicon":this.decrementButtonIconTemplate=u.template}})}ngOnInit(){this.ngControl=this.injector.get(V.vO,null,{optional:!0}),this.constructParser(),this.initialized=!0}getOptions(){return{localeMatcher:this.localeMatcher,style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,useGrouping:this.useGrouping,minimumFractionDigits:this.minFractionDigits,maximumFractionDigits:this.maxFractionDigits}}constructParser(){this.numberFormat=new Intl.NumberFormat(this.locale,this.getOptions());const u=[...new Intl.NumberFormat(this.locale,{useGrouping:!1}).format(9876543210)].reverse(),ie=new Map(u.map((de,Ae)=>[de,Ae]));this._numeral=new RegExp(`[${u.join("")}]`,"g"),this._group=this.getGroupingExpression(),this._minusSign=this.getMinusSignExpression(),this._currency=this.getCurrencyExpression(),this._decimal=this.getDecimalExpression(),this._decimalChar=this.getDecimalChar(),this._suffix=this.getSuffixExpression(),this._prefix=this.getPrefixExpression(),this._index=de=>ie.get(de)}updateConstructParser(){this.initialized&&this.constructParser()}escapeRegExp(u){return u.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}getDecimalExpression(){const u=this.getDecimalChar();return new RegExp(`[${u}]`,"g")}getDecimalChar(){return new Intl.NumberFormat(this.locale,{...this.getOptions(),useGrouping:!1}).format(1.1).replace(this._currency,"").trim().replace(this._numeral,"")}getGroupingExpression(){const u=new Intl.NumberFormat(this.locale,{useGrouping:!0});return this.groupChar=u.format(1e6).trim().replace(this._numeral,"").charAt(0),new RegExp(`[${this.groupChar}]`,"g")}getMinusSignExpression(){const u=new Intl.NumberFormat(this.locale,{useGrouping:!1});return new RegExp(`[${u.format(-1).trim().replace(this._numeral,"")}]`,"g")}getCurrencyExpression(){if(this.currency){const u=new Intl.NumberFormat(this.locale,{style:"currency",currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});return new RegExp(`[${u.format(1).replace(/\s/g,"").replace(this._numeral,"").replace(this._group,"")}]`,"g")}return new RegExp("[]","g")}getPrefixExpression(){if(this.prefix)this.prefixChar=this.prefix;else{const u=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay});this.prefixChar=u.format(1).split("1")[0]}return new RegExp(`${this.escapeRegExp(this.prefixChar||"")}`,"g")}getSuffixExpression(){if(this.suffix)this.suffixChar=this.suffix;else{const u=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});this.suffixChar=u.format(1).split("1")[1]}return new RegExp(`${this.escapeRegExp(this.suffixChar||"")}`,"g")}formatValue(u){if(null!=u){if("-"===u)return u;if(this.format){let de=new Intl.NumberFormat(this.locale,this.getOptions()).format(u);return this.prefix&&(de=this.prefix+de),this.suffix&&(de+=this.suffix),de}return u.toString()}return""}parseValue(u){let ie=u.replace(this._suffix,"").replace(this._prefix,"").trim().replace(/\s/g,"").replace(this._currency,"").replace(this._group,"").replace(this._minusSign,"-").replace(this._decimal,".").replace(this._numeral,this._index);if(ie){if("-"===ie)return ie;let de=+ie;return isNaN(de)?null:de}return null}repeat(u,ie,de){if(this.readonly)return;let Ae=ie||500;this.clearTimer(),this.timer=setTimeout(()=>{this.repeat(u,40,de)},Ae),this.spin(u,de)}spin(u,ie){let de=this.step*ie,Ae=this.parseValue(this.input?.nativeElement.value)||0,nt=this.validateValue(Ae+de);this.maxlength&&this.maxlength=0;kt--)if(this.isNumeralChar(Ae.charAt(kt))){this.input.nativeElement.setSelectionRange(kt,kt);break}break;case"Tab":case"Enter":nt=this.validateValue(this.parseValue(this.input.nativeElement.value)),this.input.nativeElement.value=this.formatValue(nt),this.input.nativeElement.setAttribute("aria-valuenow",nt),this.updateModel(u,nt);break;case"Backspace":if(u.preventDefault(),ie===de){const kt=Ae.charAt(ie-1),{decimalCharIndex:zt,decimalCharIndexWithoutPrefix:ai}=this.getDecimalCharIndexes(Ae);if(this.isNumeralChar(kt)){const oi=this.getDecimalLength(Ae);if(this._group.test(kt))this._group.lastIndex=0,nt=Ae.slice(0,ie-2)+Ae.slice(ie-1);else if(this._decimal.test(kt))this._decimal.lastIndex=0,oi?this.input?.nativeElement.setSelectionRange(ie-1,ie-1):nt=Ae.slice(0,ie-1)+Ae.slice(ie);else if(zt>0&&ie>zt){const Li=this.isDecimalMode()&&(this.minFractionDigits||0)0?nt:""):nt=Ae.slice(0,ie-1)+Ae.slice(ie)}else"currency"===this.mode&&-1!=kt.search(this._currency)&&(nt=Ae.slice(1));this.updateValue(u,nt,null,"delete-single")}else nt=this.deleteRange(Ae,ie,de),this.updateValue(u,nt,null,"delete-range");break;case"Delete":if(u.preventDefault(),ie===de){const kt=Ae.charAt(ie),{decimalCharIndex:zt,decimalCharIndexWithoutPrefix:ai}=this.getDecimalCharIndexes(Ae);if(this.isNumeralChar(kt)){const oi=this.getDecimalLength(Ae);if(this._group.test(kt))this._group.lastIndex=0,nt=Ae.slice(0,ie)+Ae.slice(ie+2);else if(this._decimal.test(kt))this._decimal.lastIndex=0,oi?this.input?.nativeElement.setSelectionRange(ie+1,ie+1):nt=Ae.slice(0,ie)+Ae.slice(ie+1);else if(zt>0&&ie>zt){const Li=this.isDecimalMode()&&(this.minFractionDigits||0)0?nt:""):nt=Ae.slice(0,ie)+Ae.slice(ie+1)}this.updateValue(u,nt,null,"delete-back-single")}else nt=this.deleteRange(Ae,ie,de),this.updateValue(u,nt,null,"delete-range");break;case"Home":this.min&&(this.updateModel(u,this.min),u.preventDefault());break;case"End":this.max&&(this.updateModel(u,this.max),u.preventDefault())}this.onKeyDown.emit(u)}onInputKeyPress(u){if(this.readonly)return;let ie=u.which||u.keyCode,de=String.fromCharCode(ie),Ae=this.isDecimalSign(de);const nt=this.isMinusSign(de);13!=ie&&u.preventDefault(),!Ae&&"NumpadDecimal"===u.code&&(Ae=!0,de=this._decimalChar,ie=de.charCodeAt(0));const kt=this.parseValue(this.input.nativeElement.value+de),zt=null!=kt?kt.toString():"";this.maxlength&&zt.length>this.maxlength||(48<=ie&&ie<=57||nt||Ae)&&this.insert(u,de,{isDecimalSign:Ae,isMinusSign:nt})}onPaste(u){if(!this.disabled&&!this.readonly){u.preventDefault();let ie=(u.clipboardData||this.document.defaultView.clipboardData).getData("Text");if(ie){this.maxlength&&(ie=ie.toString().substring(0,this.maxlength));let de=this.parseValue(ie);null!=de&&this.insert(u,de.toString())}}}allowMinusSign(){return null==this.min||this.min<0}isMinusSign(u){return!(!this._minusSign.test(u)&&"-"!==u||(this._minusSign.lastIndex=0,0))}isDecimalSign(u){return!!this._decimal.test(u)&&(this._decimal.lastIndex=0,!0)}isDecimalMode(){return"decimal"===this.mode}getDecimalCharIndexes(u){let ie=u.search(this._decimal);this._decimal.lastIndex=0;const Ae=u.replace(this._prefix,"").trim().replace(/\s/g,"").replace(this._currency,"").search(this._decimal);return this._decimal.lastIndex=0,{decimalCharIndex:ie,decimalCharIndexWithoutPrefix:Ae}}getCharIndexes(u){const ie=u.search(this._decimal);this._decimal.lastIndex=0;const de=u.search(this._minusSign);this._minusSign.lastIndex=0;const Ae=u.search(this._suffix);this._suffix.lastIndex=0;const nt=u.search(this._currency);return this._currency.lastIndex=0,{decimalCharIndex:ie,minusCharIndex:de,suffixCharIndex:Ae,currencyCharIndex:nt}}insert(u,ie,de={isDecimalSign:!1,isMinusSign:!1}){const Ae=ie.search(this._minusSign);if(this._minusSign.lastIndex=0,!this.allowMinusSign()&&-1!==Ae)return;let nt=this.input?.nativeElement.selectionStart,kt=this.input?.nativeElement.selectionEnd,zt=this.input?.nativeElement.value.trim();const{decimalCharIndex:ai,minusCharIndex:oi,suffixCharIndex:Li,currencyCharIndex:Yi}=this.getCharIndexes(zt);let Xi;if(de.isMinusSign)0===nt&&(Xi=zt,(-1===oi||0!==kt)&&(Xi=this.insertText(zt,ie,0,kt)),this.updateValue(u,Xi,ie,"insert"));else if(de.isDecimalSign)ai>0&&nt===ai?this.updateValue(u,zt,ie,"insert"):(ai>nt&&ai0&&nt>ai){if(nt+ie.length-(ai+1)<=Ji){const en=Yi>=nt?Yi-1:Li>=nt?Li:zt.length;Xi=zt.slice(0,nt)+ie+zt.slice(nt+ie.length,en)+zt.slice(en),this.updateValue(u,Xi,ie,_n)}}else Xi=this.insertText(zt,ie,nt,kt),this.updateValue(u,Xi,ie,_n)}}insertText(u,ie,de,Ae){if(2===("."===ie?ie:ie.split(".")).length){const kt=u.slice(de,Ae).search(this._decimal);return this._decimal.lastIndex=0,kt>0?u.slice(0,de)+this.formatValue(ie)+u.slice(Ae):u||this.formatValue(ie)}return Ae-de===u.length?this.formatValue(ie):0===de?ie+u.slice(Ae):Ae===u.length?u.slice(0,de)+ie:u.slice(0,de)+ie+u.slice(Ae)}deleteRange(u,ie,de){let Ae;return Ae=de-ie===u.length?"":0===ie?u.slice(de):de===u.length?u.slice(0,ie):u.slice(0,ie)+u.slice(de),Ae}initCursor(){let u=this.input?.nativeElement.selectionStart,ie=this.input?.nativeElement.value,de=ie.length,Ae=null,nt=(this.prefixChar||"").length;ie=ie.replace(this._prefix,""),u-=nt;let kt=ie.charAt(u);if(this.isNumeralChar(kt))return u+nt;let zt=u-1;for(;zt>=0;){if(kt=ie.charAt(zt),this.isNumeralChar(kt)){Ae=zt+nt;break}zt--}if(null!==Ae)this.input?.nativeElement.setSelectionRange(Ae+1,Ae+1);else{for(zt=u;ztthis.max?this.max:u}updateInput(u,ie,de,Ae){ie=ie||"";let nt=this.input?.nativeElement.value,kt=this.formatValue(u),zt=nt.length;if(kt!==Ae&&(kt=this.concatValues(kt,Ae)),0===zt){this.input.nativeElement.value=kt,this.input.nativeElement.setSelectionRange(0,0);const oi=this.initCursor()+ie.length;this.input.nativeElement.setSelectionRange(oi,oi)}else{let ai=this.input.nativeElement.selectionStart,oi=this.input.nativeElement.selectionEnd;if(this.maxlength&&kt.length>this.maxlength&&(kt=kt.slice(0,this.maxlength),ai=Math.min(ai,this.maxlength),oi=Math.min(oi,this.maxlength)),this.maxlength&&this.maxlength0}clearTimer(){this.timer&&clearInterval(this.timer)}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.aKT),e.rXU(e.gRc),e.rXU(e.zZn))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-inputNumber"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&e.GBs(ia,5),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.input=Ae.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:6,hostBindings:function(ie,de){2&ie&&e.AVh("p-inputwrapper-filled",de.filled)("p-inputwrapper-focus",de.focused)("p-inputnumber-clearable",de.showClear&&"vertical"!=de.buttonLayout)},inputs:{showButtons:"showButtons",format:"format",buttonLayout:"buttonLayout",inputId:"inputId",styleClass:"styleClass",style:"style",placeholder:"placeholder",size:"size",maxlength:"maxlength",tabindex:"tabindex",title:"title",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",ariaRequired:"ariaRequired",name:"name",required:"required",autocomplete:"autocomplete",min:"min",max:"max",incrementButtonClass:"incrementButtonClass",decrementButtonClass:"decrementButtonClass",incrementButtonIcon:"incrementButtonIcon",decrementButtonIcon:"decrementButtonIcon",readonly:"readonly",step:"step",allowEmpty:"allowEmpty",locale:"locale",localeMatcher:"localeMatcher",mode:"mode",currency:"currency",currencyDisplay:"currencyDisplay",useGrouping:"useGrouping",minFractionDigits:"minFractionDigits",maxFractionDigits:"maxFractionDigits",prefix:"prefix",suffix:"suffix",inputStyle:"inputStyle",inputStyleClass:"inputStyleClass",showClear:"showClear",disabled:"disabled"},outputs:{onInput:"onInput",onFocus:"onFocus",onBlur:"onBlur",onKeyDown:"onKeyDown",onClear:"onClear"},features:[e.Jv_([Us]),e.OA$],decls:7,vars:39,consts:[["input",""],[3,"ngClass","ngStyle"],["pInputText","","role","spinbutton","inputmode","decimal",3,"input","keydown","keypress","paste","click","focus","blur","ngClass","ngStyle","value","disabled","readonly"],[4,"ngIf"],["class","p-inputnumber-button-group",4,"ngIf"],["type","button","pButton","","class","p-button-icon-only","tabindex","-1",3,"ngClass","class","disabled","mousedown","mouseup","mouseleave","keydown","keyup",4,"ngIf"],[3,"ngClass","click",4,"ngIf"],["class","p-inputnumber-clear-icon",3,"click",4,"ngIf"],[3,"click","ngClass"],[1,"p-inputnumber-clear-icon",3,"click"],[4,"ngTemplateOutlet"],[1,"p-inputnumber-button-group"],["type","button","pButton","","tabindex","-1",1,"p-button-icon-only",3,"mousedown","mouseup","mouseleave","keydown","keyup","ngClass","disabled"],[3,"ngClass",4,"ngIf"],[3,"ngClass"]],template:function(ie,de){if(1&ie){const Ae=e.RV6();e.j41(0,"span",1)(1,"input",2,0),e.bIt("input",function(kt){return e.eBV(Ae),e.Njj(de.onUserInput(kt))})("keydown",function(kt){return e.eBV(Ae),e.Njj(de.onInputKeyDown(kt))})("keypress",function(kt){return e.eBV(Ae),e.Njj(de.onInputKeyPress(kt))})("paste",function(kt){return e.eBV(Ae),e.Njj(de.onPaste(kt))})("click",function(){return e.eBV(Ae),e.Njj(de.onInputClick())})("focus",function(kt){return e.eBV(Ae),e.Njj(de.onInputFocus(kt))})("blur",function(kt){return e.eBV(Ae),e.Njj(de.onInputBlur(kt))}),e.k0s(),e.DNE(3,na,3,2,"ng-container",3)(4,Wn,7,19,"span",4)(5,zs,3,9,"button",5)(6,ks,3,9,"button",5),e.k0s()}2&ie&&(e.HbH(de.styleClass),e.Y8G("ngClass",e.sMw(35,kh,de.showButtons&&"stacked"===de.buttonLayout,de.showButtons&&"horizontal"===de.buttonLayout,de.showButtons&&"vertical"===de.buttonLayout))("ngStyle",de.style),e.BMQ("data-pc-name","inputnumber")("data-pc-section","root"),e.R7$(),e.HbH(de.inputStyleClass),e.Y8G("ngClass","p-inputnumber-input")("ngStyle",de.inputStyle)("value",de.formattedValue())("disabled",de.disabled)("readonly",de.readonly),e.BMQ("id",de.inputId)("aria-valuemin",de.min)("aria-valuemax",de.max)("aria-valuenow",de.value)("placeholder",de.placeholder)("aria-label",de.ariaLabel)("aria-labelledby",de.ariaLabelledBy)("title",de.title)("size",de.size)("name",de.name)("autocomplete",de.autocomplete)("maxlength",de.maxlength)("tabindex",de.tabindex)("aria-required",de.ariaRequired)("required",de.required)("min",de.min)("max",de.max)("data-pc-section","input"),e.R7$(2),e.Y8G("ngIf","vertical"!=de.buttonLayout&&de.showClear&&de.value),e.R7$(),e.Y8G("ngIf",de.showButtons&&"stacked"===de.buttonLayout),e.R7$(),e.Y8G("ngIf",de.showButtons&&"stacked"!==de.buttonLayout),e.R7$(),e.Y8G("ngIf",de.showButtons&&"stacked"!==de.buttonLayout))},dependencies:()=>[M.YU,M.bT,M.T3,M.B3,_a.S,q._f,E.A,Xr,xa],styles:["@layer primeng{p-inputnumber,.p-inputnumber{display:inline-flex}.p-inputnumber-button{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button .p-button-label,.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button .p-button-label{display:none}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-up{border-top-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:0}.p-inputnumber-buttons-stacked .p-inputnumber-input{border-top-right-radius:0;border-bottom-right-radius:0}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-down{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;padding:0}.p-inputnumber-buttons-stacked .p-inputnumber-button-group{display:flex;flex-direction:column}.p-inputnumber-buttons-stacked .p-inputnumber-button-group .p-button.p-inputnumber-button{flex:1 1 auto}.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-up{order:3;border-top-left-radius:0;border-bottom-left-radius:0}.p-inputnumber-buttons-horizontal .p-inputnumber-input{order:2;border-radius:0}.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-down{order:1;border-top-right-radius:0;border-bottom-right-radius:0}.p-inputnumber-buttons-vertical{flex-direction:column}.p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-up{order:1;border-bottom-left-radius:0;border-bottom-right-radius:0;width:100%}.p-inputnumber-buttons-vertical .p-inputnumber-input{order:2;border-radius:0;text-align:center}.p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-down{order:3;border-top-left-radius:0;border-top-right-radius:0;width:100%}.p-inputnumber-input{flex:1 1 auto}.p-fluid p-inputnumber,.p-fluid .p-inputnumber{width:100%}.p-fluid .p-inputnumber .p-inputnumber-input{width:1%}.p-fluid .p-inputnumber-buttons-vertical .p-inputnumber-input{width:100%}.p-inputnumber-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-inputnumber-clearable{position:relative}}\n"],encapsulation:2,changeDetection:0})}return ye})(),ul=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,_a.u,q.tm,E.A,Xr,xa,Le.Gg]})}return ye})(),jn=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleDoubleLeftIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M5.71602 11.164C5.80782 11.2021 5.9063 11.2215 6.00569 11.221C6.20216 11.2301 6.39427 11.1612 6.54025 11.0294C6.68191 10.8875 6.76148 10.6953 6.76148 10.4948C6.76148 10.2943 6.68191 10.1021 6.54025 9.96024L3.51441 6.9344L6.54025 3.90855C6.624 3.76126 6.65587 3.59011 6.63076 3.42254C6.60564 3.25498 6.525 3.10069 6.40175 2.98442C6.2785 2.86815 6.11978 2.79662 5.95104 2.7813C5.78229 2.76598 5.61329 2.80776 5.47112 2.89994L1.97123 6.39983C1.82957 6.54167 1.75 6.73393 1.75 6.9344C1.75 7.13486 1.82957 7.32712 1.97123 7.46896L5.47112 10.9991C5.54096 11.0698 5.62422 11.1259 5.71602 11.164ZM11.0488 10.9689C11.1775 11.1156 11.3585 11.2061 11.5531 11.221C11.7477 11.2061 11.9288 11.1156 12.0574 10.9689C12.1815 10.8302 12.25 10.6506 12.25 10.4645C12.25 10.2785 12.1815 10.0989 12.0574 9.96024L9.03158 6.93439L12.0574 3.90855C12.1248 3.76739 12.1468 3.60881 12.1204 3.45463C12.0939 3.30045 12.0203 3.15826 11.9097 3.04765C11.7991 2.93703 11.6569 2.86343 11.5027 2.83698C11.3486 2.81053 11.19 2.83252 11.0488 2.89994L7.51865 6.36957C7.37699 6.51141 7.29742 6.70367 7.29742 6.90414C7.29742 7.1046 7.37699 7.29686 7.51865 7.4387L11.0488 10.9689Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),br=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleDoubleRightIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),Ro=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleLeftIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.75 11.185C8.65146 11.1854 8.55381 11.1662 8.4628 11.1284C8.37179 11.0906 8.28924 11.0351 8.22 10.965L4.72 7.46496C4.57955 7.32433 4.50066 7.13371 4.50066 6.93496C4.50066 6.73621 4.57955 6.54558 4.72 6.40496L8.22 2.93496C8.36095 2.84357 8.52851 2.80215 8.69582 2.81733C8.86312 2.83252 9.02048 2.90344 9.14268 3.01872C9.26487 3.134 9.34483 3.28696 9.36973 3.4531C9.39463 3.61924 9.36303 3.78892 9.28 3.93496L6.28 6.93496L9.28 9.93496C9.42045 10.0756 9.49934 10.2662 9.49934 10.465C9.49934 10.6637 9.42045 10.8543 9.28 10.995C9.13526 11.1257 8.9448 11.1939 8.75 11.185Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})(),Qi=(()=>{class ye extends pe.h{static \u0275fac=(()=>{let u;return function(de){return(u||(u=e.xGo(ye)))(de||ye)}})();static \u0275cmp=e.VBU({type:ye,selectors:[["AngleRightIcon"]],standalone:!0,features:[e.Vt3,e.aNF],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M5.25 11.1728C5.14929 11.1694 5.05033 11.1455 4.9592 11.1025C4.86806 11.0595 4.78666 10.9984 4.72 10.9228C4.57955 10.7822 4.50066 10.5916 4.50066 10.3928C4.50066 10.1941 4.57955 10.0035 4.72 9.86283L7.72 6.86283L4.72 3.86283C4.66067 3.71882 4.64765 3.55991 4.68275 3.40816C4.71785 3.25642 4.79932 3.11936 4.91585 3.01602C5.03238 2.91268 5.17819 2.84819 5.33305 2.83149C5.4879 2.81479 5.64411 2.84671 5.78 2.92283L9.28 6.42283C9.42045 6.56346 9.49934 6.75408 9.49934 6.95283C9.49934 7.15158 9.42045 7.34221 9.28 7.48283L5.78 10.9228C5.71333 10.9984 5.63193 11.0595 5.5408 11.1025C5.44966 11.1455 5.35071 11.1694 5.25 11.1728Z","fill","currentColor"]],template:function(ie,de){1&ie&&(e.qSk(),e.j41(0,"svg",0),e.nrm(1,"path",1),e.k0s()),2&ie&&(e.HbH(de.getClassNames()),e.BMQ("aria-label",de.ariaLabel)("aria-hidden",de.ariaHidden)("role",de.role))},encapsulation:2})}return ye})();const No=ye=>({"p-disabled":ye}),Xl=ye=>({$implicit:ye}),ws=ye=>({"p-highlight":ye});function Is(ye,et){1&ye&&e.eu8(0)}function pl(ye,et){if(1&ye&&(e.j41(0,"div",15),e.DNE(1,Is,1,0,"ng-container",16),e.k0s()),2&ye){const u=e.XpG(2);e.BMQ("data-pc-section","start"),e.R7$(),e.Y8G("ngTemplateOutlet",u.templateLeft)("ngTemplateOutletContext",e.eq3(3,Xl,u.paginatorState))}}function Yl(ye,et){if(1&ye&&(e.j41(0,"span",17),e.EFF(1),e.k0s()),2&ye){const u=e.XpG(2);e.R7$(),e.JRh(u.currentPageReport)}}function Kr(ye,et){1&ye&&e.nrm(0,"AngleDoubleLeftIcon",19),2&ye&&e.Y8G("styleClass","p-paginator-icon")}function Kl(ye,et){}function wa(ye,et){1&ye&&e.DNE(0,Kl,0,0,"ng-template")}function yo(ye,et){if(1&ye&&(e.j41(0,"span",20),e.DNE(1,wa,1,0,null,21),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.firstPageLinkIconTemplate)}}function Zr(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",18),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.changePageToFirst(de))}),e.DNE(1,Kr,1,1,"AngleDoubleLeftIcon",6)(2,yo,2,1,"span",7),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("disabled",u.isFirstPage()||u.empty())("ngClass",e.eq3(5,No,u.isFirstPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("firstPageLabel")),e.R7$(),e.Y8G("ngIf",!u.firstPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.firstPageLinkIconTemplate)}}function $a(ye,et){1&ye&&e.nrm(0,"AngleLeftIcon",19),2&ye&&e.Y8G("styleClass","p-paginator-icon")}function rn(ye,et){}function Bc(ye,et){1&ye&&e.DNE(0,rn,0,0,"ng-template")}function gc(ye,et){if(1&ye&&(e.j41(0,"span",20),e.DNE(1,Bc,1,0,null,21),e.k0s()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.previousPageLinkIconTemplate)}}function Fo(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",24),e.bIt("click",function(de){const Ae=e.eBV(u).$implicit,nt=e.XpG(3);return e.Njj(nt.onPageLinkClick(de,Ae-1))}),e.EFF(1),e.k0s()}if(2&ye){const u=et.$implicit,ie=e.XpG(3);e.Y8G("ngClass",e.eq3(4,ws,u-1==ie.getPage())),e.BMQ("aria-label",ie.getPageAriaLabel(u))("aria-current",u-1==ie.getPage()?"page":void 0),e.R7$(),e.SpI(" ",ie.getLocalization(u)," ")}}function mc(ye,et){if(1&ye&&(e.j41(0,"span",22),e.DNE(1,Fo,2,6,"button",23),e.k0s()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngForOf",u.pageLinks)}}function Xa(ye,et){if(1&ye&&e.EFF(0),2&ye){const u=e.XpG(3);e.JRh(u.currentPageReport)}}function Ys(ye,et){1&ye&&e.eu8(0)}function Eh(ye,et){if(1&ye&&e.DNE(0,Ys,1,0,"ng-container",21),2&ye){const u=e.XpG(4);e.Y8G("ngTemplateOutlet",u.dropdownIconTemplate)}}function Pr(ye,et){1&ye&&e.DNE(0,Eh,1,1,"ng-template",28)}function Gs(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-dropdown",25),e.bIt("onChange",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onPageDropdownChange(de))}),e.DNE(1,Xa,1,1,"ng-template",26)(2,Pr,1,0,null,27),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("options",u.pageItems)("ngModel",u.getPage())("disabled",u.empty())("appendTo",u.dropdownAppendTo)("scrollHeight",u.dropdownScrollHeight),e.BMQ("aria-label",u.getAriaLabel("jumpToPageDropdownLabel")),e.R7$(2),e.Y8G("ngIf",u.dropdownIconTemplate)}}function jc(ye,et){1&ye&&e.nrm(0,"AngleRightIcon",19),2&ye&&e.Y8G("styleClass","p-paginator-icon")}function Bo(ye,et){}function fl(ye,et){1&ye&&e.DNE(0,Bo,0,0,"ng-template")}function no(ye,et){if(1&ye&&(e.j41(0,"span",20),e.DNE(1,fl,1,0,null,21),e.k0s()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",u.nextPageLinkIconTemplate)}}function Vc(ye,et){1&ye&&e.nrm(0,"AngleDoubleRightIcon",19),2&ye&&e.Y8G("styleClass","p-paginator-icon")}function bc(ye,et){}function Xd(ye,et){1&ye&&e.DNE(0,bc,0,0,"ng-template")}function ss(ye,et){if(1&ye&&(e.j41(0,"span",20),e.DNE(1,Xd,1,0,null,21),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.lastPageLinkIconTemplate)}}function zc(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"button",29),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.changePageToLast(de))}),e.DNE(1,Vc,1,1,"AngleDoubleRightIcon",6)(2,ss,2,1,"span",7),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("disabled",u.isLastPage()||u.empty())("ngClass",e.eq3(5,No,u.isLastPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("lastPageLabel")),e.R7$(),e.Y8G("ngIf",!u.lastPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.lastPageLinkIconTemplate)}}function Ah(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-inputNumber",30),e.bIt("ngModelChange",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.changePage(de-1))}),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("ngModel",u.currentPage())("disabled",u.empty())}}function Gc(ye,et){1&ye&&e.eu8(0)}function Yd(ye,et){if(1&ye&&e.DNE(0,Gc,1,0,"ng-container",16),2&ye){const u=et.$implicit,ie=e.XpG(4);e.Y8G("ngTemplateOutlet",ie.dropdownItemTemplate)("ngTemplateOutletContext",e.eq3(2,Xl,u))}}function ld(ye,et){1&ye&&(e.qex(0),e.DNE(1,Yd,1,4,"ng-template",32),e.bVm())}function cd(ye,et){1&ye&&e.eu8(0)}function Ih(ye,et){if(1&ye&&e.DNE(0,cd,1,0,"ng-container",21),2&ye){const u=e.XpG(4);e.Y8G("ngTemplateOutlet",u.dropdownIconTemplate)}}function vc(ye,et){1&ye&&e.DNE(0,Ih,1,1,"ng-template",28)}function hd(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-dropdown",31),e.mxI("ngModelChange",function(de){e.eBV(u);const Ae=e.XpG(2);return e.DH7(Ae.rows,de)||(Ae.rows=de),e.Njj(de)}),e.bIt("onChange",function(de){e.eBV(u);const Ae=e.XpG(2);return e.Njj(Ae.onRppChange(de))}),e.DNE(1,ld,2,0,"ng-container",27)(2,vc,1,0,null,27),e.k0s()}if(2&ye){const u=e.XpG(2);e.Y8G("options",u.rowsPerPageItems),e.R50("ngModel",u.rows),e.Y8G("disabled",u.empty())("appendTo",u.dropdownAppendTo)("scrollHeight",u.dropdownScrollHeight)("ariaLabel",u.getAriaLabel("rowsPerPageLabel")),e.R7$(),e.Y8G("ngIf",u.dropdownItemTemplate),e.R7$(),e.Y8G("ngIf",u.dropdownIconTemplate)}}function $u(ye,et){1&ye&&e.eu8(0)}function Xu(ye,et){if(1&ye&&(e.j41(0,"div",33),e.DNE(1,$u,1,0,"ng-container",16),e.k0s()),2&ye){const u=e.XpG(2);e.BMQ("data-pc-section","end"),e.R7$(),e.Y8G("ngTemplateOutlet",u.templateRight)("ngTemplateOutletContext",e.eq3(3,Xl,u.paginatorState))}}function Oh(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",1),e.DNE(1,pl,2,5,"div",2)(2,Yl,2,1,"span",3)(3,Zr,3,7,"button",4),e.j41(4,"button",5),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.changePageToPrev(de))}),e.DNE(5,$a,1,1,"AngleLeftIcon",6)(6,gc,2,1,"span",7),e.k0s(),e.DNE(7,mc,2,1,"span",8)(8,Gs,3,7,"p-dropdown",9),e.j41(9,"button",10),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.changePageToNext(de))}),e.DNE(10,jc,1,1,"AngleRightIcon",6)(11,no,2,1,"span",7),e.k0s(),e.DNE(12,zc,3,7,"button",11)(13,Ah,1,2,"p-inputNumber",12)(14,hd,3,8,"p-dropdown",13)(15,Xu,2,5,"div",14),e.k0s()}if(2&ye){const u=e.XpG();e.HbH(u.styleClass),e.Y8G("ngStyle",u.style)("ngClass","p-paginator p-component"),e.BMQ("data-pc-section","paginator")("data-pc-section","root"),e.R7$(),e.Y8G("ngIf",u.templateLeft),e.R7$(),e.Y8G("ngIf",u.showCurrentPageReport),e.R7$(),e.Y8G("ngIf",u.showFirstLastIcon),e.R7$(),e.Y8G("disabled",u.isFirstPage()||u.empty())("ngClass",e.eq3(25,No,u.isFirstPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("prevPageLabel")),e.R7$(),e.Y8G("ngIf",!u.previousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.previousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.showPageLinks),e.R7$(),e.Y8G("ngIf",u.showJumpToPageDropdown),e.R7$(),e.Y8G("disabled",u.isLastPage()||u.empty())("ngClass",e.eq3(27,No,u.isLastPage()||u.empty())),e.BMQ("aria-label",u.getAriaLabel("nextPageLabel")),e.R7$(),e.Y8G("ngIf",!u.nextPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.nextPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.showFirstLastIcon),e.R7$(),e.Y8G("ngIf",u.showJumpToPageInput),e.R7$(),e.Y8G("ngIf",u.rowsPerPageOptions),e.R7$(),e.Y8G("ngIf",u.templateRight)}}let Kd=(()=>{class ye{cd;config;pageLinkSize=5;style;styleClass;alwaysShow=!0;dropdownAppendTo;templateLeft;templateRight;appendTo;dropdownScrollHeight="200px";currentPageReportTemplate="{currentPage} of {totalPages}";showCurrentPageReport;showFirstLastIcon=!0;totalRecords=0;rows=0;rowsPerPageOptions;showJumpToPageDropdown;showJumpToPageInput;showPageLinks=!0;locale;dropdownItemTemplate;get first(){return this._first}set first(u){this._first=u}onPageChange=new e.bkB;templates;dropdownIconTemplate;firstPageLinkIconTemplate;previousPageLinkIconTemplate;lastPageLinkIconTemplate;nextPageLinkIconTemplate;pageLinks;pageItems;rowsPerPageItems;paginatorState;_first=0;_page=0;constructor(u,ie){this.cd=u,this.config=ie}ngOnInit(){this.updatePaginatorState()}getAriaLabel(u){return this.config.translation.aria?this.config.translation.aria[u]:void 0}getPageAriaLabel(u){return this.config.translation.aria?this.config.translation.aria.pageLabel.replace(/{page}/g,`Page ${u}`):void 0}getLocalization(u){const ie=[...new Intl.NumberFormat(this.locale,{useGrouping:!1}).format(9876543210)].reverse(),de=new Map(ie.map((Ae,nt)=>[nt,Ae]));return u>9?String(u).split("").map(nt=>de.get(Number(nt))).join(""):de.get(u)}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"dropdownicon":this.dropdownIconTemplate=u.template;break;case"firstpagelinkicon":this.firstPageLinkIconTemplate=u.template;break;case"previouspagelinkicon":this.previousPageLinkIconTemplate=u.template;break;case"lastpagelinkicon":this.lastPageLinkIconTemplate=u.template;break;case"nextpagelinkicon":this.nextPageLinkIconTemplate=u.template}})}ngOnChanges(u){u.totalRecords&&(this.updatePageLinks(),this.updatePaginatorState(),this.updateFirst(),this.updateRowsPerPageOptions()),u.first&&(this._first=u.first.currentValue,this.updatePageLinks(),this.updatePaginatorState()),u.rows&&(this.updatePageLinks(),this.updatePaginatorState()),u.rowsPerPageOptions&&this.updateRowsPerPageOptions()}updateRowsPerPageOptions(){if(this.rowsPerPageOptions){this.rowsPerPageItems=[];for(let u of this.rowsPerPageOptions)"object"==typeof u&&u.showAll?this.rowsPerPageItems.unshift({label:u.showAll,value:this.totalRecords}):this.rowsPerPageItems.push({label:String(this.getLocalization(u)),value:u})}}isFirstPage(){return 0===this.getPage()}isLastPage(){return this.getPage()===this.getPageCount()-1}getPageCount(){return Math.ceil(this.totalRecords/this.rows)}calculatePageLinkBoundaries(){let u=this.getPageCount(),ie=Math.min(this.pageLinkSize,u),de=Math.max(0,Math.ceil(this.getPage()-ie/2)),Ae=Math.min(u-1,de+ie-1);return de=Math.max(0,de-(this.pageLinkSize-(Ae-de+1))),[de,Ae]}updatePageLinks(){this.pageLinks=[];let u=this.calculatePageLinkBoundaries(),de=u[1];for(let Ae=u[0];Ae<=de;Ae++)this.pageLinks.push(Ae+1);if(this.showJumpToPageDropdown){this.pageItems=[];for(let Ae=0;Ae=0&&u0&&this.totalRecords&&this.first>=this.totalRecords&&Promise.resolve(null).then(()=>this.changePage(u-1))}getPage(){return Math.floor(this.first/this.rows)}changePageToFirst(u){this.isFirstPage()||this.changePage(0),u.preventDefault()}changePageToPrev(u){this.changePage(this.getPage()-1),u.preventDefault()}changePageToNext(u){this.changePage(this.getPage()+1),u.preventDefault()}changePageToLast(u){this.isLastPage()||this.changePage(this.getPageCount()-1),u.preventDefault()}onPageLinkClick(u,ie){this.changePage(ie),u.preventDefault()}onRppChange(u){this.changePage(this.getPage())}onPageDropdownChange(u){this.changePage(u.value)}updatePaginatorState(){this.paginatorState={page:this.getPage(),pageCount:this.getPageCount(),rows:this.rows,first:this.first,totalRecords:this.totalRecords}}empty(){return 0===this.getPageCount()}currentPage(){return this.getPageCount()>0?this.getPage()+1:0}get currentPageReport(){return this.currentPageReportTemplate.replace("{currentPage}",String(this.currentPage())).replace("{totalPages}",String(this.getPageCount())).replace("{first}",String(this.totalRecords>0?this._first+1:0)).replace("{last}",String(Math.min(this._first+this.rows,this.totalRecords))).replace("{rows}",String(this.rows)).replace("{totalRecords}",String(this.totalRecords))}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.gRc),e.rXU(Le.r1))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-paginator"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},hostAttrs:[1,"p-element"],inputs:{pageLinkSize:"pageLinkSize",style:"style",styleClass:"styleClass",alwaysShow:"alwaysShow",dropdownAppendTo:"dropdownAppendTo",templateLeft:"templateLeft",templateRight:"templateRight",appendTo:"appendTo",dropdownScrollHeight:"dropdownScrollHeight",currentPageReportTemplate:"currentPageReportTemplate",showCurrentPageReport:"showCurrentPageReport",showFirstLastIcon:"showFirstLastIcon",totalRecords:"totalRecords",rows:"rows",rowsPerPageOptions:"rowsPerPageOptions",showJumpToPageDropdown:"showJumpToPageDropdown",showJumpToPageInput:"showJumpToPageInput",showPageLinks:"showPageLinks",locale:"locale",dropdownItemTemplate:"dropdownItemTemplate",first:"first"},outputs:{onPageChange:"onPageChange"},features:[e.OA$],decls:1,vars:1,consts:[[3,"class","ngStyle","ngClass",4,"ngIf"],[3,"ngStyle","ngClass"],["class","p-paginator-left-content",4,"ngIf"],["class","p-paginator-current",4,"ngIf"],["type","button","pRipple","","class","p-paginator-first p-paginator-element p-link",3,"disabled","ngClass","click",4,"ngIf"],["type","button","pRipple","",1,"p-paginator-prev","p-paginator-element","p-link",3,"click","disabled","ngClass"],[3,"styleClass",4,"ngIf"],["class","p-paginator-icon",4,"ngIf"],["class","p-paginator-pages",4,"ngIf"],["styleClass","p-paginator-page-options",3,"options","ngModel","disabled","appendTo","scrollHeight","onChange",4,"ngIf"],["type","button","pRipple","",1,"p-paginator-next","p-paginator-element","p-link",3,"click","disabled","ngClass"],["type","button","pRipple","","class","p-paginator-last p-paginator-element p-link",3,"disabled","ngClass","click",4,"ngIf"],["class","p-paginator-page-input",3,"ngModel","disabled","ngModelChange",4,"ngIf"],["styleClass","p-paginator-rpp-options",3,"options","ngModel","disabled","appendTo","scrollHeight","ariaLabel","ngModelChange","onChange",4,"ngIf"],["class","p-paginator-right-content",4,"ngIf"],[1,"p-paginator-left-content"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-paginator-current"],["type","button","pRipple","",1,"p-paginator-first","p-paginator-element","p-link",3,"click","disabled","ngClass"],[3,"styleClass"],[1,"p-paginator-icon"],[4,"ngTemplateOutlet"],[1,"p-paginator-pages"],["type","button","class","p-paginator-page p-paginator-element p-link","pRipple","",3,"ngClass","click",4,"ngFor","ngForOf"],["type","button","pRipple","",1,"p-paginator-page","p-paginator-element","p-link",3,"click","ngClass"],["styleClass","p-paginator-page-options",3,"onChange","options","ngModel","disabled","appendTo","scrollHeight"],["pTemplate","selectedItem"],[4,"ngIf"],["pTemplate","dropdownicon"],["type","button","pRipple","",1,"p-paginator-last","p-paginator-element","p-link",3,"click","disabled","ngClass"],[1,"p-paginator-page-input",3,"ngModelChange","ngModel","disabled"],["styleClass","p-paginator-rpp-options",3,"ngModelChange","onChange","options","ngModel","disabled","appendTo","scrollHeight","ariaLabel"],["pTemplate","item"],[1,"p-paginator-right-content"]],template:function(ie,de){1&ie&&e.DNE(0,Oh,16,29,"div",0),2&ie&&e.Y8G("ngIf",!!de.alwaysShow||de.pageLinks&&de.pageLinks.length>1)},dependencies:()=>[M.YU,M.Sq,M.bT,M.T3,M.B3,Rc,Le.Ei,mr,V.BC,V.vS,ve.n,jn,br,Ro,Qi],styles:["@layer primeng{.p-paginator{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.p-paginator-left-content{margin-right:auto}.p-paginator-right-content{margin-left:auto}.p-paginator-page,.p-paginator-next,.p-paginator-last,.p-paginator-first,.p-paginator-prev,.p-paginator-current{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;-webkit-user-select:none;user-select:none;overflow:hidden;position:relative}.p-paginator-element:focus{z-index:1;position:relative}}\n"],encapsulation:2,changeDetection:0})}return ye})(),Hc=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Lo,ul,V.YN,Le.Gg,ve.Z,jn,br,Ro,Qi,Lo,ul,V.YN,Le.Gg]})}return ye})();const Zd=["container"],Re=(ye,et,u)=>({"p-highlight":ye,"p-disabled":et,"p-button-icon-only":u}),He=(ye,et)=>({$implicit:ye,index:et});function Fe(ye,et){if(1&ye&&e.nrm(0,"span",8),2&ye){const u=e.XpG(2).$implicit;e.HbH(u.icon),e.Y8G("ngClass","p-button-icon p-button-icon-left"),e.BMQ("data-pc-section","icon")}}function Ue(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Fe,1,4,"span",6),e.j41(2,"span",7),e.EFF(3),e.k0s(),e.bVm()),2&ye){const u=e.XpG().$implicit,ie=e.XpG();e.R7$(),e.Y8G("ngIf",u.icon),e.R7$(),e.BMQ("data-pc-section","label"),e.R7$(),e.JRh(ie.getOptionLabel(u))}}function rt(ye,et){1&ye&&e.eu8(0)}function gt(ye,et){if(1&ye&&e.DNE(0,rt,1,0,"ng-container",9),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG();e.Y8G("ngTemplateOutlet",Ae.selectButtonTemplate)("ngTemplateOutletContext",e.l_i(2,He,ie,de))}}function Ot(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"div",4),e.bIt("click",function(de){const Ae=e.eBV(u),nt=Ae.$implicit,kt=Ae.index,zt=e.XpG();return e.Njj(zt.onOptionSelect(de,nt,kt))})("keydown",function(de){const Ae=e.eBV(u),nt=Ae.$implicit,kt=Ae.index,zt=e.XpG();return e.Njj(zt.onKeyDown(de,nt,kt))})("focus",function(de){const Ae=e.eBV(u).index,nt=e.XpG();return e.Njj(nt.onFocus(de,Ae))})("blur",function(){e.eBV(u);const de=e.XpG();return e.Njj(de.onBlur())}),e.DNE(1,Ue,4,3,"ng-container",5)(2,gt,1,5,"ng-template",null,1,e.C5r),e.k0s()}if(2&ye){const u=et.$implicit,ie=et.index,de=e.sdS(3),Ae=e.XpG();e.HbH(u.styleClass),e.Y8G("role",Ae.multiple?"checkbox":"radio")("ngClass",e.sMw(14,Re,Ae.isSelected(u),Ae.disabled||Ae.isOptionDisabled(u),u.icon&&!Ae.getOptionLabel(u))),e.BMQ("tabindex",ie===Ae.focusedIndex?"0":"-1")("aria-label",u.label)("aria-checked",Ae.isSelected(u))("aria-disabled",Ae.optionDisabled)("aria-pressed",Ae.isSelected(u))("title",u.title)("aria-labelledby",Ae.getOptionLabel(u))("data-pc-section","button"),e.R7$(),e.Y8G("ngIf",!Ae.itemTemplate)("ngIfElse",de)}}const qt={provide:V.kq,useExisting:(0,e.Rfq)(()=>Xt),multi:!0};let Xt=(()=>{class ye{cd;options;optionLabel;optionValue;optionDisabled;unselectable=!1;tabindex=0;multiple;allowEmpty=!0;style;styleClass;ariaLabelledBy;disabled;dataKey;onOptionClick=new e.bkB;onChange=new e.bkB;container;itemTemplate;get selectButtonTemplate(){return this.itemTemplate?.template}get equalityKey(){return this.optionValue?null:this.dataKey}value;onModelChange=()=>{};onModelTouched=()=>{};focusedIndex=0;constructor(u){this.cd=u}getOptionLabel(u){return this.optionLabel?le.BF.resolveFieldData(u,this.optionLabel):null!=u.label?u.label:u}getOptionValue(u){return this.optionValue?le.BF.resolveFieldData(u,this.optionValue):this.optionLabel||void 0===u.value?u:u.value}isOptionDisabled(u){return this.optionDisabled?le.BF.resolveFieldData(u,this.optionDisabled):void 0!==u.disabled&&u.disabled}writeValue(u){this.value=u,this.cd.markForCheck()}registerOnChange(u){this.onModelChange=u}registerOnTouched(u){this.onModelTouched=u}setDisabledState(u){this.disabled=u,this.cd.markForCheck()}onOptionSelect(u,ie,de){if(this.disabled||this.isOptionDisabled(ie))return;let Ae=this.isSelected(ie);if(Ae&&this.unselectable)return;let kt,nt=this.getOptionValue(ie);if(this.multiple)kt=Ae?this.value.filter(zt=>!le.BF.equals(zt,nt,this.equalityKey)):this.value?[...this.value,nt]:[nt];else{if(Ae&&!this.allowEmpty)return;kt=Ae?null:nt}this.focusedIndex=de,this.value=kt,this.onModelChange(this.value),this.onChange.emit({originalEvent:u,value:this.value}),this.onOptionClick.emit({originalEvent:u,option:ie,index:de})}onKeyDown(u,ie,de){switch(u.code){case"Space":this.onOptionSelect(u,ie,de),u.preventDefault();break;case"ArrowDown":case"ArrowRight":this.changeTabIndexes(u,"next"),u.preventDefault();break;case"ArrowUp":case"ArrowLeft":this.changeTabIndexes(u,"prev"),u.preventDefault()}}changeTabIndexes(u,ie){let de,Ae;for(let nt=0;nt<=this.container.nativeElement.children.length-1;nt++)"0"===this.container.nativeElement.children[nt].getAttribute("tabindex")&&(de={elem:this.container.nativeElement.children[nt],index:nt});Ae="prev"===ie?0===de.index?this.container.nativeElement.children.length-1:de.index-1:de.index===this.container.nativeElement.children.length-1?0:de.index+1,this.focusedIndex=Ae,this.container.nativeElement.children[Ae].focus()}onFocus(u,ie){this.focusedIndex=ie}onBlur(){this.onModelTouched()}removeOption(u){this.value=this.value.filter(ie=>!le.BF.equals(ie,this.getOptionValue(u),this.dataKey))}isSelected(u){let ie=!1;const de=this.getOptionValue(u);if(this.multiple){if(this.value&&Array.isArray(this.value))for(let Ae of this.value)if(le.BF.equals(Ae,de,this.dataKey)){ie=!0;break}}else ie=le.BF.equals(this.getOptionValue(u),this.value,this.equalityKey);return ie}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-selectButton"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,5),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.itemTemplate=nt.first)}},viewQuery:function(ie,de){if(1&ie&&e.GBs(Zd,5),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.container=Ae.first)}},hostAttrs:[1,"p-element"],inputs:{options:"options",optionLabel:"optionLabel",optionValue:"optionValue",optionDisabled:"optionDisabled",unselectable:"unselectable",tabindex:"tabindex",multiple:"multiple",allowEmpty:"allowEmpty",style:"style",styleClass:"styleClass",ariaLabelledBy:"ariaLabelledBy",disabled:"disabled",dataKey:"dataKey"},outputs:{onOptionClick:"onOptionClick",onChange:"onChange"},features:[e.Jv_([qt])],decls:3,vars:8,consts:[["container",""],["customcontent",""],["role","group",3,"ngClass","ngStyle"],["pRipple","","class","p-button p-component",3,"role","class","ngClass","click","keydown","focus","blur",4,"ngFor","ngForOf"],["pRipple","",1,"p-button","p-component",3,"click","keydown","focus","blur","role","ngClass"],[4,"ngIf","ngIfElse"],[3,"ngClass","class",4,"ngIf"],[1,"p-button-label"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ie,de){1&ie&&(e.j41(0,"div",2,0),e.DNE(2,Ot,4,18,"div",3),e.k0s()),2&ie&&(e.HbH(de.styleClass),e.Y8G("ngClass","p-selectbutton p-buttonset p-component")("ngStyle",de.style),e.BMQ("aria-labelledby",de.ariaLabelledBy)("data-pc-name","selectbutton")("data-pc-section","root"),e.R7$(2),e.Y8G("ngForOf",de.options))},dependencies:[M.YU,M.Sq,M.bT,M.T3,M.B3,ve.n],styles:['@layer primeng{.p-button{margin:0;display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default;pointer-events:none}.p-button-icon-only{justify-content:center}.p-button-icon-only:after{content:"p";visibility:hidden;clip:rect(0 0 0 0);width:0}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-button-group .p-button{margin:0}.p-button-group .p-button:focus,.p-button-group p-button:focus .p-button,.p-buttonset .p-button:focus,.p-buttonset p-button:focus .p-button{position:relative;z-index:1}.p-button-group .p-button:not(:last-child),.p-button-group .p-button:not(:last-child):hover,.p-button-group p-button:not(:last-child) .p-button,.p-button-group p-button:not(:last-child) .p-button:hover,.p-buttonset .p-button:not(:last-child),.p-buttonset .p-button:not(:last-child):hover,.p-buttonset p-button:not(:last-child) .p-button,.p-buttonset p-button:not(:last-child) .p-button:hover{border-right:0 none}.p-button-group .p-button:not(:first-of-type):not(:last-of-type),.p-button-group p-button:not(:first-of-type):not(:last-of-type) .p-button,.p-buttonset .p-button:not(:first-of-type):not(:last-of-type),.p-buttonset p-button:not(:first-of-type):not(:last-of-type) .p-button{border-radius:0}.p-button-group .p-button:first-of-type:not(:only-of-type),.p-button-group p-button:first-of-type:not(:only-of-type) .p-button,.p-buttonset .p-button:first-of-type:not(:only-of-type),.p-buttonset p-button:first-of-type:not(:only-of-type) .p-button{border-top-right-radius:0;border-bottom-right-radius:0}.p-button-group .p-button:last-of-type:not(:only-of-type),.p-button-group p-button:last-of-type:not(:only-of-type) .p-button,.p-buttonset .p-button:last-of-type:not(:only-of-type),.p-buttonset p-button:last-of-type:not(:only-of-type) .p-button{border-top-left-radius:0;border-bottom-left-radius:0}p-button[iconpos=right] spinnericon{order:1}}\n'],encapsulation:2,changeDetection:0})}return ye})(),Ei=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,ve.Z,Le.Gg,Le.Gg]})}return ye})();const on=(ye,et)=>({"p-checkbox p-component":!0,"p-checkbox-disabled":ye,"p-checkbox-focused":et}),bn=(ye,et,u)=>({"p-highlight":ye,"p-disabled":et,"p-focus":u}),Os=(ye,et,u)=>({"p-checkbox-label-active":ye,"p-disabled":et,"p-checkbox-label-focus":u});function gl(ye,et){if(1&ye&&e.nrm(0,"span",8),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.checkboxTrueIcon),e.BMQ("data-pc-section","checkIcon")}}function ml(ye,et){1&ye&&e.nrm(0,"CheckIcon",11),2&ye&&(e.Y8G("styleClass","p-checkbox-icon"),e.BMQ("data-pc-section","checkIcon"))}function Ya(ye,et){}function yc(ye,et){1&ye&&e.DNE(0,Ya,0,0,"ng-template")}function Ks(ye,et){if(1&ye&&(e.j41(0,"span",12),e.DNE(1,yc,1,0,null,13),e.k0s()),2&ye){const u=e.XpG(3);e.BMQ("data-pc-section","checkIcon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.checkIconTemplate)}}function dd(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,ml,1,2,"CheckIcon",9)(2,Ks,2,2,"span",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.checkIconTemplate),e.R7$(),e.Y8G("ngIf",u.checkIconTemplate)}}function Lh(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,gl,1,2,"span",7)(2,dd,3,2,"ng-container",5),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.checkboxTrueIcon),e.R7$(),e.Y8G("ngIf",!u.checkboxTrueIcon)}}function Yu(ye,et){if(1&ye&&e.nrm(0,"span",8),2&ye){const u=e.XpG(2);e.Y8G("ngClass",u.checkboxFalseIcon),e.BMQ("data-pc-section","uncheckIcon")}}function Ef(ye,et){1&ye&&e.nrm(0,"TimesIcon",11),2&ye&&(e.Y8G("styleClass","p-checkbox-icon"),e.BMQ("data-pc-section","uncheckIcon"))}function Xg(ye,et){}function Ts(ye,et){1&ye&&e.DNE(0,Xg,0,0,"ng-template")}function qd(ye,et){if(1&ye&&(e.j41(0,"span",12),e.DNE(1,Ts,1,0,null,13),e.k0s()),2&ye){const u=e.XpG(3);e.BMQ("data-pc-section","uncheckIcon"),e.R7$(),e.Y8G("ngTemplateOutlet",u.uncheckIconTemplate)}}function Ph(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Ef,1,2,"TimesIcon",9)(2,qd,2,2,"span",10),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.uncheckIconTemplate),e.R7$(),e.Y8G("ngIf",u.uncheckIconTemplate)}}function so(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Yu,1,2,"span",7)(2,Ph,3,2,"ng-container",5),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.checkboxFalseIcon),e.R7$(),e.Y8G("ngIf",!u.checkboxFalseIcon)}}function Ku(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"label",14),e.bIt("click",function(de){e.eBV(u);const Ae=e.XpG(),nt=e.sdS(3);return e.Njj(Ae.onClick(de,nt))}),e.EFF(1),e.k0s()}if(2&ye){const u=e.XpG();e.Y8G("ngClass",e.sMw(3,Os,null!=u.value,u.disabled,u.focused)),e.BMQ("for",u.inputId),e.R7$(),e.JRh(u.label)}}const Rh={provide:V.kq,useExisting:(0,e.Rfq)(()=>Uc),multi:!0};let Uc=(()=>{class ye{cd;constructor(u){this.cd=u}disabled;name;ariaLabel;ariaLabelledBy;tabindex;inputId;style;styleClass;label;readonly;checkboxTrueIcon;checkboxFalseIcon;onChange=new e.bkB;templates;checkIconTemplate;uncheckIconTemplate;focused;value;onModelChange=()=>{};onModelTouched=()=>{};onClick(u,ie){!this.disabled&&!this.readonly&&(this.toggle(u),this.focused=!0,ie.focus())}onKeyDown(u){"Enter"===u.key&&(this.toggle(u),u.preventDefault())}toggle(u){null==this.value||null==this.value?this.value=!0:1==this.value?this.value=!1:0==this.value&&(this.value=null),this.onModelChange(this.value),this.onChange.emit({originalEvent:u,value:this.value})}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"checkicon":this.checkIconTemplate=u.template;break;case"uncheckicon":this.uncheckIconTemplate=u.template}})}onFocus(){this.focused=!0}onBlur(){this.focused=!1,this.onModelTouched()}registerOnChange(u){this.onModelChange=u}registerOnTouched(u){this.onModelTouched=u}writeValue(u){this.value=u,this.cd.markForCheck()}setDisabledState(u){this.disabled=u,this.cd.markForCheck()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-triStateCheckbox"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},hostAttrs:[1,"p-element"],inputs:{disabled:"disabled",name:"name",ariaLabel:"ariaLabel",ariaLabelledBy:"ariaLabelledBy",tabindex:"tabindex",inputId:"inputId",style:"style",styleClass:"styleClass",label:"label",readonly:"readonly",checkboxTrueIcon:"checkboxTrueIcon",checkboxFalseIcon:"checkboxFalseIcon"},outputs:{onChange:"onChange"},features:[e.Jv_([Rh])],decls:8,vars:26,consts:[["input",""],[3,"click","ngStyle","ngClass"],[1,"p-hidden-accessible"],["type","checkbox","inputmode","none",3,"keydown","focus","blur","name","readonly","disabled"],["role","checkbox",1,"p-checkbox-box",3,"ngClass"],[4,"ngIf"],["class","p-checkbox-label",3,"ngClass","click",4,"ngIf"],["class","p-checkbox-icon",3,"ngClass",4,"ngIf"],[1,"p-checkbox-icon",3,"ngClass"],[3,"styleClass",4,"ngIf"],["class","p-checkbox-icon",4,"ngIf"],[3,"styleClass"],[1,"p-checkbox-icon"],[4,"ngTemplateOutlet"],[1,"p-checkbox-label",3,"click","ngClass"]],template:function(ie,de){if(1&ie){const Ae=e.RV6();e.j41(0,"div",1),e.bIt("click",function(kt){e.eBV(Ae);const zt=e.sdS(3);return e.Njj(de.onClick(kt,zt))}),e.j41(1,"div",2)(2,"input",3,0),e.bIt("keydown",function(kt){return e.eBV(Ae),e.Njj(de.onKeyDown(kt))})("focus",function(){return e.eBV(Ae),e.Njj(de.onFocus())})("blur",function(){return e.eBV(Ae),e.Njj(de.onBlur())}),e.k0s()(),e.j41(4,"div",4),e.DNE(5,Lh,3,2,"ng-container",5)(6,so,3,2,"ng-container",5),e.k0s()(),e.DNE(7,Ku,2,7,"label",6)}2&ie&&(e.HbH(de.styleClass),e.Y8G("ngStyle",de.style)("ngClass",e.l_i(19,on,de.disabled,de.focused)),e.BMQ("data-pc-name","tristatecheckbox")("data-pc-section","root"),e.R7$(2),e.Y8G("name",de.name)("readonly",de.readonly)("disabled",de.disabled),e.BMQ("id",de.inputId)("tabindex",de.tabindex)("aria-labelledby",de.ariaLabelledBy)("aria-label",de.ariaLabel)("data-pc-section","hiddenInput"),e.R7$(2),e.Y8G("ngClass",e.sMw(22,bn,null!=de.value,de.disabled,de.focused)),e.BMQ("aria-checked",!0===de.value),e.R7$(),e.Y8G("ngIf",!0===de.value),e.R7$(),e.Y8G("ngIf",!1===de.value),e.R7$(),e.Y8G("ngIf",de.label))},dependencies:()=>[M.YU,M.bT,M.T3,M.B3,As,E.A],encapsulation:2,changeDetection:0})}return ye})(),jo=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Le.Gg,As,E.A,Le.Gg]})}return ye})();var Wc=We(21413);const bl=["container"],Af=["resizeHelper"],Ka=["reorderIndicatorUp"],Zu=["reorderIndicatorDown"],If=["wrapper"],Qd=["table"],Nh=["thead"],$c=["tfoot"],Xc=["scroller"],qr=(ye,et,u)=>({"p-datatable p-component":!0,"p-datatable-hoverable-rows":ye,"p-datatable-scrollable":et,"p-datatable-flex-scrollable":u}),Ds=ye=>({maxHeight:ye}),Za=ye=>({height:ye}),nn=(ye,et)=>({$implicit:ye,options:et}),Fh=ye=>({columns:ye}),Of=(ye,et,u)=>({"p-datatable-table":!0,"p-datatable-scrollable-table":ye,"p-datatable-resizable-table":et,"p-datatable-resizable-table-fit":u}),vl=ye=>({$implicit:ye});function ud(ye,et){if(1&ye&&e.nrm(0,"i"),2&ye){const u=e.XpG(2);e.HbH("p-datatable-loading-icon "+u.loadingIcon)}}function Lf(ye,et){1&ye&&e.nrm(0,"SpinnerIcon",25),2&ye&&e.Y8G("spin",!0)("styleClass","p-datatable-loading-icon")}function xc(ye,et){}function qa(ye,et){1&ye&&e.DNE(0,xc,0,0,"ng-template")}function Jd(ye,et){if(1&ye&&(e.j41(0,"span",26),e.DNE(1,qa,1,0,null,27),e.k0s()),2&ye){const u=e.XpG(3);e.R7$(),e.Y8G("ngTemplateOutlet",u.loadingIconTemplate)}}function qu(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Lf,1,2,"SpinnerIcon",23)(2,Jd,2,1,"span",24),e.bVm()),2&ye){const u=e.XpG(2);e.R7$(),e.Y8G("ngIf",!u.loadingIconTemplate),e.R7$(),e.Y8G("ngIf",u.loadingIconTemplate)}}function Qu(ye,et){if(1&ye&&(e.j41(0,"div",21),e.DNE(1,ud,1,2,"i",22)(2,qu,3,2,"ng-container",16),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",u.loadingIcon),e.R7$(),e.Y8G("ngIf",!u.loadingIcon)}}function Ju(ye,et){1&ye&&e.eu8(0)}function ep(ye,et){if(1&ye&&(e.j41(0,"div",28),e.DNE(1,Ju,1,0,"ng-container",27),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.captionTemplate)}}function ni(ye,et){1&ye&&e.eu8(0)}function Tn(ye,et){if(1&ye&&e.DNE(0,ni,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorDropdownIconTemplate)}}function _c(ye,et){1&ye&&e.DNE(0,Tn,1,1,"ng-template",30)}function Cc(ye,et){1&ye&&e.eu8(0)}function ds(ye,et){if(1&ye&&e.DNE(0,Cc,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorFirstPageLinkIconTemplate)}}function Yc(ye,et){1&ye&&e.DNE(0,ds,1,1,"ng-template",31)}function sa(ye,et){1&ye&&e.eu8(0)}function ra(ye,et){if(1&ye&&e.DNE(0,sa,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorPreviousPageLinkIconTemplate)}}function eu(ye,et){1&ye&&e.DNE(0,ra,1,1,"ng-template",32)}function tu(ye,et){1&ye&&e.eu8(0)}function Pf(ye,et){if(1&ye&&e.DNE(0,tu,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorLastPageLinkIconTemplate)}}function Yg(ye,et){1&ye&&e.DNE(0,Pf,1,1,"ng-template",33)}function tp(ye,et){1&ye&&e.eu8(0)}function ro(ye,et){if(1&ye&&e.DNE(0,tp,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorNextPageLinkIconTemplate)}}function yl(ye,et){1&ye&&e.DNE(0,ro,1,1,"ng-template",34)}function ip(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-paginator",29),e.bIt("onPageChange",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onPageChange(de))}),e.DNE(1,_c,1,0,null,16)(2,Yc,1,0,null,16)(3,eu,1,0,null,16)(4,Yg,1,0,null,16)(5,yl,1,0,null,16),e.k0s()}if(2&ye){const u=e.XpG();e.Y8G("rows",u.rows)("first",u.first)("totalRecords",u.totalRecords)("pageLinkSize",u.pageLinks)("alwaysShow",u.alwaysShowPaginator)("rowsPerPageOptions",u.rowsPerPageOptions)("templateLeft",u.paginatorLeftTemplate)("templateRight",u.paginatorRightTemplate)("dropdownAppendTo",u.paginatorDropdownAppendTo)("dropdownScrollHeight",u.paginatorDropdownScrollHeight)("currentPageReportTemplate",u.currentPageReportTemplate)("showFirstLastIcon",u.showFirstLastIcon)("dropdownItemTemplate",u.paginatorDropdownItemTemplate)("showCurrentPageReport",u.showCurrentPageReport)("showJumpToPageDropdown",u.showJumpToPageDropdown)("showJumpToPageInput",u.showJumpToPageInput)("showPageLinks",u.showPageLinks)("styleClass",u.getPaginatorStyleClasses("p-paginator-top"))("locale",u.paginatorLocale),e.R7$(),e.Y8G("ngIf",u.paginatorDropdownIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorFirstPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorPreviousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorLastPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorNextPageLinkIconTemplate)}}function Ta(ye,et){1&ye&&e.eu8(0)}function xl(ye,et){if(1&ye&&e.DNE(0,Ta,1,0,"ng-container",37),2&ye){const u=et.$implicit,ie=et.options;e.XpG(2);const de=e.sdS(10);e.Y8G("ngTemplateOutlet",de)("ngTemplateOutletContext",e.l_i(2,nn,u,ie))}}function np(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-scroller",35,3),e.bIt("onLazyLoad",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onLazyItemLoad(de))}),e.DNE(2,xl,1,5,"ng-template",36),e.k0s()}if(2&ye){const u=e.XpG();e.Aen(e.eq3(15,Za,"flex"!==u.scrollHeight?u.scrollHeight:void 0)),e.Y8G("items",u.processedData)("columns",u.columns)("scrollHeight","flex"!==u.scrollHeight?void 0:"100%")("itemSize",u.virtualScrollItemSize||u._virtualRowHeight)("step",u.rows)("delay",u.lazy?u.virtualScrollDelay:0)("inline",!0)("lazy",u.lazy)("loaderDisabled",!0)("showSpacer",!1)("showLoader",u.loadingBodyTemplate)("options",u.virtualScrollOptions)("autoSize",!0)}}function sp(ye,et){1&ye&&e.eu8(0)}function Rf(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,sp,1,0,"ng-container",37),e.bVm()),2&ye){const u=e.XpG(),ie=e.sdS(10);e.R7$(),e.Y8G("ngTemplateOutlet",ie)("ngTemplateOutletContext",e.l_i(4,nn,u.processedData,e.eq3(2,Fh,u.columns)))}}function iu(ye,et){1&ye&&e.eu8(0)}function pd(ye,et){1&ye&&e.eu8(0)}function Bh(ye,et){if(1&ye&&e.nrm(0,"tbody",44),2&ye){const u=e.XpG().options,ie=e.XpG();e.Y8G("value",ie.frozenValue)("frozenRows",!0)("pTableBody",u.columns)("pTableBodyTemplate",ie.frozenBodyTemplate)("frozen",!0)}}function oo(ye,et){if(1&ye&&e.nrm(0,"tbody",45),2&ye){const u=e.XpG().options;e.Aen("height: calc("+u.spacerStyle.height+" - "+u.rows.length*u.itemSize+"px);")}}function wc(ye,et){1&ye&&e.eu8(0)}function Nf(ye,et){if(1&ye&&(e.j41(0,"tfoot",46,6),e.DNE(2,wc,1,0,"ng-container",37),e.k0s()),2&ye){const u=e.XpG().options,ie=e.XpG();e.R7$(2),e.Y8G("ngTemplateOutlet",ie.footerGroupedTemplate||ie.footerTemplate)("ngTemplateOutletContext",e.eq3(2,vl,u.columns))}}function _l(ye,et){if(1&ye&&(e.j41(0,"table",38,4),e.DNE(2,iu,1,0,"ng-container",37),e.j41(3,"thead",39,5),e.DNE(5,pd,1,0,"ng-container",37),e.k0s(),e.DNE(6,Bh,1,5,"tbody",40),e.nrm(7,"tbody",41),e.DNE(8,oo,1,2,"tbody",42)(9,Nf,3,4,"tfoot",43),e.k0s()),2&ye){const u=et.options,ie=e.XpG();e.Aen(ie.tableStyle),e.HbH(ie.tableStyleClass),e.Y8G("ngClass",e.sMw(20,Of,ie.scrollable,ie.resizableColumns,ie.resizableColumns&&"fit"===ie.columnResizeMode)),e.BMQ("id",ie.id+"-table"),e.R7$(2),e.Y8G("ngTemplateOutlet",ie.colGroupTemplate)("ngTemplateOutletContext",e.eq3(24,vl,u.columns)),e.R7$(3),e.Y8G("ngTemplateOutlet",ie.headerGroupedTemplate||ie.headerTemplate)("ngTemplateOutletContext",e.eq3(26,vl,u.columns)),e.R7$(),e.Y8G("ngIf",ie.frozenValue||ie.frozenBodyTemplate),e.R7$(),e.Aen(u.contentStyle),e.Y8G("ngClass",u.contentStyleClass)("value",ie.dataToRender(u.rows))("pTableBody",u.columns)("pTableBodyTemplate",ie.bodyTemplate)("scrollerOptions",u),e.R7$(),e.Y8G("ngIf",u.spacerStyle),e.R7$(),e.Y8G("ngIf",ie.footerGroupedTemplate||ie.footerTemplate)}}function ao(ye,et){1&ye&&e.eu8(0)}function rp(ye,et){if(1&ye&&e.DNE(0,ao,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorDropdownIconTemplate)}}function jh(ye,et){1&ye&&e.DNE(0,rp,1,1,"ng-template",30)}function Kc(ye,et){1&ye&&e.eu8(0)}function nu(ye,et){if(1&ye&&e.DNE(0,Kc,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorFirstPageLinkIconTemplate)}}function fd(ye,et){1&ye&&e.DNE(0,nu,1,1,"ng-template",31)}function op(ye,et){1&ye&&e.eu8(0)}function Rr(ye,et){if(1&ye&&e.DNE(0,op,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorPreviousPageLinkIconTemplate)}}function Zc(ye,et){1&ye&&e.DNE(0,Rr,1,1,"ng-template",32)}function Ss(ye,et){1&ye&&e.eu8(0)}function Ff(ye,et){if(1&ye&&e.DNE(0,Ss,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorLastPageLinkIconTemplate)}}function su(ye,et){1&ye&&e.DNE(0,Ff,1,1,"ng-template",33)}function ap(ye,et){1&ye&&e.eu8(0)}function ru(ye,et){if(1&ye&&e.DNE(0,ap,1,0,"ng-container",27),2&ye){const u=e.XpG(3);e.Y8G("ngTemplateOutlet",u.paginatorNextPageLinkIconTemplate)}}function Vh(ye,et){1&ye&&e.DNE(0,ru,1,1,"ng-template",34)}function qc(ye,et){if(1&ye){const u=e.RV6();e.j41(0,"p-paginator",29),e.bIt("onPageChange",function(de){e.eBV(u);const Ae=e.XpG();return e.Njj(Ae.onPageChange(de))}),e.DNE(1,jh,1,0,null,16)(2,fd,1,0,null,16)(3,Zc,1,0,null,16)(4,su,1,0,null,16)(5,Vh,1,0,null,16),e.k0s()}if(2&ye){const u=e.XpG();e.Y8G("rows",u.rows)("first",u.first)("totalRecords",u.totalRecords)("pageLinkSize",u.pageLinks)("alwaysShow",u.alwaysShowPaginator)("rowsPerPageOptions",u.rowsPerPageOptions)("templateLeft",u.paginatorLeftTemplate)("templateRight",u.paginatorRightTemplate)("dropdownAppendTo",u.paginatorDropdownAppendTo)("dropdownScrollHeight",u.paginatorDropdownScrollHeight)("currentPageReportTemplate",u.currentPageReportTemplate)("showFirstLastIcon",u.showFirstLastIcon)("dropdownItemTemplate",u.paginatorDropdownItemTemplate)("showCurrentPageReport",u.showCurrentPageReport)("showJumpToPageDropdown",u.showJumpToPageDropdown)("showJumpToPageInput",u.showJumpToPageInput)("showPageLinks",u.showPageLinks)("styleClass",u.getPaginatorStyleClasses("p-paginator-bottom"))("locale",u.paginatorLocale),e.R7$(),e.Y8G("ngIf",u.paginatorDropdownIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorFirstPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorPreviousPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorLastPageLinkIconTemplate),e.R7$(),e.Y8G("ngIf",u.paginatorNextPageLinkIconTemplate)}}function Qa(ye,et){1&ye&&e.eu8(0)}function Nr(ye,et){if(1&ye&&(e.j41(0,"div",47),e.DNE(1,Qa,1,0,"ng-container",27),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.summaryTemplate)}}function Zl(ye,et){1&ye&&e.nrm(0,"div",48,7)}function Sa(ye,et){1&ye&&e.nrm(0,"ArrowDownIcon")}function oa(ye,et){}function Vo(ye,et){1&ye&&e.DNE(0,oa,0,0,"ng-template")}function zh(ye,et){if(1&ye&&(e.j41(0,"span",49,8),e.DNE(2,Sa,1,0,"ArrowDownIcon",16)(3,Vo,1,0,null,27),e.k0s()),2&ye){const u=e.XpG();e.R7$(2),e.Y8G("ngIf",!u.reorderIndicatorUpIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.reorderIndicatorUpIconTemplate)}}function ou(ye,et){1&ye&&e.nrm(0,"ArrowUpIcon")}function Cl(ye,et){}function lp(ye,et){1&ye&&e.DNE(0,Cl,0,0,"ng-template")}function Tc(ye,et){if(1&ye&&(e.j41(0,"span",50,9),e.DNE(2,ou,1,0,"ArrowUpIcon",16)(3,lp,1,0,null,27),e.k0s()),2&ye){const u=e.XpG();e.R7$(2),e.Y8G("ngIf",!u.reorderIndicatorDownIconTemplate),e.R7$(),e.Y8G("ngTemplateOutlet",u.reorderIndicatorDownIconTemplate)}}const Qc=["pTableBody",""],Gh=(ye,et,u,ie,de)=>({$implicit:ye,rowIndex:et,columns:u,editing:ie,frozen:de}),Hh=(ye,et,u,ie,de,Ae,nt)=>({$implicit:ye,rowIndex:et,columns:u,editing:ie,frozen:de,rowgroup:Ae,rowspan:nt}),Jc=(ye,et,u,ie,de,Ae)=>({$implicit:ye,rowIndex:et,columns:u,expanded:ie,editing:de,frozen:Ae}),au=(ye,et,u,ie)=>({$implicit:ye,rowIndex:et,columns:u,frozen:ie}),Uh=(ye,et)=>({$implicit:ye,frozen:et});function cp(ye,et){1&ye&&e.eu8(0)}function Sc(ye,et){if(1&ye&&(e.qex(0,3),e.DNE(1,cp,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.groupHeaderTemplate)("ngTemplateOutletContext",e.s1E(2,Gh,ie,Ae.getRowIndex(de),Ae.columns,"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function eh(ye,et){1&ye&&e.eu8(0)}function Ja(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,eh,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",ie?Ae.template:Ae.dt.loadingBodyTemplate)("ngTemplateOutletContext",e.s1E(2,Gh,ie,Ae.getRowIndex(de),Ae.columns,"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function hp(ye,et){1&ye&&e.eu8(0)}function el(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,hp,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",ie?Ae.template:Ae.dt.loadingBodyTemplate)("ngTemplateOutletContext",e.sGs(2,Hh,ie,Ae.getRowIndex(de),Ae.columns,"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen,Ae.shouldRenderRowspan(Ae.value,ie,de),Ae.calculateRowGroupSize(Ae.value,ie,de)))}}function Fr(ye,et){1&ye&&e.eu8(0)}function kc(ye,et){if(1&ye&&(e.qex(0,3),e.DNE(1,Fr,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.groupFooterTemplate)("ngTemplateOutletContext",e.s1E(2,Gh,ie,Ae.getRowIndex(de),Ae.columns,"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function Bf(ye,et){if(1&ye&&e.DNE(0,Sc,2,8,"ng-container",2)(1,Ja,2,8,"ng-container",0)(2,el,2,10,"ng-container",0)(3,kc,2,8,"ng-container",2),2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(2);e.Y8G("ngIf",de.dt.groupHeaderTemplate&&!de.dt.virtualScroll&&"subheader"===de.dt.rowGroupMode&&de.shouldRenderRowGroupHeader(de.value,u,ie)),e.R7$(),e.Y8G("ngIf","rowspan"!==de.dt.rowGroupMode),e.R7$(),e.Y8G("ngIf","rowspan"===de.dt.rowGroupMode),e.R7$(),e.Y8G("ngIf",de.dt.groupFooterTemplate&&!de.dt.virtualScroll&&"subheader"===de.dt.rowGroupMode&&de.shouldRenderRowGroupFooter(de.value,u,ie))}}function th(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Bf,4,4,"ng-template",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngForOf",u.value)("ngForTrackBy",u.dt.rowTrackBy)}}function wl(ye,et){1&ye&&e.eu8(0)}function ka(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,wl,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.template)("ngTemplateOutletContext",e.l4e(2,Jc,ie,Ae.getRowIndex(de),Ae.columns,Ae.dt.isRowExpanded(ie),"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function Br(ye,et){1&ye&&e.eu8(0)}function lu(ye,et){if(1&ye&&(e.qex(0,3),e.DNE(1,Br,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.groupHeaderTemplate)("ngTemplateOutletContext",e.l4e(2,Jc,ie,Ae.getRowIndex(de),Ae.columns,Ae.dt.isRowExpanded(ie),"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function ih(ye,et){1&ye&&e.eu8(0)}function gd(ye,et){1&ye&&e.eu8(0)}function lo(ye,et){if(1&ye&&(e.qex(0,3),e.DNE(1,gd,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(2),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.groupFooterTemplate)("ngTemplateOutletContext",e.l4e(2,Jc,ie,Ae.getRowIndex(de),Ae.columns,Ae.dt.isRowExpanded(ie),"row"===Ae.dt.editMode&&Ae.dt.isRowEditing(ie),Ae.frozen))}}function Wh(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,ih,1,0,"ng-container",4)(2,lo,2,9,"ng-container",2),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.expandedRowTemplate)("ngTemplateOutletContext",e.ziG(3,au,ie,Ae.getRowIndex(de),Ae.columns,Ae.frozen)),e.R7$(),e.Y8G("ngIf",Ae.dt.groupFooterTemplate&&"subheader"===Ae.dt.rowGroupMode&&Ae.shouldRenderRowGroupFooter(Ae.value,ie,Ae.getRowIndex(de)))}}function nh(ye,et){if(1&ye&&e.DNE(0,ka,2,9,"ng-container",0)(1,lu,2,9,"ng-container",2)(2,Wh,3,8,"ng-container",0),2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(2);e.Y8G("ngIf",!de.dt.groupHeaderTemplate),e.R7$(),e.Y8G("ngIf",de.dt.groupHeaderTemplate&&"subheader"===de.dt.rowGroupMode&&de.shouldRenderRowGroupHeader(de.value,u,de.getRowIndex(ie))),e.R7$(),e.Y8G("ngIf",de.dt.isRowExpanded(u))}}function $h(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,nh,3,3,"ng-template",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngForOf",u.value)("ngForTrackBy",u.dt.rowTrackBy)}}function md(ye,et){1&ye&&e.eu8(0)}function bd(ye,et){1&ye&&e.eu8(0)}function vd(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,bd,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG(),ie=u.$implicit,de=u.index,Ae=e.XpG(2);e.R7$(),e.Y8G("ngTemplateOutlet",Ae.dt.frozenExpandedRowTemplate)("ngTemplateOutletContext",e.ziG(2,au,ie,Ae.getRowIndex(de),Ae.columns,Ae.frozen))}}function sh(ye,et){if(1&ye&&e.DNE(0,md,1,0,"ng-container",4)(1,vd,2,7,"ng-container",0),2&ye){const u=et.$implicit,ie=et.index,de=e.XpG(2);e.Y8G("ngTemplateOutlet",de.template)("ngTemplateOutletContext",e.l4e(3,Jc,u,de.getRowIndex(ie),de.columns,de.dt.isRowExpanded(u),"row"===de.dt.editMode&&de.dt.isRowEditing(u),de.frozen)),e.R7$(),e.Y8G("ngIf",de.dt.isRowExpanded(u))}}function yd(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,sh,2,10,"ng-template",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngForOf",u.value)("ngForTrackBy",u.dt.rowTrackBy)}}function rh(ye,et){1&ye&&e.eu8(0)}function ql(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,rh,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dt.loadingBodyTemplate)("ngTemplateOutletContext",e.l_i(2,Uh,u.columns,u.frozen))}}function cu(ye,et){1&ye&&e.eu8(0)}function hu(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,cu,1,0,"ng-container",4),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dt.emptyMessageTemplate)("ngTemplateOutletContext",e.l_i(2,Uh,u.columns,u.frozen))}}function Xh(ye,et){1&ye&&e.nrm(0,"SortAltIcon",4),2&ye&&e.Y8G("styleClass","p-sortable-column-icon")}function Tl(ye,et){1&ye&&e.nrm(0,"SortAmountUpAltIcon",4),2&ye&&e.Y8G("styleClass","p-sortable-column-icon")}function oh(ye,et){1&ye&&e.nrm(0,"SortAmountDownIcon",4),2&ye&&e.Y8G("styleClass","p-sortable-column-icon")}function vr(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,Xh,1,1,"SortAltIcon",3)(2,Tl,1,1,"SortAmountUpAltIcon",3)(3,oh,1,1,"SortAmountDownIcon",3),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngIf",0===u.sortOrder),e.R7$(),e.Y8G("ngIf",1===u.sortOrder),e.R7$(),e.Y8G("ngIf",-1===u.sortOrder)}}function jf(ye,et){}function xd(ye,et){1&ye&&e.DNE(0,jf,0,0,"ng-template")}function _d(ye,et){if(1&ye&&(e.j41(0,"span",5),e.DNE(1,xd,1,0,null,6),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.dt.sortIconTemplate)("ngTemplateOutletContext",e.eq3(2,vl,u.sortOrder))}}function aa(ye,et){if(1&ye&&(e.j41(0,"span",7),e.EFF(1),e.k0s()),2&ye){const u=e.XpG();e.R7$(),e.JRh(u.getBadgeValue())}}function du(ye,et){1&ye&&e.eu8(0)}function Ql(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,du,1,0,"ng-container",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.inputTemplate)}}function uu(ye,et){1&ye&&e.eu8(0)}function dp(ye,et){if(1&ye&&(e.qex(0),e.DNE(1,uu,1,0,"ng-container",1),e.bVm()),2&ye){const u=e.XpG();e.R7$(),e.Y8G("ngTemplateOutlet",u.outputTemplate)}}let Ce=(()=>{class ye{sortSource=new Wc.B;selectionSource=new Wc.B;contextMenuSource=new Wc.B;valueSource=new Wc.B;totalRecordsSource=new Wc.B;columnsSource=new Wc.B;sortSource$=this.sortSource.asObservable();selectionSource$=this.selectionSource.asObservable();contextMenuSource$=this.contextMenuSource.asObservable();valueSource$=this.valueSource.asObservable();totalRecordsSource$=this.totalRecordsSource.asObservable();columnsSource$=this.columnsSource.asObservable();onSort(u){this.sortSource.next(u)}onSelectionChange(){this.selectionSource.next(null)}onContextMenu(u){this.contextMenuSource.next(u)}onValueChange(u){this.valueSource.next(u)}onTotalRecordsChange(u){this.totalRecordsSource.next(u)}onColumnsChange(u){this.columnsSource.next(u)}static \u0275fac=function(ie){return new(ie||ye)};static \u0275prov=e.jDH({token:ye,factory:ye.\u0275fac})}return ye})(),Ne=(()=>{class ye{document;platformId;renderer;el;zone;tableService;cd;filterService;overlayService;config;frozenColumns;frozenValue;style;styleClass;tableStyle;tableStyleClass;paginator;pageLinks=5;rowsPerPageOptions;alwaysShowPaginator=!0;paginatorPosition="bottom";paginatorStyleClass;paginatorDropdownAppendTo;paginatorDropdownScrollHeight="200px";currentPageReportTemplate="{currentPage} of {totalPages}";showCurrentPageReport;showJumpToPageDropdown;showJumpToPageInput;showFirstLastIcon=!0;showPageLinks=!0;defaultSortOrder=1;sortMode="single";resetPageOnSort=!0;selectionMode;selectionPageOnly;contextMenuSelection;contextMenuSelectionChange=new e.bkB;contextMenuSelectionMode="separate";dataKey;metaKeySelection=!1;rowSelectable;rowTrackBy=(u,ie)=>ie;lazy=!1;lazyLoadOnInit=!0;compareSelectionBy="deepEquals";csvSeparator=",";exportFilename="download";filters={};globalFilterFields;filterDelay=300;filterLocale;expandedRowKeys={};editingRowKeys={};rowExpandMode="multiple";scrollable;scrollDirection="vertical";rowGroupMode;scrollHeight;virtualScroll;virtualScrollItemSize;virtualScrollOptions;virtualScrollDelay=250;frozenWidth;get responsive(){return this._responsive}set responsive(u){this._responsive=u,console.warn("responsive property is deprecated as table is always responsive with scrollable behavior.")}_responsive;contextMenu;resizableColumns;columnResizeMode="fit";reorderableColumns;loading;loadingIcon;showLoader=!0;rowHover;customSort;showInitialSortBadge=!0;autoLayout;exportFunction;exportHeader;stateKey;stateStorage="session";editMode="cell";groupRowsBy;groupRowsByOrder=1;responsiveLayout="scroll";breakpoint="640px";paginatorLocale;get value(){return this._value}set value(u){this._value=u}get columns(){return this._columns}set columns(u){this._columns=u}get first(){return this._first}set first(u){this._first=u}get rows(){return this._rows}set rows(u){this._rows=u}get totalRecords(){return this._totalRecords}set totalRecords(u){this._totalRecords=u,this.tableService.onTotalRecordsChange(this._totalRecords)}get sortField(){return this._sortField}set sortField(u){this._sortField=u}get sortOrder(){return this._sortOrder}set sortOrder(u){this._sortOrder=u}get multiSortMeta(){return this._multiSortMeta}set multiSortMeta(u){this._multiSortMeta=u}get selection(){return this._selection}set selection(u){this._selection=u}get selectAll(){return this._selection}set selectAll(u){this._selection=u}selectAllChange=new e.bkB;selectionChange=new e.bkB;onRowSelect=new e.bkB;onRowUnselect=new e.bkB;onPage=new e.bkB;onSort=new e.bkB;onFilter=new e.bkB;onLazyLoad=new e.bkB;onRowExpand=new e.bkB;onRowCollapse=new e.bkB;onContextMenuSelect=new e.bkB;onColResize=new e.bkB;onColReorder=new e.bkB;onRowReorder=new e.bkB;onEditInit=new e.bkB;onEditComplete=new e.bkB;onEditCancel=new e.bkB;onHeaderCheckboxToggle=new e.bkB;sortFunction=new e.bkB;firstChange=new e.bkB;rowsChange=new e.bkB;onStateSave=new e.bkB;onStateRestore=new e.bkB;containerViewChild;resizeHelperViewChild;reorderIndicatorUpViewChild;reorderIndicatorDownViewChild;wrapperViewChild;tableViewChild;tableHeaderViewChild;tableFooterViewChild;scroller;templates;get virtualRowHeight(){return this._virtualRowHeight}set virtualRowHeight(u){this._virtualRowHeight=u,console.warn("The virtualRowHeight property is deprecated.")}_virtualRowHeight=28;_value=[];_columns;_totalRecords=0;_first=0;_rows;filteredValue;headerTemplate;headerGroupedTemplate;bodyTemplate;loadingBodyTemplate;captionTemplate;footerTemplate;footerGroupedTemplate;summaryTemplate;colGroupTemplate;expandedRowTemplate;groupHeaderTemplate;groupFooterTemplate;frozenExpandedRowTemplate;frozenHeaderTemplate;frozenBodyTemplate;frozenFooterTemplate;frozenColGroupTemplate;emptyMessageTemplate;paginatorLeftTemplate;paginatorRightTemplate;paginatorDropdownItemTemplate;loadingIconTemplate;reorderIndicatorUpIconTemplate;reorderIndicatorDownIconTemplate;sortIconTemplate;checkboxIconTemplate;headerCheckboxIconTemplate;paginatorDropdownIconTemplate;paginatorFirstPageLinkIconTemplate;paginatorLastPageLinkIconTemplate;paginatorPreviousPageLinkIconTemplate;paginatorNextPageLinkIconTemplate;selectionKeys={};lastResizerHelperX;reorderIconWidth;reorderIconHeight;draggedColumn;draggedRowIndex;droppedRowIndex;rowDragging;dropPosition;editingCell;editingCellData;editingCellField;editingCellRowIndex;selfClick;documentEditListener;_multiSortMeta;_sortField;_sortOrder=1;preventSelectionSetterPropagation;_selection;_selectAll=null;anchorRowIndex;rangeRowIndex;filterTimeout;initialized;rowTouched;restoringSort;restoringFilter;stateRestored;columnOrderStateRestored;columnWidthsState;tableWidthState;overlaySubscription;resizeColumnElement;columnResizing=!1;rowGroupHeaderStyleObject={};id=(0,le._Y)();styleElement;responsiveStyleElement;window;constructor(u,ie,de,Ae,nt,kt,zt,ai,oi,Li){this.document=u,this.platformId=ie,this.renderer=de,this.el=Ae,this.zone=nt,this.tableService=kt,this.cd=zt,this.filterService=ai,this.overlayService=oi,this.config=Li,this.window=this.document.defaultView}ngOnInit(){this.lazy&&this.lazyLoadOnInit&&(this.virtualScroll||this.onLazyLoad.emit(this.createLazyLoadMetadata()),this.restoringFilter&&(this.restoringFilter=!1)),"stack"===this.responsiveLayout&&this.createResponsiveStyle(),this.initialized=!0}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"caption":this.captionTemplate=u.template;break;case"header":this.headerTemplate=u.template;break;case"headergrouped":this.headerGroupedTemplate=u.template;break;case"body":this.bodyTemplate=u.template;break;case"loadingbody":this.loadingBodyTemplate=u.template;break;case"footer":this.footerTemplate=u.template;break;case"footergrouped":this.footerGroupedTemplate=u.template;break;case"summary":this.summaryTemplate=u.template;break;case"colgroup":this.colGroupTemplate=u.template;break;case"rowexpansion":this.expandedRowTemplate=u.template;break;case"groupheader":this.groupHeaderTemplate=u.template;break;case"groupfooter":this.groupFooterTemplate=u.template;break;case"frozenheader":this.frozenHeaderTemplate=u.template;break;case"frozenbody":this.frozenBodyTemplate=u.template;break;case"frozenfooter":this.frozenFooterTemplate=u.template;break;case"frozencolgroup":this.frozenColGroupTemplate=u.template;break;case"frozenrowexpansion":this.frozenExpandedRowTemplate=u.template;break;case"emptymessage":this.emptyMessageTemplate=u.template;break;case"paginatorleft":this.paginatorLeftTemplate=u.template;break;case"paginatorright":this.paginatorRightTemplate=u.template;break;case"paginatordropdownicon":this.paginatorDropdownIconTemplate=u.template;break;case"paginatordropdownitem":this.paginatorDropdownItemTemplate=u.template;break;case"paginatorfirstpagelinkicon":this.paginatorFirstPageLinkIconTemplate=u.template;break;case"paginatorlastpagelinkicon":this.paginatorLastPageLinkIconTemplate=u.template;break;case"paginatorpreviouspagelinkicon":this.paginatorPreviousPageLinkIconTemplate=u.template;break;case"paginatornextpagelinkicon":this.paginatorNextPageLinkIconTemplate=u.template;break;case"loadingicon":this.loadingIconTemplate=u.template;break;case"reorderindicatorupicon":this.reorderIndicatorUpIconTemplate=u.template;break;case"reorderindicatordownicon":this.reorderIndicatorDownIconTemplate=u.template;break;case"sorticon":this.sortIconTemplate=u.template;break;case"checkboxicon":this.checkboxIconTemplate=u.template;break;case"headercheckboxicon":this.headerCheckboxIconTemplate=u.template}})}ngAfterViewInit(){(0,M.UE)(this.platformId)&&this.isStateful()&&this.resizableColumns&&this.restoreColumnWidths()}ngOnChanges(u){u.value&&(this.isStateful()&&!this.stateRestored&&(0,M.UE)(this.platformId)&&this.restoreState(),this._value=u.value.currentValue,this.lazy||(this.totalRecords=this._value?this._value.length:0,"single"==this.sortMode&&(this.sortField||this.groupRowsBy)?this.sortSingle():"multiple"==this.sortMode&&(this.multiSortMeta||this.groupRowsBy)?this.sortMultiple():this.hasFilter()&&this._filter()),this.tableService.onValueChange(u.value.currentValue)),u.columns&&(this.isStateful()||(this._columns=u.columns.currentValue,this.tableService.onColumnsChange(u.columns.currentValue)),this._columns&&this.isStateful()&&this.reorderableColumns&&!this.columnOrderStateRestored&&(this.restoreColumnOrder(),this.tableService.onColumnsChange(this._columns))),u.sortField&&(this._sortField=u.sortField.currentValue,(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle()),u.groupRowsBy&&(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle(),u.sortOrder&&(this._sortOrder=u.sortOrder.currentValue,(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle()),u.groupRowsByOrder&&(!this.lazy||this.initialized)&&"single"===this.sortMode&&this.sortSingle(),u.multiSortMeta&&(this._multiSortMeta=u.multiSortMeta.currentValue,"multiple"===this.sortMode&&(this.initialized||!this.lazy&&!this.virtualScroll)&&this.sortMultiple()),u.selection&&(this._selection=u.selection.currentValue,this.preventSelectionSetterPropagation||(this.updateSelectionKeys(),this.tableService.onSelectionChange()),this.preventSelectionSetterPropagation=!1),u.selectAll&&(this._selectAll=u.selectAll.currentValue,this.preventSelectionSetterPropagation||(this.updateSelectionKeys(),this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()),this.preventSelectionSetterPropagation=!1)}get processedData(){return this.filteredValue||this.value||[]}_initialColWidths;dataToRender(u){const ie=u||this.processedData;if(ie&&this.paginator){const de=this.lazy?0:this.first;return ie.slice(de,de+this.rows)}return ie}updateSelectionKeys(){if(this.dataKey&&this._selection)if(this.selectionKeys={},Array.isArray(this._selection))for(let u of this._selection)this.selectionKeys[String(le.BF.resolveFieldData(u,this.dataKey))]=1;else this.selectionKeys[String(le.BF.resolveFieldData(this._selection,this.dataKey))]=1}onPageChange(u){this.first=u.first,this.rows=u.rows,this.onPage.emit({first:this.first,rows:this.rows}),this.lazy&&this.onLazyLoad.emit(this.createLazyLoadMetadata()),this.firstChange.emit(this.first),this.rowsChange.emit(this.rows),this.tableService.onValueChange(this.value),this.isStateful()&&this.saveState(),this.anchorRowIndex=null,this.scrollable&&this.resetScrollTop()}sort(u){let ie=u.originalEvent;if("single"===this.sortMode&&(this._sortOrder=this.sortField===u.field?-1*this.sortOrder:this.defaultSortOrder,this._sortField=u.field,this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first),this.scrollable&&this.resetScrollTop()),this.sortSingle()),"multiple"===this.sortMode){let de=ie.metaKey||ie.ctrlKey,Ae=this.getSortMeta(u.field);Ae?de?Ae.order=-1*Ae.order:(this._multiSortMeta=[{field:u.field,order:-1*Ae.order}],this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first),this.scrollable&&this.resetScrollTop())):((!de||!this.multiSortMeta)&&(this._multiSortMeta=[],this.resetPageOnSort&&(this._first=0,this.firstChange.emit(this._first))),this._multiSortMeta.push({field:u.field,order:this.defaultSortOrder})),this.sortMultiple()}this.isStateful()&&this.saveState(),this.anchorRowIndex=null}sortSingle(){let u=this.sortField||this.groupRowsBy,ie=this.sortField?this.sortOrder:this.groupRowsByOrder;if(this.groupRowsBy&&this.sortField&&this.groupRowsBy!==this.sortField)return this._multiSortMeta=[this.getGroupRowsMeta(),{field:this.sortField,order:this.sortOrder}],void this.sortMultiple();if(u&&ie){this.restoringSort&&(this.restoringSort=!1),this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.value&&(this.customSort?this.sortFunction.emit({data:this.value,mode:this.sortMode,field:u,order:ie}):(this.value.sort((Ae,nt)=>{let kt=le.BF.resolveFieldData(Ae,u),zt=le.BF.resolveFieldData(nt,u),ai=null;return ai=null==kt&&null!=zt?-1:null!=kt&&null==zt?1:null==kt&&null==zt?0:"string"==typeof kt&&"string"==typeof zt?kt.localeCompare(zt):ktzt?1:0,ie*ai}),this._value=[...this.value]),this.hasFilter()&&this._filter());let de={field:u,order:ie};this.onSort.emit(de),this.tableService.onSort(de)}}sortMultiple(){this.groupRowsBy&&(this._multiSortMeta?this.multiSortMeta[0].field!==this.groupRowsBy&&(this._multiSortMeta=[this.getGroupRowsMeta(),...this._multiSortMeta]):this._multiSortMeta=[this.getGroupRowsMeta()]),this.multiSortMeta&&(this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.value&&(this.customSort?this.sortFunction.emit({data:this.value,mode:this.sortMode,multiSortMeta:this.multiSortMeta}):(this.value.sort((u,ie)=>this.multisortField(u,ie,this.multiSortMeta,0)),this._value=[...this.value]),this.hasFilter()&&this._filter()),this.onSort.emit({multisortmeta:this.multiSortMeta}),this.tableService.onSort(this.multiSortMeta))}multisortField(u,ie,de,Ae){const nt=le.BF.resolveFieldData(u,de[Ae].field),kt=le.BF.resolveFieldData(ie,de[Ae].field);return 0===le.BF.compare(nt,kt,this.filterLocale)?de.length-1>Ae?this.multisortField(u,ie,de,Ae+1):0:this.compareValuesOnSort(nt,kt,de[Ae].order)}compareValuesOnSort(u,ie,de){return le.BF.sort(u,ie,de,this.filterLocale,this.sortOrder)}getSortMeta(u){if(this.multiSortMeta&&this.multiSortMeta.length)for(let ie=0;ieJi!=Yi),this.selectionChange.emit(this.selection),oi&&delete this.selectionKeys[oi]}this.onRowUnselect.emit({originalEvent:u.originalEvent,data:nt,type:"row"})}else this.isSingleSelectionMode()?(this._selection=nt,this.selectionChange.emit(nt),oi&&(this.selectionKeys={},this.selectionKeys[oi]=1)):this.isMultipleSelectionMode()&&(Li?this._selection=this.selection||[]:(this._selection=[],this.selectionKeys={}),this._selection=[...this.selection,nt],this.selectionChange.emit(this.selection),oi&&(this.selectionKeys[oi]=1)),this.onRowSelect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt})}else if("single"===this.selectionMode)zt?(this._selection=null,this.selectionKeys={},this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt})):(this._selection=nt,this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt}),oi&&(this.selectionKeys={},this.selectionKeys[oi]=1));else if("multiple"===this.selectionMode)if(zt){let Li=this.findIndexInSelection(nt);this._selection=this.selection.filter((Yi,Xi)=>Xi!=Li),this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt}),oi&&delete this.selectionKeys[oi]}else this._selection=this.selection?[...this.selection,nt]:[nt],this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:u.originalEvent,data:nt,type:"row",index:kt}),oi&&(this.selectionKeys[oi]=1)}this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()}this.rowTouched=!1}}handleRowTouchEnd(u){this.rowTouched=!0}handleRowRightClick(u){if(this.contextMenu){const ie=u.rowData,de=u.rowIndex;if("separate"===this.contextMenuSelectionMode)this.contextMenuSelection=ie,this.contextMenuSelectionChange.emit(ie),this.onContextMenuSelect.emit({originalEvent:u.originalEvent,data:ie,index:u.rowIndex}),this.contextMenu.show(u.originalEvent),this.tableService.onContextMenu(ie);else if("joint"===this.contextMenuSelectionMode){this.preventSelectionSetterPropagation=!0;let Ae=this.isSelected(ie),nt=this.dataKey?String(le.BF.resolveFieldData(ie,this.dataKey)):null;if(!Ae){if(!this.isRowSelectable(ie,de))return;this.isSingleSelectionMode()?(this.selection=ie,this.selectionChange.emit(ie),nt&&(this.selectionKeys={},this.selectionKeys[nt]=1)):this.isMultipleSelectionMode()&&(this._selection=this.selection?[...this.selection,ie]:[ie],this.selectionChange.emit(this.selection),nt&&(this.selectionKeys[nt]=1))}this.tableService.onSelectionChange(),this.contextMenu.show(u.originalEvent),this.onContextMenuSelect.emit({originalEvent:u,data:ie,index:u.rowIndex})}}}selectRange(u,ie){let de,Ae;this.anchorRowIndex>ie?(de=ie,Ae=this.anchorRowIndex):this.anchorRowIndexnt?(ie=this.anchorRowIndex,de=this.rangeRowIndex):AeYi!=ai);let oi=this.dataKey?String(le.BF.resolveFieldData(zt,this.dataKey)):null;oi&&delete this.selectionKeys[oi],this.onRowUnselect.emit({originalEvent:u,data:zt,type:"row"})}}isSelected(u){return!(!u||!this.selection)&&(this.dataKey?void 0!==this.selectionKeys[le.BF.resolveFieldData(u,this.dataKey)]:Array.isArray(this.selection)?this.findIndexInSelection(u)>-1:this.equals(u,this.selection))}findIndexInSelection(u){let ie=-1;if(this.selection&&this.selection.length)for(let de=0;dezt!=nt),this.selectionChange.emit(this.selection),this.onRowUnselect.emit({originalEvent:u.originalEvent,index:u.rowIndex,data:ie,type:"checkbox"}),Ae&&delete this.selectionKeys[Ae]}else{if(!this.isRowSelectable(ie,u.rowIndex))return;this._selection=this.selection?[...this.selection,ie]:[ie],this.selectionChange.emit(this.selection),this.onRowSelect.emit({originalEvent:u.originalEvent,index:u.rowIndex,data:ie,type:"checkbox"}),Ae&&(this.selectionKeys[Ae]=1)}this.tableService.onSelectionChange(),this.isStateful()&&this.saveState()}toggleRowsWithCheckbox(u,ie){if(null!==this._selectAll)this.selectAllChange.emit({originalEvent:u,checked:ie});else{const de=this.selectionPageOnly?this.dataToRender(this.processedData):this.processedData;let Ae=this.selectionPageOnly&&this._selection?this._selection.filter(nt=>!de.some(kt=>this.equals(nt,kt))):[];ie&&(Ae=this.frozenValue?[...Ae,...this.frozenValue,...de]:[...Ae,...de],Ae=this.rowSelectable?Ae.filter((nt,kt)=>this.rowSelectable({data:nt,index:kt})):Ae),this._selection=Ae,this.preventSelectionSetterPropagation=!0,this.updateSelectionKeys(),this.selectionChange.emit(this._selection),this.tableService.onSelectionChange(),this.onHeaderCheckboxToggle.emit({originalEvent:u,checked:ie}),this.isStateful()&&this.saveState()}}equals(u,ie){return"equals"===this.compareSelectionBy?u===ie:le.BF.equals(u,ie,this.dataKey)}filter(u,ie,de){this.filterTimeout&&clearTimeout(this.filterTimeout),this.isFilterBlank(u)?this.filters[ie]&&delete this.filters[ie]:this.filters[ie]={value:u,matchMode:de},this.filterTimeout=setTimeout(()=>{this._filter(),this.filterTimeout=null},this.filterDelay),this.anchorRowIndex=null}filterGlobal(u,ie){this.filter(u,"global",ie)}isFilterBlank(u){return null==u||!!("string"==typeof u&&0==u.trim().length||Array.isArray(u)&&0==u.length)}_filter(){if(this.restoringFilter||(this.first=0,this.firstChange.emit(this.first)),this.lazy)this.onLazyLoad.emit(this.createLazyLoadMetadata());else{if(!this.value)return;if(this.hasFilter()){let u;if(this.filters.global){if(!this.columns&&!this.globalFilterFields)throw new Error("Global filtering requires dynamic columns or globalFilterFields to be defined.");u=this.globalFilterFields||this.columns}this.filteredValue=[];for(let ie=0;iethis.cd.detectChanges()}}clear(){this._sortField=null,this._sortOrder=this.defaultSortOrder,this._multiSortMeta=null,this.tableService.onSort(null),this.clearFilterValues(),this.filteredValue=null,this.first=0,this.firstChange.emit(this.first),this.lazy?this.onLazyLoad.emit(this.createLazyLoadMetadata()):this.totalRecords=this._value?this._value.length:0}clearFilterValues(){for(const[,u]of Object.entries(this.filters))if(Array.isArray(u))for(let ie of u)ie.value=null;else u&&(u.value=null)}reset(){this.clear()}getExportHeader(u){return u[this.exportHeader]||u.header||u.field}exportCSV(u){let ie,de="",Ae=this.columns;u&&u.selectionOnly?ie=this.selection||[]:u&&u.allValues?ie=this.value||[]:(ie=this.filteredValue||this.value,this.frozenValue&&(ie=ie?[...this.frozenValue,...ie]:this.frozenValue));const nt=Ae.filter(oi=>!1!==oi.exportable&&oi.field);de+=nt.map(oi=>'"'+this.getExportHeader(oi)+'"').join(this.csvSeparator);const kt=ie.map(oi=>nt.map(Li=>{let Yi=le.BF.resolveFieldData(oi,Li.field);return Yi=null!=Yi?this.exportFunction?this.exportFunction({data:Yi,field:Li.field}):String(Yi).replace(/"/g,'""'):"",'"'+Yi+'"'}).join(this.csvSeparator)).join("\n");kt.length&&(de+="\n"+kt);let zt=new Blob([new Uint8Array([239,187,191]),de],{type:"text/csv;charset=utf-8;"}),ai=this.renderer.createElement("a");ai.style.display="none",this.renderer.appendChild(this.document.body,ai),void 0!==ai.download?(ai.setAttribute("href",URL.createObjectURL(zt)),ai.setAttribute("download",this.exportFilename+".csv"),ai.click()):(de="data:text/csv;charset=utf-8,"+de,this.window.open(encodeURI(de))),this.renderer.removeChild(this.document.body,ai)}onLazyItemLoad(u){this.onLazyLoad.emit({...this.createLazyLoadMetadata(),...u,rows:u.last-u.first})}resetScrollTop(){this.virtualScroll?this.scrollToVirtualIndex(0):this.scrollTo({top:0})}scrollToVirtualIndex(u){this.scroller&&this.scroller.scrollToIndex(u)}scrollTo(u){this.virtualScroll?this.scroller?.scrollTo(u):this.wrapperViewChild&&this.wrapperViewChild.nativeElement&&(this.wrapperViewChild.nativeElement.scrollTo?this.wrapperViewChild.nativeElement.scrollTo(u):(this.wrapperViewChild.nativeElement.scrollLeft=u.left,this.wrapperViewChild.nativeElement.scrollTop=u.top))}updateEditingCell(u,ie,de,Ae){this.editingCell=u,this.editingCellData=ie,this.editingCellField=de,this.editingCellRowIndex=Ae,this.bindDocumentEditListener()}isEditingCellValid(){return this.editingCell&&0===re.D.find(this.editingCell,".ng-invalid.ng-dirty").length}bindDocumentEditListener(){this.documentEditListener||(this.documentEditListener=this.renderer.listen(this.document,"click",u=>{this.editingCell&&!this.selfClick&&this.isEditingCellValid()&&(re.D.removeClass(this.editingCell,"p-cell-editing"),this.editingCell=null,this.onEditComplete.emit({field:this.editingCellField,data:this.editingCellData,originalEvent:u,index:this.editingCellRowIndex}),this.editingCellField=null,this.editingCellData=null,this.editingCellRowIndex=null,this.unbindDocumentEditListener(),this.cd.markForCheck(),this.overlaySubscription&&this.overlaySubscription.unsubscribe()),this.selfClick=!1}))}unbindDocumentEditListener(){this.documentEditListener&&(this.documentEditListener(),this.documentEditListener=null)}initRowEdit(u){let ie=String(le.BF.resolveFieldData(u,this.dataKey));this.editingRowKeys[ie]=!0}saveRowEdit(u,ie){if(0===re.D.find(ie,".ng-invalid.ng-dirty").length){let de=String(le.BF.resolveFieldData(u,this.dataKey));delete this.editingRowKeys[de]}}cancelRowEdit(u){let ie=String(le.BF.resolveFieldData(u,this.dataKey));delete this.editingRowKeys[ie]}toggleRow(u,ie){if(!this.dataKey)throw new Error("dataKey must be defined to use row expansion");let de=String(le.BF.resolveFieldData(u,this.dataKey));null!=this.expandedRowKeys[de]?(delete this.expandedRowKeys[de],this.onRowCollapse.emit({originalEvent:ie,data:u})):("single"===this.rowExpandMode&&(this.expandedRowKeys={}),this.expandedRowKeys[de]=!0,this.onRowExpand.emit({originalEvent:ie,data:u})),ie&&ie.preventDefault(),this.isStateful()&&this.saveState()}isRowExpanded(u){return!0===this.expandedRowKeys[String(le.BF.resolveFieldData(u,this.dataKey))]}isRowEditing(u){return!0===this.editingRowKeys[String(le.BF.resolveFieldData(u,this.dataKey))]}isSingleSelectionMode(){return"single"===this.selectionMode}isMultipleSelectionMode(){return"multiple"===this.selectionMode}onColumnResizeBegin(u){let ie=re.D.getOffset(this.containerViewChild?.nativeElement).left;this.resizeColumnElement=u.target.parentElement,this.columnResizing=!0,this.lastResizerHelperX=u.pageX-ie+this.containerViewChild?.nativeElement.scrollLeft,this.onColumnResize(u),u.preventDefault()}onColumnResize(u){let ie=re.D.getOffset(this.containerViewChild?.nativeElement).left;re.D.addClass(this.containerViewChild?.nativeElement,"p-unselectable-text"),this.resizeHelperViewChild.nativeElement.style.height=this.containerViewChild?.nativeElement.offsetHeight+"px",this.resizeHelperViewChild.nativeElement.style.top="0px",this.resizeHelperViewChild.nativeElement.style.left=u.pageX-ie+this.containerViewChild?.nativeElement.scrollLeft+"px",this.resizeHelperViewChild.nativeElement.style.display="block"}onColumnResizeEnd(){let u=this.resizeHelperViewChild?.nativeElement.offsetLeft-this.lastResizerHelperX,de=this.resizeColumnElement.offsetWidth+u;if(de>=(this.resizeColumnElement.style.minWidth.replace(/[^\d.]/g,"")||15)){if("fit"===this.columnResizeMode){let kt=this.resizeColumnElement.nextElementSibling.offsetWidth-u;de>15&&kt>15&&this.resizeTableCells(de,kt)}else"expand"===this.columnResizeMode&&(this._initialColWidths=this._totalTableWidth(),this.setResizeTableWidth(this.tableViewChild?.nativeElement.offsetWidth+u+"px"),this.resizeTableCells(de,null));this.onColResize.emit({element:this.resizeColumnElement,delta:u}),this.isStateful()&&this.saveState()}this.resizeHelperViewChild.nativeElement.style.display="none",re.D.removeClass(this.containerViewChild?.nativeElement,"p-unselectable-text")}_totalTableWidth(){let u=[];const ie=re.D.findSingle(this.containerViewChild.nativeElement,".p-datatable-thead");return re.D.find(ie,"tr > th").forEach(Ae=>u.push(re.D.getOuterWidth(Ae))),u}onColumnDragStart(u,ie){this.reorderIconWidth=re.D.getHiddenElementOuterWidth(this.reorderIndicatorUpViewChild?.nativeElement),this.reorderIconHeight=re.D.getHiddenElementOuterHeight(this.reorderIndicatorDownViewChild?.nativeElement),this.draggedColumn=ie,u.dataTransfer.setData("text","b")}onColumnDragEnter(u,ie){if(this.reorderableColumns&&this.draggedColumn&&ie){u.preventDefault();let de=re.D.getOffset(this.containerViewChild?.nativeElement),Ae=re.D.getOffset(ie);if(this.draggedColumn!=ie){re.D.indexWithinGroup(this.draggedColumn,"preorderablecolumn"),re.D.indexWithinGroup(ie,"preorderablecolumn");let zt=Ae.left-de.left,oi=Ae.left+ie.offsetWidth/2;this.reorderIndicatorUpViewChild.nativeElement.style.top=Ae.top-de.top-(this.reorderIconHeight-1)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.top=Ae.top-de.top+ie.offsetHeight+"px",u.pageX>oi?(this.reorderIndicatorUpViewChild.nativeElement.style.left=zt+ie.offsetWidth-Math.ceil(this.reorderIconWidth/2)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.left=zt+ie.offsetWidth-Math.ceil(this.reorderIconWidth/2)+"px",this.dropPosition=1):(this.reorderIndicatorUpViewChild.nativeElement.style.left=zt-Math.ceil(this.reorderIconWidth/2)+"px",this.reorderIndicatorDownViewChild.nativeElement.style.left=zt-Math.ceil(this.reorderIconWidth/2)+"px",this.dropPosition=-1),this.reorderIndicatorUpViewChild.nativeElement.style.display="block",this.reorderIndicatorDownViewChild.nativeElement.style.display="block"}else u.dataTransfer.dropEffect="none"}}onColumnDragLeave(u){this.reorderableColumns&&this.draggedColumn&&u.preventDefault()}onColumnDrop(u,ie){if(u.preventDefault(),this.draggedColumn){let de=re.D.indexWithinGroup(this.draggedColumn,"preorderablecolumn"),Ae=re.D.indexWithinGroup(ie,"preorderablecolumn"),nt=de!=Ae;if(nt&&(Ae-de==1&&-1===this.dropPosition||de-Ae==1&&1===this.dropPosition)&&(nt=!1),nt&&Aede&&-1===this.dropPosition&&(Ae-=1),nt&&(le.BF.reorderArray(this.columns,de,Ae),this.onColReorder.emit({dragIndex:de,dropIndex:Ae,columns:this.columns}),this.isStateful()&&this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.saveState()})})),this.resizableColumns&&this.resizeColumnElement){let kt="expand"===this.columnResizeMode?this._initialColWidths:this._totalTableWidth();le.BF.reorderArray(kt,de+1,Ae+1),this.updateStyleElement(kt,de,null,null)}this.reorderIndicatorUpViewChild.nativeElement.style.display="none",this.reorderIndicatorDownViewChild.nativeElement.style.display="none",this.draggedColumn.draggable=!1,this.draggedColumn=null,this.dropPosition=null}}resizeTableCells(u,ie){let de=re.D.index(this.resizeColumnElement),Ae="expand"===this.columnResizeMode?this._initialColWidths:this._totalTableWidth();this.updateStyleElement(Ae,de,u,ie)}updateStyleElement(u,ie,de,Ae){this.destroyStyleElement(),this.createStyleElement();let nt="";u.forEach((kt,zt)=>{let ai=zt===ie?de:Ae&&zt===ie+1?Ae:kt;nt+=`\n #${this.id}-table > .p-datatable-thead > tr > th:nth-child(${zt+1}),\n #${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${zt+1}),\n #${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${zt+1}) {\n width: ${ai}px !important; max-width: ${ai}px !important;\n }\n `}),this.renderer.setProperty(this.styleElement,"innerHTML",nt)}onRowDragStart(u,ie){this.rowDragging=!0,this.draggedRowIndex=ie,u.dataTransfer.setData("text","b")}onRowDragOver(u,ie,de){if(this.rowDragging&&this.draggedRowIndex!==ie){let Ae=re.D.getOffset(de).top,nt=u.pageY,kt=Ae+re.D.getOuterHeight(de)/2,zt=de.previousElementSibling;ntthis.droppedRowIndex?this.droppedRowIndex:0===this.droppedRowIndex?0:this.droppedRowIndex-1;le.BF.reorderArray(this.value,this.draggedRowIndex,de),this.virtualScroll&&(this._value=[...this._value]),this.onRowReorder.emit({dragIndex:this.draggedRowIndex,dropIndex:de})}this.onRowDragLeave(u,ie),this.onRowDragEnd(u)}isEmpty(){let u=this.filteredValue||this.value;return null==u||0==u.length}getBlockableElement(){return this.el.nativeElement.children[0]}getStorage(){if(!(0,M.UE)(this.platformId))throw new Error("Browser storage is not available in the server side.");switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}}isStateful(){return null!=this.stateKey}saveState(){const u=this.getStorage();let ie={};this.paginator&&(ie.first=this.first,ie.rows=this.rows),this.sortField&&(ie.sortField=this.sortField,ie.sortOrder=this.sortOrder),this.multiSortMeta&&(ie.multiSortMeta=this.multiSortMeta),this.hasFilter()&&(ie.filters=this.filters),this.resizableColumns&&this.saveColumnWidths(ie),this.reorderableColumns&&this.saveColumnOrder(ie),this.selection&&(ie.selection=this.selection),Object.keys(this.expandedRowKeys).length&&(ie.expandedRowKeys=this.expandedRowKeys),u.setItem(this.stateKey,JSON.stringify(ie)),this.onStateSave.emit(ie)}clearState(){const u=this.getStorage();this.stateKey&&u.removeItem(this.stateKey)}restoreState(){const ie=this.getStorage().getItem(this.stateKey),de=/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/;if(ie){let nt=JSON.parse(ie,function(nt,kt){return"string"==typeof kt&&de.test(kt)?new Date(kt):kt});this.paginator&&(void 0!==this.first&&(this.first=nt.first,this.firstChange.emit(this.first)),void 0!==this.rows&&(this.rows=nt.rows,this.rowsChange.emit(this.rows))),nt.sortField&&(this.restoringSort=!0,this._sortField=nt.sortField,this._sortOrder=nt.sortOrder),nt.multiSortMeta&&(this.restoringSort=!0,this._multiSortMeta=nt.multiSortMeta),nt.filters&&(this.restoringFilter=!0,this.filters=nt.filters),this.resizableColumns&&(this.columnWidthsState=nt.columnWidths,this.tableWidthState=nt.tableWidth),this.reorderableColumns&&this.restoreColumnOrder(),nt.expandedRowKeys&&(this.expandedRowKeys=nt.expandedRowKeys),nt.selection&&Promise.resolve(null).then(()=>this.selectionChange.emit(nt.selection)),this.stateRestored=!0,this.onStateRestore.emit(nt)}}saveColumnWidths(u){let ie=[];re.D.find(this.containerViewChild?.nativeElement,".p-datatable-thead > tr > th").forEach(Ae=>ie.push(re.D.getOuterWidth(Ae))),u.columnWidths=ie.join(","),"expand"===this.columnResizeMode&&(u.tableWidth=re.D.getOuterWidth(this.tableViewChild?.nativeElement))}setResizeTableWidth(u){this.tableViewChild.nativeElement.style.width=u,this.tableViewChild.nativeElement.style.minWidth=u}restoreColumnWidths(){if(this.columnWidthsState){let u=this.columnWidthsState.split(",");if("expand"===this.columnResizeMode&&this.tableWidthState&&this.setResizeTableWidth(this.tableWidthState+"px"),le.BF.isNotEmpty(u)){this.createStyleElement();let ie="";u.forEach((de,Ae)=>{ie+=`\n #${this.id}-table > .p-datatable-thead > tr > th:nth-child(${Ae+1}),\n #${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${Ae+1}),\n #${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${Ae+1}) {\n width: ${de}px !important; max-width: ${de}px !important\n }\n `}),this.styleElement.innerHTML=ie}}}saveColumnOrder(u){if(this.columns){let ie=[];this.columns.map(de=>{ie.push(de.field||de.key)}),u.columnOrder=ie}}restoreColumnOrder(){const ie=this.getStorage().getItem(this.stateKey);if(ie){let Ae=JSON.parse(ie).columnOrder;if(Ae){let nt=[];Ae.map(kt=>{let zt=this.findColumnByKey(kt);zt&&nt.push(zt)}),this.columnOrderStateRestored=!0,this.columns=nt}}}findColumnByKey(u){if(!this.columns)return null;for(let ie of this.columns)if(ie.key===u||ie.field===u)return ie}createStyleElement(){this.styleElement=this.renderer.createElement("style"),this.styleElement.type="text/css",this.renderer.appendChild(this.document.head,this.styleElement)}getGroupRowsMeta(){return{field:this.groupRowsBy,order:this.groupRowsByOrder}}createResponsiveStyle(){(0,M.UE)(this.platformId)&&!this.responsiveStyleElement&&(this.responsiveStyleElement=this.renderer.createElement("style"),this.responsiveStyleElement.type="text/css",this.renderer.appendChild(this.document.head,this.responsiveStyleElement),this.renderer.setProperty(this.responsiveStyleElement,"innerHTML",`\n @media screen and (max-width: ${this.breakpoint}) {\n #${this.id}-table > .p-datatable-thead > tr > th,\n #${this.id}-table > .p-datatable-tfoot > tr > td {\n display: none !important;\n }\n\n #${this.id}-table > .p-datatable-tbody > tr > td {\n display: flex;\n width: 100% !important;\n align-items: center;\n justify-content: space-between;\n }\n\n #${this.id}-table > .p-datatable-tbody > tr > td:not(:last-child) {\n border: 0 none;\n }\n\n #${this.id}.p-datatable-gridlines > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tbody > tr > td:last-child {\n border-top: 0;\n border-right: 0;\n border-left: 0;\n }\n\n #${this.id}-table > .p-datatable-tbody > tr > td > .p-column-title {\n display: block;\n }\n }\n `))}destroyResponsiveStyle(){this.responsiveStyleElement&&(this.renderer.removeChild(this.document.head,this.responsiveStyleElement),this.responsiveStyleElement=null)}destroyStyleElement(){this.styleElement&&(this.renderer.removeChild(this.document.head,this.styleElement),this.styleElement=null)}ngOnDestroy(){this.unbindDocumentEditListener(),this.editingCell=null,this.initialized=null,this.destroyStyleElement(),this.destroyResponsiveStyle()}getPaginatorStyleClasses(u){return[this.paginatorStyleClass,u].filter(ie=>!!ie).join(" ").trim()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(M.qQ),e.rXU(e.Agw),e.rXU(e.sFG),e.rXU(e.aKT),e.rXU(e.SKi),e.rXU(Ce),e.rXU(e.gRc),e.rXU(Le.E),e.rXU(Le.si),e.rXU(Le.r1))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-table"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},viewQuery:function(ie,de){if(1&ie&&(e.GBs(bl,5),e.GBs(Af,5),e.GBs(Ka,5),e.GBs(Zu,5),e.GBs(If,5),e.GBs(Qd,5),e.GBs(Nh,5),e.GBs($c,5),e.GBs(Xc,5)),2&ie){let Ae;e.mGM(Ae=e.lsd())&&(de.containerViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.resizeHelperViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.reorderIndicatorUpViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.reorderIndicatorDownViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.wrapperViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.tableViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.tableHeaderViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.tableFooterViewChild=Ae.first),e.mGM(Ae=e.lsd())&&(de.scroller=Ae.first)}},hostAttrs:[1,"p-element"],inputs:{frozenColumns:"frozenColumns",frozenValue:"frozenValue",style:"style",styleClass:"styleClass",tableStyle:"tableStyle",tableStyleClass:"tableStyleClass",paginator:"paginator",pageLinks:"pageLinks",rowsPerPageOptions:"rowsPerPageOptions",alwaysShowPaginator:"alwaysShowPaginator",paginatorPosition:"paginatorPosition",paginatorStyleClass:"paginatorStyleClass",paginatorDropdownAppendTo:"paginatorDropdownAppendTo",paginatorDropdownScrollHeight:"paginatorDropdownScrollHeight",currentPageReportTemplate:"currentPageReportTemplate",showCurrentPageReport:"showCurrentPageReport",showJumpToPageDropdown:"showJumpToPageDropdown",showJumpToPageInput:"showJumpToPageInput",showFirstLastIcon:"showFirstLastIcon",showPageLinks:"showPageLinks",defaultSortOrder:"defaultSortOrder",sortMode:"sortMode",resetPageOnSort:"resetPageOnSort",selectionMode:"selectionMode",selectionPageOnly:"selectionPageOnly",contextMenuSelection:"contextMenuSelection",contextMenuSelectionMode:"contextMenuSelectionMode",dataKey:"dataKey",metaKeySelection:"metaKeySelection",rowSelectable:"rowSelectable",rowTrackBy:"rowTrackBy",lazy:"lazy",lazyLoadOnInit:"lazyLoadOnInit",compareSelectionBy:"compareSelectionBy",csvSeparator:"csvSeparator",exportFilename:"exportFilename",filters:"filters",globalFilterFields:"globalFilterFields",filterDelay:"filterDelay",filterLocale:"filterLocale",expandedRowKeys:"expandedRowKeys",editingRowKeys:"editingRowKeys",rowExpandMode:"rowExpandMode",scrollable:"scrollable",scrollDirection:"scrollDirection",rowGroupMode:"rowGroupMode",scrollHeight:"scrollHeight",virtualScroll:"virtualScroll",virtualScrollItemSize:"virtualScrollItemSize",virtualScrollOptions:"virtualScrollOptions",virtualScrollDelay:"virtualScrollDelay",frozenWidth:"frozenWidth",responsive:"responsive",contextMenu:"contextMenu",resizableColumns:"resizableColumns",columnResizeMode:"columnResizeMode",reorderableColumns:"reorderableColumns",loading:"loading",loadingIcon:"loadingIcon",showLoader:"showLoader",rowHover:"rowHover",customSort:"customSort",showInitialSortBadge:"showInitialSortBadge",autoLayout:"autoLayout",exportFunction:"exportFunction",exportHeader:"exportHeader",stateKey:"stateKey",stateStorage:"stateStorage",editMode:"editMode",groupRowsBy:"groupRowsBy",groupRowsByOrder:"groupRowsByOrder",responsiveLayout:"responsiveLayout",breakpoint:"breakpoint",paginatorLocale:"paginatorLocale",value:"value",columns:"columns",first:"first",rows:"rows",totalRecords:"totalRecords",sortField:"sortField",sortOrder:"sortOrder",multiSortMeta:"multiSortMeta",selection:"selection",selectAll:"selectAll",virtualRowHeight:"virtualRowHeight"},outputs:{contextMenuSelectionChange:"contextMenuSelectionChange",selectAllChange:"selectAllChange",selectionChange:"selectionChange",onRowSelect:"onRowSelect",onRowUnselect:"onRowUnselect",onPage:"onPage",onSort:"onSort",onFilter:"onFilter",onLazyLoad:"onLazyLoad",onRowExpand:"onRowExpand",onRowCollapse:"onRowCollapse",onContextMenuSelect:"onContextMenuSelect",onColResize:"onColResize",onColReorder:"onColReorder",onRowReorder:"onRowReorder",onEditInit:"onEditInit",onEditComplete:"onEditComplete",onEditCancel:"onEditCancel",onHeaderCheckboxToggle:"onHeaderCheckboxToggle",sortFunction:"sortFunction",firstChange:"firstChange",rowsChange:"rowsChange",onStateSave:"onStateSave",onStateRestore:"onStateRestore"},features:[e.Jv_([Ce]),e.OA$],decls:16,vars:22,consts:[["container",""],["wrapper",""],["buildInTable",""],["scroller",""],["table",""],["thead",""],["tfoot",""],["resizeHelper",""],["reorderIndicatorUp",""],["reorderIndicatorDown",""],[3,"ngStyle","ngClass"],["class","p-datatable-loading-overlay p-component-overlay",4,"ngIf"],["class","p-datatable-header",4,"ngIf"],[3,"rows","first","totalRecords","pageLinkSize","alwaysShow","rowsPerPageOptions","templateLeft","templateRight","dropdownAppendTo","dropdownScrollHeight","currentPageReportTemplate","showFirstLastIcon","dropdownItemTemplate","showCurrentPageReport","showJumpToPageDropdown","showJumpToPageInput","showPageLinks","styleClass","locale","onPageChange",4,"ngIf"],[1,"p-datatable-wrapper",3,"ngStyle"],[3,"items","columns","style","scrollHeight","itemSize","step","delay","inline","lazy","loaderDisabled","showSpacer","showLoader","options","autoSize","onLazyLoad",4,"ngIf"],[4,"ngIf"],["class","p-datatable-footer",4,"ngIf"],["class","p-column-resizer-helper","style","display:none",4,"ngIf"],["class","p-datatable-reorder-indicator-up","style","display: none;",4,"ngIf"],["class","p-datatable-reorder-indicator-down","style","display: none;",4,"ngIf"],[1,"p-datatable-loading-overlay","p-component-overlay"],[3,"class",4,"ngIf"],[3,"spin","styleClass",4,"ngIf"],["class","p-datatable-loading-icon",4,"ngIf"],[3,"spin","styleClass"],[1,"p-datatable-loading-icon"],[4,"ngTemplateOutlet"],[1,"p-datatable-header"],[3,"onPageChange","rows","first","totalRecords","pageLinkSize","alwaysShow","rowsPerPageOptions","templateLeft","templateRight","dropdownAppendTo","dropdownScrollHeight","currentPageReportTemplate","showFirstLastIcon","dropdownItemTemplate","showCurrentPageReport","showJumpToPageDropdown","showJumpToPageInput","showPageLinks","styleClass","locale"],["pTemplate","dropdownicon"],["pTemplate","firstpagelinkicon"],["pTemplate","previouspagelinkicon"],["pTemplate","lastpagelinkicon"],["pTemplate","nextpagelinkicon"],[3,"onLazyLoad","items","columns","scrollHeight","itemSize","step","delay","inline","lazy","loaderDisabled","showSpacer","showLoader","options","autoSize"],["pTemplate","content"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["role","table",3,"ngClass"],["role","rowgroup",1,"p-datatable-thead"],["role","rowgroup","class","p-datatable-tbody p-datatable-frozen-tbody",3,"value","frozenRows","pTableBody","pTableBodyTemplate","frozen",4,"ngIf"],["role","rowgroup",1,"p-datatable-tbody",3,"ngClass","value","pTableBody","pTableBodyTemplate","scrollerOptions"],["role","rowgroup","class","p-datatable-scroller-spacer",3,"style",4,"ngIf"],["role","rowgroup","class","p-datatable-tfoot",4,"ngIf"],["role","rowgroup",1,"p-datatable-tbody","p-datatable-frozen-tbody",3,"value","frozenRows","pTableBody","pTableBodyTemplate","frozen"],["role","rowgroup",1,"p-datatable-scroller-spacer"],["role","rowgroup",1,"p-datatable-tfoot"],[1,"p-datatable-footer"],[1,"p-column-resizer-helper",2,"display","none"],[1,"p-datatable-reorder-indicator-up",2,"display","none"],[1,"p-datatable-reorder-indicator-down",2,"display","none"]],template:function(ie,de){1&ie&&(e.j41(0,"div",10,0),e.DNE(2,Qu,3,2,"div",11)(3,ep,2,1,"div",12)(4,ip,6,24,"p-paginator",13),e.j41(5,"div",14,1),e.DNE(7,np,3,17,"p-scroller",15)(8,Rf,2,7,"ng-container",16)(9,_l,10,28,"ng-template",null,2,e.C5r),e.k0s(),e.DNE(11,qc,6,24,"p-paginator",13)(12,Nr,2,1,"div",17)(13,Zl,2,0,"div",18)(14,zh,4,2,"span",19)(15,Tc,4,2,"span",20),e.k0s()),2&ie&&(e.HbH(de.styleClass),e.Y8G("ngStyle",de.style)("ngClass",e.sMw(16,qr,de.rowHover||de.selectionMode,de.scrollable,de.scrollable&&"flex"===de.scrollHeight)),e.BMQ("id",de.id),e.R7$(2),e.Y8G("ngIf",de.loading&&de.showLoader),e.R7$(),e.Y8G("ngIf",de.captionTemplate),e.R7$(),e.Y8G("ngIf",de.paginator&&("top"===de.paginatorPosition||"both"==de.paginatorPosition)),e.R7$(),e.Y8G("ngStyle",e.eq3(20,Ds,de.virtualScroll?"":de.scrollHeight)),e.R7$(2),e.Y8G("ngIf",de.virtualScroll),e.R7$(),e.Y8G("ngIf",!de.virtualScroll),e.R7$(3),e.Y8G("ngIf",de.paginator&&("bottom"===de.paginatorPosition||"both"==de.paginatorPosition)),e.R7$(),e.Y8G("ngIf",de.summaryTemplate),e.R7$(),e.Y8G("ngIf",de.resizableColumns),e.R7$(),e.Y8G("ngIf",de.reorderableColumns),e.R7$(),e.Y8G("ngIf",de.reorderableColumns))},dependencies:()=>[M.YU,M.bT,M.T3,M.B3,Kd,Le.Ei,ga,Nc,Ul,go.N,it],styles:["@layer primeng{.p-datatable{position:relative}.p-datatable>.p-datatable-wrapper{overflow:auto}.p-datatable-table{border-spacing:0px;width:100%}.p-datatable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-sortable-column .p-column-title,.p-datatable .p-sortable-column .p-sortable-column-icon,.p-datatable .p-sortable-column .p-sortable-column-badge{vertical-align:middle}.p-datatable .p-sortable-column .p-icon-wrapper{display:inline}.p-datatable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-datatable-hoverable-rows .p-selectable-row{cursor:pointer}.p-datatable-scrollable>.p-datatable-wrapper{position:relative}.p-datatable-scrollable-table>.p-datatable-thead{position:sticky;top:0;z-index:2}.p-datatable-scrollable-table>.p-datatable-frozen-tbody{position:sticky;z-index:1}.p-datatable-scrollable-table>.p-datatable-tfoot{position:sticky;bottom:0;z-index:1}.p-datatable-scrollable .p-frozen-column{position:sticky;background:inherit;z-index:1}.p-datatable-scrollable th.p-frozen-column{z-index:1}.p-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.p-datatable-flex-scrollable>.p-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-scrollable-table>.p-datatable-tbody>.p-rowgroup-header{position:sticky;z-index:2}.p-datatable-resizable-table>.p-datatable-thead>tr>th,.p-datatable-resizable-table>.p-datatable-tfoot>tr>td,.p-datatable-resizable-table>.p-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.p-datatable-resizable-table>.p-datatable-thead>tr>th.p-resizable-column:not(.p-frozen-column){background-clip:padding-box;position:relative}.p-datatable-resizable-table-fit>.p-datatable-thead>tr>th.p-resizable-column:last-child .p-column-resizer{display:none}.p-datatable .p-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.p-datatable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-datatable .p-row-editor-init,.p-datatable .p-row-editor-save,.p-datatable .p-row-editor-cancel,.p-datatable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-datatable-reorder-indicator-up,.p-datatable-reorder-indicator-down{position:absolute}.p-datatable-reorderablerow-handle,[pReorderableColumn]{cursor:move}.p-datatable .p-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:3}.p-column-filter-row{display:flex;align-items:center;width:100%}.p-column-filter-menu{display:inline-flex}.p-column-filter-row p-columnfilterformelement{flex:1 1 auto;width:1%}.p-column-filter-menu-button,.p-column-filter-clear-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.p-column-filter-overlay{position:absolute;top:0;left:0}.p-column-filter-row-items{margin:0;padding:0;list-style:none}.p-column-filter-row-item{cursor:pointer}.p-column-filter-add-button,.p-column-filter-remove-button{justify-content:center}.p-column-filter-add-button .p-button-label,.p-column-filter-remove-button .p-button-label{flex-grow:0}.p-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between}.p-column-filter-buttonbar .p-button{width:auto}.p-datatable-tbody>tr>td>.p-column-title{display:none}.p-datatable-scroller-spacer{display:flex}.p-datatable .p-scroller .p-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}}\n"],encapsulation:2})}return ye})(),it=(()=>{class ye{dt;tableService;cd;el;columns;template;get value(){return this._value}set value(u){this._value=u,this.frozenRows&&this.updateFrozenRowStickyPosition(),this.dt.scrollable&&"subheader"===this.dt.rowGroupMode&&this.updateFrozenRowGroupHeaderStickyPosition()}frozen;frozenRows;scrollerOptions;subscription;_value;ngAfterViewInit(){this.frozenRows&&this.updateFrozenRowStickyPosition(),this.dt.scrollable&&"subheader"===this.dt.rowGroupMode&&this.updateFrozenRowGroupHeaderStickyPosition()}constructor(u,ie,de,Ae){this.dt=u,this.tableService=ie,this.cd=de,this.el=Ae,this.subscription=this.dt.tableService.valueSource$.subscribe(()=>{this.dt.virtualScroll&&this.cd.detectChanges()})}shouldRenderRowGroupHeader(u,ie,de){let Ae=le.BF.resolveFieldData(ie,this.dt.groupRowsBy),nt=u[de-1];return!nt||Ae!==le.BF.resolveFieldData(nt,this.dt.groupRowsBy)}shouldRenderRowGroupFooter(u,ie,de){let Ae=le.BF.resolveFieldData(ie,this.dt.groupRowsBy),nt=u[de+1];return!nt||Ae!==le.BF.resolveFieldData(nt,this.dt.groupRowsBy)}shouldRenderRowspan(u,ie,de){let Ae=le.BF.resolveFieldData(ie,this.dt.groupRowsBy),nt=u[de-1];return!nt||Ae!==le.BF.resolveFieldData(nt,this.dt.groupRowsBy)}calculateRowGroupSize(u,ie,de){let Ae=le.BF.resolveFieldData(ie,this.dt.groupRowsBy),nt=Ae,kt=0;for(;Ae===nt;){kt++;let zt=u[++de];if(!zt)break;nt=le.BF.resolveFieldData(zt,this.dt.groupRowsBy)}return 1===kt?null:kt}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}updateFrozenRowStickyPosition(){this.el.nativeElement.style.top=re.D.getOuterHeight(this.el.nativeElement.previousElementSibling)+"px"}updateFrozenRowGroupHeaderStickyPosition(){if(this.el.nativeElement.previousElementSibling){let u=re.D.getOuterHeight(this.el.nativeElement.previousElementSibling);this.dt.rowGroupHeaderStyleObject.top=u+"px"}}getScrollerOption(u,ie){return this.dt.virtualScroll&&(ie=ie||this.scrollerOptions)?ie[u]:null}getRowIndex(u){const ie=this.dt.paginator?this.dt.first+u:u,de=this.getScrollerOption("getItemOptions");return de?de(ie).index:ie}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne),e.rXU(Ce),e.rXU(e.gRc),e.rXU(e.aKT))};static \u0275cmp=e.VBU({type:ye,selectors:[["","pTableBody",""]],hostAttrs:[1,"p-element"],inputs:{columns:[e.Mj6.None,"pTableBody","columns"],template:[e.Mj6.None,"pTableBodyTemplate","template"],value:"value",frozen:"frozen",frozenRows:"frozenRows",scrollerOptions:"scrollerOptions"},attrs:Qc,decls:5,vars:5,consts:[[4,"ngIf"],["ngFor","",3,"ngForOf","ngForTrackBy"],["role","row",4,"ngIf"],["role","row"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(ie,de){1&ie&&e.DNE(0,th,2,2,"ng-container",0)(1,$h,2,2,"ng-container",0)(2,yd,2,2,"ng-container",0)(3,ql,2,5,"ng-container",0)(4,hu,2,5,"ng-container",0),2&ie&&(e.Y8G("ngIf",!de.dt.expandedRowTemplate),e.R7$(),e.Y8G("ngIf",de.dt.expandedRowTemplate&&!(de.frozen&&de.dt.frozenExpandedRowTemplate)),e.R7$(),e.Y8G("ngIf",de.dt.frozenExpandedRowTemplate&&de.frozen),e.R7$(),e.Y8G("ngIf",de.dt.loading),e.R7$(),e.Y8G("ngIf",de.dt.isEmpty()&&!de.dt.loading))},dependencies:[M.Sq,M.bT,M.T3],encapsulation:2})}return ye})(),Ut=(()=>{class ye{dt;field;pSortableColumnDisabled;sorted;sortOrder;subscription;constructor(u){this.dt=u,this.isEnabled()&&(this.subscription=this.dt.tableService.sortSource$.subscribe(ie=>{this.updateSortState()}))}ngOnInit(){this.isEnabled()&&this.updateSortState()}updateSortState(){this.sorted=this.dt.isSorted(this.field),this.sortOrder=this.sorted?1===this.dt.sortOrder?"ascending":"descending":"none"}onClick(u){this.isEnabled()&&!this.isFilterElement(u.target)&&(this.updateSortState(),this.dt.sort({originalEvent:u,field:this.field}),re.D.clearSelection())}onEnterKey(u){this.onClick(u),u.preventDefault()}isEnabled(){return!0!==this.pSortableColumnDisabled}isFilterElement(u){return this.isFilterElementIconOrButton(u)||this.isFilterElementIconOrButton(u?.parentElement?.parentElement)}isFilterElementIconOrButton(u){return re.D.hasClass(u,"pi-filter-icon")||re.D.hasClass(u,"p-column-filter-menu-button")}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne))};static \u0275dir=e.FsC({type:ye,selectors:[["","pSortableColumn",""]],hostAttrs:[1,"p-element"],hostVars:7,hostBindings:function(ie,de){1&ie&&e.bIt("click",function(nt){return de.onClick(nt)})("keydown.space",function(nt){return de.onEnterKey(nt)})("keydown.enter",function(nt){return de.onEnterKey(nt)}),2&ie&&(e.BMQ("tabindex",de.isEnabled()?"0":null)("role","columnheader")("aria-sort",de.sortOrder),e.AVh("p-sortable-column",de.isEnabled())("p-highlight",de.sorted))},inputs:{field:[e.Mj6.None,"pSortableColumn","field"],pSortableColumnDisabled:"pSortableColumnDisabled"}})}return ye})(),ei=(()=>{class ye{dt;cd;field;subscription;sortOrder;constructor(u,ie){this.dt=u,this.cd=ie,this.subscription=this.dt.tableService.sortSource$.subscribe(de=>{this.updateSortState()})}ngOnInit(){this.updateSortState()}onClick(u){u.preventDefault()}updateSortState(){if("single"===this.dt.sortMode)this.sortOrder=this.dt.isSorted(this.field)?this.dt.sortOrder:0;else if("multiple"===this.dt.sortMode){let u=this.dt.getSortMeta(this.field);this.sortOrder=u?u.order:0}this.cd.markForCheck()}getMultiSortMetaIndex(){let u=this.dt._multiSortMeta,ie=-1;if(u&&"multiple"===this.dt.sortMode&&this.dt.showInitialSortBadge&&u.length>1)for(let de=0;de-1?u:u+1}isMultiSorted(){return"multiple"===this.dt.sortMode&&this.getMultiSortMetaIndex()>-1}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne),e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-sortIcon"]],hostAttrs:[1,"p-element"],inputs:{field:"field"},decls:3,vars:3,consts:[[4,"ngIf"],["class","p-sortable-column-icon",4,"ngIf"],["class","p-sortable-column-badge",4,"ngIf"],[3,"styleClass",4,"ngIf"],[3,"styleClass"],[1,"p-sortable-column-icon"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-sortable-column-badge"]],template:function(ie,de){1&ie&&e.DNE(0,vr,4,3,"ng-container",0)(1,_d,2,4,"span",1)(2,aa,2,1,"span",2),2&ie&&(e.Y8G("ngIf",!de.dt.sortIconTemplate),e.R7$(),e.Y8G("ngIf",de.dt.sortIconTemplate),e.R7$(),e.Y8G("ngIf",de.isMultiSorted()))},dependencies:()=>[M.bT,M.T3,Hs,ta,Xs],encapsulation:2,changeDetection:0})}return ye})(),Ai=(()=>{class ye{dt;data;pRowTogglerDisabled;constructor(u){this.dt=u}onClick(u){this.isEnabled()&&(this.dt.toggleRow(this.data,u),u.preventDefault())}isEnabled(){return!0!==this.pRowTogglerDisabled}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne))};static \u0275dir=e.FsC({type:ye,selectors:[["","pRowToggler",""]],hostAttrs:[1,"p-element"],hostBindings:function(ie,de){1&ie&&e.bIt("click",function(nt){return de.onClick(nt)})},inputs:{data:[e.Mj6.None,"pRowToggler","data"],pRowTogglerDisabled:"pRowTogglerDisabled"}})}return ye})(),kn=(()=>{class ye{dt;el;zone;data;field;rowIndex;pEditableColumnDisabled;pFocusCellSelector;overlayEventListener;constructor(u,ie,de){this.dt=u,this.el=ie,this.zone=de}ngOnChanges(u){this.el.nativeElement&&!u.data?.firstChange&&this.dt.updateEditingCell(this.el.nativeElement,this.data,this.field,this.rowIndex)}ngAfterViewInit(){this.isEnabled()&&re.D.addClass(this.el.nativeElement,"p-editable-column")}onClick(u){if(this.isEnabled())if(this.dt.selfClick=!0,this.dt.editingCell){if(this.dt.editingCell!==this.el.nativeElement){if(!this.dt.isEditingCellValid())return;this.closeEditingCell(!0,u),this.openCell()}}else this.openCell()}openCell(){this.dt.updateEditingCell(this.el.nativeElement,this.data,this.field,this.rowIndex),re.D.addClass(this.el.nativeElement,"p-cell-editing"),this.dt.onEditInit.emit({field:this.field,data:this.data,index:this.rowIndex}),this.zone.runOutsideAngular(()=>{setTimeout(()=>{let ie=re.D.findSingle(this.el.nativeElement,this.pFocusCellSelector||"input, textarea, select");ie&&ie.focus()},50)}),this.overlayEventListener=u=>{this.el&&this.el.nativeElement.contains(u.target)&&(this.dt.selfClick=!0)},this.dt.overlaySubscription=this.dt.overlayService.clickObservable.subscribe(this.overlayEventListener)}closeEditingCell(u,ie){const de={field:this.dt.editingCellField,data:this.dt.editingCellData,originalEvent:ie,index:this.dt.editingCellRowIndex};u?this.dt.onEditComplete.emit(de):(this.dt.onEditCancel.emit(de),this.dt.value.forEach(Ae=>{Ae[this.dt.editingCellField]===this.data&&(Ae[this.dt.editingCellField]=this.dt.editingCellData)})),re.D.removeClass(this.dt.editingCell,"p-cell-editing"),this.dt.editingCell=null,this.dt.editingCellData=null,this.dt.editingCellField=null,this.dt.unbindDocumentEditListener(),this.dt.overlaySubscription&&this.dt.overlaySubscription.unsubscribe()}onEnterKeyDown(u){this.isEnabled()&&!u.shiftKey&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),u.preventDefault())}onTabKeyDown(u){this.isEnabled()&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),u.preventDefault())}onEscapeKeyDown(u){this.isEnabled()&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!1,u),u.preventDefault())}onShiftKeyDown(u){this.isEnabled()&&(u.shiftKey?this.moveToPreviousCell(u):this.moveToNextCell(u))}onArrowDown(u){if(this.isEnabled()){let ie=this.findCell(u.target);if(ie){let de=re.D.index(ie),Ae=this.findNextEditableColumnByIndex(ie,de);Ae&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(Ae,"click")),u.preventDefault()}}}onArrowUp(u){if(this.isEnabled()){let ie=this.findCell(u.target);if(ie){let de=re.D.index(ie),Ae=this.findPrevEditableColumnByIndex(ie,de);Ae&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(Ae,"click")),u.preventDefault()}}}onArrowLeft(u){this.isEnabled()&&this.moveToPreviousCell(u)}onArrowRight(u){this.isEnabled()&&this.moveToNextCell(u)}findCell(u){if(u){let ie=u;for(;ie&&!re.D.hasClass(ie,"p-cell-editing");)ie=ie.parentElement;return ie}return null}moveToPreviousCell(u){let ie=this.findCell(u.target);if(ie){let de=this.findPreviousEditableColumn(ie);de&&(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(de,"click"),u.preventDefault())}}moveToNextCell(u){let ie=this.findCell(u.target);if(ie){let de=this.findNextEditableColumn(ie);de?(this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u),re.D.invokeElementMethod(u.target,"blur"),re.D.invokeElementMethod(de,"click"),u.preventDefault()):this.dt.isEditingCellValid()&&this.closeEditingCell(!0,u)}}findPreviousEditableColumn(u){let ie=u.previousElementSibling;if(!ie){let de=u.parentElement?.previousElementSibling;de&&(ie=de.lastElementChild)}return ie?re.D.hasClass(ie,"p-editable-column")?ie:this.findPreviousEditableColumn(ie):null}findNextEditableColumn(u){let ie=u.nextElementSibling;if(!ie){let de=u.parentElement?.nextElementSibling;de&&(ie=de.firstElementChild)}return ie?re.D.hasClass(ie,"p-editable-column")?ie:this.findNextEditableColumn(ie):null}findNextEditableColumnByIndex(u,ie){let de=u.parentElement?.nextElementSibling;if(de){let Ae=de.children[ie];return Ae&&re.D.hasClass(Ae,"p-editable-column")?Ae:null}return null}findPrevEditableColumnByIndex(u,ie){let de=u.parentElement?.previousElementSibling;if(de){let Ae=de.children[ie];return Ae&&re.D.hasClass(Ae,"p-editable-column")?Ae:null}return null}isEnabled(){return!0!==this.pEditableColumnDisabled}ngOnDestroy(){this.dt.overlaySubscription&&this.dt.overlaySubscription.unsubscribe()}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne),e.rXU(e.aKT),e.rXU(e.SKi))};static \u0275dir=e.FsC({type:ye,selectors:[["","pEditableColumn",""]],hostAttrs:[1,"p-element"],hostBindings:function(ie,de){1&ie&&e.bIt("click",function(nt){return de.onClick(nt)})("keydown.enter",function(nt){return de.onEnterKeyDown(nt)})("keydown.tab",function(nt){return de.onShiftKeyDown(nt)})("keydown.escape",function(nt){return de.onEscapeKeyDown(nt)})("keydown.shift.tab",function(nt){return de.onShiftKeyDown(nt)})("keydown.meta.tab",function(nt){return de.onShiftKeyDown(nt)})("keydown.arrowdown",function(nt){return de.onArrowDown(nt)})("keydown.arrowup",function(nt){return de.onArrowUp(nt)})("keydown.arrowleft",function(nt){return de.onArrowLeft(nt)})("keydown.arrowright",function(nt){return de.onArrowRight(nt)})},inputs:{data:[e.Mj6.None,"pEditableColumn","data"],field:[e.Mj6.None,"pEditableColumnField","field"],rowIndex:[e.Mj6.None,"pEditableColumnRowIndex","rowIndex"],pEditableColumnDisabled:"pEditableColumnDisabled",pFocusCellSelector:"pFocusCellSelector"},features:[e.OA$]})}return ye})(),Vn=(()=>{class ye{el;data;pEditableRowDisabled;constructor(u){this.el=u}isEnabled(){return!0!==this.pEditableRowDisabled}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(e.aKT))};static \u0275dir=e.FsC({type:ye,selectors:[["","pEditableRow",""]],hostAttrs:[1,"p-element"],inputs:{data:[e.Mj6.None,"pEditableRow","data"],pEditableRowDisabled:"pEditableRowDisabled"}})}return ye})(),ts=(()=>{class ye{dt;editableColumn;editableRow;templates;inputTemplate;outputTemplate;constructor(u,ie,de){this.dt=u,this.editableColumn=ie,this.editableRow=de}ngAfterContentInit(){this.templates.forEach(u=>{switch(u.getType()){case"input":this.inputTemplate=u.template;break;case"output":this.outputTemplate=u.template}})}get editing(){return this.dt.editingCell&&this.editableColumn&&this.dt.editingCell===this.editableColumn.el.nativeElement||this.editableRow&&"row"===this.dt.editMode&&this.dt.isRowEditing(this.editableRow.data)}static \u0275fac=function(ie){return new(ie||ye)(e.rXU(Ne),e.rXU(kn,8),e.rXU(Vn,8))};static \u0275cmp=e.VBU({type:ye,selectors:[["p-cellEditor"]],contentQueries:function(ie,de,Ae){if(1&ie&&e.wni(Ae,Le.Ei,4),2&ie){let nt;e.mGM(nt=e.lsd())&&(de.templates=nt)}},hostAttrs:[1,"p-element"],decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet"]],template:function(ie,de){1&ie&&e.DNE(0,Ql,2,1,"ng-container",0)(1,dp,2,1,"ng-container",0),2&ie&&(e.Y8G("ngIf",de.editing),e.R7$(),e.Y8G("ngIf",!de.editing))},dependencies:[M.bT,M.T3],encapsulation:2})}return ye})(),Vr=(()=>{class ye{static \u0275fac=function(ie){return new(ie||ye)};static \u0275mod=e.$C({type:ye});static \u0275inj=e.G2t({imports:[M.MD,Hc,_a.u,Lo,V.YN,q.tm,Ei,Ki,ul,jo,eo,Nc,Ul,go.N,Hs,ta,Xs,As,Fc,Po,ea,hl,Le.Gg,eo]})}return ye})()},54420:(ri,Bt,We)=>{"use strict";We.d(Bt,{BF:()=>M,Q$:()=>q,_Y:()=>V});class M{static isArray(re,ve=!0){return Array.isArray(re)&&(ve||0!==re.length)}static isObject(re,ve=!0){return"object"==typeof re&&!Array.isArray(re)&&null!=re&&(ve||0!==Object.keys(re).length)}static equals(re,ve,le){return le?this.resolveFieldData(re,le)===this.resolveFieldData(ve,le):this.equalsByValue(re,ve)}static equalsByValue(re,ve){if(re===ve)return!0;if(re&&ve&&"object"==typeof re&&"object"==typeof ve){var ue,J,te,le=Array.isArray(re),pe=Array.isArray(ve);if(le&&pe){if((J=re.length)!=ve.length)return!1;for(ue=J;0!=ue--;)if(!this.equalsByValue(re[ue],ve[ue]))return!1;return!0}if(le!=pe)return!1;var X=this.isDate(re),E=this.isDate(ve);if(X!=E)return!1;if(X&&E)return re.getTime()==ve.getTime();var j=re instanceof RegExp,F=ve instanceof RegExp;if(j!=F)return!1;if(j&&F)return re.toString()==ve.toString();var P=Object.keys(re);if((J=P.length)!==Object.keys(ve).length)return!1;for(ue=J;0!=ue--;)if(!Object.prototype.hasOwnProperty.call(ve,P[ue]))return!1;for(ue=J;0!=ue--;)if(!this.equalsByValue(re[te=P[ue]],ve[te]))return!1;return!0}return re!=re&&ve!=ve}static resolveFieldData(re,ve){if(re&&ve){if(this.isFunction(ve))return ve(re);if(-1==ve.indexOf("."))return re[ve];{let le=ve.split("."),pe=re;for(let ue=0,J=le.length;ue=re.length&&(le%=re.length,ve%=re.length),re.splice(le,0,re.splice(ve,1)[0]))}static insertIntoOrderedArray(re,ve,le,pe){if(le.length>0){let ue=!1;for(let J=0;Jve){le.splice(J,0,re),ue=!0;break}ue||le.push(re)}else le.push(re)}static findIndexInList(re,ve){let le=-1;if(ve)for(let pe=0;peve?1:0,ue}static sort(re,ve,le=1,pe,ue=1){const J=M.compare(re,ve,pe,le);let te=le;return(M.isEmpty(re)||M.isEmpty(ve))&&(te=1===ue?le:ue),te*J}static merge(re,ve){if(null!=re||null!=ve)return null!=re&&"object"!=typeof re||null!=ve&&"object"!=typeof ve?null!=re&&"string"!=typeof re||null!=ve&&"string"!=typeof ve?ve||re:[re||"",ve||""].join(" "):{...re||{},...ve||{}}}static isPrintableCharacter(re=""){return this.isNotEmpty(re)&&1===re.length&&re.match(/\S| /)}static getItemValue(re,...ve){return this.isFunction(re)?re(...ve):re}static findLastIndex(re,ve){let le=-1;if(this.isNotEmpty(re))try{le=re.findLastIndex(ve)}catch{le=re.lastIndexOf([...re].reverse().find(ve))}return le}static findLast(re,ve){let le;if(this.isNotEmpty(re))try{le=re.findLast(ve)}catch{le=[...re].reverse().find(ve)}return le}static deepEquals(re,ve){if(re===ve)return!0;if(re&&ve&&"object"==typeof re&&"object"==typeof ve){var ue,J,te,le=Array.isArray(re),pe=Array.isArray(ve);if(le&&pe){if((J=re.length)!=ve.length)return!1;for(ue=J;0!=ue--;)if(!this.deepEquals(re[ue],ve[ue]))return!1;return!0}if(le!=pe)return!1;var X=re instanceof Date,E=ve instanceof Date;if(X!=E)return!1;if(X&&E)return re.getTime()==ve.getTime();var j=re instanceof RegExp,F=ve instanceof RegExp;if(j!=F)return!1;if(j&&F)return re.toString()==ve.toString();var P=Object.keys(re);if((J=P.length)!==Object.keys(ve).length)return!1;for(ue=J;0!=ue--;)if(!Object.prototype.hasOwnProperty.call(ve,P[ue]))return!1;for(ue=J;0!=ue--;)if(!this.deepEquals(re[te=P[ue]],ve[te]))return!1;return!0}return re!=re&&ve!=ve}}var e=0;function V(ne="pn_id_"){return`${ne}${++e}`}var q=function Le(){let ne=[];const pe=ue=>ue&&parseInt(ue.style.zIndex,10)||0;return{get:pe,set:(ue,J,te)=>{J&&(J.style.zIndex=String(((ue,J)=>{let te=ne.length>0?ne[ne.length-1]:{key:ue,value:J},X=te.value+(te.key===ue?0:J)+2;return ne.push({key:ue,value:X}),X})(ue,te)))},clear:ue=>{ue&&((ue=>{ne=ne.filter(J=>J.value!==ue)})(pe(ue)),ue.style.zIndex="")},getCurrent:()=>ne.length>0?ne[ne.length-1].value:0}}()},10467:(ri,Bt,We)=>{"use strict";function M(V,Le,q,ne,re,ve,le){try{var pe=V[ve](le),ue=pe.value}catch(J){return void q(J)}pe.done?Le(ue):Promise.resolve(ue).then(ne,re)}function e(V){return function(){var Le=this,q=arguments;return new Promise(function(ne,re){var ve=V.apply(Le,q);function le(ue){M(ve,ne,re,le,pe,"next",ue)}function pe(ue){M(ve,ne,re,le,pe,"throw",ue)}le(void 0)})}}We.d(Bt,{A:()=>e})},31635:(ri,Bt,We)=>{"use strict";function q(C,k,p,T){var K,B=arguments.length,z=B<3?k:null===T?T=Object.getOwnPropertyDescriptor(k,p):T;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)z=Reflect.decorate(C,k,p,T);else for(var U=C.length-1;U>=0;U--)(K=C[U])&&(z=(B<3?K(z):B>3?K(k,p,z):K(k,p))||z);return B>3&&z&&Object.defineProperty(k,p,z),z}function J(C,k,p,T){return new(p||(p=Promise))(function(z,K){function U($){try{S(T.next($))}catch(H){K(H)}}function se($){try{S(T.throw($))}catch(H){K(H)}}function S($){$.done?z($.value):function B(z){return z instanceof p?z:new p(function(K){K(z)})}($.value).then(U,se)}S((T=T.apply(C,k||[])).next())})}function I(C){return this instanceof I?(this.v=C,this):new I(C)}function _(C,k,p){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var B,T=p.apply(C,k||[]),z=[];return B={},K("next"),K("throw"),K("return"),B[Symbol.asyncIterator]=function(){return this},B;function K(x){T[x]&&(B[x]=function(N){return new Promise(function(R,Z){z.push([x,N,R,Z])>1||U(x,N)})})}function U(x,N){try{!function se(x){x.value instanceof I?Promise.resolve(x.value.v).then(S,$):H(z[0][2],x)}(T[x](N))}catch(R){H(z[0][3],R)}}function S(x){U("next",x)}function $(x){U("throw",x)}function H(x,N){x(N),z.shift(),z.length&&U(z[0][0],z[0][1])}}function w(C){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var p,k=C[Symbol.asyncIterator];return k?k.call(C):(C=function j(C){var k="function"==typeof Symbol&&Symbol.iterator,p=k&&C[k],T=0;if(p)return p.call(C);if(C&&"number"==typeof C.length)return{next:function(){return C&&T>=C.length&&(C=void 0),{value:C&&C[T++],done:!C}}};throw new TypeError(k?"Object is not iterable.":"Symbol.iterator is not defined.")}(C),p={},T("next"),T("throw"),T("return"),p[Symbol.asyncIterator]=function(){return this},p);function T(z){p[z]=C[z]&&function(K){return new Promise(function(U,se){!function B(z,K,U,se){Promise.resolve(se).then(function(S){z({value:S,done:U})},K)}(U,se,(K=C[z](K)).done,K.value)})}}}We.d(Bt,{AQ:()=>_,Cg:()=>q,N3:()=>I,sH:()=>J,xN:()=>w}),"function"==typeof SuppressedError&&SuppressedError}},ri=>{ri(ri.s=96575)}]); \ No newline at end of file